clear_page(boot_third_id);
if ( id_offsets[0] >= IDENTITY_MAPPING_AREA_NR_L0 )
- panic("Cannot handle ID mapping above 2TB\n");
+ panic("Cannot handle ID mapping above %uTB\n",
+ IDENTITY_MAPPING_AREA_NR_L0 >> 1);
/* Link first ID table */
pte = mfn_to_xen_entry(virt_to_mfn(boot_first_id), MT_NORMAL);
DECLARE_OFFSETS(id_offsets, id_addr);
if ( id_offsets[0] >= IDENTITY_MAPPING_AREA_NR_L0 )
- panic("Cannot handle ID mapping above 2TB\n");
+ panic("Cannot handle ID mapping above %uTB\n",
+ IDENTITY_MAPPING_AREA_NR_L0 >> 1);
/* Link first ID table */
pte = pte_of_xenaddr((vaddr_t)xen_first_id);
* 2G - 4G Domheap: on-demand-mapped
*
* ARM64 layout:
- * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ * 0x0000000000000000 - 0x000009ffffffffff (10TB, L0 slots [0..19])
*
* Reserved to identity map Xen
*
- * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
+ * 0x00000a0000000000 - 0x00000a7fffffffff (512GB, L0 slot [20])
* (Relative offsets)
* 0 - 2M Unmapped
* 2M - 10M Xen text, data, bss
*
* 32G - 64G Frametable: 56 bytes per page for 2TB of RAM
*
- * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
+ * 0x00000a8000000000 - 0x00007fffffffffff (512GB+117TB, L0 slots [21..255])
* Unused
*
* 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
#define XEN_VIRT_START _AT(vaddr_t, MB(2))
#else
-#define IDENTITY_MAPPING_AREA_NR_L0 4
+#define IDENTITY_MAPPING_AREA_NR_L0 20
#define XEN_VM_MAPPING SLOT0(IDENTITY_MAPPING_AREA_NR_L0)
#define SLOT0_ENTRY_BITS 39