Check it out
I followed the directions you gave and agpgart.o does recognize my chip now!
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: Detected Via Apollo Pro P4X400 chipset
agpgart: AGP aperture is 64M @ 0xe0000000
And in fact if i load NVdriver and XF86Config has the option "NvAgp" "2" then 4Xagp is loading. BUT IT CRASHES RIGHT AWAY. I even got it to load 4X, by starting X then switching to another console and killing it. Then starting it again with "NvAgp" "0". I check cat /proc/drivers/nvidia/agp/status showed AGPGART 4X. Then I ran glxgears and locked.
Gotta use "NvAgp" "0" when starting X or it lockups.
So this definitely answers it. The KT400/P4X400 (which both are 4X/8Xagp or AGP2.0/3.0 capable) will not work with generic VIA agp.
So now I have to write a function that does work with it called via_P4X400_setup and then in:
"Apollo Pro P4X400",
I have not found any "test" kernels that support the new chipsets from via. I have searched all changelogs from 2.4.18 to 2.5.42. All I found is were they split the code and cleaned it up. Also some additions for Intel chips. ARG
I sent an email to both nvidia and to VIA. No reply as of yet. I will lookover the code for via_generic_setup and see what it is doing. I bet it has to do with continuous memory or something, because I noticed different mem blocks from the "resource" tab under the NorthBridge in windows. Also, read in one of the change logs that they addressed continuos mem (not the use of).
I sure would love NVIDIA or VIA to help out.
BTW, thanks for the help. It was fun editing those files and recompiling my kernel to at least see it say P4X400