3.11 Stage Enabling Checklist
The following steps should be followed to enable a board for Stage I.
- 1.Copy the EDK II packages locally to the workspace.
- 2.Select an appropriate silicon initialization solution such as Intel® FSP.
- 3.Review the requirements for the silicon initialization solution.
- 4.Gather the silicon initialization requirements for the given board.
- 5.Customize the silicon initialization solution to configure the system to the board-specific requirements.
- 1.For Intel® FSP, this includes setting minimal policy configuration.
- 2.For other silicon solutions, similar parameter customization may be needed if the silicon solution is not written for a particular system design.
- 6.Determine other firmware and software components required for the system to function properly.
- 1.For an Intel platform, this may include firmware images such as the appropriate microcode patch, EC firmware image, power management controller firmware, and others.
- 2.Additional third-party add-in components such as specific UEFI drivers may also be required.
- 7.Determine board-specific information required to fetch code and show debug output.
- 1.This includes details such as the NVRAM layout and strap information.
- 8.Copy a reference GenerationOpenBoardPkg/BoardXXX and update the board interfaces in Required Functions.
- 1.Add serial port initialization code in
PlatformHookSerialPortInitialize ()at BoardPkg/Library/BasePlatformHookLib.
- 1.This is SIO related code.
- 2.Add Board detection code in
- 1.If the project only supports one board, this function can return directly.
- 2.Add Board pre-memory debug initialization code in
BoardDebugInit (), BoardPkg/BoardInitLib/PeiBoardXXXInitPreMemoryLib.c.
- 1.This is for debug channel related initialization.
- 3.Audit BoardPkg/Stage1.dsc, ensure all PCDs in the Configuration section are correct for your board.
- 2.Follow "Debug Lib Selection" to enable serial debug capability.
- 4.Audit all other PCD settings in the board DSC file to verify the values are correct for your board.
- 5.Verify the flash layout is compliant with this specification.
- 6.Verify the required binaries will be included in the image produced in the build.
- 7.Verify the code execution path for Stage I will only perform the actions required to achieve debug output.
- 8.Boot the system, collect the debug log, and verify the test point results defined in the Test Point section are correct.