History log of /freebsd-current/stand/efi/libefi/eficom.c
Revision Date Author Comments
# 2d425b63 19-May-2024 Warner Losh <imp@FreeBSD.org>

loader: c_init returns 0 or 1

c_init returns 0 (success) or 1 (failure). Don't return other values.

Sponsored by: Netflix


# 3e15b01d 22-Feb-2024 Warner Losh <imp@FreeBSD.org>

libsa: Remove redundant sys/cdefs.h

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 9ed4ec4a 28-May-2023 Kyle Evans <kevans@FreeBSD.org>

stand: libefi: avoid a null pointer deref in eficom

We don't keep comc_port around anymore if the console's not present, but
some things might still try to set one of the environment variables we
hook. In particular, one need not even set efi_com_port/efi_com_speed
in loader.conf; loader may do it itself and induce the crash if ConOut
depicts an available uart.

Probably reported by: dch
OK for now: imp


# 46927f67 24-May-2023 Warner Losh <imp@FreeBSD.org>

stand/efi/eficom: Free comc_port if we can't find the serial port

If we can't find the serial port, free comc_port and return early. The
serial port just isn't there.

Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D40223


# e5d4e036 24-May-2023 Warner Losh <imp@FreeBSD.org>

stand/efi/eficom: Make aarch64 compat code probe correctly

Make the compat code more correct by probing using the eficom console
structure, not the comconsole one.

Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D40222


# 42b0b7a9 24-May-2023 Warner Losh <imp@FreeBSD.org>

stand/efi/eficom: Don't allow this for !HYPERV machines

If the machine isn't hyperv on amd64, then this driver fails the probe
and will do nothing further now, even if explicitly listed in a config.

Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D40221


# f28dff43 24-May-2023 Warner Losh <imp@FreeBSD.org>

stand/efi/eficom: better handling of absent device

Don't even have a comc_port when the port doesn't exist: always free it
if we probe that it's not there. Also, when it's not present, clear the
flags indicating presence to avoid disturbing other flags.

Sponsored by: Netflix
Reviewed by: tsoome, kevans
Differential Revision: https://reviews.freebsd.org/D40220


# 8c3d6917 11-May-2023 Warner Losh <imp@FreeBSD.org>

stand: eficom: Only set baudrate when it changes

Only set the baudrate when it is different than what the device has
reported. In addition, pass in the args to effect no change to the other
parameters to the serial port. Some EFI firmware gets cranky when you
set them to the same value, so avoid doing so (we likely can remove the
HyperV workaround with this fix, but I kept it in place). Add comments
to the code for why we do this too.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D40010


# cb2da749 11-May-2023 Warner Losh <imp@FreeBSD.org>

stand: eficom: Don't preemtively assume flow control

Remove rtsdtr_off. It's basically unused. Expand its meaning, but put
changing flow control to under an ifdef. We shouldn't set it unless
we're sure we need to do so. UEFI normally initializes the device
correctly, and we should avoid needless changes that aren't user
requested.

Sponsored by: Netflix
Reviewed by: tsoome
Differential Revision: https://reviews.freebsd.org/D40009


# 66826fd5 11-May-2023 Warner Losh <imp@FreeBSD.org>

stand: eficom : remove unused ignore_cd

Sponsored by: Netflix
Reviewed by: tsoome
Differential Revision: https://reviews.freebsd.org/D40008


# bab80c12 11-May-2023 Warner Losh <imp@FreeBSD.org>

stand: Move eficom to libefi

Rename efiserialc to eficom.c and move it to libefi. Remove
loader.efi.h, since it's not needed. It's architecture independent
(though how we use it might vary). Drivers also belong in libfoo
in the boot loader: all the BIOS drivers are in i386/libi386 and
the console driver is in efi/libefi.

Sponsored by: Netflix
Reviewed by: tsoome
Differential Revision: https://reviews.freebsd.org/D40007