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寄存器中;
相关推荐
blessing。。10 分钟前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
2202_7544215425 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
努力的悟空1 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
运维&陈同学1 小时前
【zookeeper03】消息队列与微服务之zookeeper集群部署
linux·微服务·zookeeper·云原生·消息队列·云计算·java-zookeeper
旦沐已成舟1 小时前
DevOps-Jenkins-新手入门级
服务器
周末不下雨2 小时前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
软件技术员3 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
哎呦喂-ll3 小时前
Linux进阶:环境变量
linux
耗同学一米八3 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络