kern: efirt: correct configuration table entry size

Each entry actually stores a native pointer, not a uint64_t quantity. While
we're here, go ahead and export the pointer as-is rather than converting it
to KVA. This may be more useful as consumers can map /dev/mem and observe
the entry.

For reference, see: sys/contrib/edk2/Include/Uefi/UefiSpec.h

Reviewed by:	kib
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D27669
This commit is contained in:
Kyle Evans 2020-12-27 11:26:45 -06:00
parent 0861c7d3e0
commit ee938b2033
2 changed files with 2 additions and 2 deletions

View File

@ -325,7 +325,7 @@ efi_get_table(struct uuid *uuid, void **ptr)
ct = efi_cfgtbl;
while (count--) {
if (!bcmp(&ct->ct_uuid, uuid, sizeof(*uuid))) {
*ptr = (void *)efi_phys_to_kva(ct->ct_data);
*ptr = ct->ct_data;
efi_leave();
return (0);
}

View File

@ -52,7 +52,7 @@ typedef unsigned long efi_status;
struct efi_cfgtbl {
struct uuid ct_uuid;
uint64_t ct_data;
void *ct_data;
};
struct efi_md {