qemu/accel/tcg
Richard Henderson 3e8f1628e8 exec: Use cpu_untagged_addr in g2h; split out g2h_untagged
Use g2h_untagged in contexts that have no cpu, e.g. the binary
loaders that operate before the primary cpu is created.  As a
colollary, target_mmap and friends must use untagged addresses,
since they are used by the loaders.

Use g2h_untagged on values returned from target_mmap, as the
kernel never applies a tag itself.

Use g2h_untagged on all pc values.  The only current user of
tags, aarch64, removes tags from code addresses upon branch,
so "pc" is always untagged.

Use g2h with the cpu context on hand wherever possible.

Use g2h_untagged in lock_user, which will be updated soon.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210212184902.1251044-13-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-02-16 11:04:53 +00:00
..
atomic_common.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
atomic_template.h qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
cpu-exec-common.c qemu-common: Move tcg_enabled() etc. to sysemu/tcg.h 2019-06-11 20:22:09 +02:00
cpu-exec.c accel/tcg: Add URL of clang bug to comment about our workaround 2021-02-11 11:50:14 +00:00
cputlb.c cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass 2021-02-05 10:24:15 -10:00
internal.h accel/tcg: Restrict cpu_io_recompile() from other accelerators 2021-01-23 12:13:00 -10:00
meson.build accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
plugin-gen.c tcg: Use tcg_constant_{i32,i64} with tcg plugins 2021-01-13 08:39:08 -10:00
plugin-helpers.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
tcg-accel-ops-icount.c replay: fix replay of the interrupts 2021-02-08 14:43:55 +01:00
tcg-accel-ops-icount.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-mttcg.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-mttcg.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-rr.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-rr.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-all.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-runtime-gvec.c tcg: Implement gvec support for rotate by vector 2020-06-02 08:42:37 -07:00
tcg-runtime.c tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
tcg-runtime.h tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
trace-events tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate-all.c exec: Use cpu_untagged_addr in g2h; split out g2h_untagged 2021-02-16 11:04:53 +00:00
translator.c tcg: Make DisasContextBase.tb const 2021-01-07 05:09:41 -10:00
user-exec-stub.c spapr: Unrealize vCPUs with qdev_unrealize() 2020-10-28 01:08:53 +11:00
user-exec.c exec: Use cpu_untagged_addr in g2h; split out g2h_untagged 2021-02-16 11:04:53 +00:00