public inbox for linux-efi@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] Best place/method to determine BIOS version?
@ 2014-06-09 20:00 Alex Thorlton
       [not found] ` <20140609200017.GD2700-sJ/iWh9BUns@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Thorlton @ 2014-06-09 20:00 UTC (permalink / raw)
  To: Linux EFI, LKML; +Cc: Matt Fleming, Borislav Petkov, Russ Anderson

Hi guys,

We recently ran into/corrected a bug in our BIOS that was exposed by the
recent updates to the way that the EFI code maps in memory during boot.
Discussion here:

http://comments.gmane.org/gmane.linux.kernel/1638074

Anyways, we now need to find a way to determine the BIOS version before
efi_apply_memmap_quirks is called, so that we know whether or not the
BIOS we're running requires the quirk.  We have a function in one of our
EFI runtime services that provides this information, but I'm having a
lot of trouble calling this function early enough in boot.

It seems that all the necessary function pointers are available well
before efi_apply_memmap_quirks is called, but when trying to use
efi_call_phys6 to call our function, I always hit a kernel paging error.

I think the problem is that I really need to be doing this at a point
where I can directly use physical addressing (the function pointer that
we have stored in efi.uv_systab contains the physical address of our
function) - at least that's the idea I get from our BIOS guys, but I
really don't know what I'm talking about here :)

Can anybody help me with how early in boot I need to make this call, and
possibly with an appropriate location to stick the code in?

Any advice is greatly appreciated.  Thanks!

- Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-11 17:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-09 20:00 [RFC] Best place/method to determine BIOS version? Alex Thorlton
     [not found] ` <20140609200017.GD2700-sJ/iWh9BUns@public.gmane.org>
2014-06-10  8:03   ` Borislav Petkov
     [not found]     ` <20140610080300.GA28607-fF5Pk5pvG8Y@public.gmane.org>
2014-06-10 20:44       ` efi_call on SGI Borislav Petkov
     [not found]         ` <20140610204414.GB29302-fF5Pk5pvG8Y@public.gmane.org>
2014-06-11 17:32           ` Alex Thorlton
2014-06-11  8:55   ` [RFC] Best place/method to determine BIOS version? Matt Fleming
2014-06-11 17:30     ` Alex Thorlton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox