This changed a lot since v1, basically what remains is the idea that we want to have some sort of array of interrupts and some sort of separation between processors.
At the end of this series we'll have: - One file with all interrupt implementations (interrupts.c); - Separate files for each major group of CPUs (book3s, booke, 32bits). Only interrupt code for now, but we could bring pieces of cpu_init into them; - Four separate interrupt arrays, one for each of the above groups plus KVM. - powerpc_excp calls into the individual files and from there we dispatch according to what is available in the interrupts array. Please comment, Thanks. v1: https://lists.nongnu.org/archive/html/qemu-ppc/2021-06/msg00026.html Fabiano Rosas (12): target/ppc: powerpc_excp: Set alternate SRRs directly target/ppc: powerpc_excp: Set vector earlier target/ppc: powerpc_excp: Move system call vectored code together target/ppc: powerpc_excp: Stop passing excp_model around target/ppc: powerpc_excp: Standardize arguments to interrupt code target/ppc: Extract interrupt routines into a new file target/ppc: Introduce PPCInterrupt target/ppc: Remove unimplemented interrupt code target/ppc: Use common code for Hypervisor interrupts target/ppc: Split powerpc_excp into book3s, booke and 32 bit target/ppc: Create new files for book3s, booke and ppc32 exception code target/ppc: Do not enable all interrupts when running KVM target/ppc/cpu.h | 2 + target/ppc/excp_helper.c | 862 ++------------------------------------- target/ppc/interrupts.c | 521 +++++++++++++++++++++++ target/ppc/intr-book3s.c | 383 +++++++++++++++++ target/ppc/intr-booke.c | 152 +++++++ target/ppc/intr-ppc32.c | 159 ++++++++ target/ppc/meson.build | 4 + target/ppc/ppc_intr.h | 62 +++ target/ppc/tcg-stub.c | 6 + 9 files changed, 1323 insertions(+), 828 deletions(-) create mode 100644 target/ppc/interrupts.c create mode 100644 target/ppc/intr-book3s.c create mode 100644 target/ppc/intr-booke.c create mode 100644 target/ppc/intr-ppc32.c create mode 100644 target/ppc/ppc_intr.h -- 2.33.1