]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
loader: implement framebuffer console
authorToomas Soome <tsoome@FreeBSD.org>
Mon, 21 Dec 2020 05:31:16 +0000 (07:31 +0200)
committerToomas Soome <tsoome@FreeBSD.org>
Sat, 2 Jan 2021 19:41:36 +0000 (21:41 +0200)
commit3630506b9daec9167a89bc4525638ea45a00769e
tree8276b2e49eeaedbc1fb1806c5a9f64ee642bdc57
parentbd03acedb804add1e22178d50eb2bfb703974ddf
loader: implement framebuffer console

Draw console on efi.
Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list,
vbe set xxx).
autoload font (/boot/fonts) based on resolution and font size.
Add command loadfont (set font by file) and
variable screen.font (set font by size). Pass loaded font to kernel.

Export variables:
screen.height
screen.width
screen.depth

Add gfx primitives to draw the screen and put png image on the screen.
Rework menu draw to iterate list of consoles to enamble device specific
output.

Probably something else I forgot...

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D27420
51 files changed:
stand/Makefile
stand/common/bootstrap.h
stand/common/gfx_fb.c [new file with mode: 0644]
stand/common/gfx_fb.h [new file with mode: 0644]
stand/common/module.c
stand/defaults/loader.conf.5
stand/efi/include/efilib.h
stand/efi/libefi/Makefile
stand/efi/libefi/efi_console.c
stand/efi/loader/Makefile
stand/efi/loader/bootinfo.c
stand/efi/loader/framebuffer.c
stand/efi/loader/main.c
stand/ficl.mk
stand/ficl/Makefile
stand/ficl/loader.c
stand/fonts/INDEX.fonts [new file with mode: 0644]
stand/fonts/Makefile [new file with mode: 0644]
stand/forth/beastie.4th
stand/forth/brand-fbsd.4th
stand/forth/brand.4th
stand/forth/color.4th
stand/forth/frames.4th
stand/forth/logo-orb.4th
stand/forth/menu.4th
stand/forth/support.4th
stand/i386/libi386/Makefile
stand/i386/libi386/bootinfo.c
stand/i386/libi386/bootinfo32.c
stand/i386/libi386/bootinfo64.c
stand/i386/libi386/libi386.h
stand/i386/libi386/vbe.c [new file with mode: 0644]
stand/i386/libi386/vbe.h [new file with mode: 0644]
stand/i386/libi386/vidconsole.c
stand/i386/loader/Makefile
stand/i386/loader/main.c
stand/images/Makefile [new file with mode: 0644]
stand/images/freebsd-brand-rev.png [new file with mode: 0644]
stand/images/freebsd-brand.png [new file with mode: 0644]
stand/images/freebsd-logo-rev.png [new file with mode: 0644]
stand/liblua/Makefile
stand/liblua/lutils.c
stand/loader.mk
stand/lua/color.lua
stand/lua/core.lua
stand/lua/drawer.lua
stand/lua/gfx-orb.lua
stand/userboot/userboot/Makefile
stand/userboot/userboot/userboot_cons.c
sys/sys/font.h
sys/teken/teken.h