drivers/interrupt_controller: Enable xapic pass-through in intel vt-d

In XAPIC mode, it's possible to tell VT-D to let interrupt in compatible
format passing through.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
Tomasz Bursztyka 2020-12-15 11:23:42 +01:00 committed by Anas Nashif
commit aa6112d0af
2 changed files with 11 additions and 0 deletions

View file

@ -15,6 +15,12 @@ menuconfig INTEL_VTD_ICTL
if INTEL_VTD_ICTL
config INTEL_VTD_ICTL_XAPIC_PASSTHROUGH
bool "XAPIC mode pass-through"
depends on !X2APIC
help
If XAPIC mode is enabled, it will avoid remapping all interrupts.
config INTEL_VTD_ICTL_INIT_PRIORITY
int "Initialization priority"
default 0

View file

@ -109,6 +109,11 @@ static int vtd_ictl_init(const struct device *dev)
vtd_write_reg64(dev, VTD_IRTA_REG, irta);
if (!IS_ENABLED(CONFIG_X2APIC) &&
IS_ENABLED(CONFIG_INTEL_VTD_ICTL_XAPIC_PASSTHROUGH)) {
vtd_send_cmd(dev, VTD_GCMD_CFI, VTD_GSTS_CFIS);
}
vtd_send_cmd(dev, VTD_GCMD_SIRTP, VTD_GSTS_SIRTPS);
vtd_send_cmd(dev, VTD_GCMD_IRE, VTD_GSTS_IRES);