From 7e0078b990b7b498391505fb5c492ff7ed8e54cb Mon Sep 17 00:00:00 2001 From: Lee Leahy Date: Sun, 31 Jan 2016 11:48:15 -0800 Subject: Documentation: Add the x86 FSP Binary Document how to add the FSP binary to the SPI flash image. TEST=None Change-Id: I51b16600ea69853240282ac2eb0d84935b8e2a71 Signed-off-by: Lee Leahy Reviewed-on: https://review.coreboot.org/13442 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- Documentation/Intel/SoC/soc.html | 89 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'Documentation/Intel/SoC') diff --git a/Documentation/Intel/SoC/soc.html b/Documentation/Intel/SoC/soc.html index 84206823a9..679e022f64 100644 --- a/Documentation/Intel/SoC/soc.html +++ b/Documentation/Intel/SoC/soc.html @@ -18,6 +18,7 @@
  • Start Booting
  • Early Debug
  • Bootblock
  • +
  • TempRamInit
  • @@ -195,6 +196,94 @@ mv build/coreboot.rom.new build/coreboot.rom +
    +

    TempRamInit

    +

    + Enable the call to TempRamInit in two stages: +

    +
      +
    1. Finding the FSP binary in the read-only CBFS region
    2. +
    3. Call TempRamInit
    4. +
    + + +

    Find FSP Binary

    +

    +Use the following steps to locate the FSP binary: +

    +
      +
    1. Edit the src/soc/<Vendor>/<Chip Family>/Kconfig file +
        +
      1. Add "select USE_GENERIC_FSP_CAR_INC" to enable the use of + src/drivers/intel/fsp1_1/cache_as_ram.inc +
      2. +
      3. Add "select SOC_INTEL_COMMON" to enable the use of the files from src/soc/intel/common + specifically building + util.c +
      4. +
      +
    2. +
    3. Debug the result until port 0x80 outputs +
        +
      1. 0x90: POST_FSP_TEMP_RAM_INIT + - Just before calling + TempRamInit +
      2. +
      3. Alternating 0xba and 0x01 - The FSP image was not found
      4. +
      +
    4. +
    5. Add the FSP binary file to the flash image
    6. +
    7. Set the following Kconfig values: +
        +
      • CONFIG_FSP_LOC to the FSP base address specified in the previous step
      • +
      • CONFIG_FSP_IMAGE_ID_STRING
      • +
      +
    8. +
    9. Debug the result until port 0x80 outputs +
        +
      1. 0x90: POST_FSP_TEMP_RAM_INIT + - Just before calling + TempRamInit +
      2. +
      3. Alternating 0xbb and 0x02 - TempRamInit executed, no CPU microcode update found
      4. +
      +
    10. +
    + + +

    Calling TempRamInit

    +

    +Use the following steps to debug the call to TempRamInit: +

    +
      +
    1. Add the CPU microcode update file +
        +
      1. Add the microcode file with the following command +
        util/cbfstool/cbfstool build/coreboot.rom add -t microcode -n cpu_microcode_blob.bin -b <base address> -f cpu_microcode_blob.bin
        +
      2. +
      3. Set the Kconfig values +
          +
        • CONFIG_CPU_MICROCODE_CBFS_LOC set to the value from the previous step
        • +
        • CONFIG_CPU_MICROCODE_CBFS_LEN
        • +
        +
      4. +
      +
    2. +
    3. Debug the result until port 0x80 outputs +
        +
      1. 0x90: POST_FSP_TEMP_RAM_INIT + - Just before calling + TempRamInit +
      2. +
      3. 0x2A - Just before calling + cache_as_ram_main + which is the start of the verstage code which may be part of romstage +
      4. +
      +
    4. +
    + +

    Modified: 31 January 2016

    -- cgit v1.2.3