diff options
author | njl <njl@FreeBSD.org> | 2003-10-27 06:26:51 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2003-10-27 06:26:51 +0000 |
commit | dbcf41401d47ee0af4d3fb6e25a95330c07f7e88 (patch) | |
tree | 06fec987ddcdc2378283437f367b283b44efbd37 | |
parent | 0e546cc32c7f26787235551242ae501e7cd6d76c (diff) | |
download | FreeBSD-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.
-rw-r--r-- | sys/i386/acpica/acpi_wakecode.S | 9 |
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 |