Commit 02e33e9f authored by Max Filippov's avatar Max Filippov
Browse files

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: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 3892f1f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7178,6 +7178,7 @@ case "$target_name" in
  ;;
  xtensa|xtensaeb)
    TARGET_ARCH=xtensa
    bflt="yes"
    mttcg="yes"
    target_compiler=$cross_cc_xtensa
  ;;
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@

#include "qemu.h"
#include "flat.h"
#include "target_flat.h"
#include <target_flat.h>

//#define DEBUG

+10 −0
Original line number Diff line number Diff line
/* 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)