summaryrefslogtreecommitdiffstats
path: root/sys/boot/ia64/common
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2002-12-10 20:11:20 +0000
committermarcel <marcel@FreeBSD.org>2002-12-10 20:11:20 +0000
commit9050c80f1d277e50e7dfe4b63b70df26c4984a57 (patch)
treec30e9307cc97ff4a2670cbf6f167c60e17afaffa /sys/boot/ia64/common
parent2efe31ec152c787316f23df2135be7d52c869fa4 (diff)
downloadFreeBSD-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/ia64/common')
-rw-r--r--sys/boot/ia64/common/bootinfo.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/boot/ia64/common/bootinfo.c b/sys/boot/ia64/common/bootinfo.c
index 484f226..def4bfb 100644
--- a/sys/boot/ia64/common/bootinfo.c
+++ b/sys/boot/ia64/common/bootinfo.c
@@ -39,6 +39,8 @@
#include "bootstrap.h"
+static EFI_GUID hcdp = HCDP_TABLE_GUID;
+
/*
* Return a 'boothowto' value corresponding to the kernel arguments in
* (kargs) and any relevant environment variables.
@@ -300,6 +302,7 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey,
bi->bi_symtab = ssym;
bi->bi_esymtab = esym;
+ bi->bi_hcdp = (uint64_t)efi_get_table(&hcdp); /* DIG64 HCDP table addr. */
fpswa_init(&bi->bi_fpswa); /* find FPSWA interface */
/* find the last module in the chain */
OpenPOWER on IntegriCloud