新聞中心

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

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

        作者: 時間:2012-09-01 來源:網(wǎng)絡(luò) 收藏

        #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ā)生到調(diào)用到對應(yīng)中斷號的desc->handle_irq(irq, desc)中斷函數(shù)的過程。后面的章節(jié)還會繼續(xù)講解后面的內(nèi)容。

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

        上一頁 1 2 3 4 下一頁

        關(guān)鍵詞: linux 內(nèi)核 ARM中斷

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 白沙| 碌曲县| 湖南省| 宜春市| 大余县| 承德县| 旬邑县| 西华县| 理塘县| 保德县| 胶州市| 北碚区| 雷波县| 荃湾区| 札达县| 山阴县| 凤城市| 陵川县| 香河县| 天峻县| 麻栗坡县| 玉屏| 金堂县| 遂昌县| 万全县| 凯里市| 眉山市| 清流县| 贡嘎县| 胶州市| 大荔县| 资溪县| 永寿县| 静安区| 新和县| 邮箱| 东明县| 四川省| 天峨县| 怀来县| 延吉市|