[coreboot] [LinuxBIOS] Messing with CAR in a big way

Rudolf Marek r.marek at assembler.cz
Mon Jan 14 23:59:38 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

> K8 is a bit different than Intel and the Geode in how CAR works. For the 
> K8 the cache is always left enabled. I think that means that the tags 
> should all be correct and that a copy shouldn't be required, just the 
> wbinvd. There has been some discussion about wbind and invd. I have 
> always thought that a wbind should work as long as there is memory 
> backing that area in cache. I think someone just needs to try it.

I checked all documentation and it seems writeback does not work on pre rev F.
of CPUs. Cache must be always invalidated.

Hmm I have some troubles on Opteron 175. I switched Coreboot to _RAMBASE=3MB and
TOPK to 4096, I also fixed the initial cleaning routine to clean just

clear_memory(_RAMBASE,  (CONFIG_LB_MEM_TOPK<<10) - DCACHE_RAM_SIZE) );

But CPU never returns from clear_init_ram, maybe some tags get b0rked.

I tried the copy-on-same-place trick and removed the stack relocation and it
worked too.

My code looks like this now:

disable_cache_as_ram_bsp();
 memcopy((void *)DCACHE_RAM_BASE , (void *)DCACHE_RAM_BASE, DCACHE_RAM_SIZE);
__asm__("invd\n");
 clear_init_ram();


Also I applied the cleanup patch for cache_as_ram.inc.

Seems to work, except there must be some other problem with resource management.
When:

Reading resources ....
all entries are listed, but no "Done". I think I have seen this problem already
when I removed the call for clear_memory some time ago so something must use
some untitialized memory from 0-3MB which is strange. I think it will get work
again if I just add clear 0-640KB. I will try before sleep now.

Rudolf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHi+la3J9wPJqZRNURAvgFAKDUg64W+U+NvhhGRq0hVlXZeBxoWgCcDABU
C8MHQjKDILAtxeUUgZgkQOs=
=FSfb
-----END PGP SIGNATURE-----




More information about the coreboot mailing list