/* SPDX-License-Identifier: GPL-2.0-or-later */ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" #include "target_elf.h" abi_ulong get_elf_hwcap(CPUState *cs) { /* * The Linux kernel computes ELF_HWCAP as ~amask(-1), which clears a bit * for each supported ISA extension. env->amask stores exactly those bits * set for the extensions supported by the emulated CPU model, matching * the kernel's convention: bit set in AT_HWCAP ↔ extension present. */ return cpu_env(cs)->amask; } void elf_core_copy_regs(target_elf_gregset_t *r, const CPUAlphaState *env) { int i; for (i = 0; i < 31; i++) { r->regs[i] = tswap64(env->ir[i]); } r->pc = tswap64(env->pc); r->unique = tswap64(env->unique); } const char *get_elf_cpu_model(uint32_t eflags) { return "ev67"; }