37#include <sys/kernel.h>
38#include <sys/malloc.h>
39#include <sys/module.h>
61 DEVMETHOD(device_attach, bus_generic_attach),
78 switch (pci_get_devid(
dev)) {
94 pmccfg = pci_read_config(
dev, 0x50, 2);
96 if (pmccfg & 0x8000) {
97 device_printf(
dev,
"correcting Natoma config for SMP\n");
99 pci_write_config(
dev, 0x50, pmccfg, 2);
102 if ((pmccfg & 0x8000) == 0) {
103 device_printf(
dev,
"correcting Natoma config for non-SMP\n");
105 pci_write_config(
dev, 0x50, pmccfg, 2);
133 if (pci_get_bus(
dev) == 0 && pci_get_slot(
dev) == 0 &&
134 pci_get_function(
dev) == 0) {
135 val = pci_read_config(
dev, 0x6c, 4);
136 if (
val & 0x000e0000) {
138 "correcting nForce2 C1 CPU disconnect hangs\n");
140 pci_write_config(
dev, 0x6c,
val, 4);
static device_method_t fixup_pci_methods[]
static driver_t fixup_pci_driver
static devclass_t fixup_pci_devclass
static void fixwsc_natoma(device_t dev)
static int fixup_pci_probe(device_t dev)
DRIVER_MODULE(fixup_pci, pci, fixup_pci_driver, fixup_pci_devclass, 0, 0)
static void fixc1_nforce2(device_t dev)