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

Re: [Xen-devel] [PATCH 5 of 6] REDO: mem_access & mem_access 2: added INT3/CRx capture



At 15:18 +0000 on 05 Jan (1294240690), Joe Epstein wrote:
>> What if the guest already has a trap pending for some reason?  This
>> could turn it into a double-fault, which is probably not what the caller
>> wanted.
> 
> Hmm...it doesn't seem like there can be two different injected events,
> as this will overwrite whatever else was set.  If the guest was trying
> to service a trap and took a VM exit, then injection should be the
> same as if it happened natively.  So I think I'm missing something
> here.
> 
> Also, because the injection only takes effect on the next entry, the
> odds are good that the caller knows the VCPU was paused, and might
> have a better sense of the state.  The hypercall is most useful on a
> memory event handler registered for INT3, having to inject the INT3 to
> whatever debugger is running in the guest that needs to handle it.

Yes, I can see why it's useful - just as long as the caller knows that
there's a risk (in some circumstances) that the injected trap will
collide with another one and cause a double fault.  In the INT3 case,
the caller can be sure that it's the only injection going on, but that's
not always the case (e.g. if the guest trapped on a write to its stack
during a pagefault).

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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