跳到內容

來自華夏公益教科書

此文件最初託管在 ETHZ。它仍然 在 Wayback 存檔中,根據 ETH 許可證.

返回:原生 Oberon 硬體相容性列表

 
IRQ 支援
摘要

多個工業標準體系結構 (ISA) 裝置無法共享 ISA IRQ(序列埠除外);但是,多個 PCI 裝置可以共享一個 PCI IRQ。在使用 PCI 匯流排的計算機上,16 個標準 IRQ 可以被程式設計為 PCI 或 ISA 模式。一個 IRQ 無法同時被程式設計為兩種模式。分析了 IRQ 分配衝突,並討論瞭解決方法。

Oberon 中如何將 IRQ 分配給 ISA 裝置
IRQ 被使用 模組
0 (F) (S) 系統計時器 核心
1 (F) (S) 鍵盤控制器 輸入
2 (F) 可程式設計中斷控制器 - 重新對映到 IRQ9 核心
3 通常是 COM2。通常與 COM4 共享。 V24
4 通常是 COM1。通常與 COM3 共享。 V24
5 備用。通常是 LPT2。  
6 (F) 軟盤控制器 軟盤
7 備用。通常是 LPT1。  
8 (F) (S) 系統 CMOS/即時時鐘 核心
9 (F) 備用  
10 備用  
11 備用  
12 (F) PS/2 滑鼠埠 輸入
13 (F) (S) 在奔騰機器上備用。對於舊處理器:浮點運算單元 (FPU) 387 相容。 核心
14 (D) 主 IDE 控制器 ATADisks
15 (D) 次級 IDE 控制器 ATADisks

(F) 固定,硬編碼
(D) 由系統本身動態評估
ATADisks.Mod - 在 KernelLog 中確認
Adaptec7.Mod - 在 KernelLog 中確認
Net3Com509.Mod - 在 KernelLog 中確認
NetNe2000.Mod - 不
UsbUhci.Mod - 在 KernelLog 中確認
Sound.Mod - 不
(S) 僅供系統使用

透過 Oberon.Text 將 IRQ 傳達給系統

必須在 Sound.Audio 部分指定音效卡的 IRQ。預設為 7。
必須在 Sound.CDAtapi 部分指定 Atapi CD-ROM 的 IRQ。預設為 15。
必須在 Sound.CDMitsumi 部分指定 Mitsumi CD-ROM 的 IRQ。預設為 10。

分配給 PCI 和 AGP 裝置的 IRQ 可以透過執行 PCI 分析器命令 PCITools.Scan 來確定。

有關 IRQ 的詳細討論,請參閱 IRQ 詳細資訊按編號.

如何避免 ISA IRQ 衝突

以下是一些關於如何分配有限數量的 IRQ 的一般想法。

  • 列出元件所需的 IRQ。首先考慮 ISA 遺留裝置,因為它們可能需要設定跳線,並且需要開啟機箱。
  • 如果您使用的是 PnP 主機板,請進入系統設定並檢查“PnP OS 已安裝”是否已設定。如果是,請將其重置。
  • 如果主機板提供,請為 ISA 遺留裝置保留 IRQ。
  • 在系統設定中,停用將不會使用的裝置,例如 IRA、USB、序列或並行埠等。並行埠可以輕鬆地放棄;最好使用網路印表機。
  • 如果主機板提供,請手動設定 PCI 插槽的 IRQ 或讓 BIOS 自動分配。
  • 一些舊的 PCI 卡在新的主機板上無法正常工作,特別是 PCI 2.0 卡在 PCI 2.2 主機板上。
對於開發人員:如何透過程式控制 IRQ

中斷處理程式使用 Kernel.InstallIP 過程安裝,中斷由核心啟用。過程“p”必須定義為一個普通的“PROCEDURE p;”。在進入 p 時,中斷被停用,並且可以使用 SYSTEM.STI() 啟用。在退出 p 時,中斷狀態被恢復。硬體中斷的確認由核心完成。在過程 p 中不需要顯式地發出中斷結束訊號。IRQ 從中斷 Kernel.IRQ 開始對映。

在進入過程 p 時,堆疊如下

    56    EFLAGS'' 
    52    CS'' 
    48    EIP''    (IRETD from glue code) 
    44    errorcode 
    40    intnum 
    36    EAX 
    32    ECX 
    28    EDX 
    24    EBX 
    20    ESP'    (overwritten) 
    16    EBP 
    12    ESI 
    08    EDI 
    04    EIP'    (RET from p) 
    00    EBP'    <-- EBP 
    xx    locals    <-- ESP

[頂部]

2002 年 7 月 22 日 - 版權所有 © 2002 ETH Zürich。保留所有權利。
電子郵件:oberon at lists.inf.ethz.ch
主頁 http://www.ethoberon.ethz.ch

華夏公益教科書