<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 2017-Dec-29 01:05 , Tarl Neustaedter
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0ab94f33-ef1f-e077-0023-5cd715b842ec@tarl.net">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      [...]<br>
      Ah! Seeing that structure, the sequence comes down to:<br>
      <br>
      0x10 my-space + dup " config-l@" $call-parent<br>
    </blockquote>
    <br>
    I should mention; that "dup" right before calling " config-l@"
    suggests he's going to write a value back very shortly.<br>
    <br>
    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?<br>
    <br>
  </body>
</html>