Hi,
I have a PC (Linux OS)that has an EFI BIOS. I wanted some clarity on the following questions
1. Does UEFI support Interrupt handling (ISR implementation)? If yes, what is the procedure?
2. Do we need to write the Interrupt handler routine and register it in the EFI code? If it possible, do we have any utilities which help us to carry this out?
3. If the handler cannot be registered in the UEFI code, at what level do we write the ISR (platform specific firmware, or UEFI)?
4. Can we modify the CMOS register value? If yes how do we achieve this?
5. What are the utilities that are available to modify the UEFI Services (Boot/Run time/DXE service/ Image loading unloading etc...)? Or do we need to do this in the code?
Any help will be appreciated.
Thanks !
UEFI help
-
- The Hardware Archivist
- Posts: 6286
- Joined: Wed Mar 20, 2002 7:11 pm
- Location: Netherlands
- Contact:
1, 2, 3 -> http://www.uefi.org/specs/ get the 2.3 version, see section 2
4 you don't
The proper functioning of the BIOS during bootup depends on the values in CMOS. So the values are protected against random changes with checksums. It is very unwise ever to write a value into any of the CMOS registers (except for the RTC) -- because when you change a value you also have to go fix a BIOS-specific checksum in a different register -- or else the next boot will crash with an "invalid checksum" error. And since the checksum is located at a proprietary BIOS-specific register number, good luck finding it.
5 The best I can find for free is this stuff: http://sourceforge.net/projects/tianocore/
Otherwise you are looking at something vendor-specific like Aptio from AMI
4 you don't
The proper functioning of the BIOS during bootup depends on the values in CMOS. So the values are protected against random changes with checksums. It is very unwise ever to write a value into any of the CMOS registers (except for the RTC) -- because when you change a value you also have to go fix a BIOS-specific checksum in a different register -- or else the next boot will crash with an "invalid checksum" error. And since the checksum is located at a proprietary BIOS-specific register number, good luck finding it.
5 The best I can find for free is this stuff: http://sourceforge.net/projects/tianocore/
Otherwise you are looking at something vendor-specific like Aptio from AMI
edwin/evasive
Do not assume anything
System error, strike any user to continue...
Do not assume anything
System error, strike any user to continue...
-
- The Hardware Archivist
- Posts: 6286
- Joined: Wed Mar 20, 2002 7:11 pm
- Location: Netherlands
- Contact:
You're welcome. I took the liberty to do some research, mostly using google as a reference, plus the bits and pieces I already knew about bioses and what you need for programming (finding an SDK for instance).
edwin/evasive
Do not assume anything
System error, strike any user to continue...
Do not assume anything
System error, strike any user to continue...