[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/19] arm: Remove ELF_MACHINE from cpu.h
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [PATCH 03/19] arm: Remove ELF_MACHINE from cpu.h |
Date: |
Sat, 15 Aug 2015 16:28:13 -0700 |
From: Peter Crosthwaite <address@hidden>
The only generic code relying on this is linux-user. Linux user
already has a lot of #ifdef TARGET_ customisation so instead, define
ELF_ARCH as either EM_ARM or EM_AARCH64 appropriately.
The armv7m bootloader can just pass EM_ARM directly, as that
is architecture specific code. Note that arm_boot already has its own
logic selecting an arm specific elf machine so this makes V7M more
consistent with arm_boot.
This removes another architecture specific definition from the global
namespace.
Cc: Peter Maydell <address@hidden>
Signed-off-by: Peter Crosthwaite <address@hidden>
---
hw/arm/armv7m.c | 2 +-
linux-user/elfload.c | 4 ++--
target-arm/cpu.h | 2 --
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index c6eab6d..ad89073 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -215,7 +215,7 @@ qemu_irq *armv7m_init(MemoryRegion *system_memory, int
mem_size, int num_irq,
if (kernel_filename) {
image_size = load_elf(kernel_filename, NULL, NULL, &entry, &lowaddr,
- NULL, big_endian, ELF_MACHINE, 1);
+ NULL, big_endian, EM_ARM, 1);
if (image_size < 0) {
image_size = load_image_targphys(kernel_filename, 0, mem_size);
lowaddr = 0;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f84e760..09e1e6a 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -272,7 +272,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs,
const CPUX86State *en
#define ELF_START_MMAP 0x80000000
-#define ELF_ARCH ELF_MACHINE
+#define ELF_ARCH EM_ARM
#define ELF_CLASS ELFCLASS32
static inline void init_thread(struct target_pt_regs *regs,
@@ -478,7 +478,7 @@ static uint32_t get_elf_hwcap2(void)
/* 64 bit ARM definitions */
#define ELF_START_MMAP 0x80000000
-#define ELF_ARCH ELF_MACHINE
+#define ELF_ARCH EM_AARCH64
#define ELF_CLASS ELFCLASS64
#define ELF_PLATFORM "aarch64"
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 2e680da..a8ac799 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -26,10 +26,8 @@
#if defined(TARGET_AARCH64)
/* AArch64 definitions */
# define TARGET_LONG_BITS 64
-# define ELF_MACHINE EM_AARCH64
#else
# define TARGET_LONG_BITS 32
-# define ELF_MACHINE EM_ARM
#endif
#define TARGET_IS_BIENDIAN 1
--
1.9.1
- [Qemu-devel] [PATCH 00/19] multi-arch+linux-user: Cleanup ELF_MACHINE, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 01/19] linux_user: elfload: Default ELF_MACHINE to ELF_ARCH, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 03/19] arm: Remove ELF_MACHINE from cpu.h,
Peter Crosthwaite <=
- [Qemu-devel] [PATCH 02/19] linux-user: elfload: Provide default for elf_check_arch, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 04/19] mb: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 05/19] m68k: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 06/19] cris: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/08/15
- [Qemu-devel] [PATCH 07/19] moxie: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/08/15