As a follow-up to the thread that started with https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg01018.html
Most of the a57/a53/a72 init functions is currently identical lines, with some individual options set up differently. Some of that duplication can be considered to be likely to apply to any (or at least the majoroty of) aarch64 processors to be added in the future. And finally, the "max" cpu init function currently calls the a57 one, with some non-obvious side effects including: - cpu dtb_compatible string set to "arm,cortex-a57" - kvm_target set (to A57 value) in tcg mode - id_mmfr0 containing a value present in real A57 cpus of the revision qemu emulates, but banned by the architecture specification - emulating implementation-defined cortex cp registers This series: - Creates a common initialization function for all aarch64 cpus, which also sets up the MIDR. - Creates a common initialization function for the cortex cpus defined in cpu64.h. - Detaches the "max" cpu from the A57 init, making use of both of the above helper functions. - Can definitely be split up into additional patches (especially 3/3). Leif Lindholm (3): target/arm: commonalize aarch64 cpu init target/arm: move cpu64 cortex processor common init settings to function target/arm: use cortex...common_init for cpu64 max target/arm/cpu-qom.h | 3 + target/arm/cpu64.c | 155 ++++++++++++++++++------------------------- 2 files changed, 66 insertions(+), 92 deletions(-) -- 2.20.1