]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gic-v3: Allow LPIs to be disabled from the command line
authorMarc Zyngier <marc.zyngier@arm.com>
Sun, 25 Feb 2018 11:27:04 +0000 (11:27 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 14 Mar 2018 11:11:29 +0000 (11:11 +0000)
commit77f4116fb90ff7540892bb5446defe0b5eb3dea1
treee82235f2508b40e3c7727ffb6f7834a96cb2b3bc
parentccfe35b73281aae419f88348adc8eb0238f5ec94
irqchip/gic-v3: Allow LPIs to be disabled from the command line

For most GICv3 implementations, enabling LPIs is a one way switch.
Once they're on, there is no turning back, which completely kills
kexec (pending tables will always be live, and we can't tell the
secondary kernel where they are).

This is really annoying if you plan to use Linux as a bootloader,
as it pretty much guarantees that the secondary kernel won't be
able to use MSIs, and may even see some memory corruption. Bad.

A workaround for this unfortunate situation is to allow the kernel
not to enable LPIs, even if the feature is present in the HW. This
would allow Linux-as-a-bootloader to leave LPIs alone, and let the
secondary kernel to do whatever it wants with them.

Let's introduce a boolean "irqchip.gicv3_nolpi" command line option
that serves that purpose.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Documentation/admin-guide/kernel-parameters.txt
drivers/irqchip/irq-gic-v3.c