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 <y...@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)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to