diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-07-28 08:41:43 -1000 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-08-28 06:39:25 +1000 |
| commit | 3c907dec45b66fff084fbddf18ee5bb84ddc5314 (patch) | |
| tree | 40e8cb1bec41a3081e8febceeb6e3adcb8bab8e2 /linux-user/elfload.c | |
| parent | fcac98d0ba8b5f4c311c1059d897d74d1276af9d (diff) | |
| download | focaccia-qemu-3c907dec45b66fff084fbddf18ee5bb84ddc5314.tar.gz focaccia-qemu-3c907dec45b66fff084fbddf18ee5bb84ddc5314.zip | |
linux-user: Move get_elf_platform to {i386,x86_64}/elfload.c
Move get_elf_platform to i386/elfload.c; pass in CPUState. Create a simple get_elf_platform for x86_64. Introduce HAVE_ELF_PLATFORM. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/elfload.c')
| -rw-r--r-- | linux-user/elfload.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7a41917b49..e6e509c0a6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -149,12 +149,12 @@ typedef abi_int target_pid_t; #ifdef TARGET_I386 +#define ELF_PLATFORM get_elf_platform(thread_cpu) + #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 -#define ELF_PLATFORM "x86_64" - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { regs->rax = 0; @@ -237,22 +237,8 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_386 -#define ELF_PLATFORM get_elf_platform() #define EXSTACK_DEFAULT true -static const char *get_elf_platform(void) -{ - static char elf_platform[] = "i386"; - int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL); - if (family > 6) { - family = 6; - } - if (family >= 3) { - elf_platform[1] = '0' + family; - } - return elf_platform; -} - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { |