Upstream: https://gitlab.com/qemu-project/qemu.git Upstream-Commit: d2e570cc0f97b936902a5b1b86b73c0f5998b475
40 lines
1.2 KiB
C
40 lines
1.2 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 ALPHA_TARGET_ELF_H
|
|
#define ALPHA_TARGET_ELF_H
|
|
|
|
#define ELF_CLASS ELFCLASS64
|
|
#define ELF_MACHINE EM_ALPHA
|
|
|
|
#define HAVE_ELF_CORE_DUMP 1
|
|
#define HAVE_ELF_HWCAP 1
|
|
|
|
/*
|
|
* Matches the kernel's elf_gregset_t (ELF_NGREG = 33):
|
|
* r0-r30 at indices 0-30, pc at 31, ps at 32.
|
|
* r31 (hardwired zero) is not stored; pc occupies index 31.
|
|
*/
|
|
/*
|
|
* The floating-point note holds $f0 through $f30 and then the control
|
|
* register in the slot $f31 would occupy; $f31 reads as zero.
|
|
*/
|
|
#define HAVE_ELF_CORE_FPREGS 1
|
|
|
|
typedef struct target_elf_fpregset_t {
|
|
uint64_t fpr[31]; /* $f0-$f30 */
|
|
uint64_t fpcr; /* the slot for $f31 */
|
|
} target_elf_fpregset_t;
|
|
|
|
typedef struct target_elf_gregset_t {
|
|
abi_ulong regs[31]; /* integer registers r0-r30 [0..30] */
|
|
abi_ulong pc; /* program counter [31] */
|
|
abi_ulong unique; /* thread's UNIQUE field [32] */
|
|
} target_elf_gregset_t;
|
|
|
|
#endif
|