On 2025-08-22 08:00, 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)
>
> v4
> --
>
> - fix patch 9 commit message to s/uint64_t/vaddr (Phil)
>
> 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 vaddr
> 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.
Regards,
Pierrick