.. skiboot documentation master file, created by
   sphinx-quickstart on Mon Jul 25 15:23:23 2016.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

=====================
SkiBoot Documentation
=====================

Overview
========

.. toctree::
   :maxdepth: 2

   overview
   opal-spec
   platforms-and-cpus

Development Process
===================

.. toctree::
   :maxdepth: 2

   process/dev-release-process
   process/CONTRIBUTING.md
   process/stable-skiboot-rules
   process/versioning

Developer Guide and Internals
=============================

.. toctree::
   :maxdepth: 2

   console-log
   error-logging
   bmc
   gcov
   memory
   nvlink
   pci
   pci-slot
   xscom-node-bindings
   xive
   imc
   power-management
   mpipl
   vas


OPAL ABI
========

.. toctree::
   :maxdepth: 2

   stb
   device-tree
   device-tree/index
   opal-api/index

skiboot Release Notes
=====================

.. toctree::
   :maxdepth: 2

   release-notes/index

.. only:: latex

    Indices and tables
    ==================

    * :ref:`genindex`
    * :ref:`modindex`
    * :ref:`search`

