diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2003-10-29 03:30:45 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2003-10-29 03:30:45 +0000 |
commit | 143f8d89ab68c82f97002b3b8a7e770a59f6b3da (patch) | |
tree | ce28408a83ad918b37be08260160014aca07748a | |
parent | 8bfb1786d591a49256818c008e9a41c87a9f9125 (diff) | |
download | FreeBSD-src-143f8d89ab68c82f97002b3b8a7e770a59f6b3da.zip FreeBSD-src-143f8d89ab68c82f97002b3b8a7e770a59f6b3da.tar.gz |
Add kernel option ACPI_NO_RESET_VIDEO as workaround for problems
(e.g. LCD white-out after resume) on some machine cased by
re-initialize video BIOS code in acpi_wakecode.
-rw-r--r-- | sys/conf/options | 1 | ||||
-rw-r--r-- | sys/i386/acpica/Makefile | 4 | ||||
-rw-r--r-- | sys/i386/acpica/acpi_wakecode.S | 2 | ||||
-rw-r--r-- | sys/i386/conf/NOTES | 1 |
4 files changed, 8 insertions, 0 deletions
diff --git a/sys/conf/options b/sys/conf/options index 271a289..18617cb 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -599,6 +599,7 @@ WITNESS_SKIPSPIN opt_witness.h ACPI_DEBUG opt_acpi.h ACPI_MAX_THREADS opt_acpi.h ACPI_NO_SEMAPHORES opt_acpi.h +ACPI_NO_RESET_VIDEO opt_acpi.h ACPICA_PEDANTIC opt_acpi.h # options for DEVFS, see sys/fs/devfs/devfs.h diff --git a/sys/i386/acpica/Makefile b/sys/i386/acpica/Makefile index 59932f7..c22071f 100644 --- a/sys/i386/acpica/Makefile +++ b/sys/i386/acpica/Makefile @@ -11,6 +11,10 @@ CLEANFILES= acpi_wakecode.h acpi_wakecode.bin acpi_wakecode.o .endif CFLAGS+= -I. +.ifdef ACPI_NO_RESET_VIDEO +CFLAGS+= -DACPI_NO_RESET_VIDEO +.endif + all: acpi_wakecode.h acpi_wakecode.o: acpi_wakecode.S diff --git a/sys/i386/acpica/acpi_wakecode.S b/sys/i386/acpica/acpi_wakecode.S index 3d40b31..a67f4ad 100644 --- a/sys/i386/acpica/acpi_wakecode.S +++ b/sys/i386/acpica/acpi_wakecode.S @@ -43,6 +43,7 @@ wakeup_16: movw %ax,%ds movw %ax,%ss +#ifndef ACPI_NO_RESET_VIDEO /* * Re-initialize video BIOS. Restore DS and SS from CS in * case the BIOS modified them. @@ -51,6 +52,7 @@ wakeup_16: movw %cs, %ax movw %ax, %ds movw %ax, %ss +#endif /* Load GDT for real mode */ lgdt physical_gdt diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 7a33562..9b5a923 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -425,6 +425,7 @@ device acpi options ACPI_DEBUG options ACPI_MAX_THREADS=1 #!options ACPI_NO_SEMAPHORES +#!options ACPI_NO_RESET_VIDEO #!options ACPICA_PEDANTIC # DRM options: |