coreboot/src
Matt DeVillier 5034f8629f soc/intel/common: Add spinlock protection to fast SPI flash operations
Add spinlock synchronization to prevent concurrent SPI flash controller
access from multiple CPUs in SMP environments. The spinlock serializes
access to the SPI controller hardware in exec_sync_hwseq_xfer().

If SMP is not enabled, spinlock functions are no-ops, so this change
is safe for both SMP and non-SMP configurations.

This resolves an issue seen on the Starlabs Starfighter MTL where
multiple SPI transaction errors occurred when reading option variables
stored in SMMSTORE:

[ERROR] SPI Transaction Error at Flash Offset 103002a HSFSTS = 0x01016022
[ERROR] SPI Transaction Error at Flash Offset 1030004 HSFSTS = 0x01006022
[ERROR] SPI Transaction Error at Flash Offset 1030000 HSFSTS = 0x3f006022
...

Change-Id: Ic3003b0a986b587622102b6f36714bcb16c3d976
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90283
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
2026-01-09 16:40:56 +00:00
..
acpi acpigen_ps2_keybd: map screenlock 2026-01-07 16:24:50 +00:00
arch include/cper.h: Update cper_ia32x64_context_t 2026-01-07 09:41:26 +00:00
commonlib coreboot_tables: Add new CBMEM ID to hold the PCI RB aperture info 2026-01-09 00:30:03 +00:00
console console: Fix flushing for slow consoles 2025-10-02 22:44:46 +00:00
cpu Makefile.mk,cpu/intel/fit/Makefile.mk: introduce CBFS_REGIONS 2025-12-20 17:39:22 +00:00
device device/Kconfig: Gate early libgfxinit default on ChromeOS 2026-01-01 17:14:14 +00:00
drivers drv/intel/mipi_camera: Verify SSDB only for camera sensors 2026-01-09 16:40:38 +00:00
ec ec/starlabs/merlin: Reorganize Kconfig and guard options properly 2025-12-29 23:59:52 +00:00
include include/cpu/x86/msr.h: Add MCA related MSRs 2026-01-08 18:24:23 +00:00
lib coreboot_tables: Add new CBMEM ID to hold the PCI RB aperture info 2026-01-09 00:30:03 +00:00
mainboard mb/google/volteer: Add IPUA device and sensor names 2026-01-09 15:03:23 +00:00
northbridge device/dram/ddr3: Fill in voltage fields for SMBIOS type 17 2025-12-08 02:36:00 +00:00
sbom sbom: Fix build with merged bootblock and romstage 2025-07-07 14:29:29 +00:00
security include/cpu/x86/msr.h: Add MCA related MSRs 2026-01-08 18:24:23 +00:00
soc soc/intel/common: Add spinlock protection to fast SPI flash operations 2026-01-09 16:40:56 +00:00
southbridge sb/intel/common/firmware/Makefile.mk: fix INTEL_IFD_SET_TOP_SWAP_BOOTBLOCK_SIZE 2025-12-11 00:10:29 +00:00
superio sio/nuvoton/common: Refactor nuvoton_pnp_*_config_state() 2026-01-03 03:40:12 +00:00
vendorcode vc/intel/fsp/fsp2_0/pantherlake: Update PTL FSP headers to FSP 3442.07 2026-01-08 07:12:12 +00:00
Kconfig src/Kconfig: add MAINBOARD_NEEDS_CMOS_OPTIONS 2025-12-20 17:39:00 +00:00