On 5/9/24 21:53, Peter Maydell wrote:
On Thu, 5 Sept 2024 at 20:16, Thomas Huth <th...@redhat.com> wrote:
This reverts commit 10425887ba54241be1ce97f8935fc320332b531c.
Using "imply" instead of "select" is causing a build failure:
(please mention ./configure arguments besides --without-default-devices)
/usr/bin/ld: libqemu-riscv32-softmmu.a.p/target_riscv_cpu_helper.c.o: in
function `riscv_cpu_do_interrupt':
.../qemu/target/riscv/cpu_helper.c:1678:(.text+0x2214): undefined reference
to `do_common_semihosting'
Thus revert to fix the build.
Signed-off-by: Thomas Huth <th...@redhat.com>
---
target/riscv/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/riscv/Kconfig b/target/riscv/Kconfig
index c332616d36..5f30df22f2 100644
--- a/target/riscv/Kconfig
+++ b/target/riscv/Kconfig
@@ -1,9 +1,9 @@
config RISCV32
bool
- imply ARM_COMPATIBLE_SEMIHOSTING if TCG
+ select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
select DEVICE_TREE # needed by boot.c
config RISCV64
bool
- imply ARM_COMPATIBLE_SEMIHOSTING if TCG
+ select ARM_COMPATIBLE_SEMIHOSTING # for do_common_semihosting()
select DEVICE_TREE # needed by boot.c
This will break the intended "we don't need semihosting if
this is a KVM-only compile", though. Can we fix the
build problem use see with
"select ARM_COMPATIBLE_SEMIHOSTING if TCG"
We had this discussion with Paolo in
https://lore.kernel.org/qemu-devel/cabgobfbvjg9bbgcwm-kl+yhjhmw1qlnqdqtocekkw+v3trs...@mail.gmail.com/
Not sure this is as easy as it looks...
I feel the riscv part could be fixed by a respin of:
https://lore.kernel.org/qemu-devel/20230711121453.59138-1-phi...@linaro.org/
where semihosting is restricted to TCG and isn't an issue
anymore for other accelerators such KVM.
Let me have a try.