qemu-e2k/hw/ppc
Nicholas Piggin 8b7e6b07a4 target/ppc: rework AIL logic in interrupt delivery
The AIL logic is becoming unmanageable spread all over powerpc_excp(),
and it is slated to get even worse with POWER10 support.

Move it all to a new helper function.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20210501072436.145444-2-npiggin@gmail.com>
[dwg: Corrected tab indenting]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-05-04 13:12:02 +10:00
..
Kconfig hw/ppc: Add emulation of Genesi/bPlan Pegasos II 2021-05-04 11:41:25 +10:00
e500-ccsr.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
e500.c hw/ppc: e500: Add missing #address-cells and #size-cells in the eTSEC node 2021-03-31 11:10:50 +11:00
e500.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
e500plat.c hw/ppc/e500plat: Only try to add valid dynamic sysbus devices to platform bus 2021-04-06 11:49:14 +01:00
fdt.c target/ppc: Split page size information into a separate allocation 2018-04-27 18:05:22 +10:00
fw_cfg.c hw/ppc: Implement fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
mac.h mac_newworld: Allow loading binary ROM image 2020-10-19 08:11:21 +01:00
mac_newworld.c hw/ppc/mac_newworld: Restrict RAM to 2 GiB 2021-05-04 11:41:24 +10:00
mac_oldworld.c hw/ide: remove 'ide-drive' device 2021-03-18 09:22:55 +00:00
meson.build hw/ppc: Add emulation of Genesi/bPlan Pegasos II 2021-05-04 11:41:25 +10:00
mpc8544_guts.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
mpc8544ds.c ppc/e500: use memdev for RAM 2020-02-19 16:50:00 +00:00
pef.c spapr: PEF: prevent migration 2021-02-08 16:57:38 +11:00
pegasos2.c hw/ppc: Add emulation of Genesi/bPlan Pegasos II 2021-05-04 11:41:25 +10:00
pnv.c ppc/pnv: Set default RAM size to 1 GB 2021-02-10 14:50:11 +11:00
pnv_bmc.c Various spelling fixes 2021-03-09 21:19:10 +01:00
pnv_core.c hw/ppc/pnv_core: Update hflags after setting msr 2021-05-04 11:41:24 +10:00
pnv_homer.c ppc/pnv: change the PowerNV machine devices to be non user creatable 2020-02-02 14:07:57 +11:00
pnv_lpc.c ppc/pnv: Introduce a LPC FW memory region attribute to map the PNOR 2021-02-10 10:43:50 +11:00
pnv_occ.c ppc/pnv: change the PowerNV machine devices to be non user creatable 2020-02-02 14:07:57 +11:00
pnv_pnor.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
pnv_psi.c non-virt: Fix Lesser GPL version number 2020-11-15 16:38:24 +01:00
pnv_xscom.c exec/memory: Use struct Object typedef 2021-03-09 21:53:57 +01:00
ppc.c sysemu: Let VMChangeStateHandler take boolean 'running' argument 2021-03-09 23:13:57 +01:00
ppc4xx_devs.c hw/ppc: Remove unused ppcuic_init() 2021-01-19 10:20:29 +11:00
ppc4xx_pci.c hw: Use the PCI_SLOT() macro from 'hw/pci/pci.h' 2021-01-04 23:24:44 +01:00
ppc405.h hw/ppc/ppc405_uc: Drop use of ppcuic_init() 2021-01-19 10:20:29 +11:00
ppc405_boards.c hw/ppc/ppc405_uc: Drop use of ppcuic_init() 2021-01-19 10:20:29 +11:00
ppc405_uc.c hw/ppc/ppc405_uc: Drop use of ppcuic_init() 2021-01-19 10:20:29 +11:00
ppc440.h ppc440_uc: Basic emulation of PPC440 DMA controller 2018-07-03 09:56:52 +10:00
ppc440_bamboo.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
ppc440_pcix.c ppc440_pcix: Fix up pci config access 2021-01-06 11:09:59 +11:00
ppc440_uc.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ppc_booke.c sysemu: Let VMChangeStateHandler take boolean 'running' argument 2021-03-09 23:13:57 +01:00
ppce500_spin.c powerpc tcg: Fix Lesser GPL version number 2020-11-15 16:38:50 +01:00
prep.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
prep_systemio.c prep: add ppc-parity write method 2021-02-08 15:15:32 +01:00
rs6000_mc.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
sam460ex.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
spapr.c spapr.c: do not use MachineClass::max_cpus to limit CPUs 2021-05-04 11:41:25 +10:00
spapr_caps.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
spapr_cpu_core.c spapr_cpu_core.c: use g_auto* in spapr_create_vcpu() 2021-01-19 10:20:29 +11:00
spapr_drc.c spapr_drc.c: handle hotunplug errors in drc_unisolate_logical() 2021-05-04 11:41:25 +10:00
spapr_events.c spapr: Improve handling of memory unplug with old guests 2021-01-19 10:20:29 +11:00
spapr_hcall.c target/ppc: rework AIL logic in interrupt delivery 2021-05-04 13:12:02 +10:00
spapr_iommu.c spapr_iommu: Fix vhost integration regression 2021-03-16 10:06:44 -06:00
spapr_irq.c spapr/xics: Drop unused argument to xics_kvm_has_broken_disconnect() 2020-12-14 15:50:55 +11:00
spapr_numa.c spapr_numa.c: fix ibm,max-associativity-domains calculation 2021-02-10 10:43:50 +11:00
spapr_nvdimm.c ppc/spapr: Add support for implement support for H_SCM_HEALTH 2021-05-04 11:41:25 +10:00
spapr_ovec.c spapr: Improve handling of memory unplug with old guests 2021-01-19 10:20:29 +11:00
spapr_pci.c spapr_pci.c: add 'unplug already in progress' message for PCI unplug 2021-03-10 09:07:09 +11:00
spapr_pci_nvlink2.c spapr_numa: move NVLink2 associativity handling to spapr_numa.c 2020-09-08 10:08:43 +10:00
spapr_pci_vfio.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
spapr_rng.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
spapr_rtas.c hw/ppc/spapr_rtas: Update hflags after setting msr 2021-05-04 11:41:24 +10:00
spapr_rtas_ddw.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
spapr_rtc.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
spapr_tpm_proxy.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
spapr_vio.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
trace-events spapr: rename spapr_drc_detach() to spapr_drc_unplug_request() 2021-03-10 09:07:08 +11:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
virtex_ml507.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00