mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xen/arm: p2m: configure stage-2 page table to support upto 42-bit PA systems
At the moment, on platform supporting 42-bit PA, Xen will only expose 40-bit worth of IPA to all domains. The limitation was to prevent allocating too much memory for the root page tables as those platforms only support 3-levels page-tables. At the time, this was deemed acceptable because none of the platforms had address wired above 40-bits. However, newer platforms take advantage of the full address space. This will result to break Dom0 boot as it can't access anything above 40-bit. The only way to support 42-bit IPA is to allocate 8 pages for the root page-tables. This is a bit a waste of memory as Xen does not offer per-guest stage-2 configuration. But it is considered acceptable as current platforms support 42-bit PA have a lot of memory. In the future, we may want to consider per-guest stage-2 configuration to reduce the waste. Signed-off-by: Feng Kan <fengkan@os.amperecomputing.com> Signed-off-by: Vishnu <vishnu@os.amperecomputing.com> [julien: rework commit message] Acked-by: Julien Grall <julien.grall@arm.com>
This commit is contained in:
1 parent
93099a4afc
commit
896ebdfa3a
1 file changed
+1
-1
+1
-1
@@ -1995,7 +1995,7 @@ void __init setup_virt_paging(void)
|
||||
[0] = { 32, 32/*32*/, 0, 1 },
|
||||
[1] = { 36, 28/*28*/, 0, 1 },
|
||||
[2] = { 40, 24/*24*/, 1, 1 },
|
||||
[3] = { 42, 24/*22*/, 1, 1 },
|
||||
[3] = { 42, 22/*22*/, 3, 1 },
|
||||
[4] = { 44, 20/*20*/, 0, 2 },
|
||||
[5] = { 48, 16/*16*/, 0, 2 },
|
||||
[6] = { 0 }, /* Invalid */
|
||||
|
||||