diff options
Diffstat (limited to 'results/classifier/118/graphic/1814343')
| -rw-r--r-- | results/classifier/118/graphic/1814343 | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/results/classifier/118/graphic/1814343 b/results/classifier/118/graphic/1814343 new file mode 100644 index 000000000..9a4f761ef --- /dev/null +++ b/results/classifier/118/graphic/1814343 @@ -0,0 +1,66 @@ +graphic: 0.881 +kernel: 0.869 +performance: 0.799 +device: 0.786 +architecture: 0.766 +mistranslation: 0.752 +semantic: 0.721 +risc-v: 0.701 +user-level: 0.698 +virtual: 0.607 +register: 0.593 +x86: 0.589 +PID: 0.575 +files: 0.569 +hypervisor: 0.557 +debug: 0.555 +ppc: 0.539 +VMM: 0.527 +i386: 0.526 +peripherals: 0.522 +socket: 0.511 +arm: 0.500 +network: 0.481 +permissions: 0.468 +vnc: 0.468 +boot: 0.445 +KVM: 0.418 +TCG: 0.411 +assembly: 0.346 + +Initrd not loaded on riscv32 + +I attempted to run qemu with a ram disk. However, when reading the contents of the disk from within the VM I only get back zeros. + +I was able to trace the issue to a mismatch of expectations on line 93 of hw/riscv/virt.c. Specifically, when running in 32-bit mode the value of kernel_entry is sign extended to 64-bits, but load_image_targphys expects the start address to not be sign extended. + +Straw man patch (works for 32-bit but would probably break 64-bit VMs?): + +diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c +index e7f0716fb6..32216f993c 100644 +--- a/hw/riscv/virt.c ++++ b/hw/riscv/virt.c +@@ -90,7 +90,7 @@ static hwaddr load_initrd(const char *filename, uint64_t mem_size, + * halfway into RAM, and for boards with 256MB of RAM or more we put + * the initrd at 128MB. + */ +- *start = kernel_entry + MIN(mem_size / 2, 128 * MiB); ++ *start = (kernel_entry & 0xffffffff) + MIN(mem_size / 2, 128 * MiB); + + size = load_ramdisk(filename, *start, mem_size - *start); + if (size == -1) { + + +Run command: + +$ qemu/build/riscv32-softmmu/qemu-system-riscv32 -machine virt -kernel mykernel.elf -nographic -initrd payload + +Commit hash: + +3a183e330dbd7dbcac3841737ac874979552cca2 + +The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now. +If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience. + +[Expired for QEMU because there has been no activity for 60 days.] + |