<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM架構(gòu)下添加系統(tǒng)調(diào)用與32位x86區(qū)別

          ARM架構(gòu)下添加系統(tǒng)調(diào)用與32位x86區(qū)別

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
            在這兩種架構(gòu)下添加系統(tǒng)調(diào)用的步驟是類似的,簡要地比較一下,以2.6.28.6內(nèi)核為例。

            1.在內(nèi)核源碼相應(yīng)位置(如sys.c或其他與這個函數(shù)聯(lián)系緊密的文件)添加新的內(nèi)核函數(shù)作為系統(tǒng)調(diào)用,形如

          本文引用地址:http://www.ex-cimer.com/article/201611/317844.htm
          asmlinkage long sys_foo(void) {}

            2.加入系統(tǒng)調(diào)用表。ARM架構(gòu)存放于/arch/arm/kernel/call.S中,形如CALL(sys_foo);x86架構(gòu)放于/arch/x86/kernel/syscall_table_32.S中,形如.longsys_foo。

            3.定義系統(tǒng)調(diào)用號。ARM架構(gòu)存放于/arch/arm/include/asm/unistd.h中,形如

            

          #define __NR_foo (__NR_SYSCALL_BASE+361);

            x86架構(gòu)放于/arch/x86/include/asm/unistd_32.h中,形如

          #define __NR_foo 333

            4.使用方法:編譯修改后的內(nèi)核,在用戶空間中使用syscall()調(diào)用。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();