vt: add option to ignore NO_VGA flag in ACPI

To workaround buggy firmware that sets this flag when there's actually
a VGA present.

Reported and tested by:	Yasuhiro KIMURA <yasu@utahime.org>
Sponsored by:		Citrix Systems R&D
Reviewed by:		kib
Differential revision:	https://reviews.freebsd.org/D16003
This commit is contained in:
Roger Pau Monné 2018-06-25 09:39:16 +00:00
parent 7739f6e5ad
commit 8f62926e03
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=335629
2 changed files with 11 additions and 0 deletions

View File

@ -44,6 +44,7 @@
In
.Xr loader.conf 5 :
.Cd hw.vga.textmode=1
.Cd hw.vga.acpi_ignore_no_vga=1
.Cd kern.vty=vt
.Cd kern.vt.color.<colornum>.rgb="<colorspec>"
.Cd kern.vt.fb.default_mode="<X>x<Y>"
@ -196,6 +197,10 @@ prompt or in
Set to 1 to use virtual terminals in text mode instead of graphics mode.
Features that require graphics mode, like loadable fonts, will be
disabled.
.It Va hw.vga.acpi_ignore_no_vga
Set to 1 to force the usage of the VGA driver regardless of whether
ACPI IAPC_BOOT_ARCH signals no VGA support.
Can be used to workaround firmware bugs in the ACPI tables.
.It Va kern.vty
Set this value to
.Ql vt

View File

@ -1217,6 +1217,12 @@ vga_acpi_disabled(void)
ACPI_TABLE_FADT *fadt;
vm_paddr_t physaddr;
uint16_t flags;
int ignore;
TUNABLE_INT_FETCH("hw.vga.acpi_ignore_no_vga", &ignore);
if (ignore)
return (false);
physaddr = acpi_find_table(ACPI_SIG_FADT);
if (physaddr == 0)