diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2018-10-19 18:40:20 -0700 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2018-10-19 18:40:20 -0700 |
commit | 02e33e9ffd6056657e6f82ee7b942c3bc8060cbe (patch) | |
tree | b1f576252108891b0aae4c9387fd49e962522ebe | |
parent | 3892f1f1a963e59dfe012cd9d461d33b2986fa3b (diff) |
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 <jcmvbkbc@gmail.com>
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | linux-user/flatload.c | 2 | ||||
-rw-r--r-- | linux-user/xtensa/target_flat.h | 10 |
3 files changed, 12 insertions, 1 deletions
@@ -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 <target_flat.h> //#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/<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) |