Platform Structure
Michael Ellerman edited this page Apr 13, 2023
·
1 revision
The arch/powerpc code base supports many different platforms, this page tries to provide an overview of how they are structured.
Note that some platforms support 64-bit and 32-bit, or big and little endian, so some platforms appear twice in the tree below.
Some platforms can be built together into a single kernel image. Platforms marked with a 🟢 can be built with other platforms at the same level of the tree.
- 64-bit
- Book3S
- Little Endian
- pseries (
CONFIG_PPC_PSERIES
) 🟢 - powernv (
CONFIG_PPC_POWERNV
) 🟢 - microwatt (
CONFIG_PPC_MICROWATT
) 🟢SMP=n
only
- pseries (
- Big Endian
- pseries (
CONFIG_PPC_PSERIES
) 🟢 - powernv (
CONFIG_PPC_POWERNV
) 🟢 - microwatt (
CONFIG_PPC_MICROWATT
) 🟢SMP=n
only - powermac (
PPC_PMAC64
) 🟢 - PS3 (
CONFIG_PPC_PS3
) 🟢 - Cell (
CONFIG_PPC_CELL
) 🟢 - pasemi (
CONFIG_PPC_PASEMI
) 🟢 - Maple (
CONFIG_PPC_MAPLE
) 🟢
- pseries (
- Little Endian
- Book3E
- 85xx (
CONFIG_FSL_SOC_BOOKE
)
- 85xx (
- Book3S
- 32-bit
- Book3S
- 512x (
CONFIG_PPC_MPC512x
) 🟢 - 52xx (
CONFIG_PPC_MPC52xx
) 🟢 - 82xx (
CONFIG_PPC_82xx
) 🟢 - 83xx (
CONFIG_PPC_83xx
) 🟢 - 86xx (
CONFIG_PPC_86xx
) 🟢 - amigaone (
CONFIG_AMIGAONE
) 🟢SMP=n
only - chrp (
CONFIG_PPC_CHRP
) 🟢 - embedded6xx (
CONFIG_EMBEDDED6xx
) 🟢SMP=n
only - powermac (
CONFIG_PPC_PMAC
) 🟢
- 512x (
- 85xx (
CONFIG_PPC_85xx
) - 8xx (
CONFIG_PPC_8xx
) - 40x (
CONFIG_40x
) - 44x (
CONFIG_4xx
)
- Book3S
Because there are so many build-time decision points, getting build coverage for the entire architecture is non-trivial.
To get at least some build coverage for each of the platforms above, the following set of defconfigs should be built:
ppc64_allmodconfig
ppc64le_allmodconfig
microwatt_defconfig
corenet64_smp_defconfig
corenet32_smp_defconfig
ppc32_allmodconfig
amigaone_defconfig
wii_defconfig
ppc40x_defconfig
ppc44x_defconfig