summaryrefslogtreecommitdiff
path: root/src/vendorcode/amd
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2023-05-18 10:56:10 +0200
committerFelix Held <felix-coreboot@felixheld.de>2023-05-24 12:16:37 +0000
commit1e45295236affdb54f3bd470573423ac54aabb52 (patch)
treec1947e68e7af613d3949463e02f8fe204725c3d2 /src/vendorcode/amd
parent9d475bf6de63f4e05bba39e4771e0d32c07c0c9b (diff)
vc/amd/pi/amdlib.c: Use native coreboot code over compiler builtins
Compiler builtins depend on certain CPU features flags to be passed to the compiler. This may have unwanted side effects as generating code with FPU registers. Instead use native coreboot code. Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Change-Id: I4e92d103fa3a6c7a56e813a583b3262676969669 Reviewed-on: https://review.coreboot.org/c/coreboot/+/75321 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/vendorcode/amd')
-rw-r--r--src/vendorcode/amd/pi/Lib/amdlib.c6
-rw-r--r--src/vendorcode/amd/pi/Makefile.inc1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/vendorcode/amd/pi/Lib/amdlib.c b/src/vendorcode/amd/pi/Lib/amdlib.c
index cc742301d6..ec3b53b017 100644
--- a/src/vendorcode/amd/pi/Lib/amdlib.c
+++ b/src/vendorcode/amd/pi/Lib/amdlib.c
@@ -45,6 +45,8 @@
#include <AGESA.h>
#include <cpuRegisters.h>
+#include <cpu/x86/mp.h>
+#include <cpu/x86/cache.h>
#include <Filecode.h>
#include <Ids.h>
#include <Porting.h>
@@ -488,8 +490,8 @@ LibAmdCLFlush (
address32 = 0;
hwcrSave = SetFsBase (Address);
for (Index = 0; Index < Count; Index++){
- _mm_mfence ();
- _mm_clflush_fs (&address32 [Index * 64]);
+ mfence();
+ clflush(&address32 [Index * 64]);
}
RestoreHwcr (hwcrSave);
}
diff --git a/src/vendorcode/amd/pi/Makefile.inc b/src/vendorcode/amd/pi/Makefile.inc
index e62abab9cd..b00e38b2e8 100644
--- a/src/vendorcode/amd/pi/Makefile.inc
+++ b/src/vendorcode/amd/pi/Makefile.inc
@@ -88,7 +88,6 @@ AGESA_INC += -I$(src)/commonlib/include
AGESA_INC += -I$(src)/commonlib/bsd/include
AGESA_INC += -I$(VBOOT_SOURCE)/firmware/include
-AGESA_CFLAGS += -march=amdfam10 -mno-3dnow
AGESA_CFLAGS += -Wno-pragma-pack
AGESA_CFLAGS += -fno-strict-aliasing -D__LIBAGESA__
CFLAGS_x86_32 += $(AGESA_CFLAGS)