[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/5] semihosting: Reduce target specific code
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 0/5] semihosting: Reduce target specific code |
Date: |
Fri, 3 Jan 2025 18:10:32 +0100 |
This series makes semihosting config.c and console.c
target agnostic, building them once, removing symbol
collision of the following functions in the single
binary:
- qemu_semihosting_chardev_init
- qemu_semihosting_config_options
- qemu_semihosting_config_opts
- qemu_semihosting_enable
- semihosting_arg_fallback
- semihosting_enabled
- semihosting_get_argc
- semihosting_get_target
This function is still problematic, being built for
each target:
- qemu_semihosting_guestfd_init
Note, it depends on CONFIG_ARM_COMPATIBLE_SEMIHOSTING
which is target specific, so doesn't scale in a
heterogeneous setup like the ZynqMP machine, having
ARM cores with CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y and
MicroBlaze ones with CONFIG_ARM_COMPATIBLE_SEMIHOSTING=n.
I suppose the semihosting API needs rework to consider
the CPUClass? I'll let that investigation for the
maintainer ;)
Regards,
Phil.
Philippe Mathieu-Daudé (5):
semihosting/syscalls: Include missing 'exec/cpu-defs.h' header
semihosting/uaccess: Include missing 'exec/cpu-all.h' header
semihosting/arm-compat: Include missing 'cpu.h' header
semihosting/console: Avoid including 'cpu.h'
semihosting/meson: Build config.o and console.o once
include/semihosting/console.h | 2 --
include/semihosting/syscalls.h | 1 +
semihosting/arm-compat-semi.c | 1 +
semihosting/console.c | 3 ++-
semihosting/uaccess.c | 1 +
semihosting/meson.build | 9 ++++++---
6 files changed, 11 insertions(+), 6 deletions(-)
--
2.47.1
- [PATCH 0/5] semihosting: Reduce target specific code,
Philippe Mathieu-Daudé <=
- [PATCH 2/5] semihosting/uaccess: Include missing 'exec/cpu-all.h' header, Philippe Mathieu-Daudé, 2025/01/03
- [PATCH 1/5] semihosting/syscalls: Include missing 'exec/cpu-defs.h' header, Philippe Mathieu-Daudé, 2025/01/03
- [PATCH 3/5] semihosting/arm-compat: Include missing 'cpu.h' header, Philippe Mathieu-Daudé, 2025/01/03
- [PATCH 4/5] semihosting/console: Avoid including 'cpu.h', Philippe Mathieu-Daudé, 2025/01/03
- [PATCH 5/5] semihosting/meson: Build config.o and console.o once, Philippe Mathieu-Daudé, 2025/01/03
- Re: [PATCH 0/5] semihosting: Reduce target specific code, Richard Henderson, 2025/01/06
- Re: [PATCH 0/5] semihosting: Reduce target specific code, Alex Bennée, 2025/01/08