reboot的實現機制

2023-01-13 07:51:05 字數 1371 閱讀 1009

在以前的2410板子上,我們在shell下面,執行reboot,系統將重新啟動,這是cpu自帶的看門狗起的作用,下面我們對這個進行分析,首先我們介紹一下相應的暫存器。

圖2 看門狗控制定時器

圖3 看門狗資料暫存器

圖4 看門狗計數暫存器

第一步:當系統上電後,第一件事就是呼叫ppcboot,ppcboot中相應的**如下:

//下面才是真正的上電復位的啟動**:

/** the actual reset code

*/reset:

/* turn off the watchdog */

#if defined(config_s3c2400)

#define pwtcon 0x15300000

/* interupt-controller base addresses */

#define intmsk 0x14400008

/* clock divisor register */

#define clkdivn 0x14800014

#elif defined(config_s3c2410)

#define pwtcon 0x53000000 //watchdog timer control register

/* interupt-controller base addresses */

#define intmsk 0x4a000008

#define intsubmsk 0x4a00001c

/* clock divisor register */

#define clkdivn 0x4c000014

#define mpllcon 0x4c000004

#define clk_ctl_base0x4c000000

#endif

ldr r0, =pwtcon

mov r1, #0x0disable the reset function of the watchdog timer

str r1, [r0]

可以看出,在系統以上電做的第一件事情就是使看門狗不起作用。

第二步:當我們執行reboot,實際是呼叫了application/busybox/init/裡的init_reboot函式,該函式如下:

if((pid = fork()) = =0)

可以看出,該函式又呼叫了reboot函式。

第三步:該reboot會呼叫/kernel/kernel/裡的sys_reboot函式,magic傳遞的引數是***和linux_reboot_cmd_restart相同,見下面**:

switch(cmd)else

關於重建按勞分配實現機制的思考

摘要 我國收入分配不公的基本表現之一是勞動者在初次分配中的報酬較低。為確保勞動報酬穩步增長,在我國當前社會主義市場經濟條件下必須重建按勞分配實現機制。這個實現機制的建立是乙個系統工程,必須多管齊下,它主要包括國家按勞分配制度在政策法規上的完善 企業對職工按勞分配制度的完善 相關部門及社會組織對勞動者...

獨立董事的作用及其實現機制

摘要 獨立董事是股份公司兩權分離條件下為防止 內部人控制 和 一股獨大 保護公司內部弱勢群體而產生的,獨立董事的設定合權利行使是行使是法律強制的結果,獨立董事作用的有效發揮,在我國應該依賴於獨立董事的聲譽機制,並取決於有效的激勵機制設計。被立董事不是要剝奪公司決策者的權利,而是要對決策過程中可能的失...

微控制器系統中的多工多執行緒機制的實現

摘要 微控制器系統的開發多情況下不是在嵌入式作業系統平台上進行的,而是直接基於處理器編寫,微控制器系統中的多工多執行緒機制的實現。在多工並行執行的要求下,可以借鑑作業系統中的任務和執行緒機制,對資源和處理器合理進行排程。本文以例項對此進行討論。關鍵詞 微控制器任務執行緒並行處理 引言首先要指出的是一...