[coreboot-gerrit] New patch to review for coreboot: e9eb37d AMD AGESA: Remove INVD instruction when transitioning from CAR

Bruce Griffith (Bruce.Griffith@se-eng.com) gerrit at coreboot.org
Tue Aug 13 12:30:48 CEST 2013

Bruce Griffith (Bruce.Griffith at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3856


commit e9eb37d1b5ccbb78ed88a90d4e07d1af5615e4a1
Author: Bruce Griffith <bruce.griffith at se-eng.com>
Date:   Mon Aug 12 01:53:13 2013 -0600

    AMD AGESA: Remove INVD instruction when transitioning from CAR
    The AMD AGESA function to move the stack from cache-as-ram to
    actual RAM doesn't need any help.  The current implementation has
    an INVD instruction just before cache-as-RAM is torn down. It isn't
    needed for Trinity processors and makes Kabini boot unreliable.
    Change-Id: I0688b3183371a9b14da6ff3303fa27c5147d59cd
    Signed-off-by: Bruce Griffith <bruce.griffith at se-eng.com>
 src/cpu/amd/agesa/cache_as_ram.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/cpu/amd/agesa/cache_as_ram.inc b/src/cpu/amd/agesa/cache_as_ram.inc
index c645a1e..449cf69 100755
--- a/src/cpu/amd/agesa/cache_as_ram.inc
+++ b/src/cpu/amd/agesa/cache_as_ram.inc
@@ -85,6 +85,7 @@ stop:
   /* Save return stack */
+  movd 0(%esp), %xmm1
   movd %esp, %xmm0
   /* Disable cache */
@@ -92,8 +93,6 @@ disable_cache_as_ram:
   orl	$CR0_CacheDisable, %eax
   movl	%eax, %cr0
-  invd
   /* enable cache */
@@ -103,7 +102,9 @@ disable_cache_as_ram:
   xorl %eax, %eax
   /* Restore the return stack */
+  wbinvd
   movd %xmm0, %esp
+  movd %xmm1, (%esp)

More information about the coreboot-gerrit mailing list