[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Nested events in 64bit mini-OS
Dear all,I haven't seen any updates on this matter, so I try to come up with a fix. Generally speaking, I want to mimic 32-bit mini-OS behaviour, adding: 1) a fixup table: for each byte offset in the critical region, it provides the number of bytes which have already been popped from the interrupted stack frame. 2) a fixup routine: obtain number of restored registers by quickly looking up the fixup table and coalesce the current stack frame with the just-interrupted one. 3) checks against re-entrance in hypervisor_callbackThe "git diff" output is attached to this email. I only did some naive "tests" by running it inside gdb. I am wondering is there a test suite for mini-OS? A follow-up question is that given this fix, do you still need hypercall iret? Thank you very much. Regards, Xu Zhang On 10/25/2012 03:56 PM, Samuel Thibault wrote: Xu Zhang, le Tue 23 Oct 2012 17:43:28 -0500, a écrit :64-bit mini-OS seems to adopt a mixed use of both (in HYPERVISOR_IRET). mini-OS doesn't have an userspace, so unless an NMI happened, it always perform interrupt/exception return with machine instruction iret, without checking against nested events. This is wrong to me. Am I missing something here?I don't think you are missing anything. Cc-ing Grzegorz, who actually wrote the code. Samuel Attachment:
fixup.diff _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |