WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] progress and a problem

On Fri, 25 Jun 2004, ron minnich wrote:

> On Fri, 25 Jun 2004, Keir Fraser wrote:
> 
> > If Xen interrupted a ring-1 activation then the hypervisor_callback
> > stack frame will be pushed onto the stack that was interrupted.

OK, I've confirmed that I have the following situation: 
- Plan 9 in ring 1 in kernel mode (i.e. I really mean ring 1)
- running while(1); at end of main() with mask set to 0
- Xen deschedules Plan 9
- Xen decides to execute a callback to my Ring 1 Plan 9
- Xen is picking up a junk SS/SP pair from the stack
        Reason is that there is not, on the Plan 9 Ring 1 stack, 
        an SS/SP pair! There is only the CS/IP as far as I can see
- Xen calls my Plan 9 callback in Ring 1, with the SS/SP wrong
- Plan 9 hypervisor_callback in Ring 1 does a PUSHAL and takes a 
        page fault
- Plan 9 page fault handler dumps the stack frame , and I see this:
        o trap frame from Xen with good CS/IP, bogus SS/SP, good 
                        DS/ES/etc.
        o hypervisor callback page fault frame good CS/IP, bogus SS/IP
        o frame from my while(1) with correct CS/IP but (important) 
                no valid SS/IP on the stack

So, it seems Xen has descheduled my Plan 9 guest but only the CS/IP is on 
the stack. Is there any way at all this could happen? it's very puzzling.
When Xen deschedules a domain does it force an interrupt or ...

Note: I am handling page faults in both kernel and user mode (Ring 1 and 
3) just fine. I can do console I/O. I'm just totally hung up on this 
callback mess.

Also, I should mention: I have not done an LIDT or LTR because I was 
hoping to just use the Xen default one for the domain (as I do for the 
GDT). How much trouble could this cause? It seems to have been working 
fine for a few weeks, so I assumed it was no harm done.

thanks

ron



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel