Subject: CVS commit: src/sys/arch/i386/i386
To: None <source-changes@NetBSD.org>
From: Nathan J Williams <nathanw@netbsd.org>
List: source-changes
Date: 07/10/2004 21:25:53
Module Name: src
Committed By: nathanw
Date: Sat Jul 10 21:25:53 UTC 2004
Modified Files:
src/sys/arch/i386/i386: identcpu.c
Log Message:
cyrix6x86_cpu_setup: Save and restore the original value of CCR3
across the "coma bug" workaround to avoid clearing the MAPEN bit if it
was originally set by firmware. This appears necessary for proper
functioning of SMM on Geode CPUs, and thus for proper emulation (ugh)
of access to certain PCI configuration registers or VGA register
spaces. With this change, VGA and soundblaster emulation work on Geode
NX1 systems.
This was also the underlying problem that led to the introduction of
the PCI_QUIRK_SKIP_FUNCn quirks in pci_quirks.c, which are no longer
necessary (and counterproductive if you want to use VGA or a
Geode-specific audio driver). See the thread "pci probe" on port-i386
in August 2003 (The Soekris 4801, apparantly the most popular
Geode-based NetBSD box, has neither VGA nor audio, which may explain
why this wasn't noticed at the time).
To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 src/sys/arch/i386/i386/identcpu.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.