History log of /netbsd-current/sys/stand/efiboot/Makefile.efiboot
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.30 20-Jan-2024 kre

Compensate for src/common/lib/libc/atomic/atomic_init_cas.c losing
the extern declaration of __libc_atomic_init() and instead using a
new one added to src/lib/libc/include/extern.h

That file is outside src/common and src/sys so is unavailable to
kernel builds, so instead make a new include file in src/common
which the kernel can read which contains the needed extern decl
for __libc_atomic_init()

This seems to fix the evbarm builds (maybe others) - but it is
all MUCH TOO UGLY to keep. Someone please make a better fix,
even if that just means reverting rev 1.5 of
src/common/lib/libc/atomic/atomic_init_cas.c
and all of the changes here (the addition to libc/include/extern.h
should be harmless to keep).


Revision tags: thorpej-ifq-base thorpej-altq-separation-base
# 1.29 15-Jun-2023 rin

Add missing include paths for libz. Not used at the moment although.


# 1.28 03-Jun-2023 lukem

adapt to ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}

Simplify CWARNFLAGS to use ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
which works for both clang and gcc, and remove compiler-specific
equivalents.


# 1.27 03-Jun-2023 lukem

bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base
# 1.26 25-Mar-2022 jmcneill

branches: 1.26.4;
efiboot: Add support for 'userconf' command.

Add support for the 'userconf' command at the boot prompt and in boot.cfg,
and for FDT based booting, pass the commands as a string list property
named "netbsd,userconf" on the /chosen node.


# 1.25 17-Oct-2021 jmcneill

Honour the timeout= entry in boot.cfg


# 1.24 06-Oct-2021 jmcneill

efiboot: Make FDT support optional on a per-arch basis.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.29 15-Jun-2023 rin

Add missing include paths for libz. Not used at the moment although.


# 1.28 03-Jun-2023 lukem

adapt to ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}

Simplify CWARNFLAGS to use ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
which works for both clang and gcc, and remove compiler-specific
equivalents.


# 1.27 03-Jun-2023 lukem

bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base
# 1.26 25-Mar-2022 jmcneill

efiboot: Add support for 'userconf' command.

Add support for the 'userconf' command at the boot prompt and in boot.cfg,
and for FDT based booting, pass the commands as a string list property
named "netbsd,userconf" on the /chosen node.


# 1.25 17-Oct-2021 jmcneill

Honour the timeout= entry in boot.cfg


# 1.24 06-Oct-2021 jmcneill

efiboot: Make FDT support optional on a per-arch basis.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.26 25-Mar-2022 jmcneill

efiboot: Add support for 'userconf' command.

Add support for the 'userconf' command at the boot prompt and in boot.cfg,
and for FDT based booting, pass the commands as a string list property
named "netbsd,userconf" on the /chosen node.


# 1.25 17-Oct-2021 jmcneill

Honour the timeout= entry in boot.cfg


# 1.24 06-Oct-2021 jmcneill

efiboot: Make FDT support optional on a per-arch basis.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.25 17-Oct-2021 jmcneill

Honour the timeout= entry in boot.cfg


# 1.24 06-Oct-2021 jmcneill

efiboot: Make FDT support optional on a per-arch basis.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.25 17-Oct-2021 jmcneill

Honour the timeout= entry in boot.cfg


# 1.24 06-Oct-2021 jmcneill

efiboot: Make FDT support optional on a per-arch basis.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.23 28-Sep-2021 jmcneill

efiboot: Add support for changing the video mode.

Add a new "gop" command that can query the list of available video modes.
With a mode number as argument (eg. "gop 16"), the new display mode will
be selected.

The "version" command prints the current display mode.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.22 20-Jun-2021 jmcneill

Add support for the boot services watchdog and pet it on every block I/O
access. For slow media (like ISO image redirection on Lenovo HR330A BMC)
this is needed because otherwise the default watchdog timeout fires before
we can finish loading the kernel from install media.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base
# 1.20 04-May-2021 jmcneill

branches: 1.20.2;
Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.21 27-May-2021 mrg

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.) these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member. accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.) sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up. (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c. (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size. booted several platforms with
new boot code.


Revision tags: cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.20 04-May-2021 jmcneill

Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

branches: 1.19.6;
Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.20 04-May-2021 jmcneill

Set VERSIONMACHINE to ${MACHINE} instead of evbarm (oops)


Revision tags: thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.19 11-Oct-2020 jmcneill

Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.19 11-Oct-2020 jmcneill

Add ISO9660 support.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.18 06-Sep-2020 mrg

add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.17 28-Jun-2020 jmcneill

Remove support for storing settings in EFI environment variables now that
we have boot.cfg support.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.16 26-Jun-2020 thorpej

Add dtoverlay command to specify device tree overlays from the boot
loader command line. Add support for specifying device tree overlays
in boot.cfg, with the syntax:

dtoverlay=/path/to/overlay.dtbo
dtoverlay=hd0e:/overlays/example.dtbo

Multiple overlays can be specified, and they are loaded in the order
they appear in boot.cfg.

Remove support for efiboot.plist.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.15 21-Jun-2020 jmcneill

Add boot.cfg support.


# 1.14 21-Jun-2020 jmcneill

Add module support.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.13 14-May-2020 riastradh

Draft logic to get at EFI RNG.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.12 26-Apr-2020 rin

Adjust for binutils 2.34 in the same manner as efiboot/x86:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/efiboot/Makefile.efiboot#rev1.17


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.11 01-Apr-2020 tnn

efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too


Revision tags: ad-namecache-base3 ad-namecache-base2
# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

branches: 1.9.2;
Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.10 25-Jan-2020 jmcneill

Clean up the banner so it fits in 80 columns and add some extra details
to the "version" command output.


Revision tags: ad-namecache-base1 ad-namecache-base
# 1.9 30-Nov-2019 jmcneill

Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

branches: 1.8.2;
Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.9 30-Nov-2019 jmcneill

Use SMBIOS system vendor and product strings to create a "model" string
for the root node in the fabricated ACPI device tree, when possible.


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.8 21-Jul-2019 rin

Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.


# 1.8 21-Jul-2019 rin

Enable us to load kernel image of different byte order. Now, earmv7hf-eb
kernel can successfully boot from EFI bootloader.

XXX
We need to recognize disklabel and filesystem written in opposite byte oder.


Revision tags: phil-wifi-20190609
# 1.7 21-Apr-2019 thorpej

branches: 1.7.2;
- Add support for a boot configuration file, defaulting to /etc/efiboot.plist.
- Add support for pre-loading EFI environment variables from efiboot.plist.
- Add support for device tree overlays specified in efiboot.plist.

(Man page for efiboot forthcoming.)


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.6 12-Oct-2018 jmcneill

Add ACPI support (enable with -DEFIBOOT_ACPI, currently disabled).

When UEFI reports that ACPI tables are available, generate a DTB with
compatible string "netbsd,generic-acpi" and pass this to the booted
kernel.

The DTB contains a /chosen property "netbsd,acpi-root-table" that contains
the physical address of the ACPI RSDP, along with a special /acpi node
with compatible string "netbsd,acpi" for the kernel to attach an acpi(4)
device driver.


Revision tags: pgoyette-compat-0930
# 1.5 15-Sep-2018 jmcneill

Suppress printing size info when calling loadfile with COUNT_KERNEL


# 1.4 09-Sep-2018 jmcneill

Add support for setting environment variables. Currently the following env
vars are supported: "fdtfile", "initrd", and "rootdev".


Revision tags: pgoyette-compat-0906
# 1.3 03-Sep-2018 jmcneill

branches: 1.3.2;
Add PXE support.


# 1.2 26-Aug-2018 jmcneill

Add support for booting kernels from FFS partitions.


# 1.1 24-Aug-2018 jmcneill

Add MI EFI bootloader and AArch64 glue.