thorpej
12431191f9
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.
2020-06-26 03:23:04 +00:00
jmcneill
2b6ae1af1d
Add boot.cfg support.
2020-06-21 23:53:26 +00:00
jmcneill
8a3f4052df
Add module support.
2020-06-21 17:24:26 +00:00
thorpej
0cf633cc36
If a device tree overlay does not have a "compatible" match, don't
...
load it. (Oops, missing return statement.)
2020-05-23 16:40:41 +00:00
jmcneill
3aca75b32b
Make efi_rng_show return early if RNG protocol is not available. While
...
here, use efi_rng_available() consistently, prefix all show messages with
"RNG: ", and use sizeof(foo) instead of sizeof foo.
2020-05-14 23:09:29 +00:00
riastradh
48e749766f
Bump efiboot version to note EFI RNG support.
2020-05-14 19:25:16 +00:00
riastradh
248f2a779e
Deduplicate lazy /chosen node creation logic.
2020-05-14 19:21:53 +00:00
riastradh
f26bf7cc37
Pass EFI RNG output via /chosen/netbsd,efirng-{start,end}.
...
This is separate from /chosen/netbsd,rndseed-{start,end}, which
specifies NetBSD's persistent on-disk seed; efirng is the firmware's
RNG device.
2020-05-14 19:20:08 +00:00
riastradh
b962c94008
Draft logic to get at EFI RNG.
2020-05-14 19:19:08 +00:00
msaitoh
8012ca3f0e
Remove extra semicolon.
2020-05-14 08:34:17 +00:00
rin
e7b4837ce1
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
2020-04-26 06:51:35 +00:00
tnn
cf57b6c19d
efiboot: add clang fix from i386/stand/efiboot/bootx64/Makefile here too
2020-04-01 10:45:44 +00:00
jmcneill
a43616e571
Clean up the banner so it fits in 80 columns and add some extra details
...
to the "version" command output.
2020-01-25 11:24:20 +00:00
jmcneill
a0a1075e2c
Hide the twiddle while loading efiboot plist
2020-01-25 10:53:13 +00:00
jmcneill
82112b6031
Fix for disappearing counters on graphics consoles
2020-01-25 10:09:46 +00:00
skrll
2fd3674617
Fix EFIBOOT_DEBUG build on arm
2020-01-03 14:14:56 +00:00
skrll
d0742ad78c
Add -mfloat-abi=soft so that gcc 8 doesn't emit FP instructions. This
...
fixes bootarm.efi compiled by gcc 8.
2020-01-03 11:44:33 +00:00
msaitoh
ba5c90c4a4
s/sucess/success/ in comment.
2019-12-27 09:45:26 +00:00
riastradh
fedc917302
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
2019-12-18 21:46:03 +00:00
jmcneill
652b35568f
Use SMBIOS system vendor and product strings to create a "model" string
...
for the root node in the fabricated ACPI device tree, when possible.
2019-11-30 13:02:18 +00:00
jakllsch
2bd734055e
Increase MI efiboot bootprompt() input buffer from 80 bytes to LINE_MAX.
...
This allows you to load a kernel from a build directory deep in some file
system after you accidentally boot an old kernel with a new userland and
are otherwise unable to get yourself back to a matching kernel.
2019-09-29 00:52:26 +00:00
jakllsch
98f4c0656e
Use roundup2() instead of open coding something almost the same that
...
truncates 64-bit quantities.
Fixes disk access and booting in bootaa64.efi on SoftIron OverDrive 1000
(which does not have any memory below 4GiB).
2019-09-27 20:10:42 +00:00
jmcneill
1814583a15
Do a full reset of the console at startup
2019-09-26 14:28:14 +00:00
christos
7e81d727bc
Consistently use ${RELEASEDIR}/${RELEASEMACHINE} instead of
...
${RELEASEDIR}/${MACHINE} (Paul Ripke)
2019-09-23 13:42:30 +00:00
jmcneill
d2908378b5
Honour block device's IO alignment requirements.
...
Patch from Simon South <simon@simonsouth.net> in PR# 54554
2019-09-21 10:19:37 +00:00
jmcneill
08196c9186
Only set #address-cells and #size-cells properties on /chosen if we are
...
fabricating a devicetree (ACPI mode). Fixes PR# 54494
2019-08-30 00:01:33 +00:00
jmcneill
5b55ec2572
Add full UEFI memory map to the /chosen node.
2019-08-01 13:11:16 +00:00
skrll
581c62fc78
Fix arm build
2019-07-25 11:44:14 +00:00
jmcneill
3cdd75ddb0
Add support for simple framebuffers when booting in ACPI mode.
2019-07-24 11:40:36 +00:00
rin
84899fcd0b
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.
2019-07-21 17:01:39 +00:00
thorpej
ffbae842f4
- 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.)
2019-04-21 22:30:41 +00:00
jmcneill
c14f76b6fc
ST FirmwareRevision field is in a vendor defined format, so just print the raw value
2019-04-20 11:28:53 +00:00
jmcneill
b43f538702
Skip clearing the screen when efiboot starts, it may end up hiding useful information
2019-04-20 11:23:16 +00:00
skrll
dfb99727ca
Print bootargs from the environment
...
Pass the enironment boot args if none are provided by the boot command
2019-04-10 19:36:04 +00:00
skrll
443282f6c6
Fixup EFIBOT_DEBUG output for non-_LP64 case
2019-04-10 19:11:42 +00:00
jmcneill
d26a1212cd
Add support for netbooting with non-PCI network devices.
2019-03-31 22:24:41 +00:00
jmcneill
46cc84dd17
Jump to MARK_ENTRY instead of MARK_START
2019-03-30 17:41:13 +00:00
jmcneill
b9d71da677
Add efiboot support for 32-bit ARM targets.
2019-03-30 12:48:50 +00:00
jmcneill
0ef050d6c0
Build fixes for 32-bit targets.
2019-03-30 12:47:53 +00:00
jmcneill
d64fe86fe7
Workaround a bug with ROCKPro64's U-Boot EFI implementation. The booted
...
device path when booting from SD card sometimes does not include a
MEDIA_DEVICE_PATH component, so in this case fallback to doing an exact
match on the booted device path with the block device path to detect the
default boot device.
2019-03-09 13:16:42 +00:00
msaitoh
84347dba43
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes
...
if_upgt.c's ETHER_ALIGN from 0 to 2.
2019-03-05 08:25:01 +00:00
skrll
8c499c7d34
Add support for "bootargs" environment variable from jmcneill@
...
Doesn't work with some (all?) u-boots.
2019-01-18 19:41:03 +00:00
jmcneill
a158dd7e2e
Add support for loading kernels over NFS.
2018-11-15 23:52:33 +00:00
jmcneill
52f8d5e713
Add a "mem" command to print the EFI memory map.
2018-11-02 01:22:39 +00:00
jmcneill
92efcce76c
Add GPT support.
2018-11-01 00:43:38 +00:00
jmcneill
be34f078ca
No need to re-print the countdown timer if the number of seconds hasn't changed.
2018-10-31 23:49:34 +00:00
jmcneill
1cd5b4302b
Assign VAs for EFI runtime mmio ranges
2018-10-31 13:00:35 +00:00
jmcneill
33c6bbfd0f
When building /memory, skip EFI runtime memory ranges
2018-10-31 12:59:43 +00:00
jmcneill
a6043900cb
No longer need to delete reserved memory ranges.
2018-10-31 09:13:32 +00:00
mrg
30b672631b
avoid sign/unsigned issue and for NUMNAMES to an integer when it is
...
compared against a value that may be -1.
fixes autoboot when boot-file is set. (serves me right for removing
code that looked odd when it was tested :-)
2018-10-29 05:15:21 +00:00