[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 for-4.7 5/5] x86/hvm: Fix invalidation for emulated invlpg instructions
> From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx] > Sent: Tuesday, May 10, 2016 2:28 AM > > hap_invlpg() is reachable from the instruction emulator, which means > introspection and tests using hvm_fep can end up here. As such, crashing the > domain is not an appropriate action to take. > > Fixing this involves rearranging the callgraph. > > paging_invlpg() is now the central entry point. It first checks for the > non-canonical NOP case, and calls ino the paging subsystem. If a real flush > is needed, it will call the appropriate handler for the vcpu. This allows the > PV callsites of paging_invlpg() to be simplified. > > The sole user of hvm_funcs.invlpg_intercept() is altered to use > paging_invlpg() instead, allowing the .invlpg_intercept() hook to be removed. > > For both VMX and SVM, the existing $VENDOR_invlpg_intercept() is split in > half. $VENDOR_invlpg_intercept() stays as the intercept handler only (which > just calls paging_invlpg()), and new $VENDOR_invlpg() functions do the > ASID/VPID management. These later functions are made available in hvm_funcs > for paging_invlpg() to use. > > As a result, correct ASID/VPID management occurs for the hvmemul path, even if > it did not originate from an real hardware intercept. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |