Message ID | 20240125093041.33087-2-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/hvm: disable exposing HVM pirqs by default | expand |
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 8a31d18f6967..bda853e3c92b 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -725,7 +725,9 @@ static bool emulation_flags_ok(const struct domain *d, uint32_t emflags) emflags != (X86_EMU_VPCI | X86_EMU_LAPIC | X86_EMU_IOAPIC) ) return false; if ( !is_hardware_domain(d) && - emflags != (X86_EMU_ALL & ~X86_EMU_VPCI) && + /* HVM PIRQ feature is user-selectable. */ + (emflags & ~X86_EMU_USE_PIRQ) != + (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) && emflags != X86_EMU_LAPIC ) return false; }
Allow selecting X86_EMU_USE_PIRQ for HVM guests, so it's no longer mandated to be always on. There's no restriction in Xen that forces such feature to be always on for HVM guests, as for example PVH guests don't support it, as such allow toolstack to select whether to enabled it on a per-domain basis. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Changes since v3: - Split hypervisor side from previous patch. --- xen/arch/x86/domain.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)