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.


Reply via email to