I've noticed since moving to 2.6.x that none of my binary modules would load correctly. After reading that CONFIG_REGPARAM was the culprit I disabled it but to my surprise nothing changed. Come to find out that in "arch/i386/Makefile": CFLAGS += -pipe -mregparm=3 -msoft-float -fno-builtin-sprintf -fno- builtin-log2 -fno-builtin-puts You'll notice "-mregparm=3"? After removing this compiler flag my binary modules began to load correctly. Anyone care to comment on this? Earle Nietzel Here is what the kernel oops looks like with with "-mregparm=3": Unable to handle kernel paging request at virtual address e0a18ab4 printing eip: e0a64a58 *pde = 170fc2a5 Oops: 0000 [#1] CPU: 1 EIP: 0060:[<e0a64a58>] Tainted: PF EFLAGS: 00010246 EIP is at firegl_init+0x40/0xf6 [fglrx] eax: e0a891e0 ebx: e0a18ab4 ecx: 00000002 edx: dead4ead esi: e0a893a0 edi: e0a89210 ebp: c033ebb8 esp: def79f58 ds: 007b es: 007b ss: 0068 Process modprobe (pid: 761, threadinfo=def78000 task=df166000) Stack: 00000012 00000000 00000000 e0a891e0 e0a88980 e0a891e0 e0a88980 e0807280 e0a18ab4 00000246 09289088 00000000 c032e618 b7e77008 c033ebd8 c033ebd8 c033ebb8 c01450a6 c016bc7c df505578 df5055a0 00000000 b7e77008 bff73658 Call Trace: [<e0807280>] firegl_init_module+0x110/0x1b0 [fglrx] [<c01450a6>] sys_init_module+0x136/0x290 [<c016bc7c>] sys_close+0x7c/0xf0 [<c010bc3f>] syscall_call+0x7/0xb Code: 81 3b 00 00 02 10 74 11 c7 44 24 04 03 7b a7 e0 c7 04 24 40