On Fri, 2005-01-14 at 17:42, Jan Kiszka wrote:
> 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?) 

asmlinkage == regparm(0) == always use the stack to pass args.

> 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
> 
> _______________________________________________
> Rtai-dev mailing list
> [EMAIL PROTECTED]
> https://mail.gna.org/listinfo/rtai-dev
-- 

Philippe.


Reply via email to