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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > linux-2.6.26內核中ARM中斷實現(xiàn)詳解(2)

          linux-2.6.26內核中ARM中斷實現(xiàn)詳解(2)

          作者: 時間:2012-08-21 來源:網(wǎng)絡 收藏

          #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))

          表示函數(shù)的參數(shù)傳遞是通過堆棧完成的。

          3.7 描述3.3節(jié)中的ret_to_user 返回過程,/arch/arm/kernel/entry-common.S

          ENTRY(ret_to_user)

          ret_slow_syscall:

          disable_irq @ disable interrupts

          ldr r1, [tsk, #TI_FLAGS]

          tst r1, #_TIF_WORK_MASK

          bne work_pending

          no_work_pending:

          /* perform. architecture specific actions before user return */

          arch_ret_to_user r1, lr

          @ slow_restore_user_regs

          ldr r1, [sp, #S_PSR] @ get calling cpsr

          ldr lr, [sp, #S_PC]! @ get pc

          msr spsr_cxsf, r1 @ save in spsr_svc

          ldmdb sp, {r0 - lr}^ @ get calling r0 - lr

          mov r0, r0

          add sp, sp, #S_FRAME_SIZE - S_PC

          movs pc, lr @ return move spsr_svc into cpsr

          第三章主要跟蹤了從發(fā)生到調用到對應號的desc->handle_irq(irq, desc)中斷函數(shù)的過程。后面的章節(jié)還會繼續(xù)講解后面的內容。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();