从零开始理解Linux中断架构(7)--- Linux执行上下文之中断上下文

news2024/10/6 16:29:41

1 中断处理程序的基本要求

        当前运行的loop是一条执行流,中断程序运行开启了另外一条执行流,从上一节得知这是三种跳转的第三类,这个是一个大跳转。对中断程序的基本要求就是中断执行完毕后要恢复到原来执行的程序,除了时间流逝外,原来运行的程序应该毫无感知。

        

具体到Armv8架构,中断上下文要保存就是X0-X30。X30是LR寄存器。

2 Armv8 异常处理前半段

Armv8在exception发起后,PE做了一些前提工作:

        (1) CPU core感知到异常发生,生成一个目标异常等级

        (2) 把PSTATE寄存器里的值保存到对应目标异常等级的SPSR_ELx寄存器便于恢复时使用

        (3) 把返回地址保存在对应目标异常等级的ELR_ELx中。

                若是同步异常,则ELR寄存器存的是aborted PC,把异常的原因写入到ESR_ELx寄存器

      (4) 把PSTATE寄存器里的DAIF字段都mark掉

      (5)设置SP,指向目标异常等级里的栈,自动切换SP到SP_ELx寄存器中

          将异常级别从EL0提升到EL1,使用的栈指针寄存器由SP_EL0变为了SP_EL1

          表基址寄存器由T

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何设计一个短信发送功能

本文主要分享了如何设计一个发送短信功能。 一、总结简述 1.梳理多个平台短信API的发送参数,集成封装提供统一的API,支持多个短信平台(阿里云、腾讯云、百度云、京东云、七牛云)灵活切换 2.提供存储方案,表结构设计…

Redis数据库操作

Redis 命令参考 — Redis 命令参考http://doc.redisfans.com/ 1、Redis,远程词典服务器,是一个基于内存的键值型NoSQL数据库 特征: 键值型,支持多种不同数据结构,功能丰富 单线程,每个命令具备原子性 …

C语言督学营(中级阶段)

文章目录 中级阶段9.数据结构概述逻辑结构 与 存储结构时间复杂度、空间复杂度 10.11.12.线性表 (代码实战)线性表的定义、特点1.线性表的顺序存储(顺序表示):顺序表静态分配动态分配顺序表的定义、初始化、插入、删除、按值查找、按位查找 操作 (代码):…

go开发多云资产管理平台

go开发多云资产管理平台cmdb 代码仓库github.com/yunixiangfeng/gocmdb 云主机管理 主机资源监控 开发流程 Welcome to Beego | Beego bee new gocmdb/servercd gocmdb/servergo mod tidygo get -u github.com/beego/beego/v2 go get -u "github.com/astaxie/beego/o…

津津乐道设计模式 - 模版模式详解(以女友化妆流程带你彻底明白)

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

JDBC-->java如何连接数据库(详细版小白必备)

个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! \ 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 &…

工业相机——显微镜头/放大镜头

校准尺,最小测量刻度为0.1mm 上图为手机拍的看不清,放了一个网上找的图,校准的详细参数见下图 例如:物距为116mm的显微镜头,这种镜头没有景深,只能测镜头前端到物体116mm的物体 ,几乎没有景深&a…

Vscode配置C/C++环境出现报错,导致不能运行代码,报错如下:

Vscode配置C/C环境出现报错,导致不能运行代码,报错如下: 问题描述—gcc : 无法将“gcc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次…

Hexo博客搭建 —— Next主题配置

Hexo博客搭建 —— Next主题配置 文章目录 Hexo博客搭建 —— Next主题配置配置文件区分站点配置文件主题配置文件 配置文件描述简称引入next主题-sitenext主题页面模式设置-next设置首页不显示全文-site设置博客文章持久化连接-site下载插件URL Setting 参考文档 配置文件区分…

【Docker】一文了解DockerFile

文章目录 Dockerfile 概念DockerFile的指令1、FROM 指定基础镜像2、RUN 执行命令3、COPY 复制文件4、ADD 更高级的复制文件5、ENV 设置环境变量6、EXPOSE7、VOLUME 定义匿名卷8、CMD容器启动命令9、ENTRYPOINT入口点10、USER 指定当前用户11、WORKDIR 指定工作目录12、LABEL为镜…

网络安全、Web安全、渗透测试之笔经面经总结含答案

以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。 注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题&#xf…

4、数据库操作语句:聚合函数

目录 1、定义 2、常用的聚合函数 1)Avg/sum:只适用于数值类型的字段(或变量)。 2)Max/min:适用于数值类型、字符串类型、日期时间类型的字段(或变量) 3)Count: ①作…

一起来学孟德尔随机化(Mendelian Randomization)

孟德尔随机化最近实在是太火了,想不关注都不行,最近也花了点时间研究了一下,和大家分享一下,共同学习。 什么是孟德尔随机化? 在19世纪,孟德尔用豌豆花作为实验材料,通过对豌豆花颜色、形状等特…

ESP-BOX的GUI移植

因为squareline studio软件中适配了ESP-BOX,所以作者本想直接使用该软件创建的工程,但是会出现花屏的现象,也不知道是不是没有做好esp-box-lite的适配。 因此只能先用squareline studio设计好GUI,然后再导出其代码,在其…

jmeter-13-使用JSR223断言(推荐)

文章目录 前言一、JSR 223 进行断言二、总结 前言 之前都在使用 BeanShell 前后置、断言等,但是查看官方文档时发现推荐使用 JSR223 其实 BeanShell 是 JSR223 里面的一种,下面我们继续了解下。 官网介绍:Apache JMeter - User’s Manual: C…

【数据分享】1929-2022年全球站点的逐月平均露点数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

ffmpeg+nginx-rtmp转发视频流

本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 nginx与nginx-rtmp-module安装 画了好几天图,实在有些乏力,找点有意思的事情做做 觉得视频流传输挺有意思,B站找了些视频,但感觉有些大…

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

一、论文简述 1. 第一作者:Likang Wang 2. 发表年份:2022 3. 发表期刊:ECCV 4. 关键词:MVS、3D重建、重要性采样、无监督误差分布估计 5. 探索动机:以粗到细的方式预测深度图,部分缓解了对于分辨率的限…

Apache James邮件服务器搭建(linux)

1、配置jdk,此处不再赘述,随便搜一下然后照着操作即可 注意:后续james的版本是3.5.0,需要与jdk8配套 2、下载apache james ,apacheJames 下载之后可以直接运行,无需安装 注意:此处选择3.5.0版…

人工智能数据集处理——数据清理1

目录 一、概述 二、缺失值 1、检测缺失值 使用isna() 方法检测na_df中是否存在缺失值 使用natna() 方法 2、缺失值的处理 (1) 删除缺失值 使用删除dropna() 方法删除na_df 对象中缺失值所在的一行数据 删除全为缺失值的行 删除有缺失值的行 (2) 填充缺失值 使用fill…