|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Mini-OS interrupt handling (broken?)
We're writing the pagefault handler for our OS, which is based more and more loosely on the Mini-OS. As the handler exits, however, it raises a GPF. After staring at the assembly in x86_32.S for a while and playing a bit, I started wondering whether this code works. It's not inconceivable that it might not work because most of the interrupts never occur in practice, and the implementations halt the kernel anyway. Moreover, the GPF is raised even when I replace do_page_fault with an empty function (so I've obviously not changed the state of the system), which I don't think is proper behavior (but then, I'm not intimately familiar with the x86 spec).
The GPF occurs on line 138 of x86_32.S (same code in 3.0.3 and 3.0.4), where it appears to be testing whether more events need to be processed. (This is also sort of bizarre, because it's in the middle of hypervisor_callback, a function I didn't think actually got called in this code path, based on the comment at the top of
trap.c in the Mini-OS.)
Any insight would be appreciated. Why might the GPF be raised? Does this code actually get run? Is it known to work?
TIA, Dave Pacheco
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] Mini-OS interrupt handling (broken?),
Dave Pacheco <=
|
|
|
|
|