Module Name:    src
Committed By:   manu
Date:           Fri Sep 13 02:19:46 UTC 2019

Modified Files:
        src/sys/arch/i386/include: Makefile
        src/sys/arch/i386/stand/boot: Makefile.boot
        src/sys/arch/i386/stand/dosboot: Makefile
        src/sys/arch/i386/stand/efiboot: Makefile.efiboot boot.c efiboot.c
            efiboot.h eficons.c efimemory.c
        src/sys/arch/i386/stand/efiboot/bootia32: Makefile efibootia32.c
        src/sys/arch/i386/stand/efiboot/bootx64: Makefile efibootx64.c
        src/sys/arch/i386/stand/lib: Makefile biosdisk.c biosdisk.h
            bootinfo_memmap.c exec.c libi386.h multiboot.S pread.c
        src/sys/arch/i386/stand/netboot: Makefile.netboot
        src/sys/arch/i386/stand/pxeboot: Makefile
Added Files:
        src/sys/arch/i386/include: multiboot2.h
        src/sys/arch/i386/stand/efiboot/bootia32: multiboot32.S
        src/sys/arch/i386/stand/efiboot/bootx64: multiboot64.S
        src/sys/arch/i386/stand/lib: exec_multiboot1.c exec_multiboot2.c

Log Message:
Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.
This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)

- multiboot2 is disabled in dosboot, otherwise the binary
  gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
  as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/i386/include/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/include/multiboot2.h
cvs rdiff -u -r1.72 -r1.73 src/sys/arch/i386/stand/boot/Makefile.boot
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/i386/stand/dosboot/Makefile
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/stand/efiboot/Makefile.efiboot \
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/i386/stand/efiboot/efiboot.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/i386/stand/efiboot/efiboot.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/i386/stand/efiboot/eficons.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/i386/stand/efiboot/efimemory.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/i386/stand/efiboot/bootia32/Makefile
cvs rdiff -u -r1.4 -r1.5 \
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/stand/efiboot/bootia32/multiboot32.S
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/i386/stand/efiboot/bootx64/Makefile
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/i386/stand/efiboot/bootx64/efibootx64.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/stand/efiboot/bootx64/multiboot64.S
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/i386/stand/lib/Makefile
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/i386/stand/lib/biosdisk.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/i386/stand/lib/biosdisk.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/i386/stand/lib/bootinfo_memmap.c
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/i386/stand/lib/exec.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/stand/lib/exec_multiboot1.c \
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/i386/stand/lib/libi386.h
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/i386/stand/lib/multiboot.S
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/i386/stand/lib/pread.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/i386/stand/netboot/Makefile.netboot
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/i386/stand/pxeboot/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to