[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] trying to understand interrupts from xen->guest

> I'm enabling interrupts by this:
> _shared->vcpu_data[0].evtchan_upcall_pending = 0;

I presume you actually mean 'evtchn_upcall_mask'?

> I get an interrupt but the stack is really odd. I can't make sense of it. 
> Nothing looks like it is in the right place, though bits and pieces are 
> recognizable: I can see the address for _shared, for example on the stack. 

The interrupt stack frame is identical to that for a real x86 hardware
interrupt. i.e.: EIP, CS, EFLAGS[, ESP, SS]. No pointers to
shared_info, or anything like that.

> I'm trying to find out where Xen might have invoked the interrupt but no 
> luck. Plan 9 is mostly working and I want to get Xen interrupts going to 
> it, but this last bit is puzzling. 
> I do have the callback addresses set. 

It will enter the callback address you specified via
HYPERVISOR_set_callbacks(). It has nothing to do with the 'virtual
IDT' you specify via HYPERVISOR_set_trap_table().

> Does xen interrupt on vector 0x82 to send interrupts to the guest? This is  
> a guest in dom > 0.

No. 0x82 is the trap used to enter Xen from a guest OS.

 -- Keir

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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.