vt/vga: ignore ACPI_FADT_NO_VGA unless running virtualized
There's too many broken hardware out there that wrongly has the ACPI_FADT_NO_VGA bit set. Ignore it unless running as a virtualized guest, as then the expectation would be that the hypervisor does provide correct ACPI tables. Reviewed by: emaste, 0mp, eugen MFC: 3 days Sponsored by: Citrix Systems R&D PR: 230172 Differential revision: https://reviews.freebsd.org/D34392
This commit is contained in:
parent
396a8479b0
commit
0518832011
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd March 4, 2022
|
||||
.Dd March 17, 2022
|
||||
.Dt "VT" 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -204,6 +204,9 @@ graphics mode.
|
||||
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.
|
||||
Note no VGA support is only acknowledged when running virtualized.
|
||||
There is too many broken firmware that wrongly reports no VGA support on
|
||||
physical hardware.
|
||||
.It Va kern.vty
|
||||
Set this value to
|
||||
.Ql vt
|
||||
|
@ -1261,7 +1261,11 @@ vga_acpi_disabled(void)
|
||||
uint16_t flags;
|
||||
int ignore;
|
||||
|
||||
ignore = 0;
|
||||
/*
|
||||
* Ignore the flag on real hardware: there's a lot of buggy firmware
|
||||
* that will wrongly set it.
|
||||
*/
|
||||
ignore = (vm_guest == VM_GUEST_NO);
|
||||
TUNABLE_INT_FETCH("hw.vga.acpi_ignore_no_vga", &ignore);
|
||||
if (ignore || !acpi_get_fadt_bootflags(&flags))
|
||||
return (false);
|
||||
|
Loading…
Reference in New Issue
Block a user