ia64/xen-unstable

changeset 9471:8d59ff95046b

SVM only patch to fix location of PIO request RIP update.
Fixes booting of win2003 server, and various CD installation failures.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
author kaf24@firebug.cl.cam.ac.uk
date Tue Mar 28 13:40:30 2006 +0100 (2006-03-28)
parents 2604abf98ede
children a4071af0a463
files xen/arch/x86/hvm/svm/svm.c
line diff
     1.1 --- a/xen/arch/x86/hvm/svm/svm.c	Tue Mar 28 10:09:44 2006 +0100
     1.2 +++ b/xen/arch/x86/hvm/svm/svm.c	Tue Mar 28 13:40:30 2006 +0100
     1.3 @@ -1263,11 +1263,6 @@ static void svm_io_instruction(struct vc
     1.4  
     1.5          /* Need the original rip, here. */
     1.6          addr = svm_get_io_address(vmcb, regs, dir, real);
     1.7 -        /* 
     1.8 -         * On SVM, the RIP of the intruction following the IN/OUT is saved in
     1.9 -         * ExitInfo2
    1.10 -         */
    1.11 -        vmcb->rip = vmcb->exitinfo2;
    1.12  
    1.13          /* "rep" prefix */
    1.14          if (info.fields.rep) 
    1.15 @@ -1300,6 +1295,8 @@ static void svm_io_instruction(struct vc
    1.16                  else
    1.17                      count = (addr & ~PAGE_MASK) / size;
    1.18              }
    1.19 +            else    
    1.20 +                vmcb->rip = vmcb->exitinfo2;
    1.21  
    1.22              send_pio_req(regs, port, count, size, addr, dir, 1);
    1.23          }