FYI: Since some people reported problems with more than 4 GB and AGP on a Tyan S2885: The new BIOS at ftp://ftp.tyan.com/Chipset_AMD/K8/2885BIOS/2885001a.zip is supposed to fix these issues (I haven't tested it myself yet).
I just tried this out. Conclusions: The Missing Memory is addressed (set a "Software Memory Hole" in BIOS setup) AGP performance is now identical regardless of how much memory you have, but fast write performance is still not good (4x is 280 MB/s, 8x is 333 MB/s). Problems: Using the Software Memory Hole to get your full RAM available quickly leads to system crashes as soon as you set write-combining on the video framebuffer (so presumably X will crash it with a nonzero memory hole, but I haven't tried this). Things to do: Mess with memory hole/AGP aperture to find a stable configuration for write-combining the framebuffer. Compare AGP performance to Iwill 8131/8151 dual-Opteron board when it arrives -- bad b/w might just be a fastwrites problem with the 8151? Write a benchmark that does framebuffer writes as AGP DMA texture transfers and compare results with fastwrites. Dump the bridge configuration registers and figure out just how things are getting set up, why all the weird MTRR entries are there, and if there's a plausible reason for the still-unexpectedly slow (but at least uniform) AGP fastwrite performance I'll poke around with the memory hole later and see if I can figure out the reason for the crashes; these feel just like the crashes I was seeing before when changing the weirdo MTRR entries that the 1.01 BIOS set up. Interestingly, the default MTRR (without a memory hole) is even crazier now: reg00: base=0xc0000000 (3072MB), size= 512MB: write-combining, count=1 reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg02: base=0x80000000 (2048MB), size= 512MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size=2048MB: write-back, count=1 reg04: base=0xa0000000 (2560MB), size= 128MB: write-back, count=1 reg05: base=0xa8000000 (2688MB), size= 64MB: write-back, count=1 reg06: base=0xac000000 (2752MB), size= 32MB: write-back, count=1 And with a 2GB memory hole: reg00: base=0xc0000000 (3072MB), size= 512MB: write-combining, count=1 reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 -mcq