Refactoring unsafe parts

Eliminate or limit the scope of unsafe code.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I16976b2a3554d6bfc822312d3f84c4db3f5b24ea
diff --git a/src/lib.rs b/src/lib.rs
index c70824e..9592c04 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -44,7 +44,7 @@
 impl BaseTable {
     pub fn new() -> Self {
         BaseTable {
-            descriptors: unsafe { core::mem::transmute([0u64; 64]) },
+            descriptors: core::array::from_fn(|_| Descriptor::default()),
         }
     }
 }