Index: sys/dev/agp/agp_i810.h =================================================================== --- sys/dev/agp/agp_i810.h +++ sys/dev/agp/agp_i810.h @@ -87,6 +87,7 @@ int intel_gtt_chipset_flush(void); void intel_gtt_unmap_memory(struct sglist *sg_list); void intel_gtt_clear_range(u_int first_entry, u_int num_entries); +void intel_gtt_install_pte(u_int index, vm_paddr_t addr, u_int flags); int intel_gtt_map_memory(vm_page_t *pages, u_int num_entries, struct sglist **sg_list); void intel_gtt_insert_sg_entries(struct sglist *sg_list, u_int pg_start, Index: sys/dev/agp/agp_i810.c =================================================================== --- sys/dev/agp/agp_i810.c +++ sys/dev/agp/agp_i810.c @@ -2242,6 +2242,16 @@ return (0); } +static void +agp_intel_gtt_install_pte(device_t dev, u_int index, vm_paddr_t addr, + u_int flags) +{ + struct agp_i810_softc *sc; + + sc = device_get_softc(dev); + sc->match->driver->install_gtt_pte(dev, index, addr, flags); +} + void agp_intel_gtt_insert_sg_entries(device_t dev, struct sglist *sg_list, u_int first_entry, u_int flags) @@ -2320,6 +2330,13 @@ agp_intel_gtt_insert_sg_entries(intel_agp, sg_list, first_entry, flags); } +void +intel_gtt_install_pte(u_int index, vm_paddr_t addr, u_int flags) +{ + + agp_intel_gtt_install_pte(intel_agp, index, addr, flags); +} + device_t intel_gtt_get_bridge_device(void) {