History log of /openbsd/sys/arch/i386/stand/libsa/biosdev.c (Results 1 – 25 of 101)
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@


# d55930ef 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.

i386 BIOS. Crank minor.
Tested inside amd64 vmm.

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@


# c7617a35 06-Sep-2018 jsg <jsg@openbsd.org>

fix whitespace


# 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 ...


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

Switch i386 boot code 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 ...


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

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

ok miod@


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

Bring the boot changes on amd64 to i386. alloca is deleted.
Also fix the boot from BIOS and bump the version.

input and ok deraadt


# 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.


# 300918ef 01-Nov-2012 jsing <jsing@openbsd.org>

Fix merge errors.

Found the hard way by deraadt@


# 531ff0cd 31-Oct-2012 jsing <jsing@openbsd.org>

Bring softraid support to i386/stand/libsa.


# 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 ...


# 214337f8 13-Mar-2011 deraadt <deraadt@openbsd.org>

Change daddr_t to daddr32_t. The bootblocks on our architectures only
do 32-bit block spanning. If later on we get some that can/should do
64-bit, that can be done now using daddr64_t (but of cours

Change daddr_t to daddr32_t. The bootblocks on our architectures only
do 32-bit block spanning. If later on we get some that can/should do
64-bit, that can be done now using daddr64_t (but of course, we are taking
this step to finalize the daddr_t 64-bit conversion).
ok miod krw

show more ...


# 9b016634 11-Mar-2011 krw <krw@openbsd.org>

Zap stack garbage before passing buffer to biosd_io(), which may
be lied to by the BIOS about successfully reading data.

ok deraadt@ weingart@


# 8255a185 08-Mar-2011 krw <krw@openbsd.org>

Fix extended partition searching so we don't get lost. The offset
of the next EBR is relative to the start of the extended partition
described in the first MBR, not relative to the EBR specifying the

Fix extended partition searching so we don't get lost. The offset
of the next EBR is relative to the start of the extended partition
described in the first MBR, not relative to the EBR specifying the
offset in its extended partition entry.

Clean up installboot -v output. Use daddr64_t for all sector numbers.

Not a complete fix, but better than what we had. More tweaks to
come.

Inspired by a diff and cluebat from uscav on tech@ a few weeks
ago.

Feedback from matthew@, weingart@.

ok deraadt@

show more ...


12345