aboutsummaryrefslogtreecommitdiff
path: root/linux-user/elfload.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2024-03-27 12:10:58 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-04-24 16:03:38 +0200
commit6c3014858c4c0024dd0560f08a6eda0f92f658d6 (patch)
treedd474c2e68b37c51c9cb7526e48452aaddccb19e /linux-user/elfload.c
parent92360d6e624404492afe5d32ca669a33df181742 (diff)
downloadqemu-6c3014858c4c0024dd0560f08a6eda0f92f658d6.zip
qemu-6c3014858c4c0024dd0560f08a6eda0f92f658d6.tar.gz
qemu-6c3014858c4c0024dd0560f08a6eda0f92f658d6.tar.bz2
target/nios2: Remove the deprecated Nios II target
The Nios II target is deprecated since v8.2 in commit 9997771bc1 ("target/nios2: Deprecate the Nios II architecture"). Remove: - Buildsys / CI infra - User emulation - System emulation (10m50-ghrd & nios2-generic-nommu machines) - Tests Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Marek Vasut <marex@denx.de> Message-Id: <20240327144806.11319-3-philmd@linaro.org>
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r--linux-user/elfload.c99
1 files changed, 0 insertions, 99 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 60cf55b..f4a0b78 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1505,105 +1505,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBState *env
#endif /* TARGET_MICROBLAZE */
-#ifdef TARGET_NIOS2
-
-#define elf_check_arch(x) ((x) == EM_ALTERA_NIOS2)
-
-#define ELF_CLASS ELFCLASS32
-#define ELF_ARCH EM_ALTERA_NIOS2
-
-static void init_thread(struct target_pt_regs *regs, struct image_info *infop)
-{
- regs->ea = infop->entry;
- regs->sp = infop->start_stack;
-}
-
-#define LO_COMMPAGE TARGET_PAGE_SIZE
-
-static bool init_guest_commpage(void)
-{
- static const uint8_t kuser_page[4 + 2 * 64] = {
- /* __kuser_helper_version */
- [0x00] = 0x02, 0x00, 0x00, 0x00,
-
- /* __kuser_cmpxchg */
- [0x04] = 0x3a, 0x6c, 0x3b, 0x00, /* trap 16 */
- 0x3a, 0x28, 0x00, 0xf8, /* ret */
-
- /* __kuser_sigtramp */
- [0x44] = 0xc4, 0x22, 0x80, 0x00, /* movi r2, __NR_rt_sigreturn */
- 0x3a, 0x68, 0x3b, 0x00, /* trap 0 */
- };
-
- int host_page_size = qemu_real_host_page_size();
- void *want, *addr;
-
- want = g2h_untagged(LO_COMMPAGE & -host_page_size);
- addr = mmap(want, host_page_size, PROT_READ | PROT_WRITE,
- MAP_ANONYMOUS | MAP_PRIVATE |
- (reserved_va ? MAP_FIXED : MAP_FIXED_NOREPLACE),
- -1, 0);
- if (addr == MAP_FAILED) {
- perror("Allocating guest commpage");
- exit(EXIT_FAILURE);
- }
- if (addr != want) {
- return false;
- }
-
- memcpy(g2h_untagged(LO_COMMPAGE), kuser_page, sizeof(kuser_page));
-
- if (mprotect(addr, host_page_size, PROT_READ)) {
- perror("Protecting guest commpage");
- exit(EXIT_FAILURE);
- }
-
- page_set_flags(LO_COMMPAGE, LO_COMMPAGE | ~TARGET_PAGE_MASK,
- PAGE_READ | PAGE_EXEC | PAGE_VALID);
- return true;
-}
-
-#define ELF_EXEC_PAGESIZE 4096
-
-#define USE_ELF_CORE_DUMP
-#define ELF_NREG 49
-typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
-
-/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */
-static void elf_core_copy_regs(target_elf_gregset_t *regs,
- const CPUNios2State *env)
-{
- int i;
-
- (*regs)[0] = -1;
- for (i = 1; i < 8; i++) /* r0-r7 */
- (*regs)[i] = tswapreg(env->regs[i + 7]);
-
- for (i = 8; i < 16; i++) /* r8-r15 */
- (*regs)[i] = tswapreg(env->regs[i - 8]);
-
- for (i = 16; i < 24; i++) /* r16-r23 */
- (*regs)[i] = tswapreg(env->regs[i + 7]);
- (*regs)[24] = -1; /* R_ET */
- (*regs)[25] = -1; /* R_BT */
- (*regs)[26] = tswapreg(env->regs[R_GP]);
- (*regs)[27] = tswapreg(env->regs[R_SP]);
- (*regs)[28] = tswapreg(env->regs[R_FP]);
- (*regs)[29] = tswapreg(env->regs[R_EA]);
- (*regs)[30] = -1; /* R_SSTATUS */
- (*regs)[31] = tswapreg(env->regs[R_RA]);
-
- (*regs)[32] = tswapreg(env->pc);
-
- (*regs)[33] = -1; /* R_STATUS */
- (*regs)[34] = tswapreg(env->regs[CR_ESTATUS]);
-
- for (i = 35; i < 49; i++) /* ... */
- (*regs)[i] = -1;
-}
-
-#endif /* TARGET_NIOS2 */
-
#ifdef TARGET_OPENRISC
#define ELF_ARCH EM_OPENRISC