Hello, I'm new to QEMU development and am attempting to write code for a new board and system. I modeled the code after the code in the target-microblaze folder, but removed the dependency on the petalogix board and instead made it require the code from my board. At this point, it can boot and execute a binary file with no issues until it attempts to do a save word / load word. The dump for the binary is as follows: 0: 20200040 addi r1, r0, 64 4: 20400030 addi r2, r0, 48 8: 20600020 addi r3, r0, 32 c: d8411000 sw r2, r1, r2 10: d8611800 sw r3, r1, r3 14: c8811000 lw r4, r1, r2 18: c8a11000 lw r5, r1, r3
One would expect the sw and lw components (highlighted in yellow) to save r2 to *(r1+r2) and then load it back to r4, and save r3 to *(r1+r3) and then load it back to r5. However, r4 and r5 are both 0 at the end. I don't know how to verify what is at *(r1+r2) or *(r1+r3) because when I attempt to "x * address*" in a remote desktop viewer, all I see are zeroes beyond x 18. Would anyone know what went wrong? Much thanks! -- Philip Z Loh, Intern at Aeste Works (M), Candidate for Bachelor of Science in Engineering: Computing.