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] [PATCH 5 of 6] REDO: mem_access & mem_access 2: added IN

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