USER GUIDE / PROCESSOR & BUS / PLIC / REGISTER DESCRIPTION

寄存器描述

PLIC 配置寄存器(PLIC_CONFIG)

该寄存器保存 PLIC 配置信息,例如支持的最高优先级以及支持的中断源数量。

PLIC_CONFIGBASE + 0x0000
Bit313029282726252423222120191817161514131211109876543210
字段ReservedINTPRIINTSRC
RST00000000000000001000000001000011
位名称说明RW
31:24Reserved写入无影响,读取为零。
R
23:12INTPRI支持的最高优先级。
R
11:0INTSRC支持的中断源数量。
R

PLIC 中断优先级寄存器(PLIC_PRIOn,n=1~66)

该寄存器保存对应中断源的优先级值。

PLIC_PRIOnBASE + n*0x4
Bit313029282726252423222120191817161514131211109876543210
字段ReservedPRI0
RST00000000000000000000000000000000
位名称说明RW
31:2Reserved写入无影响,读取为零。
R
2:0PRI0中断源优先级。
WARL

PLIC Interrupt Pending 0~31 位寄存器(PLIC_IP0)

该寄存器保存中断源 0~31 的 IP 位,每个中断源对应 1 位。当 IP 位为 1 时,表示对应中断源处于待响应或待服务状态。

PLIC_IP0BASE + 0x1000
Bit313029282726252423222120191817161514131211109876543210
字段IP
RST00000000000000000000000000000000
位名称说明RW
31:0IP中断源 0~31 的 IP 位。
R

PLIC Interrupt Pending 63~32 位寄存器(PLIC_IP1)

该寄存器保存中断源 63~32 的 IP 位,每个中断源对应 1 位。当 IP 位为 1 时,表示对应中断源处于待响应或待服务状态。

PLIC_IP1BASE + 0x1004
Bit313029282726252423222120191817161514131211109876543210
字段IP
RST00000000000000000000000000000000
位名称说明RW
31:0IP中断源 32~63 的 IP 位。
R

PLIC Interrupt Pending 64~66 位寄存器(PLIC_IP2)

该寄存器保存中断源 64~66 的 IP 位,每个中断源对应 1 位。当 IP 位为 1 时,表示对应中断源处于待响应或待服务状态。

PLIC_IP2BASE + 0x1008
Bit313029282726252423222120191817161514131211109876543210
字段ReservedIP
RST00000000000000000000000000000000
位名称说明RW
31:3Reserved写入无影响,读取为零。
R
2:0IP中断源 64~66 的 IP 位。
R

PLIC Interrupt Enable 0~31 位寄存器(PLIC_IE0_t)

该寄存器保存目标 t 对中断源 0~31 的中断使能(IE)位,每个中断源对应 1 位。当 IE 位为 1 时,对应中断源被使能;否则,该中断源被目标端屏蔽。每个目标的中断 0 均为 Reserved 位,写对应 IE 位无效。

PLIC_IE0_tBASE + 0x2000
Bit313029282726252423222120191817161514131211109876543210
字段IE
RST00000000000000000000000000000000
位名称说明RW
31:0IE中断源 0~31 到目标 t 的使能位。
RW

PLIC Interrupt Enable 63~32 位寄存器(PLIC_IE1_t)

该寄存器保存目标 t 对中断源 32~63 的中断使能(IE)位,每个中断源对应 1 位。当 IE 位为 1 时,对应中断源被使能;否则,该中断源被目标端屏蔽。

PLIC_IE1_tBASE + 0x2004
Bit313029282726252423222120191817161514131211109876543210
字段IE
RST00000000000000000000000000000000
位名称说明RW
31:0IE中断源 32~63 到目标 t 的使能位。
RW

PLIC Interrupt Enable 64~66 位寄存器(PLIC_IE2_t)

该寄存器保存目标 t 对中断源 64~66 的中断使能(IE)位,每个中断源对应 1 位。当 IE 位为 1 时,对应中断源被使能;否则,该中断源被目标端屏蔽。

PLIC_IE2_tBASE + 0x2008
Bit313029282726252423222120191817161514131211109876543210
字段ReservedIE
RST00000000000000000000000000000000
位名称说明RW
31:3Reserved写入无影响,读取为零。
R
2:0IE中断源 64~66 到目标 t 的使能位。
RW

PLIC Threshold 寄存器(PLIC_THRESHOLD_t)

该寄存器保存目标 t 的优先级阈值。只有优先级严格高于该阈值的活动中断才能发送到目标端。

PLIC_THRESHOLDn_tBASE + 0x3000
Bit313029282726252423222120191817161514131211109876543210
字段ReservedTHRESHOLD
RST00000000000000000000000000000000
位名称说明RW
31:3Reserved写入无影响,读取为零。
R
2:0THRESHOLD目标端的优先级阈值。
WARL

PLIC Interrupt Claim Register(PLIC_CLAIM_t)

该寄存器保存发往目标 t 的最高优先级挂起中断 ID。读取 PLIC_CLAIM_t 寄存器可获得该中断 ID,同时硬件会自动清除对应的 IP 位。该过程表示一次中断认领(Interrupt Claim)。

对该寄存器写入无效,但目标端会向对应网关发送中断完成(Interrupt Completion)消息,从而在写操作后允许新的中断请求。

PLIC_CLAIMn_tBASE + 0x3004
Bit313029282726252423222120191817161514131211109876543210
字段ReservedID
RST00000000000000000000000000000000
位名称说明RW
31:6Reserved写入无影响,读取为零。
R
5:0ID最高优先级挂起中断的 ID。
WARL

PLIC Interrupt Mask 0~31 位寄存器(PLIC_IMR0)

该寄存器用于屏蔽中断源 0~31,用于定义哪些中断源对对应 PLIC 可见;被屏蔽的中断源不会进入挂起状态。

PLIC_IMR0BASE + 0x4000
Bit313029282726252423222120191817161514131211109876543210
字段IMR
RST00000000000000000000000000000000
位名称说明RW
31:0IMRPLIC 输入中断源的屏蔽位。
0:对应中断源未屏蔽。
1:对应中断源被屏蔽。
RW

PLIC Interrupt Mask 63~32 位寄存器(PLIC_IMR1)

该寄存器用于屏蔽中断源 32~63,用于定义哪些中断源对对应 PLIC 可见;被屏蔽的中断源不会进入挂起状态。

PLIC_IMR1BASE + 0x4004
Bit313029282726252423222120191817161514131211109876543210
字段IMR
RST00000000000000000000000000000000
位名称说明RW
31:0IMRPLIC 输入中断源的屏蔽位。
0:对应中断源未屏蔽。
1:对应中断源被屏蔽。
RW

PLIC Interrupt Mask 64~66 位寄存器(PLIC_IMR2)

该寄存器用于屏蔽中断源 64~66,用于定义哪些中断源对对应 PLIC 可见;被屏蔽的中断源不会进入挂起状态。

PLIC_IMR2BASE + 0x4008
Bit313029282726252423222120191817161514131211109876543210
字段ReservedIMR
RST00000000000000000000000000000000
位名称说明RW
31:3Reserved写入无影响,读取为零。
R
2:0IMRPLIC 输入中断源的屏蔽位。
RW