Handle 16k and 64k translation granules

Enable Xlat to handle 16k and 64k translation granules along different
VA bit counts.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Iab4fe066e813d5b75a5a6d45ba8498867cc5c541
diff --git a/src/kernel_space.rs b/src/kernel_space.rs
index d0be315..34433ff 100644
--- a/src/kernel_space.rs
+++ b/src/kernel_space.rs
@@ -11,12 +11,12 @@
 use super::{
     address::{PhysicalAddress, VirtualAddress, VirtualAddressRange},
     page_pool::{Page, PagePool},
-    MemoryAccessRights, RegimeVaRange, TranslationRegime, Xlat, XlatError,
+    MemoryAccessRights, RegimeVaRange, TranslationGranule, TranslationRegime, Xlat, XlatError,
 };
 
 #[derive(Clone)]
 pub struct KernelSpace {
-    xlat: Arc<Mutex<Xlat>>,
+    xlat: Arc<Mutex<Xlat<36>>>,
 }
 
 /// # Kernel space memory mapping
@@ -39,6 +39,7 @@
                 page_pool,
                 unsafe { VirtualAddressRange::from_range(0x0000_0000..0x10_0000_0000) },
                 TranslationRegime::EL1_0(RegimeVaRange::Upper, 0),
+                TranslationGranule::Granule4k,
             ))),
         }
     }