diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-07-29 06:12:27 -1000 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-08-30 07:04:03 +1000 |
| commit | a4ea8c30e7c8ae49e2e50e2c410581ad53c3e1fb (patch) | |
| tree | 9d0244d63797a432008edfc655547bd4cd4e7545 /linux-user/elfload.c | |
| parent | 28c7d60b54d7e6e3afa064ceae7a4786375d8b4b (diff) | |
| download | focaccia-qemu-a4ea8c30e7c8ae49e2e50e2c410581ad53c3e1fb.tar.gz focaccia-qemu-a4ea8c30e7c8ae49e2e50e2c410581ad53c3e1fb.zip | |
linux-user: Move elf_core_copy_regs to sh4/elfload.c
Move elf_core_copy_regs to elfload.c. Move HAVE_ELF_CORE_DUMP, ELF_NREGS, target_elf_gregset_t to target_elf.h. For now, duplicate the definitions of target_elf_greg_t and tswapreg. 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 | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8c3ef41312..69532faddb 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -433,39 +433,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t elf_flags) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH -/* See linux kernel: arch/sh/include/asm/elf.h. */ -#define ELF_NREG 23 -typedef struct target_elf_gregset_t { - target_elf_greg_t regs[ELF_NREG]; -} target_elf_gregset_t; - -/* See linux kernel: arch/sh/include/asm/ptrace.h. */ -enum { - TARGET_REG_PC = 16, - TARGET_REG_PR = 17, - TARGET_REG_SR = 18, - TARGET_REG_GBR = 19, - TARGET_REG_MACH = 20, - TARGET_REG_MACL = 21, - TARGET_REG_SYSCALL = 22 -}; - -void elf_core_copy_regs(target_elf_gregset_t *r, const CPUSH4State *env) -{ - for (int i = 0; i < 16; i++) { - r->regs[i] = tswapreg(env->gregs[i]); - } - - r->regs[TARGET_REG_PC] = tswapreg(env->pc); - r->regs[TARGET_REG_PR] = tswapreg(env->pr); - r->regs[TARGET_REG_SR] = tswapreg(env->sr); - r->regs[TARGET_REG_GBR] = tswapreg(env->gbr); - r->regs[TARGET_REG_MACH] = tswapreg(env->mach); - r->regs[TARGET_REG_MACL] = tswapreg(env->macl); - r->regs[TARGET_REG_SYSCALL] = 0; /* FIXME */ -} - -#define HAVE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 #endif |