|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| #
1.33 |
|
07-Dec-2024 |
jmcneill |
efiboot: Use 1:1 PA to VA mappings for RT services.
UEFI firmware on Snapdragon X Elite devices crashes when SetVirtualAddressMap is called with runtime mappings that are not 1:1. Always do this on arm64 as it won't interfere with KVA and will help us avoid avoid a very common class of firmware bugs.
|
| #
1.32 |
|
15-Aug-2024 |
skrll |
Allow an MD check in prepare_boot and use it on arm64 (aarch64) to check that, if a big endian kernel is seen, the CPU is capable of supporting BE data accesses at EL0 via ID_AA64MMFR0_EL1.BigEnd.
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| #
1.31 |
|
02-Apr-2022 |
skrll |
branches: 1.31.10; Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
| #
1.30 |
|
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.29 |
|
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
|
| #
1.28 |
|
08-Aug-2021 |
andvar |
s/partion/partition/ s/arrray/array/ in comments.
|
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| #
1.27 |
|
21-Jun-2021 |
jmcneill |
efiboot: Use disk I/O protocol for block device access.
EFI_DISK_IO_PROTOCOL is a simplified interface to block devices. Use this instead of EFI_BLOCK_IO_PROTOCOL for accessing block devices to simplify the code -- we no longer need to worry about the underlying media's block I/O size and alignment requirements.
|
| #
1.26 |
|
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.25 |
|
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.
|
| #
1.24 |
|
26-May-2021 |
mrg |
add basic raidframe support to efiboot.
if raid disklabel or gpt is found, add this partition with the offset/size adjusted by RF_PROTECTED_SECTORS. note
don't le32toh() the disklabel. if it was wrong-endian, then getdisklabel() will have swapped it.
ok jmcneill thorpej.
|
| #
1.23 |
|
21-May-2021 |
jmcneill |
Disable ACPI support when booting big endian kernels.
|
|
Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| #
1.22 |
|
18-Oct-2020 |
tnn |
branches: 1.22.6; 1.22.8; efiboot: bump version
|
| #
1.21 |
|
11-Oct-2020 |
jmcneill |
Add ISO9660 support.
|
| #
1.20 |
|
10-Oct-2020 |
jmcneill |
Support EFI runtime and GOP FB for devicetree (non-ACPI) setups.
|
| #
1.19 |
|
28-Jun-2020 |
jmcneill |
Remove support for storing settings in EFI environment variables now that we have boot.cfg support.
|
| #
1.18 |
|
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.17 |
|
21-Jun-2020 |
jmcneill |
Add boot.cfg support.
|
| #
1.16 |
|
21-Jun-2020 |
jmcneill |
Add module support.
|
| #
1.15 |
|
14-May-2020 |
riastradh |
Bump efiboot version to note EFI RNG support.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| #
1.14 |
|
18-Dec-2019 |
riastradh |
Implement rndseed support in efiboot and fdt arm.
The EFI environment variable `rndseed' specifies the path to the random seed. It is loaded only for fdt platforms at the moment.
Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>) is 536 bytes long (for hysterical raisins), and to avoid having to erase parts of the fdt tree, we load it into a physical page whose address is passed in the fdt tree, rather than passing the content of the file as an fdt node directly; the kernel then reserves the page from uvm, and maps it into kva to call rnd_seed.
For now, the only kernel that does use efiboot with fdt is evbarm, which knows to handle the rndseed. Any new kernels that use efiboot with fdt must do the same; otherwise uvm may hand out the page with the secret key on it for a normal page allocation in the kernel -- which should be OK if there are no kernel memory disclosure bugs, but would lead to worse consequences than simply loading the seed late in userland with /etc/rc.d/random_seed otherwise.
ok jmcneill
|
| #
1.13 |
|
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: phil-wifi-20191119
|
| #
1.12 |
|
01-Aug-2019 |
jmcneill |
Add full UEFI memory map to the /chosen node.
|
|
Revision tags: netbsd-9-base
|
| #
1.11 |
|
24-Jul-2019 |
jmcneill |
branches: 1.11.2; Add support for simple framebuffers when booting in ACPI mode.
|
|
Revision tags: phil-wifi-20190609
|
| #
1.10 |
|
21-Apr-2019 |
thorpej |
branches: 1.10.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
|
| #
1.9 |
|
18-Jan-2019 |
skrll |
Add support for "bootargs" environment variable from jmcneill@
Doesn't work with some (all?) u-boots.
|
|
Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
| #
1.8 |
|
15-Nov-2018 |
jmcneill |
Add support for loading kernels over NFS.
|
| #
1.7 |
|
01-Nov-2018 |
jmcneill |
Add GPT support.
|
| #
1.6 |
|
28-Oct-2018 |
jmcneill |
Make EFI runtime services available to the kernel. Bump version to 1.5.
|
| #
1.5 |
|
26-Oct-2018 |
mrg |
add "boot-file" support. now one can automatically boot a non-default kernel with "setenv boot-file host/netbsd".
this is particularly useful with the current net / tftp kernel boot, so the tftproot does not need a "/netbsd" visible to all hosts, but some host-specific path.
some minor clean up.
version 1.4.
ok jmcneill@.
|
| #
1.4 |
|
21-Oct-2018 |
jmcneill |
Enable ACPI support.
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930
|
| #
1.3 |
|
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.2 |
|
03-Sep-2018 |
jmcneill |
branches: 1.2.2; Add PXE support.
|
| #
1.1 |
|
24-Aug-2018 |
jmcneill |
Add MI EFI bootloader and AArch64 glue.
|