cvs commit: src/sys/pci agp.c agp_i810.c agppriv.h agpreg.h
anholt at FreeBSD.org
Fri Jul 13 16:28:12 UTC 2007
anholt 2007-07-13 16:28:12 UTC
FreeBSD src repository
sys/pci agp.c agp_i810.c agppriv.h agpreg.h
Add support for G965/Q965/GM965/GME965/GME945 AGP.
This adds a function to agp.c to set the aperture resource ID if it's
not the usual AGP_APBASE. Previously, agp.c had been assuming
AGP_APBASE, which resulted in incorrect agp_info, and contortions by
agp_i810.c to work around it.
This also adds functions to agp.c for default AGP_GET_APERTURE() and
AGP_SET_APERTURE(), which return the aperture resource size and disallow
aperture size changes. Moving to these for our AGP drivers will likely
result in stability improvements. This should fix 855-class aperture
Additionally, refuse to attach agp_i810 when some RAM is above 4GB and
the GART can't reference memory that high. This should be very rare.
The correct solution would be bus_dma conversion for agp, which is
beyond the scope of this change. Other AGP drivers could likely use
this change as well.
G33/Q35/Q33 AGP support is also included, but disconnected by default
due to lack of testing.
PR: kern/109724 (855 aperture issue)
Submitted by: FUJIMOTO Kou<fujimoto at j.dendai.ac.jp>
Approved by: re (hrs)
Revision Changes Path
1.56 +52 -5 src/sys/pci/agp.c
1.40 +306 -224 src/sys/pci/agp_i810.c
1.6 +5 -0 src/sys/pci/agppriv.h
1.19 +25 -2 src/sys/pci/agpreg.h
More information about the cvs-src