Im sorry that Im again posting not exactly on the topic of linuxbios, but I know that people reading this list have the knowledge about the subject that im interested in.
Does reinitializing memory controler destroy all the data in ram? Lets say I boot the computer, bios sets up the memory controller, then runs bootloader, then my code. Now my code (using CAR) once again reinitializes memory controller (sets up everything just like the bios, only changes timings), will all the data be in ram after this? or will it get wiped out/destroyed?
At first I was hoping that Bios initializes memory controller only on cold boot, but it does it on soft ones too :(, my hope now lies in attaching a bios module to reinitialize it after the bios is executed. I want my code to be able to set all the timings. I can do it for tRCD tRP tRAS, but almost all controllers dont like tCAS changes and will simply hang up the computer (KT133 and AMD64 to name a few).
It would be a lot simplier if linuxbios could just boot XP crap :(
On 6/10/07, RusH citizenr@gmail.com wrote:
It would be a lot simplier if linuxbios could just boot XP crap :(
umm no it wouldnt, I dont know what I was thinking :)
Im asking about reinitialization because I want to implement it in Memtest (memtest.org). I want to be able to setup memory controler the way I like and continue the test. Memtest is big (>100KB) and Im affraid it wont fit in cache so i need some real ram. Thats where the 'jump to CAR, reinitialize controller, jump back to ram' idea comes from. Is it doable?
On 10.06.2007 06:40, RusH wrote:
Im asking about reinitialization because I want to implement it in Memtest (memtest.org). I want to be able to setup memory controler the way I like and continue the test. Memtest is big (>100KB) and Im affraid it wont fit in cache so i need some real ram. Thats where the 'jump to CAR, reinitialize controller, jump back to ram' idea comes from. Is it doable?
Why not run Memtest from graphics card RAM? A few years ago, graphics card RAM was really low quality, so periodic checksumming of any software running there might be necessary.
Does reinitializing memory controler destroy all the data in ram?
Depends. Some embedded systems (like the OLPC laptop) put memory into self-refresh for suspend-to-RAM and reinitialize the memory controller on resume without losing any contents. However, I wouldn't count on that for any recent non-embedded x86 system.
Regards, Carl-Daniel
On 6/10/07, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
On 10.06.2007 06:40, RusH wrote:
Im asking about reinitialization because I want to implement it in Memtest (memtest.org). I want to be able to setup memory controller the way I like and continue the test. Memtest is big (>100KB) and Im afraid it wont fit in cache so i need some real ram. That's where the 'jump to CAR, reinitialize controller, jump back to ram' idea comes from. Is it doable?
Why not run Memtest from graphics card RAM? A few years ago, graphics card RAM was really low quality, so periodic checksumming of any software running there might be necessary.
Date: Wed, 30 May 2007 18:57:44 +0200 From: RusH citizenr@gmail.com To: linuxbios@linuxbios.org Subject: using Graphics card ram as actual ram? Message-ID: 3df49b7b0705300957l3d063c50p404ed2cb07b8bd9@mail.gmail.com
so yes, i was thinking about it :)
Does reinitializing memory controller er destroy all the data in ram?
Depends. Some embedded systems (like the OLPC laptop) put memory into self-refresh for suspend-to-RAM and reinitialize the memory controller on resume without losing any contents. However, I wouldn't count on that for any recent non-embedded x86 system.
What about AMD64 controller? I know I can change a lot of timings on it, but changing tCAS is not possible without reinitializing, that's why I want to be able to reinitialize on the fly.
I read somewhere that reinitializing (memory allready set up earlier) without touching the mappings would be ok, but I want to be sure before starting coding (easier to ask than sit on it a good week and wonder why it doesnt work).
I guess I'll have to check for myself. All I got now is two boards with KT133 chipset, and that doesnt look to be supported (but PLE133/CLE266 are similar, so maybe that code will do).
RusH wrote:
Does reinitializing memory controler destroy all the data in ram?
Yes.
You might be able to get away with some minor changes to memory controller settings, but nothing would be guaranteed by the chipset maker to be stable. Chipsets typically aren't designed to be reinitialized while saving the data in RAM at the same time. The data in RAM is indeterminate until after the memory controller is fully initialized.
-Bari