自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 Linux kernel ARM64异常(Exception)处理流程

背景:异常(Exception)发生是针对CPU的,本来CPU就在不同异常等级(exception level)运行。ARM64中有4个异常等级,分别是EL0, EL1, EL2, EL3注意区分:异常发生的等级,以及跃迁到的目标异常等级,目标异常等级大于等于异常发生的等级,EL0不会是目标异常等级异常类型分为同步异常和异步异常, 同步异常只有Synchronous,其它3个类型都是异步异常。异常发生时,硬件做的事情:(1)CPU core感知到异常发生,生成一个目标异常等级(2)把PSTAT

2021-08-28 13:47:21 1126

原创 Linux kernel ARM64 寄存器tpidr_el1 的用处

存放当前cpu的per_cpu的offset值,来自__per_cpu_offset[x]在计算per_cpu变量对应当前cpu的实际虚拟地址时会用到。案例(对per_cpu变量overflow_stack的获取):arch/arm64/kernel/entry.S/* Switch to the overflow stack */adr_this_cpu sp, overflow_stack + OVERFLOW_STACK_SIZE, x0...

2021-08-20 22:30:49 2390

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除