aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-09-10 17:35:57 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-09-12 22:52:08 -0500
commit443b564523756712bcf79c4ff85abc6936c153dc (patch)
tree6dbe152e8813713eff939c2f16f298b2a4de2cec /hw
parent1cf6072fb8f7d4925fec6562f0c4fc265a146898 (diff)
downloadskiboot-443b564523756712bcf79c4ff85abc6936c153dc.zip
skiboot-443b564523756712bcf79c4ff85abc6936c153dc.tar.gz
skiboot-443b564523756712bcf79c4ff85abc6936c153dc.tar.bz2
xive: Ensure pressure relief interrupts are disabled
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@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/xive.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/xive.c b/hw/xive.c
index 9148c5f..d6628a0 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);