On 22/8/25 16:31, Pierrick Bouvier wrote:
On 2025-08-04 11:39, Pierrick Bouvier wrote:
This series compiles once semihosting files in system mode.
The most complicated file was semihosting/arm-compat-semi.c, which was
carefully
cleaned in easy to understand steps.
v2
--
- use vaddr for syscalls.c/.h
- static qualifier for console_{in,out}_gf
- use vaddr for arm-compat-semi.c
- semihosting/arm-compat-semi: fix cast for common_semi_set_ret
v3
--
- keep common_semi_sys_exit_extended (Peter)
Pierrick Bouvier (12):
semihosting/syscalls: compile once in system and per target for user
mode
semihosting/syscalls: replace uint64_t with vaddr where appropriate
semihosting/guestfd: compile once for system/user
semihosting/arm-compat-semi: change common_semi_sys_exit_extended
target/riscv/common-semi-target: remove sizeof(target_ulong)
target/{arm,riscv}/common-semi-target: eradicate target_ulong
include/semihosting/common-semi: extract common_semi API
semihosting/arm-compat-semi: eradicate sizeof(target_ulong)
semihosting/arm-compat-semi: replace target_ulong with uint64_t
semihosting/arm-compat-semi: eradicate target_long
semihosting/arm-compat-semi: remove dependency on cpu.h
semihosting/arm-compat-semi: compile once in system and per target for
user mode
include/semihosting/common-semi.h | 6 +
include/semihosting/guestfd.h | 7 --
include/semihosting/semihost.h | 2 +
include/semihosting/syscalls.h | 30 ++---
semihosting/arm-compat-semi-stub.c | 19 +++
semihosting/arm-compat-semi.c | 65 ++++++++---
semihosting/guestfd.c | 26 +----
semihosting/syscalls.c | 109 +++++++++---------
...mon-semi-target.h => common-semi-target.c} | 22 ++--
...mon-semi-target.h => common-semi-target.c} | 27 +++--
semihosting/meson.build | 18 +--
target/arm/meson.build | 4 +
target/riscv/meson.build | 4 +
13 files changed, 190 insertions(+), 149 deletions(-)
create mode 100644 semihosting/arm-compat-semi-stub.c
rename target/arm/{common-semi-target.h => common-semi-target.c} (59%)
rename target/riscv/{common-semi-target.h => common-semi-target.c}
(53%)
Ping on this series.
I'll be out next week, but it should be ready to be pulled once the
trunk reopens.
Modulo the comment on patch #9, the series is fully reviewed.