Merge tag 'irq_urgent_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Borislav Petkov: - Disable the secure programming interface of the GIC500 chip in the RK3399 SoC to fix interrupt priority assignment and even make a dead machine boot again when the gic-v3 driver enables pseudo NMIs - Correct the declaration of a percpu variable to fix several sparse warnings * tag 'irq_urgent_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/gic-v3: Work around insecure GIC integrations irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base
This commit is contained in:
@@ -161,7 +161,22 @@ static bool cpus_have_group0 __ro_after_init;
|
||||
|
||||
static void __init gic_prio_init(void)
|
||||
{
|
||||
cpus_have_security_disabled = gic_dist_security_disabled();
|
||||
bool ds;
|
||||
|
||||
ds = gic_dist_security_disabled();
|
||||
if (!ds) {
|
||||
u32 val;
|
||||
|
||||
val = readl_relaxed(gic_data.dist_base + GICD_CTLR);
|
||||
val |= GICD_CTLR_DS;
|
||||
writel_relaxed(val, gic_data.dist_base + GICD_CTLR);
|
||||
|
||||
ds = gic_dist_security_disabled();
|
||||
if (ds)
|
||||
pr_warn("Broken GIC integration, security disabled");
|
||||
}
|
||||
|
||||
cpus_have_security_disabled = ds;
|
||||
cpus_have_group0 = gic_has_group0();
|
||||
|
||||
/*
|
||||
|
||||
@@ -64,7 +64,7 @@ static void gic_check_cpu_features(void)
|
||||
|
||||
union gic_base {
|
||||
void __iomem *common_base;
|
||||
void __percpu * __iomem *percpu_base;
|
||||
void __iomem * __percpu *percpu_base;
|
||||
};
|
||||
|
||||
struct gic_chip_data {
|
||||
|
||||
Reference in New Issue
Block a user