--- src/sys/dev/agp/agp_intel.c 2003/12/09 19:40:56 1.4 +++ src/sys/dev/agp/agp_intel.c 2004/07/04 00:24:52 1.5 @@ -109,6 +109,9 @@ agp_intel_match(device_t dev) case 0x25788086: return ("Intel 82875P host to AGP bridge"); + + case 0x25608086: /* i845G */ + return ("Intel 82845G host to AGP bridge"); }; if (pci_get_vendor(dev) == 0x8086) @@ -152,10 +155,6 @@ agp_intel_attach(device_t dev) MAX_APSIZE; pci_write_config(dev, AGP_INTEL_APSIZE, value, 1); sc->initial_aperture = AGP_GET_APERTURE(dev); - if (sc->initial_aperture == 0) { - device_printf(dev, "bad initial aperture size, disabling\n"); - return ENXIO; - } for (;;) { gatt = agp_alloc_gatt(dev); @@ -214,6 +213,7 @@ agp_intel_attach(device_t dev) case 0x33408086: /* i855 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ + case 0x25608086: /* i845G */ pci_write_config(dev, AGP_INTEL_I845_MCHCFG, (pci_read_config(dev, AGP_INTEL_I845_MCHCFG, 1) | (1 << 1)), 1); @@ -238,6 +238,7 @@ agp_intel_attach(device_t dev) case 0x25318086: /* i860 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ + case 0x25608086: /* i845G */ pci_write_config(dev, AGP_INTEL_I8XX_ERRSTS, 0x00ff, 2); break; @@ -280,6 +281,7 @@ agp_intel_detach(device_t dev) & ~(1 << 1)), 1); case 0x1a308086: /* i845 */ + case 0x25608086: /* i845G */ case 0x33408086: /* i855 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ @@ -375,7 +377,7 @@ agp_intel_flush_tlb(device_t dev) u_int32_t val; val = pci_read_config(dev, AGP_INTEL_AGPCTRL, 4); - pci_write_config(dev, AGP_INTEL_AGPCTRL, val & ~(1 << 8), 4); + pci_write_config(dev, AGP_INTEL_AGPCTRL, val & ~(1 << 7), 4); pci_write_config(dev, AGP_INTEL_AGPCTRL, val, 4); }