summaryrefslogtreecommitdiffstats
path: root/sys/boot/efi/loader
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-09-22 19:12:30 +0000
committerdfr <dfr@FreeBSD.org>2001-09-22 19:12:30 +0000
commitc87ffaaf40aa41952a77e49814250c3391b4fa70 (patch)
tree24a29b0f27a36eeb70825ed8b1365cbe788dd315 /sys/boot/efi/loader
parentbf77b20f036147030c58ec53853c017468934341 (diff)
downloadFreeBSD-src-c87ffaaf40aa41952a77e49814250c3391b4fa70.zip
FreeBSD-src-c87ffaaf40aa41952a77e49814250c3391b4fa70.tar.gz
Add EFI network support.
Diffstat (limited to 'sys/boot/efi/loader')
-rw-r--r--sys/boot/efi/loader/Makefile5
-rw-r--r--sys/boot/efi/loader/conf.c9
-rw-r--r--sys/boot/efi/loader/main.c2
3 files changed, 13 insertions, 3 deletions
diff --git a/sys/boot/efi/loader/Makefile b/sys/boot/efi/loader/Makefile
index e122b10..715a7ef 100644
--- a/sys/boot/efi/loader/Makefile
+++ b/sys/boot/efi/loader/Makefile
@@ -7,7 +7,7 @@ PROG= ${BASE}.efi
NOMAN=
NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH}
-SRCS+= main.c conf.c
+SRCS+= main.c conf.c dev_net.c
# Enable BootForth
BOOT_FORTH= yes
@@ -33,6 +33,7 @@ CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}
CFLAGS+= -I${.CURDIR}/../../.. -I.
CFLAGS+= -I${.CURDIR}/../libefi
+CFLAGS+= -I/usr/src/lib/libstand
CFLAGS+= -DLOADER
LDSCRIPT= ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH}
@@ -86,7 +87,7 @@ machine:
.include <bsd.prog.mk>
-${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBARC} ${CRT} vers.o
+${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBEFI} ${CRT} vers.o
${LD} ${LDFLAGS} -o ${BASE}.sym -M \
${CRT} ${OBJS} vers.o \
${LIBFICL} ${LIBSTAND} ${LIBEFI} ${LIBSTAND} \
diff --git a/sys/boot/efi/loader/conf.c b/sys/boot/efi/loader/conf.c
index 3d745fa..a76b119 100644
--- a/sys/boot/efi/loader/conf.c
+++ b/sys/boot/efi/loader/conf.c
@@ -53,6 +53,7 @@ static const char rcsid[] =
/* Exported for libstand */
struct devsw *devsw[] = {
+ &netdev,
&efifs_dev,
NULL
};
@@ -60,10 +61,16 @@ struct devsw *devsw[] = {
struct fs_ops *file_system[] = {
&efi_fsops,
&ufs_fsops,
+ &nfs_fsops,
&zipfs_fsops,
NULL
};
+struct netif_driver *netif_drivers[] = {
+ &efi_net,
+ NULL,
+};
+
/* Exported for ia64 only */
/*
* Sort formats so that those that can detect based on arguments
@@ -79,7 +86,7 @@ struct file_format *file_formats[] = {
/*
* Consoles
*
- * We don't prototype these in libalpha.h because they require
+ * We don't prototype these in efiboot.h because they require
* data structures from bootstrap.h as well.
*/
extern struct console efi_console;
diff --git a/sys/boot/efi/loader/main.c b/sys/boot/efi/loader/main.c
index 4578eda..c3a71f1 100644
--- a/sys/boot/efi/loader/main.c
+++ b/sys/boot/efi/loader/main.c
@@ -85,6 +85,8 @@ efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table)
if (devsw[i]->dv_init != NULL)
(devsw[i]->dv_init)();
+ efinet_init_driver();
+
printf("\n");
printf("%s, Revision %s\n", bootprog_name, bootprog_rev);
printf("(%s, %s)\n", bootprog_maker, bootprog_date);
OpenPOWER on IntegriCloud