The following changes are done in this patch:
1. Get the CSE partition info containing version of CSE RW using
GET_BOOT_PARTITION_INFO HECI command
2. Get the me_rw.version from the currently selected RW slot.
3. If the versions from the above 2 locations don't match start the update
- If CSE's current boot partition is not RO, then
* Set the CSE's next boot partition to RO using SET_BOOT_PARTITION
HECI command.
* Send global reset command to reset the system.
- Enable HMRFPO (Host ME Region Flash Protection Override) operation
mode using HMRFPO_ENABLE HECI command
- Erase and Copy the CBFS CSE RW to CSE RW partition
- Set the CSE's next boot partition to RW using
SET_BOOT_PARTITION HECI command
- Trigger global reset
- The system should boot with the updated CSE RW partition.
TEST=Verified basic update flows on hatch and helios.
BUG=b:111330995
Change-Id: I12f6bba3324069d65edabaccd234006b0840e700
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Signed-off-by: V Sowmya <v.sowmya@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35403
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
|
||
|---|---|---|
| .. | ||
| _static | ||
| acpi | ||
| arch | ||
| community | ||
| contributing | ||
| doxygen | ||
| drivers | ||
| flash_tutorial | ||
| getting_started | ||
| gfx | ||
| ifdtool | ||
| Intel | ||
| lib | ||
| mainboard | ||
| northbridge | ||
| releases | ||
| RFC | ||
| security | ||
| soc | ||
| superio | ||
| technotes | ||
| tutorial | ||
| vendorcode | ||
| AMD-S3.txt | ||
| beginverbatim.tex | ||
| cbfs.txt | ||
| codeflow.svg | ||
| coding_style.md | ||
| conf.py | ||
| COPYING | ||
| coreboot_logo.png | ||
| corebootBuildingGuide.tex | ||
| distributions.md | ||
| Doxyfile.coreboot | ||
| Doxyfile.coreboot_simple | ||
| endverbatim.tex | ||
| gcov.txt | ||
| hypertransport.svg | ||
| index.md | ||
| mainboard_io_trap_handler_sample.c | ||
| Makefile | ||
| Makefile.sphinx | ||
| payloads.md | ||
| POSTCODES | ||
| util.md | ||