Thanks Mark,
I just defined the other config words as colon definitions, but I’m pretty sure now that isn’t working correctly.
dev /pci : rl@-le rl@ lbflip ; : >config f1000000 + ; : config-l@ >config cr ." config-l@ " dup . rl@-le space dup . ; : rl!-le >r lbflip r> rl! ; : rw!-le >r wbflip r> rw! ; : rw@-le rw@ wbflip ; : config-l! >config rl!-le ; : config-w! >config cr ." config-w! " 2dup . space . rw!-le ; : config-w@ >config cr ." config-w@ " dup . rw@-le space dup . ;
I hate to be a bother, but when you find the time, if you could try and implement the other config words, that would be great.
On May 19, 2018, at 4:25 AM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 12/05/18 11:47, Jd Lyons wrote:
As far as I can tell, here is a breakdown of 0xddf, I’m getting an exception here now, but I’m not sure where or how to debug it. I did add the other config* words, but I’m unsure I did it correctly, and I can’t seem to debug them when they are called in the Fcode?
Sorry it has taken me a while to respond to this, it's fairly crazy in the day job right now.
From what I can see in the provided output it is just the config-*@, config-*! and map-out words missing from OpenBIOS which shouldn't be too difficult to fix. There also seems to be an assumption that the "assigned-addresses" property is present, or at least I can see FCode that tries to read it but nothing to write it?
Hopefully things will start to calm down soon, but in the meantime if you post you patch for the PCI config words I will be happy to take a look and review them.
In terms of debugging, once you're in C land it's fairly easy: alter Makefile.target to change -Os to -O0 to enable debugging symbols for the build and then you can single step directly in the guest with sparc64-linux-gdb via QEMU's gdbstub, setting breakpoints as required.
ATB,
Mark.