Bruce Griffith (Bruce.Griffith@se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3856
-gerrit
commit e9eb37d1b5ccbb78ed88a90d4e07d1af5615e4a1 Author: Bruce Griffith bruce.griffith@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@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:
disable_cache_as_ram: /* 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 - AMD_DISABLE_STACK
/* enable cache */ @@ -103,7 +102,9 @@ disable_cache_as_ram: xorl %eax, %eax
/* Restore the return stack */ + wbinvd movd %xmm0, %esp + movd %xmm1, (%esp) ret
cache_as_ram_setup_out: