qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] single-binary: compile once semihosting
@ 2025-07-30 22:06 Pierrick Bouvier
  2025-07-30 22:06 ` [PATCH 01/10] semihosting/syscalls: compile once in system and per target for user mode Pierrick Bouvier
                   ` (9 more replies)
  0 siblings, 10 replies; 25+ messages in thread
From: Pierrick Bouvier @ 2025-07-30 22:06 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel Henrique Barboza, Peter Maydell, qemu-arm,
	Alex Bennée, Weiwei Li, philmd, Liu Zhiwei, Palmer Dabbelt,
	richard.henderson, qemu-riscv, Alistair Francis, Pierrick Bouvier

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.

Pierrick Bouvier (10):
  semihosting/syscalls: compile once in system and per target for user
    mode
  semihosting/guestfd: compile once for system/user
  semihosting/arm-compat-semi: remove common_semi_sys_exit_extended
  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: replace target_long with int64_t
  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             |  5 ++
 include/semihosting/guestfd.h                 |  7 --
 include/semihosting/semihost.h                |  2 +
 include/semihosting/syscalls.h                | 29 +++---
 semihosting/arm-compat-semi-stub.c            | 19 ++++
 semihosting/arm-compat-semi.c                 | 61 +++++++++----
 semihosting/guestfd.c                         | 26 ++----
 semihosting/syscalls.c                        | 89 +++++++++----------
 ...mon-semi-target.h => common-semi-target.c} | 23 ++---
 ...mon-semi-target.h => common-semi-target.c} | 22 ++---
 semihosting/meson.build                       | 18 ++--
 target/arm/meson.build                        |  4 +
 target/riscv/meson.build                      |  4 +
 13 files changed, 168 insertions(+), 141 deletions(-)
 create mode 100644 semihosting/arm-compat-semi-stub.c
 rename target/arm/{common-semi-target.h => common-semi-target.c} (58%)
 rename target/riscv/{common-semi-target.h => common-semi-target.c} (52%)

-- 
2.47.2



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-08-01  1:45 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-30 22:06 [PATCH 00/10] single-binary: compile once semihosting Pierrick Bouvier
2025-07-30 22:06 ` [PATCH 01/10] semihosting/syscalls: compile once in system and per target for user mode Pierrick Bouvier
2025-07-31 23:13   ` Richard Henderson
2025-08-01  1:42     ` Pierrick Bouvier
2025-07-30 22:06 ` [PATCH 02/10] semihosting/guestfd: compile once for system/user Pierrick Bouvier
2025-07-31 23:15   ` Richard Henderson
2025-08-01  1:41     ` Pierrick Bouvier
2025-07-30 22:06 ` [PATCH 03/10] semihosting/arm-compat-semi: remove common_semi_sys_exit_extended Pierrick Bouvier
2025-07-31 23:20   ` Richard Henderson
2025-07-30 22:06 ` [PATCH 04/10] target/{arm, riscv}/common-semi-target: eradicate target_ulong Pierrick Bouvier
2025-07-31 23:23   ` [PATCH 04/10] target/{arm,riscv}/common-semi-target: " Richard Henderson
2025-07-30 22:06 ` [PATCH 05/10] include/semihosting/common-semi: extract common_semi API Pierrick Bouvier
2025-07-31 23:28   ` Richard Henderson
2025-07-30 22:06 ` [PATCH 06/10] semihosting/arm-compat-semi: eradicate sizeof(target_ulong) Pierrick Bouvier
2025-07-31 23:28   ` Richard Henderson
2025-07-30 22:06 ` [PATCH 07/10] semihosting/arm-compat-semi: replace target_ulong with uint64_t Pierrick Bouvier
2025-07-31 23:33   ` Richard Henderson
2025-08-01  1:40     ` Pierrick Bouvier
2025-07-30 22:06 ` [PATCH 08/10] semihosting/arm-compat-semi: replace target_long with int64_t Pierrick Bouvier
2025-08-01  1:25   ` Richard Henderson
2025-08-01  1:39     ` Pierrick Bouvier
2025-07-30 22:06 ` [PATCH 09/10] semihosting/arm-compat-semi: remove dependency on cpu.h Pierrick Bouvier
2025-08-01  1:26   ` Richard Henderson
2025-07-30 22:06 ` [PATCH 10/10] semihosting/arm-compat-semi: compile once in system and per target for user mode Pierrick Bouvier
2025-08-01  1:26   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).