> II) we have some L1 data cache evicted into L2. This really happens in our 
> CAR!
> print_debug("Copying data from cache to RAM -- switching to use RAM as 
> stack...");
> memcopy((void *)((CONFIG_RAMTOP)-CONFIG_DCACHE_RAM_SIZE), (void
> *)CONFIG_DCACHE_RAM_BASE, CONFIG_DCACHE_RAM_SIZE);
>
> It happens here because we do copy from CAR region to RAM while CAR is still
> running. Both regions are WB so we must evict some L1 cache lines for sure, 
> and
> performance counters confirm this. You may say this is not an issue because 
> RAM
> is running normally, but for example while we resume from S3 we cannot 
> overwrite
> random memory with out CAR... I think this evictions so far happens only here
> and still things works nice here is why:
Are you sure they're both WB?  Since CAR is running, we don't disable
the cache and enable it again, which is recommended when setting an
MTRR.  I commented out the line that sets that MTRR and can't tell a
difference.

I like the rest of analysis.

Thanks,
Myles

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to