亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 9698 | 回復(fù): 4
打印 上一主題 下一主題

[中斷] 關(guān)于local_irq_save [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-07-18 13:44 |只看該作者 |倒序?yàn)g覽
小弟問一個(gè)問題:在驅(qū)動(dòng)里面的調(diào)用local_irq_save這個(gè)函數(shù),是否屏蔽了所有的中斷?包括fiq irq?
謝謝!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-07-18 16:27 |只看該作者

從代碼里看
http://lxr.linux.no/linux+v3.4.5/arch/arm/include/asm/irqflags.h
  1.   13static inline unsigned long arch_local_irq_save(void)
  2.   14{
  3.   15        unsigned long flags;
  4.   16
  5.   17        asm volatile(
  6.   18                "       mrs     %0, cpsr        @ arch_local_irq_save\n"
  7.   19                "       cpsid   i"
  8.   20                : "=r" (flags) : : "memory", "cc");
  9.   21        return flags;
  10.   22}
復(fù)制代碼
cpsid i  只禁用了IRQ, 沒禁用FIQ。

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
3 [報(bào)告]
發(fā)表于 2012-07-18 18:58 |只看該作者
本帖最后由 linuxfellow 于 2012-07-18 19:10 編輯

回復(fù) 2# wwxbei
是的 ,cpsid i 就是disable irq;  cpsid f 才disable fiq. fast irq硬件上已經(jīng)自動(dòng)保存了足夠的上下文,這里的操作不會(huì)fiq發(fā)生而受影響。

   

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-07-19 09:24 |只看該作者
在我的內(nèi)核版本上是這樣子的。。。
#define local_irq_save(flags) \
        do { raw_local_irq_save(flags); trace_hardirqs_off(); } while (0)

/*
* Save the current interrupt enable state & disable IRQs
*/
#define raw_local_irq_save(x)                                        \
        ({                                                        \
                unsigned long temp;                                \
                (void) (&temp == &x);                                \
        __asm__ __volatile__(                                        \
        "mrs        %0, cpsr                @ local_irq_save\n"        \
"        orr        %1, %0, #128\n"                                        \
"        msr        cpsr_c, %1"                                        \
        : "=r" (x), "=r" (temp)                                        \
        :                                                        \
        : "memory", "cc");                                        \
        })
請(qǐng)問這樣子是是否屏蔽了所有的中斷?包括fiq irq?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-07-19 09:35 |只看該作者
/*
* Save the current interrupt enable state & disable IRQs
*/
這個(gè)解釋說明了只是屏蔽了IRQs,多謝。。。。。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP