From 02e33e9ffd6056657e6f82ee7b942c3bc8060cbe Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 19 Oct 2018 18:40:20 -0700 Subject: [PATCH] linux-user: xtensa: enable bFLT support - request bflt support in configure; - implement custom linux-user/xtensa/target_flat.h that doesn't put envp on stack; - fix #include "target_flat.h" in flatload.c so that it first search for arch-customized version of the header. Signed-off-by: Max Filippov --- configure | 1 + linux-user/flatload.c | 2 +- linux-user/xtensa/target_flat.h | 10 ++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 linux-user/xtensa/target_flat.h diff --git a/configure b/configure index 18006f0865..2c6b850ac6 100755 --- a/configure +++ b/configure @@ -7178,6 +7178,7 @@ case "$target_name" in ;; xtensa|xtensaeb) TARGET_ARCH=xtensa + bflt="yes" mttcg="yes" target_compiler=$cross_cc_xtensa ;; diff --git a/linux-user/flatload.c b/linux-user/flatload.c index 10c529910f..2eefe55e50 100644 --- a/linux-user/flatload.c +++ b/linux-user/flatload.c @@ -37,7 +37,7 @@ #include "qemu.h" #include "flat.h" -#include "target_flat.h" +#include //#define DEBUG diff --git a/linux-user/xtensa/target_flat.h b/linux-user/xtensa/target_flat.h new file mode 100644 index 0000000000..732adddb0d --- /dev/null +++ b/linux-user/xtensa/target_flat.h @@ -0,0 +1,10 @@ +/* If your arch needs to do custom stuff, create your own target_flat.h + * header file in linux-user// + */ +#define flat_argvp_envp_on_stack() 0 +#define flat_reloc_valid(reloc, size) ((reloc) <= (size)) +#define flat_old_ram_flag(flag) (flag) +#define flat_get_relocate_addr(relval) (relval) +#define flat_get_addr_from_rp(rp, relval, flags, persistent) (rp) +#define flat_set_persistent(relval, persistent) (*persistent) +#define flat_put_addr_at_rp(rp, addr, relval) put_user_ual(addr, rp) -- 2.11.0