Glauber de Oliveira Costa wrote: > Thanks for the explanation, Andi. I understand it much better now, and > agree with you. > > As alternatives what we have now, we can either keep the paravirt_ops > as it is now for the native case, just hooking the vsmp functions in > place of the normal one, (there are just three ops anyway), refill the > paravirt_ops entirely in somewhere like vsmp.c, or similar (or maybe > even assigning paravirt_ops.fn = vsmp_fn on the fly, but early enough). One thing to note is that current code assumes the IF flag is always in bit 9, so if you paravirtualize this, you need to either a) make the vsmp version copy AC into IF to satisfy the interface, or b) add a new op meaning "tell me if this eflags has interrupts enabled or not". I went for option a), and it seems to work OK (using bit 9 for "interrupt enabled" is pretty arbitrary from a Xen perspective, but not very hard to implement, and more localized than making all eflags tests a pvop). J _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization