diff options
| author | Cédric Le Goater <clg@kaod.org> | 2022-03-02 06:51:39 +0100 |
|---|---|---|
| committer | Cédric Le Goater <clg@kaod.org> | 2022-03-02 06:51:39 +0100 |
| commit | aadf13abaad43dd1f8b6113e516649578af63775 (patch) | |
| tree | d8bde16afee129a1cdf16a6c5646adf31e7286e1 /hw/intc/xive2.c | |
| parent | 24c8fa968a6d8fc9a971c382c0c58f0e751dbe36 (diff) | |
| download | focaccia-qemu-aadf13abaad43dd1f8b6113e516649578af63775.tar.gz focaccia-qemu-aadf13abaad43dd1f8b6113e516649578af63775.zip | |
ppc/xive2: Add support for notification injection on ESB pages
This is an internal offset used to inject triggers when the PQ state bits are not controlled locally. Such as for LSIs when the PHB5 are using the Address-Based Interrupt Trigger mode and on the END. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'hw/intc/xive2.c')
| -rw-r--r-- | hw/intc/xive2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/intc/xive2.c b/hw/intc/xive2.c index 8f278f3bf6..2836bbdc83 100644 --- a/hw/intc/xive2.c +++ b/hw/intc/xive2.c @@ -659,6 +659,16 @@ static void xive2_end_source_write(void *opaque, hwaddr addr, notify = xive_esb_eoi(&pq); break; + case XIVE_ESB_INJECT ... XIVE_ESB_INJECT + 0x3FF: + if (end_esmask == END2_W1_ESe) { + qemu_log_mask(LOG_GUEST_ERROR, + "XIVE: END %x/%x can not EQ inject on ESe\n", + end_blk, end_idx); + return; + } + notify = true; + break; + default: qemu_log_mask(LOG_GUEST_ERROR, "XIVE: invalid END ESB write addr %d\n", offset); |