Hi, Baruch<br><br>Thanks for URL: http://kernelnewbies.org/FAQ/asmlinkage<br><div></div><br>Only two arch overide asmlinkage definitions in include/linux/linkage.h<br>1:arch/x86/include/asm/linkage.h<br>2:arch/ia64/include/asm/linkage.h<br>that's what the above URL say about parameter passing using STACK or REGISTER;<br><br>while I must admit&nbsp; _cplusplus is&nbsp; a total different story;<br><br><br>BR<br>rocky<br><pre><br>At&nbsp;2010-11-23&nbsp;13:46:43,"Baruch&nbsp;Siach"&nbsp;&lt;baruch@tkos.co.il&gt;&nbsp;wrote:

&gt;Hi&nbsp;rocky,
&gt;
&gt;On&nbsp;Mon,&nbsp;Nov&nbsp;22,&nbsp;2010&nbsp;at&nbsp;10:35:12PM&nbsp;+0800,&nbsp;rocky&nbsp;wrote:
&gt;&gt;&nbsp;thanks&nbsp;for&nbsp;you&nbsp;kindly&nbsp;replay;
&gt;&gt;&nbsp;I&nbsp;am&nbsp;still&nbsp;lost&nbsp;in&nbsp;this&nbsp;maze,&nbsp;so&nbsp;does&nbsp;extern&nbsp;"C"&nbsp;help&nbsp;user&nbsp;space&nbsp;C++&nbsp;program&nbsp;to&nbsp;call&nbsp;schedule/printk?
&gt;&gt;&nbsp;sys_xxx&nbsp;functions&nbsp;are&nbsp;called&nbsp;through&nbsp;SWI&nbsp;,not&nbsp;directly&nbsp;called&nbsp;from&nbsp;user&nbsp;space&nbsp;C++&nbsp;program;
&gt;
&gt;It&nbsp;seems&nbsp;I&nbsp;was&nbsp;wrong.&nbsp;Userspace&nbsp;programs&nbsp;never&nbsp;call&nbsp;these&nbsp;functions&nbsp;directly.&nbsp;&nbsp;
&gt;See&nbsp;http://kernelnewbies.org/FAQ/asmlinkage&nbsp;for&nbsp;a&nbsp;better&nbsp;answer.
&gt;
&gt;baruch
&gt;
&gt;&gt;&nbsp;At&nbsp;2010-11-22&nbsp;16:30:10,"Baruch&nbsp;Siach"&nbsp;&lt;baruch@tkos.co.il&gt;&nbsp;wrote:
&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;Hi&nbsp;rocky,
&gt;&gt;&nbsp;&gt;
&gt;&gt;&nbsp;&gt;On&nbsp;Sat,&nbsp;Nov&nbsp;20,&nbsp;2010&nbsp;at&nbsp;12:17:02PM&nbsp;+0800,&nbsp;rocky&nbsp;wrote:
&gt;&gt;&nbsp;&gt;&gt;&nbsp;I&nbsp;am&nbsp;a&nbsp;little&nbsp;confused&nbsp;about&nbsp;the&nbsp;following&nbsp;definition&nbsp;:
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;--------------include/linux/linkage.h-----------
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#ifdef&nbsp;__cplusplus
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#define&nbsp;CPP_ASMLINKAGE&nbsp;extern&nbsp;"C"
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#else
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#define&nbsp;CPP_ASMLINKAGE
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#endif
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#ifndef&nbsp;asmlinkage
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#define&nbsp;asmlinkage&nbsp;CPP_ASMLINKAGE
&gt;&gt;&nbsp;&gt;&gt;&nbsp;#endif
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;all&nbsp;system&nbsp;call&nbsp;functions&nbsp;are&nbsp;marked&nbsp;with&nbsp;asmlinkage,&nbsp;as&nbsp;well&nbsp;as&nbsp;other&nbsp;kernel&nbsp;function&nbsp;like&nbsp;printk/schedule/do_softirq
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;so&nbsp;every&nbsp;asmlinkage&nbsp;function&nbsp;has&nbsp;extern&nbsp;"C"&nbsp;&nbsp;attribute&nbsp;if&nbsp;cplusplus&nbsp;is&nbsp;defined,&nbsp;which&nbsp;definitely&nbsp;happens&nbsp;&nbsp;when&nbsp;compiling&nbsp;C++&nbsp;code.
&gt;&gt;&nbsp;&gt;&gt;&nbsp;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;I&nbsp;dont&nbsp;get&nbsp;it&nbsp;when&nbsp;cplusplus&nbsp;is&nbsp;needed&nbsp;when&nbsp;compiling&nbsp;kernel?
&gt;&gt;&nbsp;&gt;
&gt;&gt;&nbsp;&gt;It&nbsp;isn't.
&gt;&gt;&nbsp;&gt;
&gt;&gt;&nbsp;&gt;&gt;&nbsp;Can&nbsp;anyone&nbsp;help&nbsp;me&nbsp;out&nbsp;of&nbsp;this&nbsp;little&nbsp;misunderstanding?
&gt;&gt;&nbsp;&gt;
&gt;&gt;&nbsp;&gt;Userspace&nbsp;C++&nbsp;code&nbsp;may&nbsp;include&nbsp;kernel&nbsp;header&nbsp;files.&nbsp;Making&nbsp;the&nbsp;exported&nbsp;
&gt;&gt;&nbsp;&gt;function&nbsp;calls&nbsp;extern&nbsp;"C"&nbsp;makes&nbsp;it&nbsp;easier&nbsp;to&nbsp;build&nbsp;such&nbsp;applications.
&gt;&gt;&nbsp;&gt;
&gt;&gt;&nbsp;&gt;baruch
&gt;
&gt;--&nbsp;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~.&nbsp;.~&nbsp;&nbsp;&nbsp;Tk&nbsp;Open&nbsp;Systems
&gt;=}------------------------------------------------ooO--U--Ooo------------{=
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;baruch@tkos.co.il&nbsp;-&nbsp;tel:&nbsp;+972.2.679.5364,&nbsp;http://www.tkos.co.il&nbsp;-
&gt;
&gt;_______________________________________________
&gt;linux-arm-kernel&nbsp;mailing&nbsp;list
&gt;linux-arm-kernel@lists.infradead.org
&gt;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
</pre><br><br><span title="neteasefooter"><span id="netease_mail_footer"><hr/>
<a href="http://help.163.com/special/00753VB9/126mail_adv_guide.html?id=2840" target="_blank">网易163/126邮箱百分百兼容iphone ipad邮件收发</a>
</span></span>