I O APIC沒有必要初始化OIC暫存器

2021-10-13 10:10:18 字數 346 閱讀 3175

《乙個64位作業系統的設計與實現》中有乙個錯誤,作者將bios上電初始化使用的暫存器當作了os使用的暫存器。

晶元組相關的oic暫存器(較新版本叫ioac暫存器),實際上是用於bios上電初始化的,作業系統不用寫這個暫存器!

沒有標準化、每個晶元組都不一樣的暫存器,一般不是為作業系統程式設計而設計的,而是為bios上電初始化、廠商驅動程式而設計的。

此外imcr暫存器可選存在於早期基於mp的系統中,對於現代的基於acpi的系統,不存在imcr暫存器,但強行寫這個暫存器也沒事。

作業系統只需要遮蔽8259a(使用8259a的imr,或遮蔽lint0和rte0)、初始化i/o apic的id暫存器和24個rte暫存器即可。

S3C2440 SDRAM暫存器初始化設定

開板子是s3c2440,使用兩片容量為32mb 位寬16bit的em63a165ts 6g晶元拼成容量為64m 32bit的sdram儲存器。根據2410datasheet,要使用sdram需配置13個暫存器,以下逐個來看 1 bwscon bus width wait status control...

基於OHCI的USB主機 中斷暫存器初始化

在 am9200 中,中斷暫存器分為 2個層次,乙個是用來設定某個功能允許哪些中斷產生,另乙個是 aic中斷暫存器,用來設定是否允許該功能產生中斷。當 aic對應的中斷產生時,需要讀取相應功能的中斷狀態暫存器,以判斷產生中斷的具體原因。對於usb介面,首先需要設定 uhp hcinterrupten...

STM32F4暫存器初始化 PWM輸出

static void tim4 init void 普通定時函式 static void tim8 init void 普通定時函式 rcc apb1enr 1 0 tim2時鐘使能 rcc apb1enr 1 1 tim3時鐘使能 rcc apb1enr 1 2 tim4時鐘使能 rcc apb...