Linux内核异常处理机制

  • 保存现场(CPU自动完成):
  • 1、保存CPSR寄存器中的值到SPSR寄存器中;
  • 2、修改CPSR寄存器:
  • 2.1、修改T位,切换处理器的工作状态为ARM状态
  • 2.2、修改I位和F位,根据需要屏蔽IRQ和FIQ中断
  • 2.3、修改M位,切换处理器到对应的异常模式下;
  • 3、保存返回地址LR寄存器中;
  • 4、修改PC寄存器的值,指向异常向量表对应的位置;
  • 恢复现场(程序员手动完成):
  • 1、恢复SPSR寄存器中的值到CPSR寄存器中;
  • 2、恢复LR寄存器中的值到PC寄存器中;
相关推荐
不是编程家6 分钟前
Linux第二十二讲:数据链路层 && NAT && 代理服务 && 内网穿透
linux·运维·服务器
---学无止境---6 分钟前
Linux中读写自旋锁rwlock的实现
linux
看着捉急1 小时前
x86_64 centos7.2 上用aarch64-linux-gnu-gcc4.8.5交叉编译qt5.11.3
linux·运维·qt
李宥小哥2 小时前
C#基础07-类与对象
服务器·数据库·c#
Murphy_lx2 小时前
Linux(操作系统)文件系统--对打开文件的管理(C语言层面)
linux·服务器·c语言
小白电脑技术2 小时前
Nginx-Proxy-Manager配置SSL泛域名证书教程
运维·ssl
脏脏a3 小时前
【Linux篇】Linux指令进阶:从入门到熟练的实操指南
linux·运维·服务器
東雪蓮☆4 小时前
MySQL 5.7 主主复制 + Keepalived 高可用配置实例
linux·运维·mysql
迎風吹頭髮4 小时前
UNIX下C语言编程与实践20-UNIX 文件类型判断:stat 结构 st_mode 与文件类型宏的使用实战
linux·c语言·unix
凤凰战士芭比Q5 小时前
部署Nginx(Kylinv10sp3、Ubuntu2204、Rocky9.3)
linux·运维·nginx