+#if HAVE_ACPI_RESUME == 1
- /* clear only coreboot used region of memory. Note: this may break ECC enabled boards */
- clear_memory( _RAMBASE, (CONFIG_LB_MEM_TOPK << 10) - _RAMBASE - DCACHE_RAM_SIZE);
+#else clear_memory(0, ((CONFIG_LB_MEM_TOPK<<10) - DCACHE_RAM_SIZE));
+#endif }
here is a suggestion.
replace all this with: /* clear the coreboot memory */ clear_memory( _RAMBASE, (CONFIG_LB_MEM_TOPK << 10) - _RAMBASE - DCACHE_RAM_SIZE); /* We need to sync up ECC tags if this is a power-on or reset */ /* we should have a clean way to test this but, for now, we'll just always do it. * Note: fixing this in the right way will speed up resume substantially. */ /* init all non-coreboot memory ECC tags */ memcpy(non-lb-memory-pointer, non-lb-memory-pointer, non-lb-memory-size);
I will leave it to you to fill in the blanks. Please, no #ifdef around this very important piece of code. Let's not put in changes that we *know* will break boards :-)
ron
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I will leave it to you to fill in the blanks. Please, no #ifdef around this very important piece of code. Let's not put in changes that we *know* will break boards :-)
Hmm I dont have an ECC board. So maybe Myles could test. Second reason is that I prefer to have here the ifdef because the RESUME stuff is quite unmature but works at least somehow. I'm willing to test the changes when we know it works on ECC boards,
Thanks for help, Rudolf
On Mon, May 4, 2009 at 2:41 PM, Rudolf Marek r.marek@assembler.cz wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I will leave it to you to fill in the blanks. Please, no #ifdef around this very important piece of code. Let's not put in changes that we *know* will break boards :-)
Hmm I dont have an ECC board. So maybe Myles could test.
It didn't break my board. Samuel and Ward had boards that broke.
Thanks, Myles
On Mon, May 4, 2009 at 1:41 PM, Rudolf Marek r.marek@assembler.cz wrote:
Hmm I dont have an ECC board. So maybe Myles could test. Second reason is that I prefer to have here the ifdef because the RESUME stuff is quite unmature but works at least somehow. I'm willing to test the changes when we know it works on ECC boards,
I am pretty sure that code i just posted will work for any board. Although I am being optimistic calling it "code", I realize :-)
But, can you try it? It really ought to Do No Harm, and will allow us all to proceed without worrying about this again. We all want your RESUME stuff, so we might as well just try to get this done in a way that works for the long term.
ron