MPIC中斷控制器

支援的裝置型別

  • KVM_DEV_TYPE_FSL_MPIC_20 飛思卡爾 MPIC v2.0

  • KVM_DEV_TYPE_FSL_MPIC_42 飛思卡爾 MPIC v4.2

只能例項化一個任意型別的MPIC例項。建立的MPIC將作為系統中斷控制器,連線到每個vCPU的中斷輸入。

KVM_DEV_MPIC_GRP_MISC

屬性

KVM_DEV_MPIC_BASE_ADDR (讀寫, 64位)

256 KiB MPIC暫存器空間的基地址。必須自然對齊。值為零將停用對映。復位值為零。

KVM_DEV_MPIC_GRP_REGISTER (讀寫, 32位)

訪問MPIC暫存器,如同從訪客機發出訪問一樣。“attr”是MPIC暫存器空間中的位元組偏移量。訪問必須按4位元組對齊。

MSI可以透過使用此屬性組寫入相關MSIIR來發出訊號。

KVM_DEV_MPIC_GRP_IRQ_ACTIVE (讀寫, 32位)

每個標準openpic源的IRQ輸入線。0表示不活動,1表示活動,與中斷極性無關。

對於邊沿觸發中斷:寫入1被視為啟用邊沿,寫入0則被忽略。如果先前發出的邊沿尚未被確認,則讀取返回1,否則返回0。

“attr”是IRQ編號。標準源的IRQ編號是相關IVPR距EIVPR0的位元組偏移量除以32。

IRQ 路由

MPIC模擬支援IRQ路由。只能例項化一個MPIC裝置。一旦該裝置建立完成,它將作為irqchip id 0可用。

這個irqchip 0有256箇中斷引腳,它們暴露了中斷源主陣列(也稱為“SRC”中斷)中的中斷。

編號與MPIC裝置樹繫結相同——基於源陣列開頭的暫存器偏移量,不考慮晶片文件中的任何細分,例如“內部”或“外部”中斷。

透過IRQ路由機制無法實現對非SRC中斷的訪問。