-I rolled my own 2.6.28 kernel this morning (from the Ubuntu 9.04 kernel source) and configured it without drm built-in.
-I then proceeded according to that same link bugmenot did (http://www.x.org/wiki/radeonhd:DRI)
-I completely rebuilt mesa/drm, mesa, and radeonhd against the new kernel headers (checked out the r6xx-r7xx-support branches of drm and radeonhd)
At least the drm.ko I built loads now. Unfortunately, X/gdm locks up hard when I load it (can't even Ctrl+Alt+F1). I tried just doing startx and bypassing gdm, but it still throttles the CPU and locks up.
Code:
Jan 5 07:46:12 somehost kernel: [ 18.799983] [drm] Initialized drm 1.1.0 20060810
Jan 5 07:46:12 somehost kernel: [ 18.857825] pci 0000:01:05.0: BAR 0: can't reserve mem region [0xd0000000-0xdfffffff]
Jan 5 07:46:12 somehost kernel: [ 18.858749] pci 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jan 5 07:46:12 somehost kernel: [ 18.858757] pci 0000:01:05.0: setting latency timer to 64
Jan 5 07:46:12 somehost kernel: [ 18.858986] [drm] Initialized radeon 1.29.0 20080613 on minor 0
Jan 5 07:46:12 somehost kernel: [ 18.859094] [drm] Used old pci detect: framebuffer loaded
Jan 5 07:46:13 somehost kernel: [ 18.982927] [drm] Setting GART location based on new memory map
Jan 5 07:46:13 somehost kernel: [ 18.982936] [drm:r600_do_init_cp] *ERROR* Need gart offset from userspace
Jan 5 07:46:13 somehost kernel: [ 18.998321] [drm] Loading RS780 CP Microcode
Jan 5 07:46:13 somehost kernel: [ 18.999346] [drm] Loading RS780 PFP Microcode
Jan 5 07:46:13 somehost kernel: [ 19.014507] [drm] Resetting GPU
Jan 5 07:46:13 somehost kernel: [ 19.014566] [drm] writeback test succeeded in 1 usecs
Jan 5 07:46:13 somehost kernel: [ 19.332859] [drm] dwords:3632
Jan 5 07:46:13 somehost kernel: [ 19.332864] [drm] offset 0xe0222000
Jan 5 07:46:14 somehost kernel: [ 20.531390] [drm] dwords:3632
Jan 5 07:46:14 somehost kernel: [ 20.531395] [drm] offset 0xe0232000