
Part1: rework id register storage Cornelia Huck ----------------------------------------------------------------- Patch#1 arm/cpu: Add sysreg definitions in cpu-sysregs.h Patch#2 arm/cpu: Store aa64isar0/aa64zfr0 into the idregs arrays Patch#3 arm/cpu: Store aa64isar1/2 into the idregs array Patch#4 arm/cpu: Store aa64pfr0/1 into the idregs array Patch#5 arm/cpu: Store aa64mmfr0-2 into the idregs array Patch#6 arm/cpu: Store aa64dfr0/1 into the idregs array Patch#7 arm/cpu: Store aa64dfr0/1 into the idregs array Patch#8 arm/cpu: Store aa64smfr0 into the idregs array Patch#9 arm/cpu: Store id_isar0-7 into the idregs array Patch#10 arm/cpu: Store id_pfr0/1/2 into the idregs array Patch#11 arm/cpu: Store id_mmfr0-5 into the idregs array Patch#12 arm/cpu: Add sysreg generation scripts Patch#13 arm/cpu: switch to a generated cpu-sysregs.h.inc Part2: Introduce a customizable aarch64 KVM host model ----------------------------------------------------------------- Patch#14 arm/kvm: use fd instead of fdarray[2] Patch#15 arm/cpu: Add infra to handle generated ID register definitions Patch#16 arm/cpu: Add sysreg properties generation Patch#17 arm/cpu: Add generated sysreg properties Patch#18 kvm: kvm_get_writable_id_regs Patch#19 arm/cpu: accessors for writable id registers Patch#20 arm/kvm: Allow reading all the writable ID registers Patch#21 arm/kvm: write back modified ID regs to KVM Patch#22 arm/cpu: more customization for the kvm host cpu model Patch#23 arm-qmp-cmds: introspection for ID register props Patch#24 arm/cpu-features: document ID reg properties Patch#25 arm/cpu: manually make IDR/REVIDR/AIDR writable Patch#26 arm/cpu: enable MIDR writable Part3: Errata management for VM Live migration ----------------------------------------------------------------- Patch#27 target/arm/kvm: Add SMMC hypercall definitions Patch#28 hw/arm/virt: Initial support to set target_impl CPUs Patch#29 target/arm/kvm: Use PSCI_VERSIOn for version info Patch#30 target/arm/kvm: Set DISCOVER_IMPL_* hypercalls Cornelia Huck (7): arm/cpu: switch to a generated cpu-sysregs.h.inc arm/kvm: use fd instead of fdarray[2] arm/cpu: Add generated sysreg properties kvm: kvm_get_writable_id_regs arm/cpu: accessors for writable id registers arm-qmp-cmds: introspection for ID register props arm/cpu-features: document ID reg properties Eric Auger (17): arm/cpu: Add sysreg definitions in cpu-sysregs.h arm/cpu: Store aa64isar0/aa64zfr0 into the idregs arrays arm/cpu: Store aa64isar1/2 into the idregs array arm/cpu: Store aa64pfr0/1 into the idregs array arm/cpu: Store aa64mmfr0-2 into the idregs array arm/cpu: Store aa64dfr0/1 into the idregs array arm/cpu: Store aa64smfr0 into the idregs array arm/cpu: Store id_isar0-7 into the idregs array arm/cpu: Store id_pfr0/1/2 into the idregs array arm/cpu: Store id_dfr0/1 into the idregs array arm/cpu: Store id_mmfr0-5 into the idregs array arm/cpu: Add sysreg generation scripts arm/cpu: Add infra to handle generated ID register definitions arm/cpu: Add sysreg properties generation arm/kvm: Allow reading all the writable ID registers arm/kvm: write back modified ID regs to KVM arm/cpu: more customization for the kvm host cpu model Qingtong Jia (2): arm/cpu: manually make IDR/REVIDR/AIDR writable arm/cpu: enable MIDR writable Shameer Kolothum (4): target/arm/kvm: Add SMMC hypercall definitions hw/arm/virt: Initial support to set target_impl CPUs target/arm/kvm: Use PSCI_VERSIOn for version info target/arm/kvm: Set DISCOVER_IMPL_* hypercalls MAINTAINERS | 1 + accel/kvm/kvm-all.c | 7 + docs/system/arm/cpu-features.rst | 104 +++- hw/arm/virt.c | 65 ++- hw/intc/armv7m_nvic.c | 27 +- include/hw/boards.h | 3 + scripts/arm-gen-cpu-sysregs-header.awk | 40 ++ scripts/gen-cpu-sysreg-properties.awk | 346 +++++++++++ scripts/update-aarch64-sysreg-code.sh | 35 ++ target/arm/arm-qmp-cmds.c | 19 + target/arm/cpu-custom.h | 60 ++ target/arm/cpu-features.h | 295 +++++----- target/arm/cpu-sysreg-properties.c | 764 +++++++++++++++++++++++++ target/arm/cpu-sysregs.h | 48 ++ target/arm/cpu-sysregs.h.inc | 55 ++ target/arm/cpu.c | 124 ++-- target/arm/cpu.h | 126 +++- target/arm/cpu64.c | 202 ++++--- target/arm/helper.c | 66 +-- target/arm/hvf/hvf.c | 23 +- target/arm/internals.h | 6 +- target/arm/kvm-rme.c | 5 +- target/arm/kvm.c | 188 +++++- target/arm/kvm64.c | 365 +++++++++--- target/arm/kvm_arm.h | 46 +- target/arm/meson.build | 1 + target/arm/ptw.c | 6 +- target/arm/tcg/cpu32.c | 498 ++++++++-------- target/arm/tcg/cpu64.c | 455 +++++++-------- target/arm/trace-events | 8 + 30 files changed, 3035 insertions(+), 953 deletions(-) create mode 100755 scripts/arm-gen-cpu-sysregs-header.awk create mode 100755 scripts/gen-cpu-sysreg-properties.awk create mode 100755 scripts/update-aarch64-sysreg-code.sh create mode 100644 target/arm/cpu-custom.h create mode 100644 target/arm/cpu-sysreg-properties.c create mode 100644 target/arm/cpu-sysregs.h create mode 100644 target/arm/cpu-sysregs.h.inc -- 2.33.0