diff options
author | emaste <emaste@FreeBSD.org> | 2015-04-10 18:49:43 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2015-04-10 18:49:43 +0000 |
commit | d03e11cb10b3c15c6d6539521bea58dd4d8cd0d9 (patch) | |
tree | 04fe815089864848e562890ca36c82900c646ba1 /sys/boot/efi/loader | |
parent | ee55ee8e46b4f41aa1c642d0acf32a4acacbcb5f (diff) | |
download | FreeBSD-src-d03e11cb10b3c15c6d6539521bea58dd4d8cd0d9.zip FreeBSD-src-d03e11cb10b3c15c6d6539521bea58dd4d8cd0d9.tar.gz |
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
Diffstat (limited to 'sys/boot/efi/loader')
-rw-r--r-- | sys/boot/efi/loader/arch/i386/Makefile.inc | 11 | ||||
-rw-r--r-- | sys/boot/efi/loader/arch/i386/elf32_freebsd.c | 6 |
2 files changed, 17 insertions, 0 deletions
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 0000000..b339f56 --- /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 9a1458e..bae8f7b 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 |