Page 1 of 1

UEFI help

Posted: Thu Sep 08, 2011 4:19 pm
by Flash

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 !

Re: UEFI help

Posted: Fri Sep 09, 2011 5:47 am
by edwin

Re: UEFI help

Posted: Mon Sep 12, 2011 6:21 am
by Flash
Thanks but I have already gone through that webpage and a lot of others. I have also glanced through the UEFI manual.

Re: UEFI help

Posted: Mon Sep 12, 2011 7:57 pm
by edwin
1, 2, 3 -> 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:
Otherwise you are looking at something vendor-specific like Aptio from AMI

Re: UEFI help

Posted: Tue Sep 13, 2011 7:24 am
by Flash

That is useful information. Thanks so much.

Re: UEFI help

Posted: Tue Sep 13, 2011 7:53 pm
by edwin
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).