怎么做企业网站平台,容桂手机网站建设,wordpress换主机,小型企业管理培训课程上一篇说到系统调用等异常通过向量el1_sync做处理#xff0c;中断通过向量el1_irq做处理#xff0c;然后gic的工作都是为中断处理服务#xff0c;在rtos中#xff0c;我们一般都会有中断嵌套和优先级反转的概念#xff0c;但是在linux中#xff0c;中断是否会被其他中断抢…上一篇说到系统调用等异常通过向量el1_sync做处理中断通过向量el1_irq做处理然后gic的工作都是为中断处理服务在rtos中我们一般都会有中断嵌套和优先级反转的概念但是在linux中中断是否会被其他中断抢占呢
gic概述
gic主要提供如下功能主要是四种中断服务中断掩码和优先级 gic框架中的各组件的通路如下 中断最终分发给一个或多个PE的cpu interface通过硬件中断号来区分各中断各PE的运行优先级就是当前运行中断的优先级一个中断是否进入PE,会先看优先级掩码能否到PE还要通过中断抢占设置和运行优先级来判断是否能抢占当前PE 中断掩码寄存器
该寄存器设置将中断转发到该 PE 所需的最低优先级。 只有优先级高于寄存器值的中断才会发送给 PE 中断优先级寄存器
它是一个 8 位无符号值。 0x00 是最高优先级0xFF 是最低优先级 中断抢占优先级
该寄存器定义优先级值字段分成两部分的点即组优先级字段和子优先级字段。 组优先级字段确定组 0中断抢占 运行优先级寄存器
当 PE 响应中断时它的运行优先级变为该中断的优先级 linux内核开启了抢占
根据上面的BPR的寄存器介绍写0相当于8位都是组优先级而组优先级控制抢占所以linux内核开启了抢占 linux内核实际不会发生中断抢占
arm64核心是有抢占的但是在linux中优先级都被设置成一样所以在linux内核没有中断抢占或者说没有中断嵌套