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寄存器中;
相关推荐
Doro再努力22 分钟前
【Linux操作系统06】深入理解权限掩码与粘滞位
linux·运维·服务器
wdfk_prog25 分钟前
[Linux]学习笔记系列 -- [drivers][dma]stm32-dma
linux·笔记·学习
mzhan01732 分钟前
[Linux] vdso 32bit vs 64bit
linux·运维·服务器
旖旎夜光37 分钟前
Linux(13)(上)
linux·网络
忧郁的橙子.37 分钟前
26期_01_Pyhton linux基本命令
linux·运维·服务器
郝学胜-神的一滴40 分钟前
深入解析Linux网络编程之bind函数:从基础到实践的艺术
linux·服务器·网络·c++·websocket·程序人生
西京刀客43 分钟前
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
linux·运维·macos
mango_mangojuice43 分钟前
Linux学习笔记(角色,权限管理)1.21
linux·笔记·学习
遇见火星1 小时前
Linux综合性能监控工具dstat命令详解
linux·服务器·php·dstat
相思难忘成疾1 小时前
通向HCIP之路:第三步:动态路由协议OSPF(全)
服务器·网络·智能路由器·hcip