I need to build a bios for the clearwater with no fallback/normal images. Just a single image.
I find myself unsure how to do this, I've not looked in depth at the fallback/normal build stuff.
Is there a simple option so I can build an image w/o the fallback/normal stuff on systems like clearwater that are configured for fallback/normal?
thanks
ron
Greetings,
The fallback/normal all hinges on weather it's built with cmos_failover.inc or noop_failover.inc in the southbridge. cmos_failover looks at index 0x30 in the CMOS to decide if it should jump into the normal image or not. It copies bit 0 to bit 1, zeros bit 0, and validates the checksum. IFF the CMOS checksum is valid, the RTC indicates no power failure and bit 1 (the value from bit 0) is set, it will jump to the normal image. Otherwise it will fall through.
The checksum is just the summation of index 0x31 - 0x7d then complemented. That is stored in 0x7e-7f.
So you can either set USE_FALLBACK_IMAGE and edit Config to use noop_failover.inc, or just don't set 0x30 bit 0 and the checksum.
G'day, sjames
On Mon, 3 Mar 2003, Ronald G. Minnich wrote:
I need to build a bios for the clearwater with no fallback/normal images. Just a single image.
I find myself unsure how to do this, I've not looked in depth at the fallback/normal build stuff.
Is there a simple option so I can build an image w/o the fallback/normal stuff on systems like clearwater that are configured for fallback/normal?
thanks
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Mon, 3 Mar 2003, steven james wrote:
So you can either set USE_FALLBACK_IMAGE and edit Config to use noop_failover.inc, or just don't set 0x30 bit 0 and the checksum.
yes but ... if I build with normal, and it uses noop_failover, it still builds an image that is 1M-64K, leaving room for the fallback. How do I change this behaviour? I have told it hte ROM_SIZE is 1M
ron
Greetings,
The trick is to build a fallback image! The idea is that at least a fallback image is necessary. A normal image is optional. The normal image doesn't have the power on reset vector at 0xffff0 anyway, only the protected vector at 0xffff8. Also, the normal image gets linked to reside at 0xfffe0000.
G'day, sjames
On Mon, 3 Mar 2003, Ronald G. Minnich wrote:
On Mon, 3 Mar 2003, steven james wrote:
So you can either set USE_FALLBACK_IMAGE and edit Config to use noop_failover.inc, or just don't set 0x30 bit 0 and the checksum.
yes but ... if I build with normal, and it uses noop_failover, it still builds an image that is 1M-64K, leaving room for the fallback. How do I change this behaviour? I have told it hte ROM_SIZE is 1M
ron
On Mon, 3 Mar 2003, steven james wrote:
The trick is to build a fallback image! The idea is that at least a fallback image is necessary. A normal image is optional. The normal image doesn't have the power on reset vector at 0xffff0 anyway, only the protected vector at 0xffff8. Also, the normal image gets linked to reside at 0xfffe0000.
my only concern: what if the fallback decides to boot a normal image? That's the only reason I did not do it this way.
ron
Greetings,
You can disable that in the Config by changing: mainboardinit southbridge/intel/82801/cmos_failover.inc USE_FALLBACK_IMAGE to mainboardinit southbridge/intel/82801/noop_failover.inc USE_FALLBACK_IMAGE
That's where the decision gets made.
G'day, sjames
On Mon, 3 Mar 2003, Ronald G. Minnich wrote:
On Mon, 3 Mar 2003, steven james wrote:
The trick is to build a fallback image! The idea is that at least a fallback image is necessary. A normal image is optional. The normal image doesn't have the power on reset vector at 0xffff0 anyway, only the protected vector at 0xffff8. Also, the normal image gets linked to reside at 0xfffe0000.
my only concern: what if the fallback decides to boot a normal image? That's the only reason I did not do it this way.
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Mon, 3 Mar 2003, steven james wrote:
You can disable that in the Config by changing: mainboardinit southbridge/intel/82801/cmos_failover.inc USE_FALLBACK_IMAGE to mainboardinit southbridge/intel/82801/noop_failover.inc USE_FALLBACK_IMAGE
ouch. There ought to be a way to do this from a user config file without beating on those files. OK, I'll keep thinking about it.
ron
Greetings,
Agreed. I really want to simplify the Config files. Truthfully, I don't so much understand them as just copy and change what looks like needs changing.
G'day, sjames
On Mon, 3 Mar 2003, Ronald G. Minnich wrote:
On Mon, 3 Mar 2003, steven james wrote:
You can disable that in the Config by changing: mainboardinit southbridge/intel/82801/cmos_failover.inc USE_FALLBACK_IMAGE to mainboardinit southbridge/intel/82801/noop_failover.inc USE_FALLBACK_IMAGE
ouch. There ought to be a way to do this from a user config file without beating on those files. OK, I'll keep thinking about it.
ron
I am reworking the Clearwater config to use a few constants so that fallback image size can be varied from 64K. The whole fallback scheme is so well designed that this looks pretty easy, basically a few tweaks. Nice work Eric :-)
ron
Ron,
I need to build a bios for the clearwater with no fallback/normal images. Just a single image. I find myself unsure how to do this, I've not looked in depth at the fallback/normal build stuff. Is there a simple option so I can build an image w/o the fallback/normal stuff on systems like clearwater that are configured for fallback/normal?
I have attached a config for a custom e7500 board which uses a single image instead of fallback image. It should be pretty similar to Clearwater. Hope this help.
-Andrew