diff options
Diffstat (limited to 'results/classifier/118/debug/2186')
| -rw-r--r-- | results/classifier/118/debug/2186 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/results/classifier/118/debug/2186 b/results/classifier/118/debug/2186 new file mode 100644 index 000000000..d0cabdf5b --- /dev/null +++ b/results/classifier/118/debug/2186 @@ -0,0 +1,64 @@ +assembly: 0.966 +debug: 0.947 +peripherals: 0.845 +graphic: 0.763 +device: 0.739 +performance: 0.675 +architecture: 0.668 +risc-v: 0.662 +PID: 0.627 +ppc: 0.621 +socket: 0.587 +permissions: 0.578 +semantic: 0.570 +vnc: 0.566 +network: 0.501 +kernel: 0.492 +x86: 0.485 +user-level: 0.483 +arm: 0.432 +mistranslation: 0.395 +i386: 0.383 +boot: 0.358 +virtual: 0.302 +register: 0.249 +files: 0.203 +VMM: 0.200 +hypervisor: 0.198 +TCG: 0.161 +KVM: 0.081 + +riscv virt pflash0 writes not supported +Description of problem: +I am using GDB to debug some Firmware related stuff. At some point in the execution my BIOS/Firmware writes into some global variable (at 0x2000525C) inside the .bss section which is linked to be inside the memory mapped pflash0. But when I step forward with GDB to the exact location where the store instruction (sw) is executed, QEMU prints the following: +``` +pflash_write: Unimplemented flash cmd sequence (offset 000000000000525c, wcycle 0x0 cmd 0x0 value 0x1) +``` +According to the top of `hw/block/pflash_cfi01.c` Flash writes are supported. I was also under the impression that the flash is memory mapped, but maybe that is not true? I am probably missing something here so it would be nice if someone could point me in the right direction. I would also gladly contribute if there is something missing in the riscv virt target. + +I made a simple program to more easily reproduce this: +``` +.section .text +.global _start +_start: + lui a5, 0x20000 + li a4, 5 + sw a4, 24(a5) + +``` +results in QEMU error msg: +``` +pflash_write: Unimplemented flash cmd sequence (offset 0000000000000018, wcycle 0x0 cmd 0x0 value 0x5) +``` +Steps to reproduce: +1. compile above assembly program like this: +``` +riscv64-unknown-elf-gcc -nostdlib -O0 bios.S +riscv64-unknown-elf-objcopy -O binary a.out +truncate -s 33554432 a.out +``` +2. start QEMU like this: +``` +qemu-system-riscv64 -M virt -bios none -drive if=pflash,format=raw,unit=0,file=a.out -nographic -d unimp +``` +3. notice the error message printed by QEMU |