svn commit: r335629 - in head: share/man/man4 sys/dev/vt/hw/vga

Roger Pau Monné royger at FreeBSD.org
Mon Jun 25 09:39:17 UTC 2018


Author: royger
Date: Mon Jun 25 09:39:16 2018
New Revision: 335629
URL: https://svnweb.freebsd.org/changeset/base/335629

Log:
  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 at utahime.org>
  Sponsored by:		Citrix Systems R&D
  Reviewed by:		kib
  Differential revision:	https://reviews.freebsd.org/D16003

Modified:
  head/share/man/man4/vt.4
  head/sys/dev/vt/hw/vga/vt_vga.c

Modified: head/share/man/man4/vt.4
==============================================================================
--- head/share/man/man4/vt.4	Mon Jun 25 09:19:50 2018	(r335628)
+++ head/share/man/man4/vt.4	Mon Jun 25 09:39:16 2018	(r335629)
@@ -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

Modified: head/sys/dev/vt/hw/vga/vt_vga.c
==============================================================================
--- head/sys/dev/vt/hw/vga/vt_vga.c	Mon Jun 25 09:19:50 2018	(r335628)
+++ head/sys/dev/vt/hw/vga/vt_vga.c	Mon Jun 25 09:39:16 2018	(r335629)
@@ -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)


More information about the svn-src-head mailing list