I hope someone can clarify this for me. The main purpose of the raminit.c file is to:
a) setup the most minimal northbridge memory registry b) detect spd to find memory parimeters c) set the spd parimeters in the northbridge memory registry d) startup memory
Is this correct?? The main question I have is how do I know which of the northbridge memory registers need to be setup on initially?? If they are to use their default values to I even need to include them?? Or should I just set them all up?? Please Help me out here.
Thanks - Joe
* joe@smittys.pointclark.net joe@smittys.pointclark.net [070322 00:48]:
a) setup the most minimal northbridge memory registry b) detect spd to find memory parimeters c) set the spd parimeters in the northbridge memory registry d) startup memory
Is this correct??
a) sounds suspicious. No "minimal" setup, but rather "those registers of the memory controller that don't have to be setup via c.
The main question I have is how do I know which of the northbridge memory registers need to be setup on initially?? If they are to use their default values to I even need to include them?? Or should I just set them all up??
Heh. :-) That is the tricky part. You have to read the docs, and try to understand, and you can compare the registers to those of the legacy bios.
Some chipsets have a "bios porting guide", but except for AMD chipsets, they are usually hard to get.
Stefan
Quoting Stefan Reinauer stepan@coresystems.de:
- joe@smittys.pointclark.net joe@smittys.pointclark.net [070322 00:48]:
a) setup the most minimal northbridge memory registry b) detect spd to find memory parimeters c) set the spd parimeters in the northbridge memory registry d) startup memory
Is this correct??
a) sounds suspicious. No "minimal" setup, but rather "those registers of the memory controller that don't have to be setup via c.
The main question I have is how do I know which of the northbridge memory registers need to be setup on initially?? If they are to use their default values to I even need to include them?? Or should I just set them all up??
Heh. :-) That is the tricky part. You have to read the docs, and try to understand, and you can compare the registers to those of the legacy bios.
Some chipsets have a "bios porting guide", but except for AMD chipsets, they are usually hard to get.
Stefan
Ok, that makes sense. I was able to get the all of the memory register settings via the legacy bios. So should I just set the ones that are not the default values? Also, is there a "bios porting guide" for intel chipsets??
Thanks again - Joe
-- coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: info@coresystems.de • http://www.coresystems.de/
* joe@smittys.pointclark.net joe@smittys.pointclark.net [070322 01:01]:
Ok, that makes sense. I was able to get the all of the memory register settings via the legacy bios. So should I just set the ones that are not the default values?
yes, basically. In the beginning you can just start by poking the legacy bios values in there.
Then, if that works, start replacing those that need to be set based on SPD values by the values you calculated.
This way you have several smaller problems instead of a big one
Also, is there a "bios porting guide" for intel chipsets??
yes. But you need an NDA, and to get that you need a use case (many machines involved -> Business for Intel), which will be hard to get for older hardware.
Stefan
* Stefan Reinauer stepan@coresystems.de [070322 01:40]:
Ok, that makes sense. I was able to get the all of the memory register settings via the legacy bios. So should I just set the ones that are not the default values?
yes, basically.
Forget what I said. Eric is right. You should set up all registers, not just the changing ones.
joe@smittys.pointclark.net writes:
I hope someone can clarify this for me. The main purpose of the raminit.c file is to:
a) setup the most minimal northbridge memory registry b) detect spd to find memory parimeters c) set the spd parimeters in the northbridge memory registry d) startup memory
Is this correct??
Basically.
The main question I have is how do I know which of the northbridge memory registers need to be setup on initially?? If they are to use their default values to I even need to include them??
Never trust hardware to have default values, if you can help it. Hardware engineers like to leave registers floating (so they can take random values) if the don't absolutely have to initialize them. Plus there are other cases like reset and very short power offs where the capacitance in registers can help them hold a value.
Or should I just set them all up??
Yes. If you know a good value for the register to have you should set it up.
Also carefully test it remembering that people are fallible so the is probably something missed or slightly incorrect in the documentation.
Eric