Paolo Bonzini
758e5de501
bsd-user, linux-user: introduce qemu_process_cpu_events
...
Add a user-mode emulation version of the function. More will be
added later, for now it is just process_queued_cpu_work.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-09-17 19:00:56 +02:00
Paolo Bonzini
9cf342b491
accel/tcg: create a thread-kick function for TCG
...
Round-robin TCG is calling into cpu_exit() directly. In preparation
for making cpu_exit() usable from all accelerators, define a generic
thread-kick function for TCG which is used directly in the multi-threaded
case, and through CPU_FOREACH in the round-robin case.
Use it also for user-mode emulation, and take the occasion to move
the implementation to accel/tcg/user-exec.c.
Reviewed-by: Igor Mammedov <imammedo@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-09-17 19:00:55 +02:00
Philippe Mathieu-Daudé
51c3aebfda
linux-user/mips: Select M14Kc CPU to run microMIPS binaries
...
The M14Kc is our latest CPU supporting the microMIPS ASE.
Note, currently QEMU doesn't have 64-bit CPU supporting microMIPS ASE.
Cc: qemu-stable@nongnu.org
Fixes: 3c824109da ("target-mips: microMIPS ASE support")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3054
Reported-by: Justin Applegate <justink.applegate@gmail.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20250814070650.78657-4-philmd@linaro.org >
2025-09-02 17:57:05 +02:00
Philippe Mathieu-Daudé
7a09b3cc70
linux-user/mips: Select 74Kf CPU to run MIPS16e binaries
...
The 74Kf is our latest CPU supporting MIPS16e ASE.
Note, currently QEMU doesn't have 64-bit CPU supporting MIPS16e ASE.
Cc: qemu-stable@nongnu.org
Fixes: 6ea219d0196..d19954f46df ("target-mips: MIPS16 support")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3054
Reported-by: Justin Applegate <justink.applegate@gmail.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20250814070650.78657-3-philmd@linaro.org >
2025-09-02 17:57:05 +02:00
Richard Henderson and Peter Maydell
23f5b02447
target/arm: Enable FEAT_LSE128 for -cpu max
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20250815122653.701782-8-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2025-08-30 16:38:47 +01:00
Richard Henderson and Peter Maydell
905c2c34fe
target/arm: Rename isar_feature_aa64_atomics
...
This is FEAT_LSE -- rename the predicate to match.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20250830045006.380393-1-richard.henderson@linaro.org
Message-id: 20250815122653.701782-6-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2025-08-30 16:38:18 +01:00
Richard Henderson and Peter Maydell
7494f8bbfb
target/arm: Enable FEAT_CSSC for -cpu max
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20250803014019.416797-7-richard.henderson@linaro.org
[PMM: rebased to handle linux-user elfload.c refactor]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2025-08-30 16:37:22 +01:00
Richard Henderson
3f1b9dbdf5
linux-user: Remove target_pt_regs from target_syscall.h
...
All target_pt_regs which have not been broken out to
target_ptrace.h by this point are unused. Remove them.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
8bb7873f28
linux-user/sparc: Create target_ptrace.h
...
Move target_pt_regs to target_ptrace.h.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
ab2d261ab3
linux-user: Remove a.out declarations from elfload.c
...
These should have been removed with the rest of the stub a.out
support in b9329d4b53 , though they were not in use even then.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
8218eb6f52
linux-user: Move arch_parse_elf_property to aarch64/elfload.c
...
Rename the controlling macro to HAVE_ELF_GNU_PROPERTY to
match the other HAVE_* macros.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
dd1d0239a7
linux-user: Remove MAP_DENYWRITE from elfload.c
...
The last use of this fallback was removed in bf858897b7 .
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
5dcc0b6205
linux-user: Remove ELIBBAD from elfload.c
...
The last use of this fallback was removed in 8e62a71738 .
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
eb727cc45a
linux-user: Rename elf_check_arch
...
Rename to elf_check_machine to match ELF_MACHINE.
Remove the unnecessary definition for loongarch64.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
e6b7635c9a
linux-user: Standardize on ELF_MACHINE not ELF_ARCH
...
PowerPC was the one outlier that defined both ELF_ARCH and
ELF_MACHINE; ELF_ARCH was defined incorrectly, necessitating
the definition of elf_check_arch.
However, the elf file header field in question is called
e_machine, so ELF_MACHINE is in fact the better name.
Mechanically change most target/target_elf.h files,
then adjust ppc/target_elf.h manually.
Do not provide a default for ELF_MACHINE.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
14095cb5f8
linux-user: Move elf parameters to hexagon/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
60502ab782
linux-user: Move elf parameters to xtensa/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
964bc6c1b2
linux-user: Move elf parameters to hppa/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
4a56d73ae2
linux-user: Move elf parameters to riscv/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
2fed144511
linux-user: Move elf parameters to s390x/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
39955adeb2
linux-user: Move elf parameters to alpha/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
4cbf380111
linux-user: Move elf parameters to m68k/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
ac2a6820bf
linux-user: Move elf parameters to sh4/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
b333696601
linux-user: Move elf parameters to openrisc/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00
Richard Henderson
db325955c7
linux-user: Move elf parameters to microblaze/target_elf.h
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-08-30 07:04:04 +10:00