Skip to content

Commit

Permalink
loader: implement framebuffer console
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Toomas Soome authored and Toomas Soome committed Jan 2, 2021
1 parent bd03ace commit 3630506
Show file tree
Hide file tree
Showing 51 changed files with 6,070 additions and 401 deletions.
2 changes: 2 additions & 0 deletions stand/Makefile
Expand Up @@ -25,6 +25,8 @@ S.${MK_FORTH}+= forth
S.${MK_LOADER_LUA}+= liblua
S.${MK_LOADER_LUA}+= lua
S.yes+= defaults
S.yes+= fonts
S.yes+= images
S.yes+= man

.if ${MK_FORTH} != "no"
Expand Down
5 changes: 5 additions & 0 deletions stand/common/bootstrap.h
Expand Up @@ -32,6 +32,7 @@
#include <sys/types.h>
#include <sys/queue.h>
#include <sys/linker_set.h>
#include <stdbool.h>

#include "readin.h"

Expand Down Expand Up @@ -119,6 +120,8 @@ struct console
};
extern struct console *consoles[];
void cons_probe(void);
bool cons_update_mode(bool);
void autoload_font(bool);

/*
* Plug-and-play enumerator/configurator interface.
Expand Down Expand Up @@ -258,6 +261,8 @@ int file_addmodule(struct preloaded_file *, char *, int,
struct kernel_module **);
void file_removemetadata(struct preloaded_file *fp);

vm_offset_t build_font_module(vm_offset_t);

/* MI module loaders */
#ifdef __elfN
/* Relocation types. */
Expand Down

0 comments on commit 3630506

Please sign in to comment.