coreboot-kgpe-d16/src/cpu
Jeremy Compostella 4a2ce029fb cpu/x86/mp_init: Use clflush to write SIPI data back to RAM
Improve boot time performances by replacing the wbinvd instruction
with multiple clflush to ensure that the SIPI data is written back to
RAM.

According to some experimental measurements, the wbinvd execution
takes between 1.6 up and 6 milliseconds to complete. In the case of
the SIPI data, wbinvd unnecessarily flushes and invalidates the entire
cache. Indeed, the SIPI module is quite small (about 400 bytes) and
cflush'ing the associated cache lines is almost instantaneous,
typically less than 100 microseconds.

BUG=b/260455826
TEST=Successful boot on Skolas and Rex board

Change-Id: I0e00db8eaa6a3cb41bec3422572c8f2a9bec4057
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Suggested-by: Erin Park <erin.park@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75391
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2023-05-31 14:22:31 +00:00
..
amd cpu/amd/pi/00730f01/Kconfig: use hexadecimal CPU number in ACPI 2023-05-16 21:25:34 +00:00
armltd
intel cpu/intel/haswell: Add Broadwell Trad µcode updates 2023-05-27 00:03:12 +00:00
power9 src/cpu/power9: move part of scom.h to scom.c 2023-04-18 13:05:56 +00:00
qemu-power8
qemu-x86 cpu/qemu-x86/cache_as_ram_bootblock: drop duplicated post code 2023-05-18 16:05:02 +00:00
x86 cpu/x86/mp_init: Use clflush to write SIPI data back to RAM 2023-05-31 14:22:31 +00:00
Kconfig cpu/Kconfig: Remove MMX config option 2023-05-25 13:11:30 +00:00
Makefile.inc cpu/Makefile.inc: Fix rebuilding a new target 2022-06-17 14:26:55 +00:00