summaryrefslogtreecommitdiffstats
path: root/sys/i386/pci
diff options
context:
space:
mode:
authorse <se@FreeBSD.org>1997-05-26 21:11:05 +0000
committerse <se@FreeBSD.org>1997-05-26 21:11:05 +0000
commitd4c4dc86bf4338e642f9f145855a15e93e2199e9 (patch)
treefe65af2a994e42f0f4ec69e40242fd414f8d6364 /sys/i386/pci
parent2d9259ea49a0c22f384b29f0f68f77d903d8a41a (diff)
downloadFreeBSD-src-d4c4dc86bf4338e642f9f145855a15e93e2199e9.zip
FreeBSD-src-d4c4dc86bf4338e642f9f145855a15e93e2199e9.tar.gz
Set enable bit when writing the configuration address in configuration
mode 1. Omission of this bit makes all config register accesses fail in on recent chip sets ... (The problem was reported and debug output provided by: Steve Passe)
Diffstat (limited to 'sys/i386/pci')
-rw-r--r--sys/i386/pci/pci_bus.c4
-rw-r--r--sys/i386/pci/pci_cfgreg.c4
-rw-r--r--sys/i386/pci/pci_pir.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/sys/i386/pci/pci_bus.c b/sys/i386/pci/pci_bus.c
index df84794..cc58c0d 100644
--- a/sys/i386/pci/pci_bus.c
+++ b/sys/i386/pci/pci_bus.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id$
+ * $Id: pcibus.c,v 1.36 1997/05/26 15:08:42 se Exp $
*
*/
@@ -59,7 +59,7 @@ pci_cfgenable(unsigned bus, unsigned slot, unsigned func, int reg, int bytes)
&& (reg & (bytes -1)) == 0) {
switch (cfgmech) {
case 1:
- outl(CONF1_ADDR_PORT,
+ outl(CONF1_ADDR_PORT, 0x8000 |
(bus << 16) | (slot << 11) | (func << 8) | reg);
dataport = CONF1_DATA_PORT;
break;
diff --git a/sys/i386/pci/pci_cfgreg.c b/sys/i386/pci/pci_cfgreg.c
index df84794..cc58c0d 100644
--- a/sys/i386/pci/pci_cfgreg.c
+++ b/sys/i386/pci/pci_cfgreg.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id$
+ * $Id: pcibus.c,v 1.36 1997/05/26 15:08:42 se Exp $
*
*/
@@ -59,7 +59,7 @@ pci_cfgenable(unsigned bus, unsigned slot, unsigned func, int reg, int bytes)
&& (reg & (bytes -1)) == 0) {
switch (cfgmech) {
case 1:
- outl(CONF1_ADDR_PORT,
+ outl(CONF1_ADDR_PORT, 0x8000 |
(bus << 16) | (slot << 11) | (func << 8) | reg);
dataport = CONF1_DATA_PORT;
break;
diff --git a/sys/i386/pci/pci_pir.c b/sys/i386/pci/pci_pir.c
index df84794..cc58c0d 100644
--- a/sys/i386/pci/pci_pir.c
+++ b/sys/i386/pci/pci_pir.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id$
+ * $Id: pcibus.c,v 1.36 1997/05/26 15:08:42 se Exp $
*
*/
@@ -59,7 +59,7 @@ pci_cfgenable(unsigned bus, unsigned slot, unsigned func, int reg, int bytes)
&& (reg & (bytes -1)) == 0) {
switch (cfgmech) {
case 1:
- outl(CONF1_ADDR_PORT,
+ outl(CONF1_ADDR_PORT, 0x8000 |
(bus << 16) | (slot << 11) | (func << 8) | reg);
dataport = CONF1_DATA_PORT;
break;
OpenPOWER on IntegriCloud