History log of /openbsd/sys/arch/amd64/stand/libsa/biosdev.c (Results 1 – 25 of 37)
Revision Date Author Comments
# 36dba039 14-Apr-2024 jsg <jsg@openbsd.org>

with empty body loops, put final semicolon on a new line for readability
ok bluhm@ jca@


# 5a837827 25-Apr-2023 kn <kn@openbsd.org>

Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sy

Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.

Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.

amd64 BIOS bits first, rest to come. Crank minor.

"seems sensible" jsing

show more ...


# 855f8c03 12-Aug-2022 stsp <stsp@openbsd.org>

add support for booting from RAID 1C softraid(4) volumes on amd64

Only boot-loader changes are needed. Both installboot(8) and
the kernel already do what is required to make this work.

ok kn@

Test

add support for booting from RAID 1C softraid(4) volumes on amd64

Only boot-loader changes are needed. Both installboot(8) and
the kernel already do what is required to make this work.

ok kn@

Tested:
biosboot on vmm: kn, stsp
biosboot and efiboot on server hardware: stsp

show more ...


# 3e58d19e 09-Dec-2020 krw <krw@openbsd.org>

Use daddr_t and not daddr32_t in boot media.

At a minimum, amd64/i386 should now boot from 4TB GPT formatted disks.

More daddr32_t terminations with extreme prejudice to follow.

Tested by various,

Use daddr_t and not daddr32_t in boot media.

At a minimum, amd64/i386 should now boot from 4TB GPT formatted disks.

More daddr32_t terminations with extreme prejudice to follow.

Tested by various, in snaps for a few days.

ok deraadt@

show more ...


# 6ab058fb 16-Dec-2018 otto <otto@openbsd.org>

Avoid using a too big bounce buffer by splitting up large reads. Allows
for booting using large (64k) blocksize filesystems. ok tedu@


# 27bea9a3 10-Aug-2018 jsing <jsing@openbsd.org>

Retry on incorrect passphrase for softraid crypto boot.

Historically, the softraid crypto support in the boot loaders has only
given one attempt to provide the correct passphrase. There were a
few r

Retry on incorrect passphrase for softraid crypto boot.

Historically, the softraid crypto support in the boot loaders has only
given one attempt to provide the correct passphrase. There were a
few reasons for this, including the fact that pkcs5_pbkdf2() allows an
empty passphrase and that returning EPERM allowed for another attempt.

With the event of KARL and the need for bsd.booted with hibernate resumption,
this becomes much more of an issue - if you get the passphrase wrong you
fail to resume. There are also other situations like using /etc/boot.conf
to switch serial console, but an incorrect passphrase results in the config
not being read. Also, bcrypt_pbkdf() does not permit empty passphrases.

This reworks the softraid crypto support in the boot loaders so that it
loops requesting a valid passphrase until one is provided, or an empty
passphrase is entered (at which point it will abort).

ok mortimer@ tb@

show more ...


# 6ce082ff 21-Jul-2017 yasuoka <yasuoka@openbsd.org>

Check the hibernation signature for softraid disks and select valid bsd
for unhibernation. reported by Natasha Kerensikova. tested by Theo Buehler.

ok deraadt


# be4b99eb 18-Sep-2016 jsing <jsing@openbsd.org>

Fix a bug in the bounce buffer handling of BIOS disk I/O.

Currently, if a buffer crosses a 64KB boundary, a bounce buffer is
allocated, however it is assumed that this new buffer does not cross the

Fix a bug in the bounce buffer handling of BIOS disk I/O.

Currently, if a buffer crosses a 64KB boundary, a bounce buffer is
allocated, however it is assumed that this new buffer does not cross the
64KB boundary. In the case of i386 fdboot, it just so happens that (due to
the size of fdboot and heap allocations) UFS gets allocated a 4KB buffer
that crosses a 64KB boundary, then biosd_io() allocates a bounce buffer,
which also crosses a 64KB boundary. At this point the BIOS gets grumpy and
refuses to read from the disk.

Further clean up to come from tom@.

show more ...


# e876def9 11-Sep-2016 jsing <jsing@openbsd.org>

Switch amd64 to libsa MI softraid.


# 65f4a3c7 11-Sep-2016 jsing <jsing@openbsd.org>

Rename softraid boot files, which are currently in an MD location. This
will allow us to bring in a MI softraid.{c,h} in lib/libsa.


# 9e746c39 01-Oct-2015 krw <krw@openbsd.org>

Use DOS_LABELSECTOR rather than LABELSECTOR to indicate offset into an
OpenBSD partition when accessing the disklabel. For these files both
are '1', but this makes the usage consistent across all arc

Use DOS_LABELSECTOR rather than LABELSECTOR to indicate offset into an
OpenBSD partition when accessing the disklabel. For these files both
are '1', but this makes the usage consistent across all archs.

ok guenther@ miod@

show more ...


# 70aaba56 01-Oct-2015 krw <krw@openbsd.org>

Remove yet more blinding whitespace.


# da1a53a8 01-Oct-2015 krw <krw@openbsd.org>

Remove more blinding trailing whitespace.


# 11db8caa 19-Sep-2015 semarie <semarie@openbsd.org>

trivial "if(x) free(x)" replacement by "free(x)"

ok miod@


# 7b5f1cbe 02-Sep-2015 yasuoka <yasuoka@openbsd.org>

Initial commit of uefi boot loader of OpenBSD.

ok deraadt yuo


# 2df76cc2 29-Mar-2014 guenther <guenther@openbsd.org>

It's been a quarter century: we can assume volatile is present with that name.

ok dlg@ mpi@ deraadt@


# a8401cd3 28-Dec-2013 jsing <jsing@openbsd.org>

If we fail to decrypt the softraid keys, return EPERM rather than falling
through and failing when we attempt to read and validate the disklabel.
Also return ENOTSUP rather than EPERM if an attempt i

If we fail to decrypt the softraid keys, return EPERM rather than falling
through and failing when we attempt to read and validate the disklabel.
Also return ENOTSUP rather than EPERM if an attempt is made to write to a
softraid volume.

show more ...


# 209ccf4d 23-Mar-2013 deraadt <deraadt@openbsd.org>

Avoid using DEV_BSHIFT, and use DEV_BSIZE instead.


# 92befcdd 27-Oct-2012 jsing <jsing@openbsd.org>

Move the code for softraid boot into separate files, leaving only minimal
hooks that are called from the normal code path. This allows softraid boot
support to be completely enabled or disabled at co

Move the code for softraid boot into separate files, leaving only minimal
hooks that are called from the normal code path. This allows softraid boot
support to be completely enabled or disabled at compile time. For boot(8)
all softraid boot support is now enabled by default, including support for
booting from crypto volumes. Disable softraid boot support for fdboot,
which further shrinks the binary.

show more ...


# 70197c51 09-Oct-2012 jsing <jsing@openbsd.org>

Teach amd64 boot(8) how to access a softraid crypto volume. This allows for
full disk encryption since the kernel can now be loaded directly from the
crypto volume, instead of needing to be on FFS.

Teach amd64 boot(8) how to access a softraid crypto volume. This allows for
full disk encryption since the kernel can now be loaded directly from the
crypto volume, instead of needing to be on FFS.

This is currently disabled by default, however can be enabled by compiling
with boot(8) 'make -DBOOT_CRYPTO'.

show more ...


# e995780e 11-Jan-2012 jsing <jsing@openbsd.org>

Teach OpenBSD/amd64 boot(8) how to access softraid(8) volumes. This
allows a kernel to be loaded from a softraid RAID 1 volume. Furthermore,
if you boot from a disk that is a member of a bootable sof

Teach OpenBSD/amd64 boot(8) how to access softraid(8) volumes. This
allows a kernel to be loaded from a softraid RAID 1 volume. Furthermore,
if you boot from a disk that is a member of a bootable softraid volume
then it will default to booting from the softraid volume (sr[0-9]a:/bsd).

Discussed with deraadt@

show more ...


# 7c491ec1 19-Jul-2011 krw <krw@openbsd.org>

Warn about but don't prevent installboot from installing /boot when
the OpenBSD partition starts at >128G. This restores previous
behaviour but adds the warning.

ok deraadt@ guenther@


# fb9d9d2c 17-Mar-2011 krw <krw@openbsd.org>

Make the various findopenbsd() functions non-recursive, eliminating
a global, a couple of parameters, and opening up possibility of
traversing much longer EBR lists without blowing the stack.

Make s

Make the various findopenbsd() functions non-recursive, eliminating
a global, a couple of parameters, and opening up possibility of
traversing much longer EBR lists without blowing the stack.

Make seach algorithm the same as used in kern/subr_disk.c by checking
all primary partitions in the MBR/EBR before moving to next EBR. This
makes it more likely that everybody finds the same OpenBSD partition.

Largely from a diff posted to tech@ by ucsavl.

show more ...


# c58c0b92 15-Mar-2011 krw <krw@openbsd.org>

Bunch of white space and style adjustments to make amd64 version
the same as i386 version. No change to .o file except for the one
%lld -> %u format fix.


# 9730fd37 14-Mar-2011 krw <krw@openbsd.org>

Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB for
512-byte sectors) as some BIOSen get confused when we ask for sectors
higher up.

Uss u_int throughout the boot code to calculate secto

Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB for
512-byte sectors) as some BIOSen get confused when we ask for sectors
higher up.

Uss u_int throughout the boot code to calculate sector addresses,
since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks
for wraparound.

I can now install and boot from the 7th extended partition below
128GB.

Much feedback & guidance from deraadt@. Also from weingart@ on
BIOS io.

ok deraadt@ (less a couple of minor tweaks found in testing)

show more ...


12