论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
物联网
›
物联网
›
AIA - APLIC之三(附APLIC处理流程图)
AIA - APLIC之三(附APLIC处理流程图)
惊落一身雪
金牌会员
|
2025-1-6 15:06:10
|
显示全部楼层
|
阅读模式
楼主
主题
801
|
帖子
801
|
积分
2403
本文属于《 RISC-V指令集底子系列教程》之一,欢迎查察别的文章。
1 APLIC复位
APLIC复位后,其全部状态都变得有效且划一,但以下环境除外:
每个中断域的
domaincfg
寄存器(spec第 4.5.1 节);
可能是machine-level interrupt domain的MSI地址设置寄存器(spec第4.5.3 和4.5.4 节);
每个中断域的
genmsi
寄存器的Busy位(如果存在)(spec第 4.5.15 节)。
以上这几种环境,在APLIC复位后,必要根据这些寄存器的具体定义来确定。
2 对中断pending位的精确影响
尝试通过写入中断域控制地区中的寄存器,来设置或扫除中断源的pending位可能会乐成,也可能不会乐成,具体取决于相应的中断源模式、中断域的中断投递模式,以及中断源校正输入的状态值(spec第4.5.2节中定义)。
下面列举了,针对给定的中断源源模式,设置或扫除pending位时的全部环境。
如果源模式为
Detached
:
仅通过对setip或setipnum寄存器,执行相关写入操作,将pending位设置为1。
当在APLIC处请求中断或由MSI转发中断,或者通过对in_clrip寄存器或clripnum举行相关写入时,将扫除pending位。
如果源模式为
Edge1
或
Edge0
:
通过校正输入值,从低到高的跳变,或者通过对setip或setipnum寄存器举行相应写入,将pending位设置为1。
当在APLIC处请求中断或由MSI转发中断,或者通过对in_clrip寄存器或clripnum举行相关写入时,将扫除pending位。
如果源模式为
Level1
或
Level0
,并且中断域设置为
直接投递模式
(domaincfg.DM = 0):
只要校正后的输入值为高电平,pending位就会设置为1。无法通过写入setip或setipnum寄存器来设置pending位。
只要校正后的输入值为低电平,pending位就会被扫除。pending位不能通过 APLIC 处的中断声明来扫除,也不能通过写入in_clrip寄存器或clripnum来扫除。
如果源模式为
Level1
或
Level0
,并且中断域设置为
MSI投递模式
(domaincfg.DM = 1):
通过校正输入值中从低到高的跳变,将pending位设置为1。当经校正的输入值为1时,也可以通过setip或setipnum寄存器的相应写入来设置pending位。
只要校正后的输入值为低电平,或者通过对in_clrip寄存器或clripnum举行相关写入,就会扫除pending位。
当中断域处于直接投递模式时,电平触发的中断源的pending位,始终只是整流输入值的副本。即使在MSI传送模式下,当校正输入值为0时,电平触发的中断源的pending位,也不会被设置 (= 1)。
除上述规则外,如spec第4.5.2节中所述,对sourcecfg寄存器的写入,还可导致源的中断挂起位设置为1。
3 直接传递模式
当中断域处于直接投递模式 (domaincfg.DM = 0) 时,中断通过每个hart的唯一信号(通常是专用中断线)从APLIC传递到hart。
在这种环境下,中断域的内存映射控制地区,在末尾包罗一组中断传送控制 (IDC) 结构,每个hart都会对应一个IDC结构。
第一个IDC结构,是该中断域内索引为0的hart;第二个是该中断域索引为1的hart;依次类推。
3.1 IDC结构
每个IDC结构都是32字节(对齐到 32 字节地址界限),并具有以下定义的寄存器:
如果IDC结构,针对的特定hart,对于中断域中的任何实际hart都无效,则这些寄存器,可以选择全部为只读零。否则,寄存器将在下面单独形貌。
特定的APLIC,可能被构建为支持最大数量的hartÿ
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
惊落一身雪
金牌会员
这个人很懒什么都没写!
楼主热帖
处理接口幂等性的两种常见方案 ...
腾讯叶聪:朋友圈爆款背后的计算机视觉 ...
一个故事看懂CPU的SIMD技术
聊一聊 TLS/SSL
图文结合带你搞懂InnoDB MVCC
看完这个,还不会DVMA,请你吃瓜 ...
Kubernetes(k8s)CNI(flannel)网络 ...
数据湖选型指南|Hudi vs Iceberg 数据 ...
关于 Java 的简介(评论抽奖送书) ...
【.NET源码解读】深入剖析中间件的设计 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表