debuggers.hg
changeset 11052:87247ceb0acd
[IA64] boot windows server 2003:fix a bug about nat
Because EML_UNAT may be cahnged by guest bank switch,
it should be saved&restored at entry & exit path.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Because EML_UNAT may be cahnged by guest bank switch,
it should be saved&restored at entry & exit path.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
author | awilliam@xenbuild.aw |
---|---|
date | Mon Jul 31 10:18:28 2006 -0600 (2006-07-31) |
parents | be11edf8964e |
children | aa9d157d7637 |
files | xen/arch/ia64/vmx/vmx_entry.S xen/arch/ia64/vmx/vmx_minstate.h |
line diff
1.1 --- a/xen/arch/ia64/vmx/vmx_entry.S Mon Jul 31 10:14:31 2006 -0600 1.2 +++ b/xen/arch/ia64/vmx/vmx_entry.S Mon Jul 31 10:18:28 2006 -0600 1.3 @@ -197,6 +197,11 @@ GLOBAL_ENTRY(ia64_leave_hypervisor) 1.4 ;; 1.5 mov ar.pfs=loc0 1.6 adds r20=PT(PR)+16,r12 1.7 + adds r8=PT(EML_UNAT)+16,r12 1.8 + ;; 1.9 + ld8 r8=[r8] 1.10 + ;; 1.11 + mov ar.unat=r8 1.12 ;; 1.13 lfetch [r20],PT(CR_IPSR)-PT(PR) 1.14 adds r2 = PT(B6)+16,r12
2.1 --- a/xen/arch/ia64/vmx/vmx_minstate.h Mon Jul 31 10:14:31 2006 -0600 2.2 +++ b/xen/arch/ia64/vmx/vmx_minstate.h Mon Jul 31 10:18:28 2006 -0600 2.3 @@ -269,7 +269,12 @@ 2.4 ;; \ 2.5 st8 [r24]=r9; /* ar.csd */ \ 2.6 st8 [r25]=r10; /* ar.ssd */ \ 2.7 - ;; 2.8 + ;; \ 2.9 + mov r18=ar.unat; \ 2.10 + adds r19=PT(EML_UNAT)-PT(R4),r2; \ 2.11 + ;; \ 2.12 + st8 [r19]=r18; /* eml_unat */ \ 2.13 + 2.14 2.15 #define VMX_SAVE_EXTRA \ 2.16 .mem.offset 0,0; st8.spill [r2]=r4,16; \