aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-01-08 11:32:39 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-01-08 11:32:39 +0000
commitc6d8d541e9073453eb94d5450a4bac9826559b74 (patch)
tree91c693bbf1aa57a3b61be30bef4d3a5a3bea4c4b /tools/include
parentf5bf427cd3f237a5d52549431bad79c0463a688d (diff)
downloadxen-c6d8d541e9073453eb94d5450a4bac9826559b74.tar.gz
xen-c6d8d541e9073453eb94d5450a4bac9826559b74.tar.bz2
xen-c6d8d541e9073453eb94d5450a4bac9826559b74.zip
x86-64: guest directed placement of initial p->m map
By adding another ELF note, the kernel can now direct the hypervisor (for Dom0) and in the future also the tools (for DomU-s) to place the initial phys->mach translation table at other than an address immediately above the kernel/initrd images. This eliminates the size restriction imposed on this table by Linux (the kernel loads above the -2Gb boundary, and hence the entire initial mapping cannot reach or even exceed 2Gb). There are a few items in this patch I'm not particularly happy with, but couldn't think of a better solution: - there is a hidden assumption that pages allocated for the domain are put on the domain's page list sequentially - the way backward compatibility is maintained is placing requirements on the kernel side that make the code somewhat convoluted (because it needs to check where the map is actually placed in quite a few places) - code is there to use 1Gb mappings for the hypervisor created table, but lacking a machine with 512G+ memory for immediate testing I can't verify this works; I know that 2Mb mappings work, and hence imply that 1Gb ones would too (of course, if the kernel replaces the table - like Linux does -, it cannot use 2Mb/1Gb mappings or even try to re-use the page table entries, but I don't consider this a problem) Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'tools/include')
-rw-r--r--tools/include/xen-foreign/reference.size2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/include/xen-foreign/reference.size b/tools/include/xen-foreign/reference.size
index ead6cd1559..5f2908502b 100644
--- a/tools/include/xen-foreign/reference.size
+++ b/tools/include/xen-foreign/reference.size
@@ -1,7 +1,7 @@
structs | x86_32 x86_64 ia64
-start_info | 1104 1152 1152
+start_info | 1112 1168 1168
trap_info | 8 16 -
pt_fpreg | - - 16
cpu_user_regs | 68 200 -