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:
parent
4047b793c8
commit
aa6112d0af
2 changed files with 11 additions and 0 deletions
|
@ -15,6 +15,12 @@ menuconfig INTEL_VTD_ICTL
|
||||||
|
|
||||||
if 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
|
config INTEL_VTD_ICTL_INIT_PRIORITY
|
||||||
int "Initialization priority"
|
int "Initialization priority"
|
||||||
default 0
|
default 0
|
||||||
|
|
|
@ -109,6 +109,11 @@ static int vtd_ictl_init(const struct device *dev)
|
||||||
|
|
||||||
vtd_write_reg64(dev, VTD_IRTA_REG, irta);
|
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_SIRTP, VTD_GSTS_SIRTPS);
|
||||||
vtd_send_cmd(dev, VTD_GCMD_IRE, VTD_GSTS_IRES);
|
vtd_send_cmd(dev, VTD_GCMD_IRE, VTD_GSTS_IRES);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue