概述
GIC-600AE支持1 of N模式SPI。在此模式下可以将SPI target到多个core,并且GIC-600AE可以选择哪些内核接收SPI。
GIC-600AE只向处于powered up 并且使能中断组的core发送SPI。
GIC-600AE会优先考虑那些被认为是active的核,但如果没有active的核,它就会选择inactive的核。
GIC600AE选择哪个core进行响应,受以下控制或影响:
1.cpu_active signal
cpu_active连接到gic redistributor用于指示每个core的状态。若cpu_active为低,表明该core处于low-power state,例如retention。当系统中没有合适的路由目标时,必须选择它作为SPI的目标
2.GICR_CTLR.DPGxx(Disable Processor Group)
设置DPGxx =1会阻止特定中断分组的1 of N模式的SPI路由到该core
3.Processor and GICD group enables and GICR_WAKER.ProcessorSleep
若以下任一条件为真,1 of N模式SPI中断不会路由到该core:
①通过GICR_WAKER.ProcessorSleep表明core处于休眠状态;
②中断分组被禁用
4.Interrupt class
通过配置GICR_CLASSR可以将core分成class0或class1。1 of N模式的SPI中断通过配置GICD_ICLAR寄存器,可以将路由目标选择为class0,class1或both class。
在Arm big.LITTLE系统中,可以将所有big cores设置为class