Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03ea8155 authored by Weidong Han's avatar Weidong Han Committed by Ingo Molnar
Browse files

x86, intr-remap: add option to disable interrupt remapping



Add option "nointremap" to disable interrupt remapping.

[ Impact: add new boot option ]

Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: default avatarWeidong Han <weidong.han@intel.com>
Acked-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
Cc: iommu@lists.linux-foundation.org
Cc: allen.m.kay@intel.com
Cc: fenghua.yu@intel.com
LKML-Reference: <1239957736-6161-5-git-send-email-weidong.han@intel.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 93758238
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1533,6 +1533,9 @@ and is between 256 and 4096 characters. It is defined in the file
	noinitrd	[RAM] Tells the kernel not to load any configured
			initial RAM disk.

	nointremap	[X86-64, Intel-IOMMU] Do not enable interrupt
			remapping.

	nointroute	[IA-64]

	nojitter	[IA64] Disables jitter checking for ITC timers.
+11 −0
Original line number Diff line number Diff line
@@ -15,6 +15,14 @@ static struct ioapic_scope ir_ioapic[MAX_IO_APICS];
static int ir_ioapic_num;
int intr_remapping_enabled;

static int disable_intremap;
static __init int setup_nointremap(char *str)
{
	disable_intremap = 1;
	return 0;
}
early_param("nointremap", setup_nointremap);

struct irq_2_iommu {
	struct intel_iommu *iommu;
	u16 irte_index;
@@ -506,6 +514,9 @@ int __init intr_remapping_supported(void)
{
	struct dmar_drhd_unit *drhd;

	if (disable_intremap)
		return 0;

	for_each_drhd_unit(drhd) {
		struct intel_iommu *iommu = drhd->iommu;