Linux acpi off學習的必要

2021-07-12 03:42:37 字數 1715 閱讀 2301

acpi的內容龐雜,學習acpi至少可以幫助我們理解配置資訊。這些資訊從legacy pnp裝置的配置,到多處理器,到numa,比如現在的multiple core的資訊就只能從acpi得到。linux啟動很多**就是處理這些配置資訊,比如linux acpi off,ioapic設定等。

acpi相關裝置。主要是膝上型電腦相關的裝置,包括電源按鈕,電池,外接電源,風扇,熱鍵等。

底層硬體。比如pci中斷路由,chipset(主要是南橋pci-to-lpc bridge)操作等。

電源管理。acpi定義的電源管理包括cpu的電源管理(調頻率p-state,idle c-state,throtting t-state),裝置電源管理(d-state),系統電源管理(suspend-to-ram, suspend-to-disk, power off)等。

裝置熱插拔。acpi用一種統一的方式來描述裝置的熱插拔,這樣的裝置從單一的pci裝置,到膝上型電腦的docking station,到整個pci hierarchy,cpu,memory,甚至整個numa節點。

可以說要理解現代pc平台必須了解acpi。

linux acpi off解決acpi問題的小竅門

首先可以看看是否這是乙個regression,如果以前版本的linux kernel可以工作,但新的不行,則是乙個regression,可以測試不同的kernel從而找出哪個版本引入了bug。使用git-bisect 是乙個好的選擇,它可以幫你定位到哪個patch導致了regression。一些git-bisect相關的資料如下:

linux acpi off系統不能啟動

試試kernel引數」acpi=off」,如果此引數沒有帶來任何改變,那麼這不是乙個acpi bug。反之,則這很可能是乙個acpi bug。 確定了是乙個acpi bug後,我們還有其他一些引數來更進一步的區分到底是acpi哪個部分的bug。

acpi=ht

這個引數和"acpi=off"幾乎一樣,它禁止了除多處理器配置相關的內容以外的所有acpi功能。如果acpi=off正常,但acpi=ht 不正常, 則解析acpi 表或者linux smp的**有bug.

pci=noacpi

禁止使用acpi來處理任何pci相關的內容,包括pci root bus的列舉和pci裝置中斷路由。

acpi=noirq

禁止使用acpi來處理pci裝置中斷路由,和pci=noacpi的區別是它允許使用acpi來列舉pci root bus.

pnpacpi=off

禁止使用acpi來列舉pnp裝置,比如串列埠、ps2鍵盤滑鼠等。

noapic

禁止使用io-apic來做裝置中斷路由,這樣做的效果之一是acpi返回的中斷路由表將是針對pic(8259)的。

nolapic

禁止使用local-apic和io-apic。

linux acpi off裝置中斷相關的問題

出現中斷問題的可能性很多,比如驅動程式有bug。由acpi導致的最常見的中斷問題是kernel打出:」irqxx: nobody cared!」。這意味著kernel收到乙個中斷,但是沒有驅動程式來處理此中斷。kernel會將此中斷禁止,從而導致掛在此中斷上的所有裝置都停止 工作。pci=noacpi, acpi=noirq, pnpacpi=off, noapic, nolapic這些引數可以幫助隔離一些問題。另外乙個有用的引數是」irqpoll」,出現上面的中斷問題時,它可以使kernel自動探測哪個裝置發 出了中斷。這個引數對於除錯那些中斷路由有問題的系統很有用。

學習 學習的奧秘

我五歲的兒子剛剛開始學習閱讀。每天晚上,我們躺在床上,由他來讀一段書給我聽。不可避免的是,他常常碰到不理解的單詞 昨天晚上這個單詞是 gratefully 經過一番相當痛苦的努力之後,他終於搞明白了這個單詞的意思。然後他對我說,爸爸,你是不是對我費這麼大勁才弄懂這個單詞感到不高興呀?我認為我能感覺到...

機器學習的學習歷程

最近在跟stanford大學放在coursera上的機器學習課程,講師是著名的華人andrew ng.這是我見過為數不多的為期10個星期的課程,而且每個星期巨大的工作量也是罕見。機器學習大致分為兩類 supervised learning和unsupervised learning,我自行翻譯一下是...

深度學習的學習歷程

我剛入門深度學習的時候,看了各種深度學習相關的資料,花書 cs231n neural networks and deep learning cs224d等等。看來看去,感覺好像什麼都懂了,不就那些模組嗎,conv lstm pooling fc drop out等等,這些模組的公式早就能背得滾瓜爛熟...