spapr: introduce a new machine IRQ backend for XIVE
commitdcc345b61ebe499f8f707de2535c2790c52cc703
authorCédric Le Goater <clg@kaod.org>
Tue, 11 Dec 2018 22:38:12 +0000 (11 23:38 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 20 Dec 2018 22:37:38 +0000 (21 09:37 +1100)
treecc90dd2bd11d325c17db2ff98a6b0eded49b1ed1
parent8994e91e963ed8ba6abd9c2afbb3d6be6f323ab5
spapr: introduce a new machine IRQ backend for XIVE

The XIVE IRQ backend uses the same layout as the new XICS backend but
covers the full range of the IRQ number space. The IRQ numbers for the
CPU IPIs are allocated at the bottom of this space, below 4K, to
preserve compatibility with XICS which does not use that range.

This should be enough given that the maximum number of CPUs is 1024
for the sPAPR machine under QEMU. For the record, the biggest POWER8
or POWER9 system has a maximum of 1536 HW threads (16 sockets, 192
cores, SMT8).

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_irq.c
include/hw/ppc/spapr.h
include/hw/ppc/spapr_irq.h