Files
QEMU-S5L8950X/linux-user/sparc/target_elf.h
T
Yaya48 cf256aa081 Import QEMU upstream snapshot d2e570c
Upstream: https://gitlab.com/qemu-project/qemu.git

Upstream-Commit: d2e570cc0f97b936902a5b1b86b73c0f5998b475
2026-08-31 02:15:30 +02:00

45 lines
1.4 KiB
C

/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation, or (at your option) any
* later version. See the COPYING file in the top-level directory.
*/
#ifndef SPARC_TARGET_ELF_H
#define SPARC_TARGET_ELF_H
#ifndef TARGET_SPARC64
# define ELF_CLASS ELFCLASS32
# define ELF_MACHINE EM_SPARC
#elif defined(TARGET_ABI32)
# define ELF_CLASS ELFCLASS32
# define ELF_MACHINE EM_SPARC32PLUS
# define elf_check_machine(x) ((x) == EM_SPARC32PLUS || (x) == EM_SPARC)
#else
# define ELF_CLASS ELFCLASS64
# define ELF_MACHINE EM_SPARCV9
#endif
#define HAVE_ELF_HWCAP 1
#define HAVE_ELF_CORE_DUMP 1
/*
* Matches the kernel's elf_gregset_t.
* sparc32/sparc32plus (ELF_NGREG = 38):
* psr, pc, npc, y, u_regs[16] (g0-g7, o0-o7),
* reg_window[16] (l0-l7, i0-i7), stack_check[2]
* sparc64 (ELF_NGREG = 36):
* u_regs[16] (g0-g7, o0-o7), reg_window[16] (l0-l7, i0-i7),
* tstate, tpc, tnpc, y
*/
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
# define TARGET_ELF_NGREG 36
#else
# define TARGET_ELF_NGREG 38
#endif
typedef struct target_elf_gregset_t {
abi_ulong regs[TARGET_ELF_NGREG];
} target_elf_gregset_t;
#endif