[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 01/17] x86emul: support most memory accessing MMX/SSE{, 2, 3} insns
On 01/03/17 13:50, Jan Beulich wrote: > >> This seems rather inconsistent at the moment. > Does it? At least in this patch I can't spot an inconsistency. I meant in general across the current use of stubs, but perhaps that is just because of the transition to the new model. > >>> @@ -6159,6 +6551,76 @@ x86_emulate( >>> goto cannot_emulate; >>> } >>> >>> + if ( state->simd_size ) >>> + { >>> +#ifdef __XEN__ >>> + uint8_t *buf = stub.ptr; >>> +#else >>> + uint8_t *buf = get_stub(stub); >>> +#endif >> Is this stale? Everywhere else is just get_stub() without any ifdefary. > No, it's not stale: In the hypervisor we can't use get_stub() a > second time, or else we'll invoke map_domain_page() a second > time, discarding (and hence leaking) the result of the earlier > one. As an aside, shouldn't we refcount (and at least assert) that we don't map the same page twice, to avoid leaks? > And in the harness using get_stub() is the cleanest way > to get hold of the pointer again. I've considered and tried > several variants, but I couldn't come up with an approach not > needing any #ifdef - if you see a way, let me know. As it drops out in the following patch, I am not overly fussed. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |