amd64 agp driver bug?
John-Mark Gurney
gurney_j at resnet.uoregon.edu
Sat Oct 7 14:43:39 PDT 2006
I was looking at the agp driver and the BIOS and Kernel Developer's
Guide, and noticed that it appears we program the page register
incorrectly...
Currently we do, in sys/pci/agp_amd64.c:
sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical;
but according to Table 38 in the guide, it looks like it should be:
sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] =
(physical & 0xfffff000) | ((physical >> 28) & 0xff0) | 1;
To support physical addresses above 4G...
Has anyone used AGP w/ >4GB of memmory? I'm also puzzled by the fact
that the guide says to set bit 0, but we don't do that...
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the freebsd-amd64
mailing list