[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 6/8] spapr/xive: Activate StoreEOI by default
From: |
Cédric Le Goater |
Subject: |
[PATCH 6/8] spapr/xive: Activate StoreEOI by default |
Date: |
Wed, 19 Aug 2020 15:08:41 +0200 |
Now that we check the XIVE characteristics of the sources at the KVM
level, we can configure the sources to use StoreEOI by default. This
feature will be activated for the emulated mode and possibly for KVM
also if compatible.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/intc/spapr_xive.c | 2 ++
hw/intc/xive.c | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c
index d184d17e30e7..e0765c0de696 100644
--- a/hw/intc/spapr_xive.c
+++ b/hw/intc/spapr_xive.c
@@ -317,6 +317,8 @@ static void spapr_xive_realize(DeviceState *dev, Error
**errp)
*/
object_property_set_int(OBJECT(xsrc), "nr-irqs", xive->nr_irqs,
&error_fatal);
+ object_property_set_int(OBJECT(xsrc), "flags", XIVE_SRC_STORE_EOI,
+ &error_fatal);
object_property_set_link(OBJECT(xsrc), "xive", OBJECT(xive), &error_abort);
if (!qdev_realize(DEVICE(xsrc), NULL, errp)) {
return;
diff --git a/hw/intc/xive.c b/hw/intc/xive.c
index 489e6256ef70..b710ba2df095 100644
--- a/hw/intc/xive.c
+++ b/hw/intc/xive.c
@@ -998,6 +998,12 @@ static uint64_t xive_source_esb_read(void *opaque, hwaddr
addr, unsigned size)
case XIVE_ESB_SET_PQ_01 ... XIVE_ESB_SET_PQ_01 + 0x0FF:
case XIVE_ESB_SET_PQ_10 ... XIVE_ESB_SET_PQ_10 + 0x0FF:
case XIVE_ESB_SET_PQ_11 ... XIVE_ESB_SET_PQ_11 + 0x0FF:
+ if (offset == XIVE_ESB_SET_PQ_10 &&
+ xsrc->esb_flags & XIVE_SRC_STORE_EOI) {
+ qemu_log_mask(LOG_GUEST_ERROR, "XIVE: load-after-store ordering "
+ "not enforced with Store EOI active for IRQ %d\n",
+ srcno);
+ }
ret = xive_source_esb_set(xsrc, srcno, (offset >> 8) & 0x3);
break;
default:
--
2.25.4
- [PATCH 0/8] spapr/xive: Activate StoreEOI in P10 compat guests, Cédric Le Goater, 2020/08/19
- [PATCH 1/8] spapr/xive: Add a 'hv-prio' property to represent the KVM escalation priority, Cédric Le Goater, 2020/08/19
- [PATCH 2/8] linux-headers: Update for KVM_DEV_XIVE_GRP_SOURCE_INFO, Cédric Le Goater, 2020/08/19
- [PATCH 3/8] spapr/xive: Query the characteristics of a source in KVM, Cédric Le Goater, 2020/08/19
- [PATCH 4/8] spapr/xive: Activate StoreEOI for POWER10 only, Cédric Le Goater, 2020/08/19
- [PATCH 6/8] spapr/xive: Activate StoreEOI by default,
Cédric Le Goater <=
- [PATCH 5/8] spapr/xive: Enforce the load-after-store ordering, Cédric Le Goater, 2020/08/19
- [PATCH 7/8] spapr/xive: Use the xics flag to check for XIVE-only IRQ backends, Cédric Le Goater, 2020/08/19
- [PATCH 8/8] spapr/xive: Introduce a XIVE StoreEOI IRQ backend, Cédric Le Goater, 2020/08/19