Port the TTM AGP backend to the FreeBSD agp driver and enable AGP support
in the radeonkms driver.

Note: In PCI mode virtual addresses on the graphics card that map to system
RAM are translated to physical addresses by the graphics card itself.   In
AGP mode address translation is done by the AGP chipset so fictitious
addresses appear on the system bus.  For the CPU cache management to work
correctly when the CPU accesses this memory it needs to use the same
fictitious addresses (and let the chipset translate them) instead of using
the physical addresses directly.

Reviewed by:	kib
MFC after:	1 month


git-svn-id: svn+ssh://svn.freebsd.org/base/head@273862 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Avoid possible overflow in agp_generic_alloc_memory.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@273863 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f