freebsd-dev/stand/common
Roger Pau Monné 5e4279a8f3 loader: fix multiboot loading on UEFI
The Xen kernel has no symbol tables, so calling lookup_symbol against
it triggers the following Divide by Zero fault:

Loading Xen kernel...
/boot/xen data=0x2809c8+0x149638 |
!!!! X64 Exception Type - 00(#DE - Divide Error)  CPU Apic ID - 00000000 !!!!

Fix lookup_symbol to prevent the #DE fault from happening if the
symbol table is not loaded and also fix loadfile_raw to mark multiboot
kernels as relocatable, since the only multiboot kernel supported is
Xen and was already unconditionally booted as relocatable.

Fixes: f75caed644 ('amd64 UEFI loader: stop copying staging area to 2M physical')
Reviewed by: imp, kib
Differential Revision: https://reviews.freebsd.org/D31507
2021-08-12 09:18:33 +02:00
..
bcache.c command_bcache() does not use argv 2019-05-07 10:01:45 +00:00
boot.c stand/common command_boot: Pass tslog to kernel 2021-06-20 20:09:46 -07:00
bootstrap.h amd64 UEFI loader: stop copying staging area to 2M physical 2021-08-08 22:52:29 +03:00
commands.c loader: ignore some variable settings if input unverified 2019-07-17 23:33:14 +00:00
console.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
dev_net.c stand: dev_net: correct net_open's interpretation of params 2019-02-15 18:28:51 +00:00
dev_net.h
devopen.c loader: clean up devopen and devclose a bit 2019-12-13 08:41:37 +00:00
disk.c loader: disk_open() should honor D_PARTNONE 2019-06-06 16:27:05 +00:00
disk.h Distinguish between "no partition" and "choose best partition" with a constant. 2019-03-24 18:51:52 +00:00
gfx_fb.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
gfx_fb.h loader: cursor off should restore display content 2021-03-06 12:23:54 +02:00
help.common loader: implement map-vdisk and unmap-vdisk commands 2019-04-26 17:58:44 +00:00
install.c Fix compilation error for install.c in loader 2020-07-31 16:08:25 +00:00
interp_backslash.c
interp_forth.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
interp_lua.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
interp_parse.c
interp_simple.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
interp.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
isapnp.c
isapnp.h
load_elf32_obj.c
load_elf32.c
load_elf64_obj.c
load_elf64.c
load_elf_obj.c loader: Don't reserve space for symbols twice. 2021-07-12 15:30:27 -06:00
load_elf.c loader: fix multiboot loading on UEFI 2021-08-12 09:18:33 +02:00
ls.c
Makefile.depend
md.c
merge_help.awk
metadata.c Remove sparc64 support from the boot loader. 2020-02-03 17:34:57 +00:00
misc.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
module.c stand/common: Add file_addbuf() 2021-06-20 20:09:41 -07:00
newvers.sh Fix stand/newvers.sh with zsh in sh mode 2020-08-12 15:49:10 +00:00
nvstore.c loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
part.c loader: variable i is unused without MBR/GPT support built in 2020-06-16 07:05:03 +00:00
part.h loader: show APFS partition type name 2019-11-04 12:20:19 +00:00
paths.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
pnp.c
rbx.h
readin.h veloader use vectx API for kernel and modules 2020-03-08 18:48:01 +00:00
reloc_elf32.c
reloc_elf64.c
reloc_elf.c Reuse the amd64 loader relocation code on arm64 2021-01-20 17:59:38 +00:00
self_reloc.c RISC-V boot1.efi and loader.efi support 2020-07-06 18:19:42 +00:00
tslog.c stand/common: Add support for timestamp logging (tslog) 2021-06-20 20:09:43 -07:00
vdisk.c loader: vdisk dereference after free 2019-12-13 08:20:20 +00:00
zfs_cmd.c loader: zfs_cmd.c does not really compile without libzfs.h 2020-06-16 07:30:34 +00:00