This is the first series of the exception model-specific changes. I intend to keep this same structure for the rest of the exception models.
== preparation == First few patches are cleanups specific to this model. This comes first because I'm using some of these changes to help validate what should be removed in the subsequent patches. == new powerpc_excp function == One patch copies the powerpc_excp function as is and renames it to the exception model in question. Doing this first facilitates spotting what changed from the _legacy version. The following patch changes everything that needs to be changed at the top level (MSR mask, SF, ILE, AIL, SRRs, etc.) and removes exceptions that are not used by this processor family. == exceptions cleanup == After the new powerpc_excp function has been made specific to that one exception model, go through every exception removing anything that does not apply to this model. Based on legoater/ppc-7.0 Cleanups 2/n [in ppc-7.0]: https://lists.nongnu.org/archive/html/qemu-ppc/2022-01/msg00252.html Cleanups 1/n [already merged]: https://mail.gnu.org/archive/html/qemu-ppc/2021-12/msg00696.html RFC v2: https://lists.nongnu.org/archive/html/qemu-ppc/2021-12/msg00542.html RFC v1: https://lists.nongnu.org/archive/html/qemu-ppc/2021-06/msg00026.html Fabiano Rosas (8): target/ppc: 405: Add missing MSR bits to msr_mask target/ppc: 405: Add missing exception handlers target/ppc: Introduce powerpc_excp_40x squash target/ppc: Introduce powerpc_excp_40x target/ppc: 405: Critical exceptions cleanup target/ppc: 405: Machine check exception cleanup target/ppc: 405: External exception cleanup target/ppc: 405: System call exception cleanup target/ppc/cpu_init.c | 8 +- target/ppc/excp_helper.c | 246 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 253 insertions(+), 1 deletion(-) -- 2.33.1