`
waterlife
  • 浏览: 65804 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Linux内核之中断向量的初始化

阅读更多

LInux内核在完成了对页式虚存的管理之后,调用trap_init()和init_IRQ()两个函数进行中断机制的初始化。其中trap_init()主要完成一些系统保留的中断向量的初始化,init_IRQ()则主要用于外设的初始化。

 

trap_init()首先设置中断向量表(IDT)开头的19个陷阱门,这些中断向量都是系统保留用于异常处理的。中断向量14就是用于页面异常保留的。然后是对系统调用向量的初始化,SYSCALL_VECTOR为0x80。

 

 

init_IRQ()中初始化一个结构数组irq_desc[],Linux系统为每个中断向量设置一个队列,根据每个中断源产生的中断向量将其挂载到相应的队列中。而数组irq_desc[],的每个元素则是这个队列的头部和控制结构。当中断发生时,首先执行一段总服务程序,根据具体的中断源设备号,在其所属的队列中找到特定的服务程序加以执行。

 

外设长生殿中断最后到要到common_interrupt()中,此前分别跑到IRQ0x01_interrupt或者IRQ0x02_interrupt的目的,只是由此得到一个与中断向量相关的数值压入堆栈中。

 

 

 

 

分享到:
评论

相关推荐

    深入分析Linux内核源码

    深入分析Linux内核源码 前言 第一章 走进linux 1.1 GNU与Linux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.3.1 Linux内核的特征 1.3.2 Linux内核版本的变化 1.4 分析Linux内核的意义 ...

    linux内核 0.11版本源码 带中文注释

    // linux 初始化(仅在这个程序中被调用)。 static inline _syscall0 (int, sync) // int sync()系统调用:更新文件系统。 #include <linux/tty.h> // tty 头文件,定义了有关tty_io,串行通信方面的参数、常数...

    疯狂内核之——进程管理子系统

    2.3.2 IDT的初步初始化 100 2.4 异常处理 101 2.5 中断处理 106 2.5.1 中断向量 107 2.5.2 IRQ数据结构 108 2.5.3 do_IRQ()函数 113 2.5.4 中断服务例程 115 2.5.5 IRQ线的动态分配 116 2.6 下半部分 117 2.6.1 软...

    清华大学Linux操作系统原理与应用

    5.1.1 中断向量 110 5.1.2 外设可屏蔽中断 111 5.1.3 异常及非屏蔽中断 112 5.1.4 中断描述符表 112 5.1.5 相关汇编指令 113 5.2 中断描述符表的初始化 114 5.2.1 IDT表项的设置 114 5.2.2 对陷阱门和系统门的初始化...

    单片机与DSP中的U-Boot在基于ADSP BF533的嵌入式Linux系统上的移植

     Boot Loader(内核引导程序)是在操作系统内核运行之前运行的一段自举程序,用于初始化硬件设备、改变处理器运行模式、重组中断向量和建立内存空间映射图,从而将系统的软硬件带到一个合适的状态或者用户定制的特定...

    龙芯3A处理器用户手册

    9.1 HyperTransport硬件设置及初始化 63 9.2 HyperTransport协议支持 63 9.3 HyperTransport中断支持 63 9.4 HyperTransport地址窗口 63 9.4.1 HyperTransport空间 63 9.4.2 HyperTransport控制器内部窗口配置 63 ...

    嵌入式Linux系统移植步步通

    2.1.2 Linux操作系统 .......................................................................................................8 2.1.3 目标板最后运行的环境....................................................

    ARM-Linux系统移植

    2.1.2 Linux操作系统 .......................................................................................................8 2.1.3 目标板最后运行的环境..................................................

    LINUX系统移植及UBOOT代码分析.zip

    Linux系统移植 目 录 第一部分 前言....................................................................................................................................8 1 硬件环境.........................

    uboott移植实验手册及技术文档

    在文件的最后加入Nand Flash的初始化函数,该函数在后面Nand Flash的操作都要用到。 u-boot运行到第2阶段会进入start_armboot()函数。其中nand_init()函数是对nand flash的最 初初始化函数。nand_init()函数在两个...

Global site tag (gtag.js) - Google Analytics