Adding BIOS Routines
Posted: Tue Dec 07, 2004 2:43 pm
Hi All!!
Is it possible to add code to a BIOS to do "setup" prior to booting?
You all know my DFI BIOS has been patched for the K6-2/III+ series CPU's. There are functions though that are not set natively by the BIOS.
There have been utilities written to this after the system has booted, or from DOS, but could these utilities somehow be merged into the BIOS as seperate sub-routines, and added to the "setup screens" so that you could adjust them at the BIOS level manually? Automatic detection is not a requirement.
Mostly we are just talking an MSR register setting, so I invision this as adding a BIOS menu item with a selection "box" to a BIOS setup screen with available space, plus code that sets the actual MSR.
Setting for SCE - ON, OFF (1 bit)
Setting for EWB - None, Speculative, Global (2 bits)
Setting for UC/UW - None, Uncacheable, Write-Combined (2 bits)
Entry for MTRR - Hardest to do...as you need to make a data entry here manually for the MTRR registers. This one will use the most code space, especially if you tried to do it automatically, or added helpful menu settings. (30 bits)
The UC/UW/MTRR would be done twice, for a total of 64 bits.
Thoughts?
Is it possible to add code to a BIOS to do "setup" prior to booting?
You all know my DFI BIOS has been patched for the K6-2/III+ series CPU's. There are functions though that are not set natively by the BIOS.
There have been utilities written to this after the system has booted, or from DOS, but could these utilities somehow be merged into the BIOS as seperate sub-routines, and added to the "setup screens" so that you could adjust them at the BIOS level manually? Automatic detection is not a requirement.
Mostly we are just talking an MSR register setting, so I invision this as adding a BIOS menu item with a selection "box" to a BIOS setup screen with available space, plus code that sets the actual MSR.
Setting for SCE - ON, OFF (1 bit)
Setting for EWB - None, Speculative, Global (2 bits)
Setting for UC/UW - None, Uncacheable, Write-Combined (2 bits)
Entry for MTRR - Hardest to do...as you need to make a data entry here manually for the MTRR registers. This one will use the most code space, especially if you tried to do it automatically, or added helpful menu settings. (30 bits)
The UC/UW/MTRR would be done twice, for a total of 64 bits.
Thoughts?