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 In
.Xr loader.conf 5 : .Xr loader.conf 5 :
.Cd hw.vga.textmode=1 .Cd hw.vga.textmode=1
.Cd hw.vga.acpi_ignore_no_vga=1
.Cd kern.vty=vt .Cd kern.vty=vt
.Cd kern.vt.color.<colornum>.rgb="<colorspec>" .Cd kern.vt.color.<colornum>.rgb="<colorspec>"
.Cd kern.vt.fb.default_mode="<X>x<Y>" .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. Set to 1 to use virtual terminals in text mode instead of graphics mode.
Features that require graphics mode, like loadable fonts, will be Features that require graphics mode, like loadable fonts, will be
disabled. 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 .It Va kern.vty
Set this value to Set this value to
.Ql vt .Ql vt

View File

@ -1217,6 +1217,12 @@ vga_acpi_disabled(void)
ACPI_TABLE_FADT *fadt; ACPI_TABLE_FADT *fadt;
vm_paddr_t physaddr; vm_paddr_t physaddr;
uint16_t flags; 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); physaddr = acpi_find_table(ACPI_SIG_FADT);
if (physaddr == 0) if (physaddr == 0)