Commit 4d2e26a3 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

docs: powerpc: convert docs to ReST and rename to *.rst



Convert docs to ReST and add them to the arch-specific
book.

The conversion here was trivial, as almost every file there
was already using an elegant format close to ReST standard.

The changes were mostly to mark literal blocks and add a few
missing section title identifiers.

One note with regards to "--": on Sphinx, this can't be used
to identify a list, as it will format it badly. This can be
used, however, to identify a long hyphen - and "---" is an
even longer one.

At its new index.rst, let's add a :orphan: while this is not linked to
the main index.rst file, in order to avoid build warnings.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> # cxl
parent 0a8ad0ff
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -403,7 +403,7 @@ That is, the recovery API only requires that:
.. note::

   Implementation details for the powerpc platform are discussed in
   the file Documentation/powerpc/eeh-pci-error-recovery.txt
   the file Documentation/powerpc/eeh-pci-error-recovery.rst

   As of this writing, there is a growing list of device drivers with
   patches implementing error recovery. Not all of these patches are in
@@ -422,3 +422,6 @@ That is, the recovery API only requires that:
   - drivers/net/cxgb3
   - drivers/net/s2io.c
   - drivers/net/qlge

The End
-------
+1 −0
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ implementation.
   arm64/index
   ia64/index
   m68k/index
   powerpc/index
   riscv/index
   s390/index
   sh/index
+21 −7
Original line number Diff line number Diff line
========================
The PowerPC boot wrapper
------------------------
========================

Copyright (C) Secret Lab Technologies Ltd.

PowerPC image targets compresses and wraps the kernel image (vmlinux) with
@@ -21,6 +23,7 @@ it uses the wrapper script (arch/powerpc/boot/wrapper) to generate target
image.  The details of the build system is discussed in the next section.
Currently, the following image format targets exist:

   ==================== ========================================================
   cuImage.%:		Backwards compatible uImage for older version of
			U-Boot (for versions that don't understand the device
			tree).  This image embeds a device tree blob inside
@@ -29,6 +32,7 @@ Currently, the following image format targets exist:
			with boot wrapper code that extracts data from the old
			bd_info structure and loads the data into the device
			tree before jumping into the kernel.

			Because of the series of #ifdefs found in the
			bd_info structure used in the old U-Boot interfaces,
			cuImages are platform specific.  Each specific
@@ -36,24 +40,28 @@ Currently, the following image format targets exist:
			which populates the embedded device tree with data
			from the platform specific bd_info file.  The platform
			specific cuImage platform init code can be found in
			arch/powerpc/boot/cuboot.*.c.  Selection of the correct
			`arch/powerpc/boot/cuboot.*.c`. Selection of the correct
			cuImage init code for a specific board can be found in
			the wrapper structure.

   dtbImage.%:		Similar to zImage, except device tree blob is embedded
			inside the image instead of provided by firmware.  The
			output image file can be either an elf file or a flat
			binary depending on the platform.

			dtbImages are used on systems which do not have an
			interface for passing a device tree directly.
			dtbImages are similar to simpleImages except that
			dtbImages have platform specific code for extracting
			data from the board firmware, but simpleImages do not
			talk to the firmware at all.

			PlayStation 3 support uses dtbImage.  So do Embedded
			Planet boards using the PlanetCore firmware.  Board
			specific initialization code is typically found in a
			file named arch/powerpc/boot/<platform>.c; but this
			can be overridden by the wrapper script.

   simpleImage.%:	Firmware independent compressed image that does not
			depend on any particular firmware interface and embeds
			a device tree blob.  This image is a flat binary that
@@ -61,6 +69,7 @@ Currently, the following image format targets exist:
			Firmware cannot pass any configuration data to the
			kernel with this image type and it depends entirely on
			the embedded device tree for all information.

			The simpleImage is useful for booting systems with
			an unknown firmware interface or for booting from
			a debugger when no firmware is present (such as on
@@ -68,6 +77,7 @@ Currently, the following image format targets exist:
			simpleImage makes is that RAM is correctly initialized
			and that the MMU is either off or has RAM mapped to
			base address 0.

			simpleImage also supports inserting special platform
			specific initialization code to the start of the bootup
			sequence.  The virtex405 platform uses this feature to
@@ -81,9 +91,11 @@ Currently, the following image format targets exist:
			named (virtex405-<board>.dts).  Search the wrapper
			script for 'virtex405' and see the file
			arch/powerpc/boot/virtex405-head.S for details.

   treeImage.%;		Image format for used with OpenBIOS firmware found
			on some ppc4xx hardware.  This image embeds a device
			tree blob inside the image.

   uImage:		Native image format used by U-Boot.  The uImage target
			does not add any boot code.  It just wraps a compressed
			vmlinux in the uImage data structure.  This image
@@ -91,12 +103,14 @@ Currently, the following image format targets exist:
			a device tree to the kernel at boot.  If using an older
			version of U-Boot, then you need to use a cuImage
			instead.

   zImage.%:		Image format which does not embed a device tree.
			Used by OpenFirmware and other firmware interfaces
			which are able to supply a device tree.  This image
			expects firmware to provide the device tree at boot.
			Typically, if you have general purpose PowerPC
			hardware then you want this image format.
   ==================== ========================================================

Image types which embed a device tree blob (simpleImage, dtbImage, treeImage,
and cuImage) all generate the device tree blob from a file in the
+12 −11
Original line number Diff line number Diff line
============
CPU Families
============

@@ -9,7 +10,7 @@ Book3S (aka sPAPR)
------------------

- Hash MMU
 - Mix of 32 & 64 bit
- Mix of 32 & 64 bit::

   +--------------+                 +----------------+
   |  Old POWER   | --------------> | RS64 (threads) |
@@ -109,7 +110,7 @@ IBM BookE
---------

- Software loaded TLB.
 - All 32 bit
- All 32 bit::

   +--------------+
   |     401      |
@@ -156,7 +157,7 @@ Motorola/Freescale 8xx
----------------------

- Software loaded with hardware assist.
 - All 32 bit
- All 32 bit::

   +-------------+
   | MPC8xx Core |
@@ -168,7 +169,7 @@ Freescale BookE

- Software loaded TLB.
- e6500 adds HW loaded indirect TLB entries.
 - Mix of 32 & 64 bit
- Mix of 32 & 64 bit::

   +--------------+
   |     e200     |
@@ -208,7 +209,7 @@ IBM A2 core
-----------

- Book3E, software loaded TLB + HW loaded indirect TLB entries.
 - 64 bit
- 64 bit::

   +--------------+     +----------------+
   |   A2 core    | --> |      WSP       |
+5 −1
Original line number Diff line number Diff line
============
CPU Features
============

Hollis Blanchard <hollis@austin.ibm.com>
5 Jun 2002

@@ -32,7 +36,7 @@ anyways).
After detecting the processor type, the kernel patches out sections of code
that shouldn't be used by writing nop's over it. Using cpufeatures requires
just 2 macros (found in arch/powerpc/include/asm/cputable.h), as seen in head.S
transfer_to_handler:
transfer_to_handler::

	#ifdef CONFIG_ALTIVEC
	BEGIN_FTR_SECTION
Loading