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中斷的訪問。