Missing review: 4, 15
(I plan to merge myself once reviewed)
Since v2:
- Reorder _Generic changes first to maintain bisectability
Since v1:
- use _Generic (rth)
- no more RFC
- Patch 1-3 add const-qualified variants of cpu_env(),
env_cpu(), and env_archcpu() using _Generic() macros;
consolidate the redundant env_cpu_const() alias and update
linux-user to use the generic accessor
- Patches 4-14 trivially add const qualifier for various
cpu_is/has() getters
- Patch 15 finally convert the SysemuCPUOps::has_work
hook and all target implementations.
No functional change; purely const-correctness improvment
to enforce has_work() callees don't mutate CPUState.
Build-tested.
Following checkpatch.pl errors ignored:
2/15 Checking commit efef90983aa7 (cpus: Add const-qualified CPU environment accessors)
ERROR: spaces required around that ':' (ctx:VxE)
#46: FILE: include/exec/cpu-common.h:89:
+ CPUArchState: \
^
ERROR: spaces required around that ':' (ctx:VxE)
#62: FILE: include/exec/cpu-common.h:101:
+ CPUArchState: \
^
ERROR: spaces required around that ':' (ctx:VxE)
#90: FILE: include/hw/core/cpu.h:605:
+ CPUState: \
^
total: 3 errors, 0 warnings, 64 lines checked
Philippe Mathieu-Daudé (15):
linux-user: Uncast void pointer argument as Object in
target_cpu_free()
cpus: Add const-qualified CPU environment accessors
linux-user: Replace env_cpu_const() by generic env_cpu() equivalent
system/cpus: Constify various CPUState arguments
target/avr: Constify CPUAVRState for some cpu_*() getters
target/hexagon: Constify CPUHexagonState in
hexagon_thread_is_enabled()
target/i386: Constify CPU*State for cpu_*_interrupt() getters
target/loongarch: Constify CPULoongArchState for various cpu_*()
getters
target/mips: Constify CPUMIPSState for various cpu_*() getters
target/s390x: Constify S390CPU for cpu_has_*() getters
target/riscv: Constify @iprio argument in riscv_cpu_pending_to_irq()
target/riscv: Constify CPURISCVState for various cpu_*() getters
target/sparc: Constify CPUSPARCState for various cpu_*() getters
target/tricore: Document architectural interrupts as not implemented
cpus: Constify @cpu in SysemuCPUOps::has_work() handler
include/exec/cpu-common.h | 29 ++++++++++-------------------
include/hw/core/cpu.h | 21 ++++++++++++++-------
include/hw/core/sysemu-cpu-ops.h | 4 ++--
include/system/cpus.h | 4 ++--
target/avr/cpu.h | 6 +++---
target/hexagon/cpu.h | 2 +-
target/i386/cpu.h | 4 ++--
target/loongarch/cpu.h | 6 +++---
target/loongarch/internals.h | 2 +-
target/mips/cpu.h | 6 +++---
target/mips/internal.h | 10 +++++-----
target/riscv/cpu.h | 29 +++++++++++++++--------------
target/s390x/cpu.h | 2 +-
target/s390x/s390x-internal.h | 12 ++++++------
target/sparc/cpu.h | 12 ++++++------
linux-user/elfload.c | 2 +-
linux-user/i386/cpu_loop.c | 5 +++--
linux-user/i386/elfload.c | 2 +-
linux-user/x86_64/elfload.c | 2 +-
system/cpus.c | 6 +++---
target/alpha/cpu.c | 2 +-
target/arm/cpu.c | 4 ++--
target/avr/cpu.c | 3 ++-
target/hexagon/cpu.c | 8 ++++----
target/hppa/cpu.c | 2 +-
target/i386/cpu.c | 7 +++----
target/loongarch/cpu.c | 4 ++--
target/m68k/cpu.c | 2 +-
target/microblaze/cpu.c | 2 +-
target/mips/cpu.c | 4 ++--
target/or1k/cpu.c | 2 +-
target/ppc/cpu_init.c | 2 +-
target/riscv/cpu.c | 17 ++++++++---------
target/rx/cpu.c | 2 +-
target/s390x/cpu-system.c | 4 ++--
target/s390x/interrupt.c | 22 +++++++++++-----------
target/sh4/cpu.c | 2 +-
target/sparc/cpu.c | 2 +-
target/tricore/cpu.c | 3 ++-
target/xtensa/cpu.c | 4 ++--
40 files changed, 132 insertions(+), 132 deletions(-)
--
2.53.0