| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Architecture-specific documentation | ||
|
|
||
| This section contains documentation about coreboot on specific CPU | ||
| architectures. | ||
|
|
||
| ## RISC-V | ||
|
|
||
| - [RISC-V documentation](riscv/index.md) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # Flashing firmware externally supplying direct power | ||
|
|
||
| **WARNING:** Never use a high current rated power supply, like PC ATX power | ||
| supply. It'll literally melt your PCB traces on short circuit. | ||
|
|
||
| On some mainboards the flash IC Vcc pin is connected to a diode, which prevents | ||
| powering the rest of the board. | ||
|
|
||
| ![][flash_ic_diode] | ||
|
|
||
| Please have a look at the mainboard specific documentation for details. | ||
|
|
||
| On those boards it's safe to use a programmer and supply power externally. | ||
|
|
||
| **WARNING:** Verify that you apply the correct voltage! | ||
|
|
||
| ## USB programmer | ||
| USB programmers are usually current limited by the host USB hub. On USB 2.0 | ||
| ports the limit is 500mA, which is sufficient to power the flash. Those are | ||
| the best choice as they are stateless and have a fast power on reset cycle. | ||
|
|
||
| ## Single board computers (like BeagleBone Black / RPi) | ||
| Be careful when connecting a flash chip, especially when using a Pomona | ||
| test-clip. A short circuit or overcurrent (250mA) causes a brown-out reset, | ||
| resulting in a reboot of the running operating system (and possible loss of | ||
| remote shell). | ||
|
|
||
| [flash_ic_diode]: flash_ic_diode.svg |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Flashing firmware standalone | ||
|
|
||
| If none of the other methods work, there are three possibilities: | ||
|
|
||
| ## Desolder | ||
| You must remove or desolder the flash IC before you can flash it. | ||
| It's recommended to solder a socket in place of the flash IC. | ||
|
|
||
| When flashing the IC, always connect all input pins. | ||
| If in doubt, pull /WP, /HOLD, /RESET and alike up towards Vcc. | ||
|
|
||
| ## SPI flash emulator | ||
| If you are a developer, you might want to use an [EM100Pro] instead, which sets | ||
| the onboard flash on hold, and allows to run custom firmware. | ||
| It provides a very fast development cycle without actually writing to flash. | ||
|
|
||
| ## SPI flash overwrite | ||
| It is possible to set the onboard flash on hold and use another flash chip. | ||
| Connect all lines one-to-one, except /HOLD. Pull /HOLD of the soldered flash IC | ||
| low, and /HOLD of your replacement flash IC high. | ||
|
|
||
|
|
||
| [EM100Pro]: https://www.dediprog.com/product/EM100Pro |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,105 @@ | ||
| # Flashing firmware tutorial | ||
|
|
||
| Updating the firmware is possible using the **internal method**, where the updates | ||
| happen from a running system, or using the **external method**, where the system | ||
| is in a shut down state and an external programmer is attached to write into the | ||
| flash IC. | ||
|
|
||
| ## Contents | ||
|
|
||
| * [Flashing internaly](int_flashrom.md) | ||
| * [Flashing firmware standalone](ext_standalone.md) | ||
| * [Flashing firmware externally supplying direct power](ext_power.md) | ||
| * [Flashing firmware externally without supplying direct power](no_ext_power.md) | ||
|
|
||
| ## General advice | ||
|
|
||
| * It's recommended to only flash the BIOS region. | ||
| * Always verify the firmware image. | ||
| * If you flash externally and have transmission errors: | ||
| * Use short wires | ||
| * Reduce clock frequency | ||
| * Check power supply | ||
| * Make sure that there are no other bus masters (EC, ME, SoC, ...) | ||
|
|
||
| ## Internal method | ||
|
|
||
| This method using [flashrom] is available on many platforms, as long as they | ||
| aren't locked down. | ||
|
|
||
| There are various protection schemes that make it impossible to modify or | ||
| replace a firmware from a running system. coreboot allows to disable these | ||
| mechanisms, making it possible to overwrite (or update) the firmware from a | ||
| running system. | ||
|
|
||
| Usually you must use the **external method** once to install a retrofitted | ||
| coreboot and then you can use the **internal method** for future updates. | ||
|
|
||
| There are multiple ways to update the firmware: | ||
| * Using flashrom's *internal* programmer to directly write into the firmware | ||
| flash IC, running on the target machine itself | ||
| * A proprietary software to update the firmware, running on the target machine | ||
| itself | ||
| * A UEFI firmware update capsule | ||
|
|
||
| More details on flashrom's | ||
| * [internal programmer](int_flashrom.md) | ||
|
|
||
| ## External method | ||
|
|
||
| External flashing is possible on many platforms, but requires disassembling | ||
| the target hardware. You need to buy a flash programmer, that | ||
| exposes the same interface as your flash IC (likely SPI). | ||
|
|
||
| Please also have a look at the mainboard-specific documentation for details. | ||
|
|
||
| After exposing the firmware flash IC, read the schematics and use one of the | ||
| possible methods: | ||
|
|
||
| * [Flashing firmware standalone](ext_standalone.md) | ||
| * [Flashing firmware externally supplying direct power](ext_power.md) | ||
| * [Flashing firmware externally without supplying direct power](no_ext_power.md) | ||
|
|
||
| **WARNING:** Using the wrong method or accidentally using the wrong pinout might | ||
| permanently damage your hardware! | ||
|
|
||
| ## Using a layout file | ||
| On platforms where the flash IC is shared with other components you might want | ||
| to write only a part of the flash IC. On Intel for example there are IFD, ME and | ||
| GBE which don't need to be updated to install coreboot. | ||
| To make [flashrom] only write the *bios* region, leaving Intel ME and Intel IFD | ||
| untouched, you can use a layout file, which can be created using ifdtool | ||
|
|
||
| ```bash | ||
| ifdtool -f rom.layout coreboot.rom | ||
| ``` | ||
|
|
||
| and looks similar to: | ||
|
|
||
| ``` | ||
| 00000000:00000fff fd | ||
| 00500000:00bfffff bios | ||
| 00003000:004fffff me | ||
| 00001000:00002fff gbe | ||
| ``` | ||
|
|
||
| By specifying *-l* and *-i* [flashrom] writes a single region: | ||
| ```bash | ||
| flashrom -l rom.layout -i bios -w coreboot.rom -p <programmer> | ||
| ``` | ||
|
|
||
| ## Using an IFD to determine the layout | ||
| flashrom version 1.0 supports reading the layout from the IFD (first 4KiB of | ||
| the ROM). You don't need to manually specify a layout it, but it only works | ||
| under the following conditions: | ||
|
|
||
| * Only available on Intel ICH7+ | ||
| * There's only one flash IC when flashing externally | ||
|
|
||
| ```bash | ||
| flashrom --ifd -i bios -w coreboot.rom -p <programmer> | ||
| ``` | ||
|
|
||
| **TODO** explain FMAP regions, normal/fallback mechanism, flash lock mechanisms | ||
|
|
||
| [flashrom]: https://www.flashrom.org/Flashrom |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # Flashing firmware internally | ||
|
|
||
| **WARNING:** If you flash a broken firmware and have no recovery mechanism, you | ||
| must use the **external method** to flash a working firmware again. | ||
|
|
||
| ## Using flashrom | ||
| This method does only work on Linux, if it isn't locked down. | ||
| You may also need to boot with 'iomem=relaxed' in the kernel command | ||
| line if CONFIG_IO_STRICT_DEVMEM is set. | ||
|
|
||
|
|
||
| For more details please also check [flashrom's wiki]. | ||
| Use the programmer *internal* to flash *coreboot.rom* internally: | ||
|
|
||
| ```bash | ||
| flashrom -p internal -w coreboot.rom | ||
| ``` | ||
|
|
||
| [flashrom's wiki]: https://www.flashrom.org/Flashrom |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # Flashing firmware externally supplying no power | ||
|
|
||
| On some mainboards the flash IC's Vcc pin is connected to the internal | ||
| power-rail, powering the entire board if the flash IC is powered externally. | ||
| Likely it powers other chips which access the flash IC, preventing the external | ||
| programmer from reading/writing the chip. It also violates the components' | ||
| power sequence, bringing the ICs into an undefined state. | ||
|
|
||
| ![][flash_ic_no_diode] | ||
|
|
||
| Please have a look at the mainboard specific documentation for details. | ||
|
|
||
| On those boards it's recommended to use a programmer without supplying power | ||
| externally. | ||
|
|
||
| The key to read and write the flash IC is to put the machine into *S3* sleep- | ||
| state or *S5* sleep-state *maybe* with Wake-On-LAN enabled. | ||
| Another option that sometimes works is to keep the device in reset. This method requires | ||
| knowledge of the board schematics and might require hardware modifications. | ||
| Use a multimeter to make sure the flash IC is powered in those sleep states. | ||
|
|
||
| [flash_ic_no_diode]: flash_ic_no_diode.svg |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Spike RISC-V emulator | ||
|
|
||
| [Spike], also known as riscv-isa-sim, is a commonly used [RISC-V] emulator. | ||
|
|
||
|
|
||
| ## Installation | ||
|
|
||
| - Download `riscv-fesvr` and `riscv-isa-sim` from <https://github.com/riscv/> | ||
| - Apply the two patches in <https://github.com/riscv/riscv-isa-sim/pull/53>, | ||
| which are necessary in order to have a serial console | ||
| - Compile `riscv-fesvr` and then `riscv-isa-sim` | ||
|
|
||
|
|
||
| ## Building coreboot and running it in Spike | ||
|
|
||
| - Configure coreboot and run `make` as usual | ||
| - Run `util/riscv/make-spike-elf.sh build/coreboot.rom build/coreboot.elf` to | ||
| convert coreboot to an ELF that Spike can load | ||
| - Run `spike -m1024 build/coreboot.elf` | ||
|
|
||
|
|
||
| [Spike]: https://github.com/riscv/riscv-isa-sim | ||
| [RISC-V]: https://riscv.org/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # Lenovo T420 | ||
|
|
||
| ## Flashing instructions | ||
| You have to disassemble the whole device, as the flash IC is on the bottom | ||
| of the mainboard. | ||
|
|
||
| For more details have a look at [T420 / T520 / X220 / T420s / W520 common] and | ||
|
|
||
| ```eval_rst | ||
| :doc:`../../flash_tutorial/ext_power` | ||
| ``` | ||
|
|
||
| Steps to access the flash IC are described here [T4xx series]. | ||
|
|
||
| [T4xx series]: t4xx_series.md | ||
| [T420 / T520 / X220 / T420s / W520 common]: xx20_series.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Lenovo T430 | ||
|
|
||
| ## Flashing instructions | ||
| You have to disassemble the whole device, as the flash ICs are on the bottom | ||
| of the mainboard. | ||
|
|
||
| For more details have a look at [T430 / T530 / X230 / T430s / W530 common] and | ||
| ```eval_rst | ||
| :doc:`../../flash_tutorial/ext_power` | ||
| ``` | ||
|
|
||
| Steps to access the flash IC are described here [T4xx series]. | ||
|
|
||
| [T4xx series]: t4xx_series.md | ||
| [T430 / T530 / X230 / T430s / W530 common]: xx30_series.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| # Lenovo T4xx series disassembly instructions | ||
|
|
||
| A skilled engineer takes around 40 minutes to disassemble, flash and reassemble | ||
| the whole device. | ||
|
|
||
| ## Steps to access the flash IC | ||
|
|
||
| * Unplug the main battery | ||
| * Remove the harddisk, CDROM, ExpressCard, SIM-card, SDcard, SmartCard, ... | ||
| * Open the bottom flap and remove the keyboard screw | ||
| * Remove the keyboard | ||
| * Remove the screen | ||
| * Remove the top enclosure | ||
| * Remove the CMOS battery | ||
| * Remove the speakers | ||
| * Remove WWAN and WIFI card | ||
| * Remove the CPU fan | ||
| * Unplug the power cable | ||
| * Remove the bottom enclosure | ||
| * Flip the mainboard and remove the main frame |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # Lenovo Sandy Bridge series | ||
|
|
||
| ## Flashing coreboot | ||
| ```eval_rst | ||
| +---------------------+--------------------+ | ||
| | Type | Value | | ||
| +=====================+====================+ | ||
| | Socketed flash | no | | ||
| +---------------------+--------------------+ | ||
| | Size | 8 MiB | | ||
| +---------------------+--------------------+ | ||
| | In circuit flashing | Yes | | ||
| +---------------------+--------------------+ | ||
| | Package | SOIC-8 | | ||
| +---------------------+--------------------+ | ||
| | Write protection | No | | ||
| +---------------------+--------------------+ | ||
| | Dual BIOS feature | No | | ||
| +---------------------+--------------------+ | ||
| | Internal flashing | Yes | | ||
| +---------------------+--------------------+ | ||
| ``` | ||
|
|
||
| ## Installation instructions | ||
| * Update the EC firmware, as there's no support for EC updates in coreboot. | ||
| * Do **NOT** accidently swap pins or power on the board while a SPI flasher | ||
| is connected. It will destroy your device. | ||
| * It's recommended to only flash the BIOS region. In that case you don't | ||
| need to extract blobs from vendor firmware. | ||
| If you want to flash the whole chip, you need blobs when building | ||
| coreboot. | ||
| * The shipped *Flash layout* allocates 3MiB to the BIOS region, which is the space | ||
| usable by coreboot. | ||
| * ROM chip size should be set to 8MiB. | ||
|
|
||
| ```eval_rst | ||
| Please also have a look at :doc:`../../flash_tutorial/index`. | ||
| ``` | ||
|
|
||
| ## Flash layout | ||
| There's one 8MiB flash which contains IFD, GBE, ME and BIOS regions. | ||
| On Lenovo's UEFI the EC firmware update is placed at the start of the BIOS | ||
| region. The update is then written into the EC once. | ||
|
|
||
| ![][fl] | ||
|
|
||
| [fl]: flashlayout_xx20.svg | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| # Lenovo Ivy Bridge series | ||
|
|
||
| ## Flashing coreboot | ||
| ```eval_rst | ||
| +---------------------+--------------------------------+ | ||
| | Type | Value | | ||
| +=====================+================================+ | ||
| | Socketed flash | no | | ||
| +---------------------+--------------------------------+ | ||
| | Size | 8 MiB + 4MiB | | ||
| +---------------------+--------------------------------+ | ||
| | In circuit flashing | Yes | | ||
| +---------------------+--------------------------------+ | ||
| | Package | SOIC-8 | | ||
| +---------------------+--------------------------------+ | ||
| | Write protection | No | | ||
| +---------------------+--------------------------------+ | ||
| | Dual BIOS feature | No | | ||
| +---------------------+--------------------------------+ | ||
| | Internal flashing | Yes | | ||
| +---------------------+--------------------------------+ | ||
| ``` | ||
|
|
||
| ## Installation instructions | ||
| * Update the EC firmware, as there's no support for EC updates in coreboot. | ||
| * Do **NOT** accidently swap pins or power on the board while a SPI flasher | ||
| is connected. It will permanently brick your device. | ||
| * It's recommended to only flash the BIOS region. In that case you don't | ||
| need to extract blobs from vendor firmware. | ||
| If you want to flash the whole chip, you need blobs when building | ||
| coreboot. | ||
| * The *Flash layout* shows that by default 7MiB of space are available for | ||
| the use with coreboot. | ||
| * In that case you only want to use a part of the BIOS region that must not | ||
| exceed 4MiB in size, which means CONFIG_CBFS_SIZE must be smaller than 4MiB. | ||
| * ROM chip size should be set to 12MiB. | ||
|
|
||
| ```eval_rst | ||
| Please also have a look at :doc:`../../flash_tutorial/index`. | ||
| ``` | ||
|
|
||
| ## Splitting the coreboot.rom | ||
|
|
||
| To split the coreboot.rom into two images (one for the 8MiB and one for the | ||
| 4 MiB flash IC), run the following commands: | ||
|
|
||
| ```bash | ||
| dd of=top.rom bs=1M if=build/coreboot.rom skip=8 | ||
| dd of=bottom.rom bs=1M if=build/coreboot.rom count=8 | ||
| ``` | ||
|
|
||
| That gives one ROM for each flash IC, where *top.rom* is the upper part of the | ||
| flash image, that resides on the 4 MiB flash and *bottom.rom* is the lower part | ||
| of the flash image, that resides on the 8 MiB flash. | ||
|
|
||
| ## Dumping a full ROM | ||
|
|
||
| If you flash externally you need to read both flash chips to get two images | ||
| (one for the 8MiB and one for the 4 MiB flash IC), and then run the following | ||
| command to concatenate the files: | ||
|
|
||
| ```bash | ||
| cat bottom.rom top.rom > firmware.rom | ||
| ``` | ||
|
|
||
| ## Flash layout | ||
| There's one 8MiB and one 4 MiB flash which contains IFD, GBE, ME and | ||
| BIOS region. These two flash ICs appear as a single 12MiB when flashing | ||
| internally. | ||
| On Lenovo's UEFI the EC firmware update is placed at the start of the BIOS | ||
| region. The update is then written into the EC once. | ||
|
|
||
| ![][fl] | ||
|
|
||
| [fl]: flashlayout_xx30.svg | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| # Elgon | ||
|
|
||
| This page describes how to run coreboot on the [Elgon] compute board | ||
| from [OpenCellular]. | ||
|
|
||
| ## TODO | ||
|
|
||
| * Add hard reset control | ||
|
|
||
| ## Flashing coreboot | ||
|
|
||
| ```eval_rst | ||
| +---------------------+------------+ | ||
| | Type | Value | | ||
| +=====================+============+ | ||
| | Socketed flash | no | | ||
| +---------------------+------------+ | ||
| | Model | W25Q128 | | ||
| +---------------------+------------+ | ||
| | Size | 16 MiB | | ||
| +---------------------+------------+ | ||
| | In circuit flashing | yes | | ||
| +---------------------+------------+ | ||
| | Package | SOIC-8 | | ||
| +---------------------+------------+ | ||
| | Write protection | No | | ||
| +---------------------+------------+ | ||
| | Dual BIOS feature | No | | ||
| +---------------------+------------+ | ||
| | Internal flashing | yes | | ||
| +---------------------+------------+ | ||
| ``` | ||
|
|
||
| ### Internal programming | ||
|
|
||
| The SPI flash can be accessed using [flashrom]. | ||
|
|
||
| ### External programming | ||
|
|
||
| The EVT board does have a pinheader to flash the SOIC-8 in circuit. | ||
| Directly connecting a Pomona test-clip on the flash is also possible. | ||
|
|
||
| **Total board view of EVT** | ||
|
|
||
| ![][elgon1] | ||
|
|
||
| [elgon1]: elgon1.jpg | ||
|
|
||
| **Closeup view of SOIC-8 flash IC and USB serial connector of EVT (marked blue)** | ||
|
|
||
| ![][elgon2] | ||
|
|
||
| [elgon2]: elgon2.jpg | ||
|
|
||
|
|
||
| **SPI header (marked blue)** | ||
|
|
||
| ![][elgon_conn_j9_pcb] | ||
|
|
||
| [elgon_conn_j9_pcb]: elgon_conn_j9_pcb.jpg | ||
|
|
||
| **SPI header pinout** | ||
|
|
||
| Dediprog compatible pinout. | ||
|
|
||
| ![][elgon_conn_j9] | ||
|
|
||
| [elgon_conn_j9]: elgon_conn_j9.png | ||
|
|
||
| ## Technology | ||
|
|
||
| ```eval_rst | ||
| +---------------+----------------------------------------+ | ||
| | SoC | :doc:`../../soc/cavium/cn81xx/index` | | ||
| +---------------+----------------------------------------+ | ||
| | CPU | Cavium ARMv8-Quadcore `CN81XX`_ | | ||
| +---------------+----------------------------------------+ | ||
| .. _CN81XX: https://www.cavium.com/product-octeon-tx-cn80xx-81xx.html | ||
| ``` | ||
|
|
||
| [Elgon]: https://github.com/Telecominfraproject/OpenCellular | ||
| [OpenCellular]: https://code.fb.com/connectivity/introducing-opencellular-an-open-source-wireless-access-platform/ | ||
| [flashrom]: https://flashrom.org/Flashrom |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| CONFIG_USE_BLOBS=y | ||
| CONFIG_VENDOR_GOOGLE=y | ||
| CONFIG_BOARD_GOOGLE_REEF=y | ||
| CONFIG_CHROMEOS=y | ||
| CONFIG_ADD_FSP_BINARIES=y | ||
| CONFIG_RESET_ON_INVALID_RAMSTAGE_CACHE=y | ||
| CONFIG_ELOG_GSMI=y | ||
| CONFIG_ELOG_BOOT_COUNT=y | ||
| CONFIG_ELOG_BOOT_COUNT_CMOS_OFFSET=144 | ||
| CONFIG_SPI_FLASH_SMM=y | ||
| # CONFIG_CONSOLE_SERIAL is not set | ||
| CONFIG_CMOS_POST=y | ||
| CONFIG_CMOS_POST_OFFSET=0x70 | ||
| CONFIG_CMOS_POST_EXTRA=y | ||
| CONFIG_PAYLOAD_NONE=y |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,16 @@ | ||
| CONFIG_LOCALVERSION="v4.8.0.6" | ||
| CONFIG_VENDOR_PCENGINES=y | ||
| CONFIG_PAYLOAD_CONFIGFILE="$(top)/src/mainboard/$(MAINBOARDDIR)/seabios_config" | ||
| CONFIG_BOARD_PCENGINES_APU1=y | ||
| CONFIG_NO_GFX_INIT=y | ||
| CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1=y | ||
| CONFIG_SEABIOS_REVISION=y | ||
| CONFIG_SEABIOS_REVISION_ID="rel-1.11.0.6" | ||
| CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder" | ||
| CONFIG_SEABIOS_DEBUG_LEVEL=0 | ||
| CONFIG_PXE=y | ||
| CONFIG_BUILD_IPXE=y | ||
| CONFIG_IPXE_MASTER=y | ||
| # CONFIG_PXE_SERIAL_CONSOLE is not set | ||
| CONFIG_MEMTEST_SECONDARY_PAYLOAD=y | ||
| CONFIG_SORTBOOTORDER_SECONDARY_PAYLOAD=y |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,39 +1,46 @@ | ||
| From 147174ea833e14ef68a8c5f1366cfbd1468dd1c8 Mon Sep 17 00:00:00 2001 | ||
| From: Wonkyu Kim <wonkyu.kim@intel.com> | ||
| Date: Wed, 10 Oct 2018 10:59:51 -0700 | ||
| Subject: [PATCH] CorebootPayloadPkg: don't use serial output for Release build | ||
|
|
||
| Signed-off-by: Wonkyu Kim <wonkyu.kim@intel.com> | ||
| --- | ||
| CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | 4 ++++ | ||
| CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 4 ++++ | ||
| 2 files changed, 8 insertions(+) | ||
|
|
||
| diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | ||
| index 6ddd64faf7a5..2e7055815add 100644 | ||
| --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | ||
| +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | ||
| @@ -261,7 +261,11 @@ | ||
| # | ||
| ################################################################################ | ||
| [PcdsFeatureFlag] | ||
| +!if $(TARGET) == DEBUG | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE | ||
| +!else | ||
| + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE | ||
| +!endif | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE | ||
| diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | ||
| index 19c203e6cbb6..b00b7b0e1134 100644 | ||
| --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | ||
| +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | ||
| @@ -261,7 +261,11 @@ | ||
| # | ||
| ################################################################################ | ||
| [PcdsFeatureFlag] | ||
| +!if $(TARGET) == DEBUG | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE | ||
| +!else | ||
| + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE | ||
| +!endif | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE | ||
| gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE | ||
| -- | ||
| 2.17.1 | ||
|
|