ia64/xen-unstable

changeset 14299:dc6fbe46ec91

[IA64] Fix return value of hypercall from VT-i domain

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
author awilliam@xenbuild2.aw
date Mon Mar 12 08:42:11 2007 -0600 (2007-03-12)
parents 1f303be68364
children 800f7904d6a4
files xen/arch/ia64/vmx/vmx_entry.S
line diff
     1.1 --- a/xen/arch/ia64/vmx/vmx_entry.S	Mon Mar 12 08:40:57 2007 -0600
     1.2 +++ b/xen/arch/ia64/vmx/vmx_entry.S	Mon Mar 12 08:42:11 2007 -0600
     1.3 @@ -477,6 +477,11 @@ GLOBAL_ENTRY(ia64_leave_hypercall)
     1.4       * resumes at .work_processed_syscall with p6 set to 1 if the extra-work-check
     1.5       * needs to be redone.
     1.6       */
     1.7 +    ;;
     1.8 +    adds r16=PT(R8)+16,r12
     1.9 +    ;;
    1.10 +    st8 [r16]=r8
    1.11 +    ;;
    1.12  (pUStk) rsm psr.i
    1.13      cmp.eq pLvSys,p0=r0,r0		// pLvSys=1: leave from syscall
    1.14  (pUStk) cmp.eq.unc p6,p0=r0,r0		// p6 <- pUStk
    1.15 @@ -484,6 +489,11 @@ GLOBAL_ENTRY(ia64_leave_hypercall)
    1.16      br.call.sptk.many b0=leave_hypervisor_tail
    1.17  .work_processed_syscall:
    1.18      //clean up bank 1 registers
    1.19 +    ;;
    1.20 +    adds r16=PT(R8)+16,r12
    1.21 +    ;;
    1.22 +    ld8 r8=[r16]
    1.23 +    ;;
    1.24      mov r16=r0
    1.25      mov r17=r0
    1.26      mov r18=r0