doc: initial sphinx-based documentation support
The release-notes script now produces Markdown compatible with
pandoc to help convert it into RST for sphinx.
Actual documentation is fairly limited currently.
We use intersphinx to link to various sub-projects' docs.
A .travis.yml file is added to build+publish documentation
when new code is pushed to github.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
diff --git a/doc/introduction.rst b/doc/introduction.rst
new file mode 100644
index 0000000..5ae846b
--- /dev/null
+++ b/doc/introduction.rst
@@ -0,0 +1,36 @@
+Introduction to OpenPOWER Firmware
+==================================
+
+The ``op-build`` project constructs a host firmware image for OpenPOWER
+machines.
+
+Firmware Components
+-------------------
+
+Buildroot
+ We use http://buildroot.net/ as the build system for assembling a firmware
+ image. `op-build` is a "Buildroot overlay". We build a kernel and initramfs
+ using buildroot to run the Petitboot boot loader in.
+SBE
+ the Self Boot Engine is the first unit inside the POWER processor to start
+ executing. It's job is to set up a core and load Hostboot.
+Hostboot
+ Low level system boot firmware. It brings up CPU cores, the OCC, Memory
+ and hands control over to OPAL (skiboot)
+OCC
+ The On Chip Controller is responsible for thermal limits and frequency
+ management.
+OPAL
+ The OpenPOWER Abstraction Layer, provided by skiboot
+skiboot
+ skiboot implements OPAL (the OpenPOWER Abstraction Layer). Skiboot is
+ boot and runtime firmware and is responsible for bringing up PCI and
+ providing runtime abstractions to the running OS.
+Linux
+ Once skiboot has finished setting up the machine, it hands control over
+ to a Linux kernel. This kernel provides device drivers and userspace to
+ run the bootloader, Petitboot
+Petitboot
+ The bootloader. It is a normal user-space process running on Linux that
+ searches the system for disks and network devices that it can boot the
+ OS from.