[Skiboot] [PATCH v3 03/13] xive: Ensure pressure relief interrupts are disabled
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Sep 10 17:35:25 AEST 2017
We don't use them and we hijack the VP field with their
configuration to store the EQ reference, so make sure the
kernel or guest can't turn them back on by doing MMIO
writes to ACK#
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
hw/xive.c | 2 ++
include/xive.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/hw/xive.c b/hw/xive.c
index 9148c5f6..d6628a09 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -1623,6 +1623,8 @@ static bool xive_config_init(struct xive *x)
#endif
val |= PC_TCTXT_CHIPID_OVERRIDE;
val |= PC_TCTXT_CFG_TARGET_EN;
+ /* Disable pressure relief as we hijack the field in the VPs */
+ val &= ~PC_TCTXT_CFG_STORE_ACK;
val = SETFIELD(PC_TCTXT_CHIPID, val, x->block_id);
xive_regw(x, PC_TCTXT_CFG, val);
xive_dbg(x, "PC_TCTXT_CFG=%016llx\n", val);
diff --git a/include/xive.h b/include/xive.h
index 860373c9..70f6499f 100644
--- a/include/xive.h
+++ b/include/xive.h
@@ -75,6 +75,7 @@
#define PC_TCTXT_CFG 0x400
#define PC_TCTXT_CFG_BLKGRP_EN PPC_BIT(0)
#define PC_TCTXT_CFG_TARGET_EN PPC_BIT(1)
+#define PC_TCTXT_CFG_STORE_ACK PPC_BIT(3)
#define PC_TCTXT_CFG_HARD_CHIPID_BLK PPC_BIT(8)
#define PC_TCTXT_CHIPID_OVERRIDE PPC_BIT(9)
#define PC_TCTXT_CHIPID PPC_BITMASK(12,15)
--
2.13.5
More information about the Skiboot
mailing list