summary refs log tree commit diff stats
path: root/results/classifier/108/none/1898883
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/108/none/1898883')
-rw-r--r--results/classifier/108/none/189888363
1 files changed, 63 insertions, 0 deletions
diff --git a/results/classifier/108/none/1898883 b/results/classifier/108/none/1898883
new file mode 100644
index 000000000..934402005
--- /dev/null
+++ b/results/classifier/108/none/1898883
@@ -0,0 +1,63 @@
+device: 0.512
+other: 0.501
+permissions: 0.488
+performance: 0.456
+semantic: 0.441
+vnc: 0.407
+network: 0.379
+PID: 0.372
+graphic: 0.335
+socket: 0.315
+files: 0.314
+KVM: 0.276
+debug: 0.263
+boot: 0.248
+
+qemu-system-riscv64 failed to load binary kernel into memory
+
+QEMU Version: 5.1.0
+Compiled in Ubuntu 20.04 for riscv64, following the guide https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html.
+
+In qemu-system-riscv64, code at 0x80000000 will be executed by virtual CPU.
+For example, using `qemu-system-riscv64 -nographic -machine virt -bios none -kernel vmlinux -S -s`, my homebrew kernel(ELF file) will load at 0x80000000. If I strip the kernel using `riscv64-linux-gnu-objcopy -O binary vmlinux Image`, qemu-system-riscv64 will not load the binary machine code into the riscv64 load address, but `-bios Image` will.
+
+In `qemu-system-aarch64` compiled by Ubuntu team, I can use `qemu-system-aarch64 -M raspi3 -kernel Image_aarch64 -S -s` to load a specific machine code binary into 0x80000. And the elf kernel can be loaded to that address, too.
+
+On Wed, Oct 7, 2020 at 10:37 PM Azuk 443 <email address hidden> wrote:
+>
+> Public bug reported:
+>
+> QEMU Version: 5.1.0
+> Compiled in Ubuntu 20.04 for riscv64, following the guide https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html.
+>
+> In qemu-system-riscv64, code at 0x80000000 will be executed by virtual CPU.
+> For example, using `qemu-system-riscv64 -nographic -machine virt -bios none -kernel vmlinux -S -s`, my homebrew kernel(ELF file) will load at 0x80000000. If I strip the kernel using `riscv64-linux-gnu-objcopy -O binary vmlinux Image`, qemu-system-riscv64 will not load the binary machine code into the riscv64 load address, but `-bios Image` will.
+
+This is not a bug. As you said, please use `-bios Image` for your
+special purpose.
+
+>
+> In `qemu-system-aarch64` compiled by Ubuntu team, I can use `qemu-
+> system-aarch64 -M raspi3 -kernel Image_aarch64 -S -s` to load a specific
+> machine code binary into 0x80000. And the elf kernel can be loaded to
+> that address, too.
+>
+> ** Affects: qemu
+>      Importance: Undecided
+>          Status: New
+>
+
+Regards,
+Bin
+
+
+As per Bin Meng, closing as not-a-bug.
+
+Just an update on this.
+
+You can use -bios to load your image, which will load it to address 0x80000000.
+
+In QEMU 5.1 `-bios none -kernel Image` will load the Image to 0x80020000/0x80040000 depending on XLEN.
+
+QEMU 5.2 will now correctly load the above mentioned Image to address 0x80000000 if you don't load a firmware (`-bios none`).
+