summaryrefslogtreecommitdiffstats
path: root/src/interface/efi/efi_smbios.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface/efi/efi_smbios.c')
-rw-r--r--src/interface/efi/efi_smbios.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/interface/efi/efi_smbios.c b/src/interface/efi/efi_smbios.c
index d7877b0aa..c10ba1440 100644
--- a/src/interface/efi/efi_smbios.c
+++ b/src/interface/efi/efi_smbios.c
@@ -18,8 +18,10 @@
*/
FILE_LICENCE ( GPL2_OR_LATER );
+FILE_SECBOOT ( PERMITTED );
#include <errno.h>
+#include <ipxe/uaccess.h>
#include <ipxe/smbios.h>
#include <ipxe/efi/efi.h>
#include <ipxe/efi/Guid/SmBios.h>
@@ -48,27 +50,27 @@ static int efi_find_smbios ( struct smbios *smbios ) {
/* Use 64-bit table if present */
if ( smbios3_entry && ( smbios3_entry->signature == SMBIOS3_SIGNATURE ) ) {
- smbios->address = phys_to_user ( smbios3_entry->smbios_address );
+ smbios->address = phys_to_virt ( smbios3_entry->smbios_address );
smbios->len = smbios3_entry->smbios_len;
smbios->count = 0;
smbios->version =
SMBIOS_VERSION ( smbios3_entry->major, smbios3_entry->minor );
DBG ( "Found 64-bit SMBIOS v%d.%d entry point at %p (%lx+%zx)\n",
smbios3_entry->major, smbios3_entry->minor, smbios3_entry,
- user_to_phys ( smbios->address, 0 ), smbios->len );
+ virt_to_phys ( smbios->address ), smbios->len );
return 0;
}
/* Otherwise, use 32-bit table if present */
if ( smbios_entry && ( smbios_entry->signature == SMBIOS_SIGNATURE ) ) {
- smbios->address = phys_to_user ( smbios_entry->smbios_address );
+ smbios->address = phys_to_virt ( smbios_entry->smbios_address );
smbios->len = smbios_entry->smbios_len;
smbios->count = smbios_entry->smbios_count;
smbios->version =
SMBIOS_VERSION ( smbios_entry->major, smbios_entry->minor );
DBG ( "Found 32-bit SMBIOS v%d.%d entry point at %p (%lx+%zx)\n",
smbios_entry->major, smbios_entry->minor, smbios_entry,
- user_to_phys ( smbios->address, 0 ), smbios->len );
+ virt_to_phys ( smbios->address ), smbios->len );
return 0;
}