From 1c85c7794ebf7f98862d9c94541b02b6264c9a7f Mon Sep 17 00:00:00 2001 From: Kerry She Date: Sat, 7 May 2011 08:37:38 +0000 Subject: 1. move _mm_clflush_fs() to __SSE3__ block, because __builtin_ia32_sfence() is the sse built-in function 2. move the Amd Lib functions using sse build-in functions to __SSE3__ block Signed-off-by: Kerry She Acked-by: Marc Jones git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6558 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/vendorcode/amd/agesa/Include/gcc-intrin.h | 2 +- src/vendorcode/amd/agesa/Lib/amdlib.c | 38 +++++++++++++++------------ 2 files changed, 22 insertions(+), 18 deletions(-) (limited to 'src/vendorcode') diff --git a/src/vendorcode/amd/agesa/Include/gcc-intrin.h b/src/vendorcode/amd/agesa/Include/gcc-intrin.h index bacd83c1d6..58438b9815 100644 --- a/src/vendorcode/amd/agesa/Include/gcc-intrin.h +++ b/src/vendorcode/amd/agesa/Include/gcc-intrin.h @@ -572,7 +572,6 @@ static __inline__ __attribute__((always_inline)) void _mm_stream_si128_fs (void data = (__m128i) __builtin_ia32_lddqu ((char const *)__B); _mm_stream_si128_fs2 (__A, data); } -#endif static __inline__ __attribute__((always_inline)) void _mm_clflush_fs (void *__A) { @@ -589,6 +588,7 @@ static __inline __attribute__(( __always_inline__)) void _mm_sfence (void) { __builtin_ia32_sfence (); } +#endif static __inline__ __attribute__((always_inline)) void __stosb(unsigned char *dest, unsigned char data, size_t count) { diff --git a/src/vendorcode/amd/agesa/Lib/amdlib.c b/src/vendorcode/amd/agesa/Lib/amdlib.c index 1a30dd2f7a..192e34d1e5 100644 --- a/src/vendorcode/amd/agesa/Lib/amdlib.c +++ b/src/vendorcode/amd/agesa/Lib/amdlib.c @@ -401,6 +401,8 @@ LibAmdSimNowEnterDebugger ( }; ((VOID (*)(VOID)) (size_t) opcode) (); // call the function } + +#ifdef __SSE3__ VOID F10RevDProbeFilterCritical ( IN PCI_ADDR PciAddress, IN UINT32 PciRegister @@ -416,23 +418,7 @@ VOID F10RevDProbeFilterCritical ( _mm_mfence (); __writemsr (0xC001001F, msrsave); } -VOID -IdsOutPort ( - IN UINT32 Addr, - IN UINT32 Value, - IN UINT32 Flag - ) -{ - __outdword ((UINT16) Addr, Value); -} -VOID -StopHere ( - VOID - ) -{ - VOLATILE UINTN x = 1; - while (x); -} + VOID LibAmdCLFlush ( IN UINT64 Address, @@ -450,7 +436,25 @@ LibAmdCLFlush ( } RestoreHwcr (hwcrSave); } +#endif //__SSE3__ +VOID +IdsOutPort ( + IN UINT32 Addr, + IN UINT32 Value, + IN UINT32 Flag + ) +{ + __outdword ((UINT16) Addr, Value); +} +VOID +StopHere ( + VOID + ) +{ + VOLATILE UINTN x = 1; + while (x); +} /*---------------------------------------------------------------------------------------*/ /** -- cgit v1.2.3