Developer Manual/Bootblock

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

The mechanism coreboot uses for bootblock handling is called tinybootblock.

Before tinybootblock, the ROM stage was put in the bootblock. With tinybootblock, the ROM stage is a separate component, and there's a bootblock that does minimal setup and then passes control to the ROM stage (potentially selecting the right one out of many).

The bootblock does ROM mapping if necessary. That's the main change that must be taken care of - that's potential northbridge and southbridge code.

If such code is required, it can be found in the Kconfig flags BOOTBLOCK_{NORTH,SOUTH}BRIDGE_INIT, which points to the source files that are used. See northbridge/amd/amdfam10 and southbridge/amd/amd8111 for examples.