On Mon, Jul 29, 2019 at 04:34:18PM +0200, BALATON Zoltan wrote:
Note that all those are bus-specific, and a correct implementation of these words has to look at the FCode 235 (etc.) of the bus you are on, and inherited from its parent bus, etc.
I don't understand any of the above... What's FCode 235? Also OpenBIOS
FCode hex 235. The FCode generated for rl! iirc. This is pretty trivial to look up, btw.
only handles one PCI bus at the moment so not sure that additional complexity you mention exists in it yet. The io* words do what needs to be done to read and write mapped registers (on ppc doing eieio or similar,
Which isn't enough in all cases.
otherwise same as memory read/write as all io is memory mapped on that platform)
It is not, not on PowerMac anyway, which is what you emulate? Not all PCI buses have a legacy I/O direct mapped, for example, and later machines do not even have all config space direct mapped.
so I think for now this might be sufficient even if not correct at least on PPC. (Since I don't have enough knowledge to make it correct I had to hack it together so it does what I need to run the FCode I wanted to test without exception but it may not be correct.)
Sure it's a step up from not doing anything here, but you will run into trouble very soon.
Segher