I have built a 2.6.23-rc7 kernel (from Denx git) with Xenomai 2.4-rc3.  Architecture is powerpc, processor is a 405GP.

I had to make some additions to arch/powerpc/kernel/head_40x.S, and I can submit a patch if someone tells me where to post it.

However, while the kernel boots and runs, the xenomai user apps do not work correctly.  Specifically, when running cyclictest, I get the following:
# ./cyclictest
0.00 0.00 0.00 1/18 668

T: 0 (  668) P:99 I:   ------------[ cut here ]------------     0 Avg:       0 Max:-1000000
 1000 C:       5kernel BUG at /n/maytag/home/sfalco/linux/embedded/ppc3/linux/linux-2.6-denx/kernel/ipipe/core.c:314!
 Min:      24 AcOops: Exception in kernel mode, sig: 5 [#1]
Netdec
Modules linked in:
NIP: c0045dd0 LR: c0015750 CTR: c00121fc
REGS: c0dbde00 TRAP: 0700   Not tainted  (2.6.23-rc7)
MSR: 00021030 <ME,IR,DR>  CR: 22000422  XER: 20000000
TASK = c0fe7420[668] 'cyclictest' THREAD: c0dbc000
GPR00: 00004900 c0dbdeb0 c0fe7420 00000000 003f0000 c00115dc 00000000 00000000
GPR08: 00000000 000048ff c0296090 00000001 00010000 1001c23c 00ff9900 00000001
GPR16: 7fbabcb0 10015090 10015068 00000000 0ff81940 00000000 0000029a 0ff815d0
GPR24: c02a2fcc 00000280 00000000 c030c200 0000001f 003f0000 00000010 c028e3bc
NIP [c0045dd0] __ipipe_restore_root+0x1c/0x50
LR [c0015750] uic_mask_irq+0x84/0x98
Call Trace:
[c0dbdeb0] [c0054cdc] hisyscall_event+0x1fc/0x310 (unreliable)
[c0dbded0] [c00439fc] __ipipe_ack_level_irq+0x50/0x78
[c0dbdee0] [c0007b2c] __ipipe_ack_irq+0x28/0x3c
[c0dbdef0] [c0007e68] __ipipe_handle_irq+0x12c/0x148
[c0dbdf20] [c00080f8] __ipipe_grab_irq+0x3c/0xc0
[c0dbdf40] [c000e338] __ipipe_ret_from_except+0x0/0xc
Instruction dump:
0.00 0.00 0.00 2/18 66Xenomai: POSIX: destroyed thread c0f803203d20c02c
8          004a78 3120ffff 7d690110 <0f0b0000> 2f830000 3d60c029 392b6050
t:      39 Avg:      29 Max:      39
T: 0 (  668) P:99 I:    1000 C:       8 Min:      24 Act:      24 Avg:      29 Max:      39
Trace/breakpoint trap
The bug is coming from ipipe/core.c:314, which is the BUG_ON here:
void __ipipe_restore_root(unsigned long x)
{
    BUG_ON(!ipipe_root_domain_p);

    if (x)
        __ipipe_stall_root();
    else
        __ipipe_unstall_root();
}
How do I debug this?  I have done a little kernel hacking, but I am a noob when it comes to Xenomai...

    Steve