Commit b7d20631 authored by Feng Wu's avatar Feng Wu Committed by Paolo Bonzini

iommu/vt-d: Add a command line parameter for VT-d posted-interrupts

Enable VT-d Posted-Interrtups and add a command line
parameter for it.
Signed-off-by: default avatarFeng Wu <feng.wu@intel.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarAlex Williamson <alex.williamson@redhat.com>
Acked-by: default avatarJoerg Roedel <joro@8bytes.org>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent bf9f6ac8
...@@ -1553,6 +1553,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -1553,6 +1553,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
nosid disable Source ID checking nosid disable Source ID checking
no_x2apic_optout no_x2apic_optout
BIOS x2APIC opt-out request will be ignored BIOS x2APIC opt-out request will be ignored
nopost disable Interrupt Posting
iomem= Disable strict checking of access to MMIO memory iomem= Disable strict checking of access to MMIO memory
strict regions from userspace. strict regions from userspace.
......
...@@ -22,7 +22,7 @@ int irq_remap_broken; ...@@ -22,7 +22,7 @@ int irq_remap_broken;
int disable_sourceid_checking; int disable_sourceid_checking;
int no_x2apic_optout; int no_x2apic_optout;
int disable_irq_post = 1; int disable_irq_post = 0;
static int disable_irq_remap; static int disable_irq_remap;
static struct irq_remap_ops *remap_ops; static struct irq_remap_ops *remap_ops;
...@@ -58,14 +58,18 @@ static __init int setup_irqremap(char *str) ...@@ -58,14 +58,18 @@ static __init int setup_irqremap(char *str)
return -EINVAL; return -EINVAL;
while (*str) { while (*str) {
if (!strncmp(str, "on", 2)) if (!strncmp(str, "on", 2)) {
disable_irq_remap = 0; disable_irq_remap = 0;
else if (!strncmp(str, "off", 3)) disable_irq_post = 0;
} else if (!strncmp(str, "off", 3)) {
disable_irq_remap = 1; disable_irq_remap = 1;
else if (!strncmp(str, "nosid", 5)) disable_irq_post = 1;
} else if (!strncmp(str, "nosid", 5))
disable_sourceid_checking = 1; disable_sourceid_checking = 1;
else if (!strncmp(str, "no_x2apic_optout", 16)) else if (!strncmp(str, "no_x2apic_optout", 16))
no_x2apic_optout = 1; no_x2apic_optout = 1;
else if (!strncmp(str, "nopost", 6))
disable_irq_post = 1;
str += strcspn(str, ","); str += strcspn(str, ",");
while (*str == ',') while (*str == ',')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment