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?