Hi all,

we (an RTnet user and I) just learned that switching on CONFIG_REGPARM in 2.6 kernel can cause troubles with RTAI 3.1 (maybe earlier versions as well) and with RTnet (likely all releases) with respect to LXRT functions on x86. While the LXRT dispatcher pushes all arguments on the stack, handler functions expect them in registers if CONFIG_REGPARM is on and the number of arguments does not exceed 3. The user reported that /user/latency failed to work in this case, and also no RTnet (i.e. RTDM) call succeeded due to messed-up arguments.

I read some RTAI changelog about fixing the task trampolines, but all LXRT entries, i.e. the API functions, do yet deal with it - also verified by disassembling the user's rtai_lxrt.ko...

For RTnet, it would not be much work to add regparm or asmlinkage (what's the difference BTW?) to our rather small API, but I guess it's a bit more work for RTAI. So, better catch and deny this kernel setup? I'm asking before patching RTnet in case RTAI 3 (fusion doesn't suffer from this - no LXRT) goes the latter way...

Jan

Reply via email to