中断子系统
内核中断子系统
程序猿Ricky的日常干货
擅长扫地、打杂、开车。。
展开
-
图解Linux内核中断子系统
本文用到的缩写词汇:SVC:Supervisor(SVC)Hyp:Hypervisor(Hyp)PC:Program Counter (PC) CPSR:Current Program Status Register (CPSR) SPSRs:Saved Program Status Registers (SPSRs)LR:Link Register(LR)Irq hwid:硬件中...原创 2019-08-15 18:19:29 · 3378 阅读 · 0 评论 -
Linux内核栈和中断栈
内核栈#define MIN_THREAD_SHIFT (14 + KASAN_THREAD_SHIFT)#define THREAD_SIZE (UL(1) << THREAD_SHIFT)union thread_union {#ifndef CONFIG_THREAD_INFO_IN_TASK struct thread_info ...原创 2019-08-09 11:47:21 · 3755 阅读 · 0 评论 -
local_irq_disable和disable_irq的区别
local_irq_disable: local_irq_disable的功能是屏蔽当前CPU上的所有中断,通过操作arm核心中的寄存器来屏蔽到达CPU上的中断,此时中断控制器中所有送往该CPU上的中断信号都将被忽略。 Kernel/arch/arm/include/asm/irqflag.hstatic inline void arch_local_irq_disable(void){原创 2016-06-01 11:53:10 · 11776 阅读 · 0 评论 -
linux gic驱动
GIC———-ARM Generic Interrupt Controller一、GIC简介: GIC是的ARM研发的一个通用的中断控制器,它在硬件上的实现形态分为两种: 一种是ARM体系中的半导体公司在研发自己的SOC的时候,向ARM公司购买GIC的IP,这些GIC的型号有:GIC-400,GIC-500等等。另一种形态是ARM vensor直接购买ARM公司已经集成了GIC的多核方案,比如C原创 2016-05-30 15:31:02 · 5262 阅读 · 0 评论 -
内核中断处理-从CPU说起
当ARM CPU接收到中断线上过来的信号以后,会执行一系列操作,如下面所示:1、把cpsr保存到相应模式下的spsr(spsr_mode)2、把pc保存到相应模式下的lr (lr_mode)3、设置cpsr为相应异常模式,并屏蔽中断4、设置pc为相应异常处理程序的入口地址这些都是硬件上帮你做好的,接下来的工作就需要软件来处理了,进入了异常处理程序的入口,也就是linux内核中所设置的异常向量原创 2016-05-27 11:23:26 · 1534 阅读 · 0 评论 -
内核中断子系统框架
本文是作者看了蜗窝科技上的技术贴后经过自己的思考,做出的一个整理,通过这个过程记录自己的学习心得。主要从框架的角度着手,具体内容不做深入介绍。 索引:http://www.wowotech.net/linux_kenrel/interrupt_subsystem_architecture.html 简介从硬件说起 中断硬件系统,主要由三种器件组成,分别是CPU、中断控制器(Interrupt C转载 2016-05-19 14:54:49 · 1424 阅读 · 0 评论