coreboot/src
Petr Cvek e75bb01efa northbridge/intel/i945: Fix GCC optimizing out cache preload jump
Clock config setup must be run from cache. Original code used "goto"
to prefetch the code required to update the VCO (by jumping after
the code and back before). The GCC since at least 12.1.0 and clang
since at least 13.0.1 will elimitate these jumps.

Use inline assembler to force the original code flow.

TEST=Verified assembly code is the same as generated by GCC 12.1.0
and boot tested on Kontron 986LCD-M.

Signed-off-by: Petr Cvek <petrcvekcz@gmail.com>
Change-Id: I67c2072b5983a5bd845631af136ae5a003c7ea3c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65174
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-07-14 12:51:12 +00:00
..
acpi treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
arch arch/x86/acpi: Replace ShiftLeft() with ASL 2.0 syntax 2022-06-09 09:07:18 +00:00
commonlib treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
console console: Make CONSOLE_SPI_FLASH depend on BOOT_DEVICE_SPI_FLASH 2022-04-27 06:55:47 +00:00
cpu cpu/amd: Add common helpers for TSEG and SMM 2022-07-13 14:56:38 +00:00
device allocator_v4: Make it explicit that we start with the highest alignment 2022-06-27 14:00:23 +00:00
drivers */fsp/exit_car: Push stack address into %esp 2022-07-09 17:05:19 +00:00
ec ec/google/chromec: Update ACPI handlers for GPU 2022-07-13 16:09:06 +00:00
include soc/intel/common/graphics: Add another Meteor Lake device ID 2022-07-07 23:59:37 +00:00
lib lib/fit.c: Don't align memory regions to 1MB 2022-07-08 00:00:24 +00:00
mainboard soc/intel/broadwell: Drop vboot support 2022-07-14 12:50:40 +00:00
northbridge northbridge/intel/i945: Fix GCC optimizing out cache preload jump 2022-07-14 12:51:12 +00:00
security cpu/x86/mp_init: retype do_smm element in mp_state struct to bool 2022-07-13 10:44:08 +00:00
soc soc/intel/broadwell: Drop vboot support 2022-07-14 12:50:40 +00:00
southbridge soc,sb/amd: Change SPI controller resource 2022-06-28 14:53:32 +00:00
superio superio/nuvoton/nct6687d: Add ramstage driver and ACPI 2022-07-08 15:40:31 +00:00
vendorcode vc/intel/fsp2_0: Update partial headers to MTL.FSP2253.00 2022-07-13 08:40:39 +00:00
Kconfig src/Kconfig: src/soc/*/Kconfig files are gone, remove the include 2022-06-24 04:00:15 +00:00