linux-user: xtensa: enable bFLT support
PATCH 1/1 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 <[email protected]>
--- 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
configure +1 -0
@@ -7178,6 +7178,7 @@ case "$target_name" in ;; xtensa|xtensaeb) TARGET_ARCH=xtensa + bflt="yes" mttcg="yes" target_compiler=$cross_cc_xtensa ;;
linux-user/flatload.c +1 -1
@@ -37,7 +37,7 @@#include "qemu.h" #include "flat.h" -#include "target_flat.h" +#include <target_flat.h> //#define DEBUG
linux-user/xtensa/target_flat.h new file +10 -0
@@ -0,0 +1,10 @@ +/* If your arch needs to do custom stuff, create your own target_flat.h +* header file in linux-user/<your arch>/ +*/ +#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)
Signature · 1 line
2.11.0