<html><body><p><font size="2">Hopefully you've already perused the documents out here - <a href="https://www-355.ibm.com/systems/power/openpower/">https://www-355.ibm.com/systems/power/openpower/</a> .  The "Power9 Processor Registers" spec at <a href="https://ibm.ent.box.com/s/ddcdl3g0otdzyiajhkfe3jjh2oy5p3mt">https://ibm.ent.box.com/s/ddcdl3g0otdzyiajhkfe3jjh2oy5p3mt</a> has all of the scom registers.  From there you can at least decode the registers that we're touching in the code.</font><br><font size="2"><br>--<br>Dan Crowell<br>Senior Software Engineer - Power Systems Enablement Firmware<br>IBM Rochester: t/l 553-2987<br>dcrowell@us.ibm.com</font><br><br><font size="2">__________________</font><br><br><font size="2">I definitely feel your pain on the documentation front.  There are a few reasons why these sorts of things don't currently exist.  Obviously there is the usual "developers don't like to write docs" excuse :-).  The next reason is that a lot of this stuff crosses the open/proprietary line.  The internal hardware specifications are still full of proprietary IP, but the code is open.  There hasn't been a concerted effort (that I know of) to create completely open hardware specifications because frankly there hasn't been a lot of interest to this point in anyone external playing around with this stuff.   You are blazing a trail here.</font><br><br><font size="2">There are some specifications out in the OpenPOWER organization.  For example, OpenFSI is here - <a href="http://openpowerfoundation.org/wp-content/uploads/resources/OpenFSI-spec-100/content/ch01.html">http://openpowerfoundation.org/wp-content/uploads/resources/OpenFSI-spec-100/content/ch01.html</a>  (pretty low-level electrical stuff though)</font><br><br><font size="2">We've tried to provide a lot of comments where we can but as with all long-term projects, there is a lot of inertia-based code.  The Hostboot FSI code is based on the behavior of FSP code from 3 generations ago since the hardware logic is essentially unchanged.  So at the moment the code is the documentation, for all that is worth.  If you point us at some specific chunk of logic that is too opaque we can try to beef it up with comments.</font><br><font size="2"><br>--<br>Dan Crowell<br>Senior Software Engineer - Power Systems Enablement Firmware<br>IBM Rochester: t/l 553-2987<br>dcrowell@us.ibm.com</font><br><br><img width="16" height="16" src="cid:1__=09BB0E03DFF3EFE18f9e8a93df938690918c09B@" border="0" alt="Inactive hide details for "Marty E. Plummer" ---10/10/2019 04:40:38 AM---Hello all. So, I've gotten to the point I believe I've"><font size="2" color="#424282">"Marty E. Plummer" ---10/10/2019 04:40:38 AM---Hello all. So, I've gotten to the point I believe I've got code execution working</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">"Marty E. Plummer" <hanetzer@startmail.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">openpower-firmware@lists.ozlabs.org</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">10/10/2019 04:40 AM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[EXTERNAL] [OpenPower-Firmware] Hardware documentation</font><br><font size="2" color="#5F5F5F">Sent by:        </font><font size="2">"OpenPower-Firmware" <openpower-firmware-bounces+dcrowell=us.ibm.com@lists.ozlabs.org></font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt><font size="2">Hello all.<br><br>So, I've gotten to the point I believe I've got code execution working<br>(at the very least in theory; still need to do *something* easily<br>detectable like writing a string to the scratch register) and am<br>investigating what happens during the following isteps. I'm having a<br>hard time following the execution of the c++ code past kernel.C due to<br>all the indirections, and was wondering if there was some form of docs<br>one could use as a reference.<br><br>Consider the arm pl011 uart driver, for example; it has a broad overview<br>of the registers and their functionality specific to that particular<br>piece of IP. Are there similar documents for fsi/scom/xscom/etc for the<br>power9 chips? I already have register documents 1-3 for the p9 but they<br>strike me as too broad, covering almost every thing in what seem to be<br>very ... unspecific(?) ways. Something like 'to initialize the fsi bus,<br>write 0xdeadbeef to register 0xdeadcode; to read something write this to<br>there' and so on.<br><br>Thanks,<br>Marty<br>_______________________________________________<br>OpenPower-Firmware mailing list<br>OpenPower-Firmware@lists.ozlabs.org<br><a href="https://lists.ozlabs.org/listinfo/openpower-firmware">https://lists.ozlabs.org/listinfo/openpower-firmware</a> <br><br></font></tt><br><br><BR>
</body></html>