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.

Reply via email to