~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/zh_TW/arch/loongarch/irq-chip-model.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 .. include:: ../../disclaimer-zh_TW.rst
  4 
  5 :Original: Documentation/arch/loongarch/irq-chip-model.rst
  6 :Translator: Huacai Chen <chenhuacai@loongson.cn>
  7 
  8 ==================================
  9 LoongArch的IRQ芯片模型(層級關係)
 10 ==================================
 11 
 12 目前,基於LoongArch的處理器(如龍芯3A5000)只能與LS7A芯片組配合工作。LoongArch計算機
 13 中的中斷控制器(即IRQ芯片)包括CPUINTC(CPU Core Interrupt Controller)、LIOINTC(
 14 Legacy I/O Interrupt Controller)、EIOINTC(Extended I/O Interrupt Controller)、
 15 HTVECINTC(Hyper-Transport Vector Interrupt Controller)、PCH-PIC(LS7A芯片組的主中
 16 斷控制器)、PCH-LPC(LS7A芯片組的LPC中斷控制器)和PCH-MSI(MSI中斷控制器)。
 17 
 18 CPUINTC是一種CPU內部的每個核本地的中斷控制器,LIOINTC/EIOINTC/HTVECINTC是CPU內部的
 19 全局中斷控制器(每個芯片一個,所有核共享),而PCH-PIC/PCH-LPC/PCH-MSI是CPU外部的中
 20 斷控制器(在配套芯片組裏面)。這些中斷控制器(或者說IRQ芯片)以一種層次樹的組織形式
 21 級聯在一起,一共有兩種層級關係模型(傳統IRQ模型和擴展IRQ模型)。
 22 
 23 傳統IRQ模型
 24 ===========
 25 
 26 在這種模型裏面,IPI(Inter-Processor Interrupt)和CPU本地時鐘中斷直接發送到CPUINTC,
 27 CPU串口(UARTs)中斷髮送到LIOINTC,而其他所有設備的中斷則分別發送到所連接的PCH-PIC/
 28 PCH-LPC/PCH-MSI,然後被HTVECINTC統一收集,再發送到LIOINTC,最後到達CPUINTC::
 29 
 30      +-----+     +---------+     +-------+
 31      | IPI | --> | CPUINTC | <-- | Timer |
 32      +-----+     +---------+     +-------+
 33                       ^
 34                       |
 35                  +---------+     +-------+
 36                  | LIOINTC | <-- | UARTs |
 37                  +---------+     +-------+
 38                       ^
 39                       |
 40                 +-----------+
 41                 | HTVECINTC |
 42                 +-----------+
 43                  ^         ^
 44                  |         |
 45            +---------+ +---------+
 46            | PCH-PIC | | PCH-MSI |
 47            +---------+ +---------+
 48              ^     ^           ^
 49              |     |           |
 50      +---------+ +---------+ +---------+
 51      | PCH-LPC | | Devices | | Devices |
 52      +---------+ +---------+ +---------+
 53           ^
 54           |
 55      +---------+
 56      | Devices |
 57      +---------+
 58 
 59 擴展IRQ模型
 60 ===========
 61 
 62 在這種模型裏面,IPI(Inter-Processor Interrupt)和CPU本地時鐘中斷直接發送到CPUINTC,
 63 CPU串口(UARTs)中斷髮送到LIOINTC,而其他所有設備的中斷則分別發送到所連接的PCH-PIC/
 64 PCH-LPC/PCH-MSI,然後被EIOINTC統一收集,再直接到達CPUINTC::
 65 
 66           +-----+     +---------+     +-------+
 67           | IPI | --> | CPUINTC | <-- | Timer |
 68           +-----+     +---------+     +-------+
 69                        ^       ^
 70                        |       |
 71                 +---------+ +---------+     +-------+
 72                 | EIOINTC | | LIOINTC | <-- | UARTs |
 73                 +---------+ +---------+     +-------+
 74                  ^       ^
 75                  |       |
 76           +---------+ +---------+
 77           | PCH-PIC | | PCH-MSI |
 78           +---------+ +---------+
 79             ^     ^           ^
 80             |     |           |
 81     +---------+ +---------+ +---------+
 82     | PCH-LPC | | Devices | | Devices |
 83     +---------+ +---------+ +---------+
 84          ^
 85          |
 86     +---------+
 87     | Devices |
 88     +---------+
 89 
 90 ACPI相關的定義
 91 ==============
 92 
 93 CPUINTC::
 94 
 95   ACPI_MADT_TYPE_CORE_PIC;
 96   struct acpi_madt_core_pic;
 97   enum acpi_madt_core_pic_version;
 98 
 99 LIOINTC::
100 
101   ACPI_MADT_TYPE_LIO_PIC;
102   struct acpi_madt_lio_pic;
103   enum acpi_madt_lio_pic_version;
104 
105 EIOINTC::
106 
107   ACPI_MADT_TYPE_EIO_PIC;
108   struct acpi_madt_eio_pic;
109   enum acpi_madt_eio_pic_version;
110 
111 HTVECINTC::
112 
113   ACPI_MADT_TYPE_HT_PIC;
114   struct acpi_madt_ht_pic;
115   enum acpi_madt_ht_pic_version;
116 
117 PCH-PIC::
118 
119   ACPI_MADT_TYPE_BIO_PIC;
120   struct acpi_madt_bio_pic;
121   enum acpi_madt_bio_pic_version;
122 
123 PCH-MSI::
124 
125   ACPI_MADT_TYPE_MSI_PIC;
126   struct acpi_madt_msi_pic;
127   enum acpi_madt_msi_pic_version;
128 
129 PCH-LPC::
130 
131   ACPI_MADT_TYPE_LPC_PIC;
132   struct acpi_madt_lpc_pic;
133   enum acpi_madt_lpc_pic_version;
134 
135 參考文獻
136 ========
137 
138 龍芯3A5000的文檔:
139 
140   https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-3A5000-usermanual-1.02-CN.pdf (中文版)
141 
142   https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-3A5000-usermanual-1.02-EN.pdf (英文版)
143 
144 龍芯LS7A芯片組的文檔:
145 
146   https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-7A1000-usermanual-2.00-CN.pdf (中文版)
147 
148   https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-7A1000-usermanual-2.00-EN.pdf (英文版)
149 
150 .. note::
151     - CPUINTC:即《龍芯架構參考手冊卷一》第7.4節所描述的CSR.ECFG/CSR.ESTAT寄存器及其
152       中斷控制邏輯;
153     - LIOINTC:即《龍芯3A5000處理器使用手冊》第11.1節所描述的“傳統I/O中斷”;
154     - EIOINTC:即《龍芯3A5000處理器使用手冊》第11.2節所描述的“擴展I/O中斷”;
155     - HTVECINTC:即《龍芯3A5000處理器使用手冊》第14.3節所描述的“HyperTransport中斷”;
156     - PCH-PIC/PCH-MSI:即《龍芯7A1000橋片用戶手冊》第5章所描述的“中斷控制器”;
157     - PCH-LPC:即《龍芯7A1000橋片用戶手冊》第24.3節所描述的“LPC中斷”。
158 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php