ia64/xen-unstable

changeset 9384:573bb82d0402

SVM patch to enable SMI intercept.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
author kaf24@firebug.cl.cam.ac.uk
date Wed Mar 22 10:36:22 2006 +0100 (2006-03-22)
parents b4769816a409
children 5032ee221f75
files xen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/svm/vmcb.c
line diff
     1.1 --- a/xen/arch/x86/hvm/svm/svm.c	Wed Mar 22 10:36:02 2006 +0100
     1.2 +++ b/xen/arch/x86/hvm/svm/svm.c	Wed Mar 22 10:36:22 2006 +0100
     1.3 @@ -2414,6 +2414,15 @@ asmlinkage void svm_vmexit_handler(struc
     1.4          do_nmi(&regs, 0);
     1.5          break;
     1.6  
     1.7 +    case VMEXIT_SMI:
     1.8 +        /*
     1.9 +         * For asynchronous SMI's, we just need to allow global interrupts 
    1.10 +         * so that the SMI is taken properly in the context of the host.  The
    1.11 +         * standard code does a STGI after the VMEXIT which should accomplish 
    1.12 +         * this task.  Continue as normal and restart the guest.
    1.13 +         */
    1.14 +        break;
    1.15 +
    1.16  #ifdef XEN_DEBUGGER
    1.17      case VMEXIT_EXCEPTION_BP:
    1.18          svm_debug_save_cpu_user_regs(&regs);
     2.1 --- a/xen/arch/x86/hvm/svm/vmcb.c	Wed Mar 22 10:36:02 2006 +0100
     2.2 +++ b/xen/arch/x86/hvm/svm/vmcb.c	Wed Mar 22 10:36:22 2006 +0100
     2.3 @@ -123,7 +123,7 @@ static int construct_vmcb_controls(struc
     2.4            GENERAL1_INTERCEPT_RDTSC         | GENERAL1_INTERCEPT_PUSHF      |
     2.5            GENERAL1_INTERCEPT_SWINT         | GENERAL1_INTERCEPT_POPF       | 
     2.6            GENERAL1_INTERCEPT_IRET          | GENERAL1_INTERCEPT_PAUSE      |
     2.7 -          GENERAL1_INTERCEPT_TASK_SWITCH
     2.8 +          GENERAL1_INTERCEPT_TASK_SWITCH   | GENERAL1_INTERCEPT_SMI
     2.9          );
    2.10  
    2.11      /* turn on the general 2 intercepts */