aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/xen/enlighten.c12
-rw-r--r--arch/x86/xen/setup.c8
2 files changed, 11 insertions, 9 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index bd3554934613..7250bef7f49e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1095,6 +1095,8 @@ static void __init xen_setup_stackprotector(void)
1095/* First C function to be called on Xen boot */ 1095/* First C function to be called on Xen boot */
1096asmlinkage void __init xen_start_kernel(void) 1096asmlinkage void __init xen_start_kernel(void)
1097{ 1097{
1098 struct physdev_set_iopl set_iopl;
1099 int rc;
1098 pgd_t *pgd; 1100 pgd_t *pgd;
1099 1101
1100 if (!xen_start_info) 1102 if (!xen_start_info)
@@ -1209,10 +1211,18 @@ asmlinkage void __init xen_start_kernel(void)
1209#else 1211#else
1210 pv_info.kernel_rpl = 0; 1212 pv_info.kernel_rpl = 0;
1211#endif 1213#endif
1212
1213 /* set the limit of our address space */ 1214 /* set the limit of our address space */
1214 xen_reserve_top(); 1215 xen_reserve_top();
1215 1216
1217 /* We used to do this in xen_arch_setup, but that is too late on AMD
1218 * were early_cpu_init (run before ->arch_setup()) calls early_amd_init
1219 * which pokes 0xcf8 port.
1220 */
1221 set_iopl.iopl = 1;
1222 rc = HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
1223 if (rc != 0)
1224 xen_raw_printk("physdev_op failed %d\n", rc);
1225
1216#ifdef CONFIG_X86_32 1226#ifdef CONFIG_X86_32
1217 /* set up basic CPUID stuff */ 1227 /* set up basic CPUID stuff */
1218 cpu_detect(&new_cpu_data); 1228 cpu_detect(&new_cpu_data);
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 630fb53c95f3..38fdffaa71d3 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -336,9 +336,6 @@ void __cpuinit xen_enable_syscall(void)
336 336
337void __init xen_arch_setup(void) 337void __init xen_arch_setup(void)
338{ 338{
339 struct physdev_set_iopl set_iopl;
340 int rc;
341
342 xen_panic_handler_init(); 339 xen_panic_handler_init();
343 340
344 HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments); 341 HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments);
@@ -355,11 +352,6 @@ void __init xen_arch_setup(void)
355 xen_enable_sysenter(); 352 xen_enable_sysenter();
356 xen_enable_syscall(); 353 xen_enable_syscall();
357 354
358 set_iopl.iopl = 1;
359 rc = HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
360 if (rc != 0)
361 printk(KERN_INFO "physdev_op failed %d\n", rc);
362
363#ifdef CONFIG_ACPI 355#ifdef CONFIG_ACPI
364 if (!(xen_start_info->flags & SIF_INITDOMAIN)) { 356 if (!(xen_start_info->flags & SIF_INITDOMAIN)) {
365 printk(KERN_INFO "ACPI in unprivileged domain disabled\n"); 357 printk(KERN_INFO "ACPI in unprivileged domain disabled\n");