>>> Wei Liu <wei.l...@citrix.com> 06/26/17 6:29 PM >>>
>--- a/xen/arch/x86/traps.c
>+++ b/xen/arch/x86/traps.c
>@@ -1934,21 +1934,29 @@ void __init init_idt_traps(void)
     >this_cpu(compat_gdt_table) = boot_cpu_compat_gdt_table;
 >}
 >
>+void __init pv_trap_init(void)
>+{
>+    /* The 32-on-64 hypercall vector is only accessible from ring 1. */
>+    _set_gate(idt_table + HYPERCALL_VECTOR,
>+              SYS_DESC_trap_gate, 1, entry_int82);
>+
>+    /* Fast trap for int80 (faster than taking the #GP-fixup path). */
>+    _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_trap_gate, 3,
>+              &int80_direct_trap);
>+
>+    open_softirq(NMI_MCE_SOFTIRQ, nmi_mce_softirq);
>+}

Any reason you don't move this into pv/traps.c right away?

>void __init trap_init(void)
 >{
     >unsigned int vector;
 >
>+    pv_trap_init();

I think this would better be called after ...

>/* Replace early pagefault with real pagefault handler. */
     >set_intr_gate(TRAP_page_fault, &page_fault);
 
... this, i.e. in line with where most of the code was before.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to