summary refs log tree commit diff stats
path: root/gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml')
-rw-r--r--gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml28
1 files changed, 28 insertions, 0 deletions
diff --git a/gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml b/gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml
new file mode 100644
index 000000000..65dd32935
--- /dev/null
+++ b/gitlab/issues/target_riscv/host_missing/accel_missing/2074.toml
@@ -0,0 +1,28 @@
+id = 2074
+title = "riscv64  cannot use the mret instruction to jump to the address corresponding to s mode"
+state = "closed"
+created_at = "2024-01-05T08:17:33.034Z"
+closed_at = "2024-01-18T06:49:14.552Z"
+labels = ["target: riscv"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2074"
+host-os = "Linux"
+host-arch = "x86"
+qemu-version = "QEMU emulator version 8.1.90"
+guest-os = "coreboot/bios"
+guest-arch = "riscv"
+description = """I use coreboot to boot my linux kernel.The kernel is copied at 0x82200000,I set reg mepc 0x82200000,and set reg mstatus a00000800.
+and I use "mret" instruction so that qemu can jump to 0x82200000 and enter S mode.But some errors happened.
+It shows:
+[DEBUG]  Exception:          Instruction access fault
+[DEBUG]  Hart ID:            0
+[DEBUG]  Previous mode:      machine
+[DEBUG]  Bad instruction pc: 0x8103f7c0
+[DEBUG]  Bad address:        0x00000000
+[DEBUG]  Stored ra:          0x8103f7b8
+[DEBUG]  Stored sp:          0x82032f08
+Bad instruction pc: 0x8103f7c0 in my elf file instruction is "mret".
+So I can not jump to my kernel's load address.
+I think when I use -bios option,my qemu should in M mode.How could I can jump to my mepc address?"""
+reproduce = """1.download qemu
+2.download coreboot"""
+additional = """When I enter qemu with -bios option,I find that the reg mstatus is 0xa0000000."""