[coreboot] [LinuxBIOS] Messing with CAR in a big way
r.marek at assembler.cz
Mon Jan 14 23:59:38 CET 2008
-----BEGIN PGP SIGNED MESSAGE-----
> 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
My code looks like this now:
memcopy((void *)DCACHE_RAM_BASE , (void *)DCACHE_RAM_BASE, DCACHE_RAM_SIZE);
Also I applied the cleanup patch for cache_as_ram.inc.
Seems to work, except there must be some other problem with resource management.
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the coreboot