[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 08/53] semihosting: Split out guestfd.c
From: |
Alex Bennée |
Subject: |
Re: [PATCH v4 08/53] semihosting: Split out guestfd.c |
Date: |
Thu, 09 Jun 2022 08:24:04 +0100 |
User-agent: |
mu4e 1.7.26; emacs 28.1.50 |
Richard Henderson <richard.henderson@linaro.org> writes:
> In arm-compat-semi.c, we have more advanced treatment of
> guest file descriptors than we do in other implementations.
> Split out GuestFD and related functions to a new file so
> that they can be shared.
>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> configs/targets/aarch64-linux-user.mak | 1 +
> configs/targets/aarch64_be-linux-user.mak | 1 +
> configs/targets/arm-linux-user.mak | 1 +
> configs/targets/armeb-linux-user.mak | 1 +
> configs/targets/riscv32-linux-user.mak | 1 +
> configs/targets/riscv64-linux-user.mak | 1 +
> include/semihosting/guestfd.h | 83 +++++++++++
> semihosting/arm-compat-semi.c | 164 +++-------------------
> semihosting/guestfd.c | 118 ++++++++++++++++
> semihosting/meson.build | 4 +
> 10 files changed, 233 insertions(+), 142 deletions(-)
> create mode 100644 include/semihosting/guestfd.h
> create mode 100644 semihosting/guestfd.c
>
> diff --git a/configs/targets/aarch64-linux-user.mak
> b/configs/targets/aarch64-linux-user.mak
> index d0c603c54e..db552f1839 100644
> --- a/configs/targets/aarch64-linux-user.mak
> +++ b/configs/targets/aarch64-linux-user.mak
> @@ -2,4 +2,5 @@ TARGET_ARCH=aarch64
> TARGET_BASE_ARCH=arm
> TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml
> TARGET_HAS_BFLT=y
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> diff --git a/configs/targets/aarch64_be-linux-user.mak
> b/configs/targets/aarch64_be-linux-user.mak
> index 7794424745..dc78044fb1 100644
> --- a/configs/targets/aarch64_be-linux-user.mak
> +++ b/configs/targets/aarch64_be-linux-user.mak
> @@ -3,4 +3,5 @@ TARGET_BASE_ARCH=arm
> TARGET_BIG_ENDIAN=y
> TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml
> TARGET_HAS_BFLT=y
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> diff --git a/configs/targets/arm-linux-user.mak
> b/configs/targets/arm-linux-user.mak
> index 3e10d6b15d..7f5d65794c 100644
> --- a/configs/targets/arm-linux-user.mak
> +++ b/configs/targets/arm-linux-user.mak
> @@ -3,4 +3,5 @@ TARGET_SYSTBL_ABI=common,oabi
> TARGET_SYSTBL=syscall.tbl
> TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml
> gdb-xml/arm-vfp3.xml gdb-xml/arm-vfp-sysregs.xml gdb-xml/arm-neon.xml
> gdb-xml/arm-m-profile.xml gdb-xml/arm-m-profile-mve.xml
> TARGET_HAS_BFLT=y
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> diff --git a/configs/targets/armeb-linux-user.mak
> b/configs/targets/armeb-linux-user.mak
> index a249cc2e29..943d0d87bf 100644
> --- a/configs/targets/armeb-linux-user.mak
> +++ b/configs/targets/armeb-linux-user.mak
> @@ -4,4 +4,5 @@ TARGET_SYSTBL=syscall.tbl
> TARGET_BIG_ENDIAN=y
> TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml
> gdb-xml/arm-vfp3.xml gdb-xml/arm-vfp-sysregs.xml gdb-xml/arm-neon.xml
> gdb-xml/arm-m-profile.xml gdb-xml/arm-m-profile-mve.xml
> TARGET_HAS_BFLT=y
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> diff --git a/configs/targets/riscv32-linux-user.mak
> b/configs/targets/riscv32-linux-user.mak
> index bd2f1fd497..9761618e67 100644
> --- a/configs/targets/riscv32-linux-user.mak
> +++ b/configs/targets/riscv32-linux-user.mak
> @@ -2,4 +2,5 @@ TARGET_ARCH=riscv32
> TARGET_BASE_ARCH=riscv
> TARGET_ABI_DIR=riscv
> TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml
> gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-virtual.xml
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> diff --git a/configs/targets/riscv64-linux-user.mak
> b/configs/targets/riscv64-linux-user.mak
> index 4aca7662ce..cfd1fd382f 100644
> --- a/configs/targets/riscv64-linux-user.mak
> +++ b/configs/targets/riscv64-linux-user.mak
> @@ -2,4 +2,5 @@ TARGET_ARCH=riscv64
> TARGET_BASE_ARCH=riscv
> TARGET_ABI_DIR=riscv
> TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml
> gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-virtual.xml
> +CONFIG_SEMIHOSTING=y
> CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
Why are these needed? The:
config ARM_COMPATIBLE_SEMIHOSTING
bool
select SEMIHOSTING
stanza should ensure we select SEMIHOSTING automatically.
Otherwise:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
- Re: [PATCH v4 13/53] semihosting: Return void from do_common_semihosting, (continued)
- [PATCH v4 18/53] include/exec: Define errno values in gdbstub.h, Richard Henderson, 2022/06/07
- [PATCH v4 17/53] include/exec: Move gdb_stat and gdb_timeval to gdbstub.h, Richard Henderson, 2022/06/07
- [PATCH v4 03/53] semihosting: Improve condition for config.c and console.c, Richard Henderson, 2022/06/07
- [PATCH v4 07/53] semihosting: Simplify softmmu_lock_user_string, Richard Henderson, 2022/06/07
- [PATCH v4 05/53] accel/stubs: Add tcg stub for probe_access_flags, Richard Henderson, 2022/06/07
- [PATCH v4 08/53] semihosting: Split out guestfd.c, Richard Henderson, 2022/06/07
- Re: [PATCH v4 08/53] semihosting: Split out guestfd.c,
Alex Bennée <=
- [PATCH v4 11/53] semihosting: Clean up common_semi_flen_cb, Richard Henderson, 2022/06/07
- [PATCH v4 10/53] semihosting: Adjust error checking in common_semi_cb, Richard Henderson, 2022/06/07
- [PATCH v4 02/53] semihosting: Return failure from softmmu-uaccess.h functions, Richard Henderson, 2022/06/07
- [PATCH v4 15/53] semihosting: Remove GDB_O_BINARY, Richard Henderson, 2022/06/07
- [PATCH v4 14/53] semihosting: Move common-semi.h to include/semihosting/, Richard Henderson, 2022/06/07