[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Fix event-upcall masking when creating a trap frame
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 43f424818d6ef3d3c877774b03e39fe47c8c094a # Parent d25da0ddd9d51cfd4f4f487a46706290546563f6 Fix event-upcall masking when creating a trap frame on guest kernel stack. Previously an exception would clear an already-set mask. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r d25da0ddd9d5 -r 43f424818d6e xen/arch/x86/x86_32/entry.S --- a/xen/arch/x86/x86_32/entry.S Thu Aug 4 13:13:02 2005 +++ b/xen/arch/x86/x86_32/entry.S Thu Aug 4 16:53:11 2005 @@ -335,7 +335,8 @@ movl VCPU_vcpu_info(%ebx),%eax pushl VCPUINFO_upcall_mask(%eax) testb $TBF_INTERRUPT,%cl - setnz VCPUINFO_upcall_mask(%eax) # TBF_INTERRUPT -> clear upcall mask + setnz %al # TBF_INTERRUPT -> set upcall mask + orb %al,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 d25da0ddd9d5 -r 43f424818d6e xen/arch/x86/x86_64/entry.S --- a/xen/arch/x86/x86_64/entry.S Thu Aug 4 13:13:02 2005 +++ b/xen/arch/x86/x86_64/entry.S Thu Aug 4 16:53:11 2005 @@ -314,7 +314,8 @@ movq VCPU_vcpu_info(%rbx),%rax pushq VCPUINFO_upcall_mask(%rax) testb $TBF_INTERRUPT,%cl - setnz VCPUINFO_upcall_mask(%rax)# TBF_INTERRUPT -> clear upcall mask + setnz %al # TBF_INTERRUPT -> set upcall mask + orb %al,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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |