On 2018-May-19 04:25 , Mark Cave-Ayland wrote:

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?

That's a reasonable/required assumption. "assigned-addresses" should be produced by the framework during the probe before the FCode runs. In a PCI device, it should have an "assigned-addresses" entry for each BAR. Something like:

assigned-addresses       81090110 00000000 00002100 00000000 00000100 
                         82090114 00000000 00604000 00000000 00004000 
                         82090130 00000000 00680000 00000000 00040000 

In the above, the first cell of each entry describes the space for each BAR. The first set is IO space for BAR 10, at location 2100 size 100 bytes. The second is memory space for BAR 14 at 604000 (in PCI space), size 4000 bytes. The third entry is for the ROMBAR, BAR 30, assigned to 680000 size 40000.