## Misc ### 一、Plic映射器 PLIC映射器定义了PLIC(平台级中断控制器)的寄存器生成和访问。 1. `PlicMapper.apply` `(bus: BusSlaveFactory, mapping: PlicMapping)(gateways : Seq[PlicGateway], targets : Seq[PlicTarget])` PlicMapper参数: + 总线:连接此控制的总线 + 映射:一个映射配置(参见上面) + 网关:用于生成总线访问控制的PlicGateway(中断源)序列 + 目标: 生成总线访问控制的PlicTarget的序列(如:多核) 它遵循由riscv给出的接口:https://github.com/riscv/riscv-plic-spec/blob/master/riscv-plic.adoc 到目前为止, 有两个内存映射可用: 2. `PlicMapping.sifive` 遵循SiFive PLIC映射(例如。E31核心复合手册), 基本上是一个成熟的PLIC 3. `PlicMapping.light` 这种映射以丢失一些可选特性为代价, 产生了一个更轻量级的PLIC: + 不读取中断的优先级 + 不读取中断的悬挂位(必须使用claim/complete机制) + 不读取目标的阈值 剩下的寄存器和逻辑被生成。