arm: Remove ELF_MACHINE from cpu.h
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 <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Acked-By: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
98dbe5aca8
commit
b597c3f7da
@ -215,7 +215,7 @@ qemu_irq *armv7m_init(MemoryRegion *system_memory, int mem_size, int num_irq,
|
|||||||
|
|
||||||
if (kernel_filename) {
|
if (kernel_filename) {
|
||||||
image_size = load_elf(kernel_filename, NULL, NULL, &entry, &lowaddr,
|
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) {
|
if (image_size < 0) {
|
||||||
image_size = load_image_targphys(kernel_filename, 0, mem_size);
|
image_size = load_image_targphys(kernel_filename, 0, mem_size);
|
||||||
lowaddr = 0;
|
lowaddr = 0;
|
||||||
|
@ -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_START_MMAP 0x80000000
|
||||||
|
|
||||||
#define ELF_ARCH ELF_MACHINE
|
#define ELF_ARCH EM_ARM
|
||||||
#define ELF_CLASS ELFCLASS32
|
#define ELF_CLASS ELFCLASS32
|
||||||
|
|
||||||
static inline void init_thread(struct target_pt_regs *regs,
|
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 */
|
/* 64 bit ARM definitions */
|
||||||
#define ELF_START_MMAP 0x80000000
|
#define ELF_START_MMAP 0x80000000
|
||||||
|
|
||||||
#define ELF_ARCH ELF_MACHINE
|
#define ELF_ARCH EM_AARCH64
|
||||||
#define ELF_CLASS ELFCLASS64
|
#define ELF_CLASS ELFCLASS64
|
||||||
#define ELF_PLATFORM "aarch64"
|
#define ELF_PLATFORM "aarch64"
|
||||||
|
|
||||||
|
@ -26,10 +26,8 @@
|
|||||||
#if defined(TARGET_AARCH64)
|
#if defined(TARGET_AARCH64)
|
||||||
/* AArch64 definitions */
|
/* AArch64 definitions */
|
||||||
# define TARGET_LONG_BITS 64
|
# define TARGET_LONG_BITS 64
|
||||||
# define ELF_MACHINE EM_AARCH64
|
|
||||||
#else
|
#else
|
||||||
# define TARGET_LONG_BITS 32
|
# define TARGET_LONG_BITS 32
|
||||||
# define ELF_MACHINE EM_ARM
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TARGET_IS_BIENDIAN 1
|
#define TARGET_IS_BIENDIAN 1
|
||||||
|
Loading…
Reference in New Issue
Block a user