[coreboot] [commit] r6558 - in trunk/src/vendorcode/amd/agesa: Include Lib

repository service svn at coreboot.org
Sat May 7 10:37:39 CEST 2011


Author: kerry
Date: Sat May  7 10:37:38 2011
New Revision: 6558
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6558

Log:
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 <kerry.she at amd.com>
Acked-by: Marc Jones <marcj303 at gmail.com>

Modified:
   trunk/src/vendorcode/amd/agesa/Include/gcc-intrin.h
   trunk/src/vendorcode/amd/agesa/Lib/amdlib.c

Modified: trunk/src/vendorcode/amd/agesa/Include/gcc-intrin.h
==============================================================================
--- trunk/src/vendorcode/amd/agesa/Include/gcc-intrin.h	Sat May  7 10:33:14 2011	(r6557)
+++ trunk/src/vendorcode/amd/agesa/Include/gcc-intrin.h	Sat May  7 10:37:38 2011	(r6558)
@@ -572,7 +572,6 @@
   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 @@
 {
   __builtin_ia32_sfence ();
 }
+#endif
 
 static __inline__ __attribute__((always_inline)) void __stosb(unsigned char *dest, unsigned char data, size_t count)
 {

Modified: trunk/src/vendorcode/amd/agesa/Lib/amdlib.c
==============================================================================
--- trunk/src/vendorcode/amd/agesa/Lib/amdlib.c	Sat May  7 10:33:14 2011	(r6557)
+++ trunk/src/vendorcode/amd/agesa/Lib/amdlib.c	Sat May  7 10:37:38 2011	(r6558)
@@ -401,6 +401,8 @@
                                  };
   ((VOID (*)(VOID)) (size_t) opcode) (); // call the function
 }
+
+#ifdef __SSE3__
 VOID F10RevDProbeFilterCritical (
   IN       PCI_ADDR PciAddress,
   IN       UINT32   PciRegister
@@ -416,23 +418,7 @@
   _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 @@
   }
   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);
+}
 
 /*---------------------------------------------------------------------------------------*/
 /**




More information about the coreboot mailing list