Message ID | 20200316160634.3386-9-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support disabling TCG on ARM (part 2) | expand |
On 3/16/20 9:06 AM, Philippe Mathieu-Daudé wrote: > Semihosting requires TCG. When configured with --disable-tcg, the > build fails because the 'do_arm_semihosting' is missing. Instead > of adding more few more #ifdeffery to the helper code, add a stub. ... > ifeq ($(CONFIG_TCG),y) > > -obj-y += arm-semi.o > +obj-$(CONFIG_SEMIHOSTING) += arm-semi.o > +obj-$(call lnot,$(CONFIG_SEMIHOSTING)) += arm-semi-stub.o > > endif # CONFIG_TCG This code doesn't match the comment. Why isn't this obj-$(call land,$(CONFIG_TCG),$(CONFIG_SEMIHOSTING)) += arm-semi.o obj-$(call lnot,$(call land ...)) += arm-semi-stub.o r~
diff --git a/target/arm/arm-semi-stub.c b/target/arm/arm-semi-stub.c new file mode 100644 index 0000000000..47d042f942 --- /dev/null +++ b/target/arm/arm-semi-stub.c @@ -0,0 +1,13 @@ +/* + * Arm "Angel" semihosting syscalls stubs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#include "qemu/osdep.h" +#include "cpu.h" +#include "hw/semihosting/semihost.h" + +target_ulong do_arm_semihosting(CPUARMState *env) +{ + abort(); +} diff --git a/target/arm/Makefile.objs b/target/arm/Makefile.objs index 0c6f8c248d..fa278bb4c1 100644 --- a/target/arm/Makefile.objs +++ b/target/arm/Makefile.objs @@ -57,7 +57,8 @@ target/arm/translate.o: target/arm/decode-t16.inc.c ifeq ($(CONFIG_TCG),y) -obj-y += arm-semi.o +obj-$(CONFIG_SEMIHOSTING) += arm-semi.o +obj-$(call lnot,$(CONFIG_SEMIHOSTING)) += arm-semi-stub.o endif # CONFIG_TCG
Semihosting requires TCG. When configured with --disable-tcg, the build fails because the 'do_arm_semihosting' is missing. Instead of adding more few more #ifdeffery to the helper code, add a stub. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- target/arm/arm-semi-stub.c | 13 +++++++++++++ target/arm/Makefile.objs | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 target/arm/arm-semi-stub.c