CSR 位字段

RISC-V hideleg CSR 寄存器详解

地址 0x603特权级 Hypervisor访问 HRW(Hypervisor 读写) / HSXLEN / RV32 可有高半 CSRHypervisor 与虚拟化 CSR

hideleg 是 Hypervisor 中断委托位图 CSR。

字段映射

按 bit 字段理解 hideleg

5 个关键字段
HSXLEN-1:16

PLATFORM_INTERRUPT_DELEGATION

WARL

平台中断 cause 的委托位;只有实现且已由 mideleg 委托到 HS 的 cause 才可进一步委托给 VS。

这个字段控制什么

  • - 平台中断 cause 的委托位;只有实现且已由 mideleg 委托到 HS 的 cause 才可进一步委托给 VS。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
15:14, 11, 8:7, 4:3, 0

RESERVED

只读零

标准保留位,读取为零。

这个字段控制什么

  • - 标准保留位,读取为零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
13

LCOFI_DELEGATION

WARL / 无 Shlcofideleg 时只读零

Shlcofideleg 实现时可委托本地计数器溢出中断;否则读取为零。

这个字段控制什么

  • - Shlcofideleg 实现时可委托本地计数器溢出中断;否则读取为零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
12, 9, 5, 1

S_LEVEL_INTERRUPT_DELEGATION

只读零

标准 S-level guest-external、external、timer 和 software interrupt 对应位为只读零。

这个字段控制什么

  • - 标准 S-level guest-external、external、timer 和 software interrupt 对应位为只读零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
10, 6, 2

VS_LEVEL_INTERRUPT_DELEGATION

读写

分别委托 VS external、timer 和 software interrupt;相应 cause 必须已由 mideleg 委托到 HS。

这个字段控制什么

  • - 分别委托 VS external、timer 和 software interrupt;相应 cause 必须已由 mideleg 委托到 HS。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
官方依据与检索要点

hideleg 是 Hypervisor 中断委托 CSR。它是 HS/M 侧的 Hypervisor 状态,不是 VS supervisor CSR 副本;guest 访问是否允许由 H 扩展和相关 state-enable/AIA/Sstc/Smcsrind 规则决定。

hideleg 的地址、访问类和宽度按官方 CSR 表核对:0x603,HRW(Hypervisor 读写),HSXLEN / RV32 可有高半 CSR。
每个位对应一个 interrupt cause 的委托控制;未实现或不可委托位按 WARL/只读零等官方规则处理。
写入时只修改官方定义字段;WARL/WLRL/WPRI 和保留字段按官方规范与实现行为处理。

读这个 CSR 时先看什么

  • - hideleg 是 Hypervisor 级 CSR;独立地址按官方表属于 HRW(Hypervisor 读写) 访问类。
  • - guest/VS 软件不能通过 supervisor CSR alias 访问该 H-level CSR;相关访问由 H 扩展和可选扩展规则控制。

写入前的风险检查

  • - 写 hideleg 前确认对应 cause 已由 mideleg 委托到 HS;不要写入标准只读零位,平台 cause 仅按实现文档处理。

放回真实流程里理解

1

确认当前软件运行在可访问 Hypervisor CSR 的 M/HS 上下文。

2

确认定义该 CSR 的 H/AIA/Sstc/Smstateen/Smcsrind 等扩展已经实现。

3

按官方字段读写;guest 相关访问是否通过或 trap 由对应扩展规则和 state-enable 控制。

常见问题

hideleg 能通过 supervisor CSR alias 访问吗?

不能把 hideleg 当作 VS CSR 副本。它是 H-level CSR;guest/VS 访问相关功能时是否 trap 由 H 扩展和对应可选扩展规则决定。