diff options
Diffstat (limited to 'gitlab/issues/target_arm/host_missing/accel_missing/1850.toml')
| -rw-r--r-- | gitlab/issues/target_arm/host_missing/accel_missing/1850.toml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gitlab/issues/target_arm/host_missing/accel_missing/1850.toml b/gitlab/issues/target_arm/host_missing/accel_missing/1850.toml new file mode 100644 index 00000000..f490b16b --- /dev/null +++ b/gitlab/issues/target_arm/host_missing/accel_missing/1850.toml @@ -0,0 +1,37 @@ +id = 1850 +title = "AARCH64 Illegal Instruction (CurrentEL)" +state = "closed" +created_at = "2023-08-28T16:52:43.798Z" +closed_at = "2023-08-28T18:30:08.582Z" +labels = ["Closed::Invalid", "target: arm"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/1850" +host-os = "Ubuntu 22.04.2 LTS" +host-arch = "x86" +qemu-version = "6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.12)" +guest-os = "Alpine (3.18.0)" +guest-arch = "aarch64" +description = """While emulating Aarch64 in QEMU, whenever the instruction `CurrentEL` is executed, +QEMU crashes with the following message. + +`qemu: uncaught target signal 4 (Illegal instruction) - core dumped +Illegal instruction (core dumped)` + +I've tried both QEMU user space translation (qemu-aarch64-static) and QEMU emulation (qemu-system-aarch64), +and both fail with the above message. + +C Code to reproduce bug, courtesy of https://github.com/cirosantilli/linux-kernel-module-cheat/blob/35684b1b7e0a04a68987056cb15abd97e3d2f0cc/baremetal/arch/aarch64/el.c +``` +#include <stdio.h> +#include <inttypes.h> + +int main(void) { + register uint64_t x0 __asm__ ("x0"); +\t__asm__ ("mrs x0, CurrentEL;" : : : "%x0"); +\tprintf("%" PRIu64 "\\n", x0 >> 2); +\treturn 0; +} +```""" +reproduce = """1. Copy C code above into file. +2. Compile code `gcc ./main.c --static` +3. Execute elf bin `./a.out`""" +additional = """""" |