Messages in this thread | | | Date | Tue, 17 Sep 2013 16:46:30 +0100 | From | Matt Fleming <> | Subject | Re: access efi variables |
| |
On Sat, 14 Sep, at 07:01:19PM, Arend van Spriel wrote: > On 09/14/13 00:37, H. Peter Anvin wrote: > >On 09/13/2013 08:37 AM, Arend van Spriel wrote: > >>I need to obtain a uefi variable so I went looking at the API in > >>include/linux/efi.h. I found the following definition: > >> > >>But according to the specs the variable I need to obtain is 2k bytes. > >>Should I expect trouble :-p > >> > > > >efivarfs doesn't have those limitations. > > Thanks, Peter > > Looking into efivarfs it seems to use the functions that I looked at > in efi.h so I guess I am misinterpreting the 1024 bytes limitation > in the comment (either that or you are mistaken ;-) ). I need to > access the variable from within a device driver so using efivarfs > does not feel like the way to go here.
Look at how efivarfs_file_read() is implemented, e.g. using efivar_entry_get(). In particular, note how it kmalloc()'s a buffer for reading the variable data into, thereby avoiding any 1024-byte limitation.
-- Matt Fleming, Intel Open Source Technology Center
| |