summaryrefslogtreecommitdiffstats
path: root/sys/i386/acpica
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-10-27 06:26:51 +0000
committernjl <njl@FreeBSD.org>2003-10-27 06:26:51 +0000
commitdbcf41401d47ee0af4d3fb6e25a95330c07f7e88 (patch)
tree06fec987ddcdc2378283437f367b283b44efbd37 /sys/i386/acpica
parent0e546cc32c7f26787235551242ae501e7cd6d76c (diff)
downloadFreeBSD-src-dbcf41401d47ee0af4d3fb6e25a95330c07f7e88.zip
FreeBSD-src-dbcf41401d47ee0af4d3fb6e25a95330c07f7e88.tar.gz
Call the VESA reset BIOS vector on the resume path. This may help displays
after resume. I have not found it to break anything.
Diffstat (limited to 'sys/i386/acpica')
-rw-r--r--sys/i386/acpica/acpi_wakecode.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/i386/acpica/acpi_wakecode.S b/sys/i386/acpica/acpi_wakecode.S
index 6a251ff..3d40b31 100644
--- a/sys/i386/acpica/acpi_wakecode.S
+++ b/sys/i386/acpica/acpi_wakecode.S
@@ -42,6 +42,15 @@ wakeup_16:
movw %cs,%ax
movw %ax,%ds
movw %ax,%ss
+
+ /*
+ * Re-initialize video BIOS. Restore DS and SS from CS in
+ * case the BIOS modified them.
+ */
+ lcall $0xc000, $3
+ movw %cs, %ax
+ movw %ax, %ds
+ movw %ax, %ss
/* Load GDT for real mode */
lgdt physical_gdt
OpenPOWER on IntegriCloud