diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-09-30 07:37:26 -0400 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-11-12 18:00:06 -0500 |
commit | 7e77506a5918d82cafa2ffa783ab57c23f9e9817 (patch) | |
tree | dc922c1127c8859cda50f5cbed654c5681a89480 /arch/x86/xen/enlighten.c | |
parent | 9ec23a7f6d2537faf14368e066e307c06812c4ca (diff) |
xen: implement XENMEM_machphys_mapping
This hypercall allows Xen to specify a non-default location for the
machine to physical mapping. This capability is used when running a 32
bit domain 0 on a 64 bit hypervisor to shrink the hypervisor hole to
exactly the size required.
[ Impact: add Xen hypercall definitions ]
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'arch/x86/xen/enlighten.c')
-rw-r--r-- | arch/x86/xen/enlighten.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 235c0f4d3861..bd3554934613 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -75,6 +75,11 @@ DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info); | |||
75 | enum xen_domain_type xen_domain_type = XEN_NATIVE; | 75 | enum xen_domain_type xen_domain_type = XEN_NATIVE; |
76 | EXPORT_SYMBOL_GPL(xen_domain_type); | 76 | EXPORT_SYMBOL_GPL(xen_domain_type); |
77 | 77 | ||
78 | unsigned long *machine_to_phys_mapping = (void *)MACH2PHYS_VIRT_START; | ||
79 | EXPORT_SYMBOL(machine_to_phys_mapping); | ||
80 | unsigned int machine_to_phys_order; | ||
81 | EXPORT_SYMBOL(machine_to_phys_order); | ||
82 | |||
78 | struct start_info *xen_start_info; | 83 | struct start_info *xen_start_info; |
79 | EXPORT_SYMBOL_GPL(xen_start_info); | 84 | EXPORT_SYMBOL_GPL(xen_start_info); |
80 | 85 | ||
@@ -1097,6 +1102,8 @@ asmlinkage void __init xen_start_kernel(void) | |||
1097 | 1102 | ||
1098 | xen_domain_type = XEN_PV_DOMAIN; | 1103 | xen_domain_type = XEN_PV_DOMAIN; |
1099 | 1104 | ||
1105 | xen_setup_machphys_mapping(); | ||
1106 | |||
1100 | /* Install Xen paravirt ops */ | 1107 | /* Install Xen paravirt ops */ |
1101 | pv_info = xen_info; | 1108 | pv_info = xen_info; |
1102 | pv_init_ops = xen_init_ops; | 1109 | pv_init_ops = xen_init_ops; |