aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/enlighten.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/xen/enlighten.c')
-rw-r--r--arch/x86/xen/enlighten.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 63b83ceebd1a..44ab12dc2a12 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -136,9 +136,6 @@ static void xen_vcpu_setup(int cpu)
136 info.mfn = arbitrary_virt_to_mfn(vcpup); 136 info.mfn = arbitrary_virt_to_mfn(vcpup);
137 info.offset = offset_in_page(vcpup); 137 info.offset = offset_in_page(vcpup);
138 138
139 printk(KERN_DEBUG "trying to map vcpu_info %d at %p, mfn %llx, offset %d\n",
140 cpu, vcpup, info.mfn, info.offset);
141
142 /* Check to see if the hypervisor will put the vcpu_info 139 /* Check to see if the hypervisor will put the vcpu_info
143 structure where we want it, which allows direct access via 140 structure where we want it, which allows direct access via
144 a percpu-variable. */ 141 a percpu-variable. */
@@ -152,9 +149,6 @@ static void xen_vcpu_setup(int cpu)
152 /* This cpu is using the registered vcpu info, even if 149 /* This cpu is using the registered vcpu info, even if
153 later ones fail to. */ 150 later ones fail to. */
154 per_cpu(xen_vcpu, cpu) = vcpup; 151 per_cpu(xen_vcpu, cpu) = vcpup;
155
156 printk(KERN_DEBUG "cpu %d using vcpu_info at %p\n",
157 cpu, vcpup);
158 } 152 }
159} 153}
160 154
@@ -836,6 +830,11 @@ static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
836 Xen console noise. */ 830 Xen console noise. */
837 break; 831 break;
838 832
833 case MSR_IA32_CR_PAT:
834 if (smp_processor_id() == 0)
835 xen_set_pat(((u64)high << 32) | low);
836 break;
837
839 default: 838 default:
840 ret = native_write_msr_safe(msr, low, high); 839 ret = native_write_msr_safe(msr, low, high);
841 } 840 }
@@ -874,8 +873,6 @@ void xen_setup_vcpu_info_placement(void)
874 /* xen_vcpu_setup managed to place the vcpu_info within the 873 /* xen_vcpu_setup managed to place the vcpu_info within the
875 percpu area for all cpus, so make use of it */ 874 percpu area for all cpus, so make use of it */
876 if (have_vcpu_info_placement) { 875 if (have_vcpu_info_placement) {
877 printk(KERN_INFO "Xen: using vcpu_info placement\n");
878
879 pv_irq_ops.save_fl = __PV_IS_CALLEE_SAVE(xen_save_fl_direct); 876 pv_irq_ops.save_fl = __PV_IS_CALLEE_SAVE(xen_save_fl_direct);
880 pv_irq_ops.restore_fl = __PV_IS_CALLEE_SAVE(xen_restore_fl_direct); 877 pv_irq_ops.restore_fl = __PV_IS_CALLEE_SAVE(xen_restore_fl_direct);
881 pv_irq_ops.irq_disable = __PV_IS_CALLEE_SAVE(xen_irq_disable_direct); 878 pv_irq_ops.irq_disable = __PV_IS_CALLEE_SAVE(xen_irq_disable_direct);
@@ -1189,6 +1186,9 @@ asmlinkage void __init xen_start_kernel(void)
1189 xen_raw_console_write("mapping kernel into physical memory\n"); 1186 xen_raw_console_write("mapping kernel into physical memory\n");
1190 pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages); 1187 pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages);
1191 1188
1189 /* Allocate and initialize top and mid mfn levels for p2m structure */
1190 xen_build_mfn_list_list();
1191
1192 init_mm.pgd = pgd; 1192 init_mm.pgd = pgd;
1193 1193
1194 /* keep using Xen gdt for now; no urgent need to change it */ 1194 /* keep using Xen gdt for now; no urgent need to change it */