]> xenbits.xensource.com Git - xen.git/commit
vtd: make sure QI/IR are disabled before initialisation
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Thu, 18 Mar 2021 14:02:15 +0000 (15:02 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 18 Mar 2021 14:02:15 +0000 (15:02 +0100)
commit57ced58d26b2131e61b0b1b7c22de1e8ff712861
tree0445b08aa0a3a77c4dcd6f0d2c4cf4b8a3e65109
parente7654716903461792d271ca3feab244827b970bd
vtd: make sure QI/IR are disabled before initialisation

BIOS might pass control to Xen leaving QI and/or IR in enabled and/or
partially configured state. In case of x2APIC code path where EIM is
enabled early in boot - those are correctly disabled by Xen before any
attempt to configure. But for xAPIC that step is missing which was
proven to cause QI initialization failures on some ICX based platforms
where QI is left pre-enabled and partially configured by BIOS. That
problem becomes hard to avoid since those platforms are shipped with
x2APIC opt out being advertised by default at the same time by firmware.

Unify the behaviour between x2APIC and xAPIC code paths keeping that in
line with what Linux does.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
master commit: 04181c6fb543db01f635227c7681ced4073109ba
master date: 2021-03-12 17:01:52 +0100
xen/arch/x86/apic.c
xen/drivers/passthrough/vtd/iommu.c
xen/include/asm-x86/apic.h