From 5ec8fa0ee4fab62d41f1c3a1107aa1b6f317fdc8 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 10 Apr 2015 18:49:43 +0000 Subject: [PATCH] Add build support for i386 loader.efi Kernel changes are required for this to be useful but this will allow others to experiment. Differential Revision: https://reviews.freebsd.org/D2276 --- sys/boot/efi/loader/arch/i386/Makefile.inc | 11 +++++++++++ sys/boot/efi/loader/arch/i386/elf32_freebsd.c | 6 ++++++ 2 files changed, 17 insertions(+) create mode 100644 sys/boot/efi/loader/arch/i386/Makefile.inc diff --git a/sys/boot/efi/loader/arch/i386/Makefile.inc b/sys/boot/efi/loader/arch/i386/Makefile.inc new file mode 100644 index 00000000000..b339f56825f --- /dev/null +++ b/sys/boot/efi/loader/arch/i386/Makefile.inc @@ -0,0 +1,11 @@ +# $FreeBSD$ + +SRCS+= start.S \ + efimd.c \ + elf32_freebsd.c \ + exec.c \ + reloc.c + +.PATH: ${.CURDIR}/../../i386/libi386 +SRCS+= nullconsole.c \ + comconsole.c diff --git a/sys/boot/efi/loader/arch/i386/elf32_freebsd.c b/sys/boot/efi/loader/arch/i386/elf32_freebsd.c index 9a1458ef332..bae8f7bbcaa 100644 --- a/sys/boot/efi/loader/arch/i386/elf32_freebsd.c +++ b/sys/boot/efi/loader/arch/i386/elf32_freebsd.c @@ -48,6 +48,12 @@ static int elf32_obj_exec(struct preloaded_file *amp); struct file_format i386_elf = { elf32_loadfile, elf32_exec }; struct file_format i386_elf_obj = { elf32_obj_loadfile, elf32_obj_exec }; +struct file_format *file_formats[] = { + &i386_elf, + &i386_elf_obj, + NULL +}; + /* * There is an ELF kernel and one or more ELF modules loaded. * We wish to start executing the kernel image, so make such