diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2024-09-12 11:28:20 +0200 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2024-10-13 10:05:51 -0700 |
commit | f781af3b14fc87c5177d8d8e209d89743e4857df (patch) | |
tree | 6b337811922291bf04a449f8fe1ae83a48d531d2 | |
parent | fe678c45d2c970ab35826c6ff3ae08f20bf02f73 (diff) | |
download | qemu-f781af3b14fc87c5177d8d8e209d89743e4857df.zip qemu-f781af3b14fc87c5177d8d8e209d89743e4857df.tar.gz qemu-f781af3b14fc87c5177d8d8e209d89743e4857df.tar.bz2 |
include/exec: Introduce env_cpu_const()
It's the same as env_cpu(), but for const objects.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20240912093012.402366-2-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | include/exec/cpu-common.h | 13 | ||||
-rw-r--r-- | linux-user/elfload.c | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 2e1b499..638dc80 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -239,6 +239,17 @@ static inline ArchCPU *env_archcpu(CPUArchState *env) } /** + * env_cpu_const(env) + * @env: The architecture environment + * + * Return the CPUState associated with the environment. + */ +static inline const CPUState *env_cpu_const(const CPUArchState *env) +{ + return (void *)env - sizeof(CPUState); +} + +/** * env_cpu(env) * @env: The architecture environment * @@ -246,7 +257,7 @@ static inline ArchCPU *env_archcpu(CPUArchState *env) */ static inline CPUState *env_cpu(CPUArchState *env) { - return (void *)env - sizeof(CPUState); + return (CPUState *)env_cpu_const(env); } #ifndef CONFIG_USER_ONLY diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 52c88a6..352960b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -4314,7 +4314,7 @@ static int wmr_write_region(void *opaque, target_ulong start, */ static int elf_core_dump(int signr, const CPUArchState *env) { - const CPUState *cpu = env_cpu((CPUArchState *)env); + const CPUState *cpu = env_cpu_const(env); const TaskState *ts = (const TaskState *)get_task_state((CPUState *)cpu); struct rlimit dumpsize; CountAndSizeRegions css; |