On 2017-Dec-29 01:05 , Tarl Neustaedter wrote:
[...] Ah! Seeing that structure, the sequence comes down to:
0x10 my-space + dup " config-l@" $call-parent
I should mention; that "dup" right before calling " config-l@" suggests he's going to write a value back very shortly.
This is often done during the probe process, where the PCI drivers usually fiddle with the BAR to determine its characteristics. The PCI driver should have already done the write 0xFFFFFFF0 and read it back to determine the size of the BAR before assigning an address to it, but the video driver probably needs to read the BAR to determine 32/64 bit. What it could be expecting to write back is a little confusing to me, at least at Sun/Oracle, device FCodes were not expected to change the contents of BARs. Maybe it's going to determine the BAR size and then put the same value back?