* [PATCH v3 1/5] target/m68k: Restrict semihosting to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
@ 2024-06-10 14:58 ` Philippe Mathieu-Daudé
2024-06-10 14:58 ` [PATCH v3 2/5] target/xtensa: " Philippe Mathieu-Daudé
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-06-10 14:58 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, Paolo Bonzini, Alex Bennée, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier,
Philippe Mathieu-Daudé
The semihosting feature depends on TCG (due to the probe_access
API access). Although TCG is the single accelerator currently
available for the m68k target, use the Kconfig "imply" directive
which is more correct (if we were to support a different accel).
Reported-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/m68k/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/m68k/Kconfig b/target/m68k/Kconfig
index 9eae71486f..23aae24ebe 100644
--- a/target/m68k/Kconfig
+++ b/target/m68k/Kconfig
@@ -1,3 +1,3 @@
config M68K
bool
- select SEMIHOSTING
+ imply SEMIHOSTING if TCG
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v3 2/5] target/xtensa: Restrict semihosting to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
2024-06-10 14:58 ` [PATCH v3 1/5] target/m68k: Restrict semihosting " Philippe Mathieu-Daudé
@ 2024-06-10 14:58 ` Philippe Mathieu-Daudé
2024-06-10 18:27 ` Max Filippov
2024-06-10 14:58 ` [PATCH v3 3/5] target/mips: " Philippe Mathieu-Daudé
` (3 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-06-10 14:58 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, Paolo Bonzini, Alex Bennée, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier,
Philippe Mathieu-Daudé
The semihosting feature depends on TCG (due to the probe_access
API access). Although TCG is the single accelerator currently
available for the xtensa target, use the Kconfig "imply" directive
which is more correct (if we were to support a different accel).
Reported-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/xtensa/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/xtensa/Kconfig b/target/xtensa/Kconfig
index 5e46049262..e8c2598c4d 100644
--- a/target/xtensa/Kconfig
+++ b/target/xtensa/Kconfig
@@ -1,3 +1,3 @@
config XTENSA
bool
- select SEMIHOSTING
+ imply SEMIHOSTING if TCG
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v3 2/5] target/xtensa: Restrict semihosting to TCG
2024-06-10 14:58 ` [PATCH v3 2/5] target/xtensa: " Philippe Mathieu-Daudé
@ 2024-06-10 18:27 ` Max Filippov
0 siblings, 0 replies; 9+ messages in thread
From: Max Filippov @ 2024-06-10 18:27 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, qemu-riscv, Paolo Bonzini, Alex Bennée,
Anton Johansson, Richard Henderson, Laurent Vivier
On Mon, Jun 10, 2024 at 04:58:04PM +0200, Philippe Mathieu-Daudé wrote:
> The semihosting feature depends on TCG (due to the probe_access
> API access). Although TCG is the single accelerator currently
> available for the xtensa target, use the Kconfig "imply" directive
> which is more correct (if we were to support a different accel).
>
> Reported-by: Anton Johansson <anjo@rev.ng>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/xtensa/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
--
Thanks.
-- Max
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 3/5] target/mips: Restrict semihosting to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
2024-06-10 14:58 ` [PATCH v3 1/5] target/m68k: Restrict semihosting " Philippe Mathieu-Daudé
2024-06-10 14:58 ` [PATCH v3 2/5] target/xtensa: " Philippe Mathieu-Daudé
@ 2024-06-10 14:58 ` Philippe Mathieu-Daudé
2024-06-10 14:58 ` [PATCH v3 4/5] target/riscv: " Philippe Mathieu-Daudé
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-06-10 14:58 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, Paolo Bonzini, Alex Bennée, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier,
Philippe Mathieu-Daudé
Semihosting currently uses the TCG probe_access API. To prepare for
encoding the TCG dependency in Kconfig, do not enable it unless TCG
is available.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
---
target/mips/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/mips/Kconfig b/target/mips/Kconfig
index eb19c94c7d..876048b150 100644
--- a/target/mips/Kconfig
+++ b/target/mips/Kconfig
@@ -1,6 +1,6 @@
config MIPS
bool
- select SEMIHOSTING
+ imply SEMIHOSTING if TCG
config MIPS64
bool
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v3 4/5] target/riscv: Restrict semihosting to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2024-06-10 14:58 ` [PATCH v3 3/5] target/mips: " Philippe Mathieu-Daudé
@ 2024-06-10 14:58 ` Philippe Mathieu-Daudé
2024-06-11 0:17 ` Alistair Francis
2024-06-10 14:58 ` [PATCH v3 5/5] semihosting: Restrict " Philippe Mathieu-Daudé
2024-06-11 10:07 ` [PATCH v3 0/5] " Alex Bennée
5 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-06-10 14:58 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, Paolo Bonzini, Alex Bennée, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier,
Philippe Mathieu-Daudé
Semihosting currently uses the TCG probe_access API. To prepare for
encoding the TCG dependency in Kconfig, do not enable it unless TCG
is available.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
---
target/riscv/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/riscv/Kconfig b/target/riscv/Kconfig
index 5f30df22f2..c332616d36 100644
--- a/target/riscv/Kconfig
+++ b/target/riscv/Kconfig
@@ -1,9 +1,9 @@
config RISCV32
bool
- select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
+ imply ARM_COMPATIBLE_SEMIHOSTING if TCG
select DEVICE_TREE # needed by boot.c
config RISCV64
bool
- select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
+ imply ARM_COMPATIBLE_SEMIHOSTING if TCG
select DEVICE_TREE # needed by boot.c
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v3 4/5] target/riscv: Restrict semihosting to TCG
2024-06-10 14:58 ` [PATCH v3 4/5] target/riscv: " Philippe Mathieu-Daudé
@ 2024-06-11 0:17 ` Alistair Francis
0 siblings, 0 replies; 9+ messages in thread
From: Alistair Francis @ 2024-06-11 0:17 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, qemu-riscv, Paolo Bonzini, Alex Bennée,
Anton Johansson, Richard Henderson, Max Filippov, Laurent Vivier
On Tue, Jun 11, 2024 at 12:59 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Semihosting currently uses the TCG probe_access API. To prepare for
> encoding the TCG dependency in Kconfig, do not enable it unless TCG
> is available.
>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Anton Johansson <anjo@rev.ng>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/riscv/Kconfig b/target/riscv/Kconfig
> index 5f30df22f2..c332616d36 100644
> --- a/target/riscv/Kconfig
> +++ b/target/riscv/Kconfig
> @@ -1,9 +1,9 @@
> config RISCV32
> bool
> - select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
> + imply ARM_COMPATIBLE_SEMIHOSTING if TCG
> select DEVICE_TREE # needed by boot.c
>
> config RISCV64
> bool
> - select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
> + imply ARM_COMPATIBLE_SEMIHOSTING if TCG
> select DEVICE_TREE # needed by boot.c
> --
> 2.41.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 5/5] semihosting: Restrict to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2024-06-10 14:58 ` [PATCH v3 4/5] target/riscv: " Philippe Mathieu-Daudé
@ 2024-06-10 14:58 ` Philippe Mathieu-Daudé
2024-06-11 10:07 ` [PATCH v3 0/5] " Alex Bennée
5 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-06-10 14:58 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, Paolo Bonzini, Alex Bennée, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier,
Philippe Mathieu-Daudé
Semihosting currently uses the TCG probe_access API.
It is pointless to have it in the binary when TCG isn't.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
semihosting/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/semihosting/Kconfig b/semihosting/Kconfig
index eaf3a20ef5..fbe6ac87f9 100644
--- a/semihosting/Kconfig
+++ b/semihosting/Kconfig
@@ -1,6 +1,7 @@
config SEMIHOSTING
bool
+ depends on TCG
config ARM_COMPATIBLE_SEMIHOSTING
bool
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v3 0/5] semihosting: Restrict to TCG
2024-06-10 14:58 [PATCH v3 0/5] semihosting: Restrict to TCG Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2024-06-10 14:58 ` [PATCH v3 5/5] semihosting: Restrict " Philippe Mathieu-Daudé
@ 2024-06-11 10:07 ` Alex Bennée
5 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2024-06-11 10:07 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, qemu-riscv, Paolo Bonzini, Anton Johansson,
Richard Henderson, Max Filippov, Laurent Vivier
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> v3: Address Anton's comment
> v2: Address Paolo's comment
>
> Semihosting currently uses the TCG probe_access API,
> so it is pointless to have it in the binary when TCG
> isn't.
>
> It could be implemented for other accelerators, but
> work need to be done. Meanwhile, do not enable it
> unless TCG is available.
Queued to semihosting/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 9+ messages in thread