# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID ebf05456ee11174c1a28aa678a438af56c8c1fb4
# Parent 8004acaa668454c75c4d02d634b2af3a84f6f8c1
Fix my previous patch to the trap-frame creation code
in Xen. I was clobbering an in-use register (AL): use
CH instead.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r 8004acaa6684 -r ebf05456ee11 xen/arch/x86/x86_32/entry.S
--- a/xen/arch/x86/x86_32/entry.S Thu Aug 4 16:53:30 2005
+++ b/xen/arch/x86/x86_32/entry.S Thu Aug 4 17:37:09 2005
@@ -335,8 +335,8 @@
movl VCPU_vcpu_info(%ebx),%eax
pushl VCPUINFO_upcall_mask(%eax)
testb $TBF_INTERRUPT,%cl
- setnz %al # TBF_INTERRUPT -> set upcall mask
- orb %al,VCPUINFO_upcall_mask(%eax)
+ setnz %ch # TBF_INTERRUPT -> set upcall mask
+ orb %ch,VCPUINFO_upcall_mask(%eax)
popl %eax
shll $16,%eax # Bits 16-23: saved_upcall_mask
movw UREGS_cs+4(%esp),%ax # Bits 0-15: CS
diff -r 8004acaa6684 -r ebf05456ee11 xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S Thu Aug 4 16:53:30 2005
+++ b/xen/arch/x86/x86_64/entry.S Thu Aug 4 17:37:09 2005
@@ -314,8 +314,8 @@
movq VCPU_vcpu_info(%rbx),%rax
pushq VCPUINFO_upcall_mask(%rax)
testb $TBF_INTERRUPT,%cl
- setnz %al # TBF_INTERRUPT -> set upcall mask
- orb %al,VCPUINFO_upcall_mask(%rax)
+ setnz %ch # TBF_INTERRUPT -> set upcall mask
+ orb %ch,VCPUINFO_upcall_mask(%rax)
popq %rax
shlq $32,%rax # Bits 32-39: saved_upcall_mask
movw UREGS_cs+8(%rsp),%ax # Bits 0-15: CS
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|