diff options
author | marcel <marcel@FreeBSD.org> | 2002-12-10 20:11:20 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-12-10 20:11:20 +0000 |
commit | 9050c80f1d277e50e7dfe4b63b70df26c4984a57 (patch) | |
tree | c30e9307cc97ff4a2670cbf6f167c60e17afaffa /sys/boot/efi/loader/main.c | |
parent | 2efe31ec152c787316f23df2135be7d52c869fa4 (diff) | |
download | FreeBSD-src-9050c80f1d277e50e7dfe4b63b70df26c4984a57.zip FreeBSD-src-9050c80f1d277e50e7dfe4b63b70df26c4984a57.tar.gz |
Pass the HCDP table address to the kernel. If no such table exists,
NULL is passed. The address of the HCDP table can be found by
iterating over the configuration tables in the EFI system table.
To avoid more duplication, a function can be called with the GUID
of interest. The function will do the scanning. Use the function
in all places where we iterate over the configuration tables in
an attempt to find a specific one.
Bump the loader version number as the result of this.
Approved by: re (blanket)
Diffstat (limited to 'sys/boot/efi/loader/main.c')
-rw-r--r-- | sys/boot/efi/loader/main.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/sys/boot/efi/loader/main.c b/sys/boot/efi/loader/main.c index 51ac572..82979e2 100644 --- a/sys/boot/efi/loader/main.c +++ b/sys/boot/efi/loader/main.c @@ -72,13 +72,8 @@ find_pal_proc(void) }; u_int8_t *p; - for (i = 0; i < ST->NumberOfTableEntries; i++) { - if (!memcmp(&ST->ConfigurationTable[i].VendorGuid, - &sal, sizeof(EFI_GUID))) - saltab = ST->ConfigurationTable[i].VendorTable; - } - - if (!saltab) { + saltab = efi_get_table(&sal); + if (saltab == NULL) { printf("Can't find SAL System Table\n"); return; } @@ -336,13 +331,8 @@ command_sal(int argc, char *argv[]) }; u_int8_t *p; - for (i = 0; i < ST->NumberOfTableEntries; i++) { - if (!memcmp(&ST->ConfigurationTable[i].VendorGuid, - &sal, sizeof(EFI_GUID))) - saltab = ST->ConfigurationTable[i].VendorTable; - } - - if (!saltab) { + saltab = efi_get_table(&sal); + if (saltab == NULL) { printf("Can't find SAL System Table\n"); return CMD_ERROR; } |