安装中断事件处理程序的方法

文档序号:6582478阅读:146来源:国知局
专利名称:安装中断事件处理程序的方法
技术领域
本发明涉及一种中断服务机制,尤其涉及一种针对没有对应的外围组件互连 (Peripheral Component hterconnect,简称为PCI)装置的中断事件的安装中断事件处 理程序的方法。
背景技术
中断请求(Interrupt Request,简称为IRQ)是在某个装置要进行特定的动作 时,用以通知并要求中央处理单元暂停工作,使得中央处理单元执行对应的计算动作。传 统的电脑采用可程序化中断控制器(Programmable Interrupt Controller,简称为PIC) 或进阶可程序化中断控制器(Advanced Programmable Interrupt Controller,简称为 APIC)来接收中断请求,并发出对应的中断信号至中央处理单元。一般而言,在操作系统之下,例如,当发生热插拔之类的应用时,外围装置会发 出中断事件(event)去触发中断来启动对应的中断事件处理程序(interrupt event handler)。然而,此中断、没有对应的夕卜围组件互连(Peripheral Component Interconnect, 简称为PCI)装置存在于电脑系统中,也就无法与其它PCI装置共用中断请求,因此操作系 统找不到此中断对应的处理程序,因此,操作系统便无法服务此中断事件。

发明内容
本发明的目的是提供一种安装中断事件处理程序的方法,以针对没有对应的外围 组件互连(Peripheral Component Interconnect,简称为PCI)装置的中断事件来安装中 断事件处理程序。本发明实施例提供一种安装中断事件处理程序的方法,适用于一电脑系统在操作 系统下利用中断事件处理程序来服务一中断事件。在此,电脑系统包括基本输入输出系 统(Basic Input Output System,简称为BI0S)以及多功能外围组件互连(Peripheral Component Interconnect,简称为PCI)装置,其中多功能外围组件互连装置具有没使用或 虚拟的中断引脚。此方法包括通过基本输入输出系统在多功能外围组件互连中建立一虚 拟功能,并选择未使用或虚拟的中断引脚其中之一,以通过所选择的中断引脚与虚拟功能 来模拟一虚拟接口装置;通过基本输入输出系统将虚拟接口装置的中断相关数据记录至中 断路由表;通过操作系统依据中断路由表设定并取得虚拟接口装置的中断编号;以及通过 操作系统依据中断编号,安装中断事件处理程序。在本发明的一实施例中,上述由操作系统依据中断路由表设定并取得虚拟接口装 置的中断编号的步骤包括根据中断路由表所记录的虚拟接口装置的汇流排号码、装置号 码以及中断引脚号码,设定并取得虚拟接口装置的中断编号。在本发明的一实施例中,上述通过操作系统依据中断编号,安装中断事件处理程 序的步骤包括依据中断编号,通过操作系统将中断事件处理程序安装至中断向量表的相 对应的中断编号栏位内。
在本发明的一实施例中,上述中断路由表包括可程序中断控制器(Programmable Interrupt Controller,简称为PIC)的中断要求路由(IRQRouting)表格、多重处理器规 范(Multi-Processor Specification,简称为MPS)组态表格以及进阶组态与电源接口 (Advanced Configuration and Power Interface,简禾尔为ACPI)表格。在本发明的一实施例中,上述安装中断事件处理程序的方法还包括通过基本 输入输出系统保留一中断请求给虚拟接口装置,并将中断请求设定为位准触发(level trigger)。在本发明的一实施例中,上述多功能外围组件互连装置不会被禁能。基于上述,本发明实施例通过现有的PCI装置来模拟一虚拟接口装置,以将硬件 装置所发出的中断事件连接到任意的中断引脚,使得操作系统能够安装对应的中断事件处 理程序来服务此中断事件。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图作详 细说明如下。


图1是本发明一实施例的安装中断事件处理程序的方法流程图。图2是本发明一实施例的模拟一虚拟接口装置的示意图。主要元件符号说明200:电脑系统;210:中央处理单元;220 北桥晶片;230 南桥晶片;240 =PIC控制器;250 布线暂存器;260 10 APIC 控制器; 270 =PCI 装置;沘0:虚拟接口装置;S105 S120 本发明一实施例的安装中断事件处理程序的方法各步骤。
具体实施例方式为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的 范例。图1是本发明一实施例的安装中断事件处理程序的方法流程图。请参照图1,在 步骤S105中,通过基本输入输出系统(Basic Input Output System,简称为BI0S)模拟 一虚拟接口装置。具体而言,BIOS在多功能外围组件互连(multi-function PCI device) 装置中建立一虚拟功能,并在此多功能PCI装置的未使用或虚拟的中断引脚中选择其中之 一,以通过此中断引脚与虚拟功能来模拟一个虚拟接口装置。举例来说,图2是本发明一实施例的模拟一虚拟接口装置的示意图。请参照图2, 在本实施例中,电脑系统200包括中央处理单元210、北桥晶片220以及南桥晶片230。南 桥晶片230包括可程序中断控制器(Programmable Interrupt Controller,简称为PIC 控制器)240、布线(routing)暂存器250、输入输出进阶可程序中断控制器(10 Advanced Programmable Interrupt Controller,简称为10 APIC 控制器)260 以及 PCI 装置 270。PIC控制器240与10 APIC控制器260用以接收外围装置(未示出)所发出的中断请求,以产生对应的PCI中断信号并传送至中央处理单元210,即可令中央处理单元210 回应此PCI中断信号而启动并执行对应的中断事件处理程序。在本实施例中,BI0S(未示出)在电脑系统200中寻找一个不会被禁能的多功能 PCI装置,例如南桥晶片230中的PCI装置270,以利用PCI装置270来模拟一虚拟接口装 置。在此,PCI装置270具有多个功能(function 0 6),以及中断引脚INT A、B。由于 PCI装置270仅有并使用INT A、B,故INT C、D为不存在的中断引脚(也就是虚拟的中断引 脚)。因此BIOS便选择一个不存在的中断引脚(例如,INT C),并从PCI装置270中建立 一个不存在的功能(例如,function 7),藉以模拟一个不存在的虚拟接口装置观0,也就是 具有中断引脚INT C的虚拟PCI装置bus0/device31/function 7。在此,本实施例的中断事件例如为硬件装置的热插拔(hot plug)中断事件。由于 热插拔中断事件没有对应的PCI装置,因此通过PCI装置270的中断引脚INT C与function 7所模拟的虚拟接口装置观0,使得中央处理单元210认为热插拔中断事件是由虚拟接口装 置280所发出来的。虚拟接口装置280经由路径PIRQ G连接至南桥晶片230的PIRQ G引脚,且其对 应的布线暂存器250中为PIRQ G暂存器(其暂存器位址例如为6Ah),其储存一中断请求编 号,例如IRQ5。另外,虚拟接口装置280还连接至IOAPIC控制器洸0的中断引脚22。在模拟上述虚拟接口装置280之后,接着返回图1,在步骤S 110中,通过BIOS 将虚拟接口装置观0的中断相关数据记录至中断路由表。一般而言,BIOS提供的中断路 由表包括可程序中断控制器(Programmable Interrupt Controller,简称为PIC)的中 断要求路由(IRQ Routing)表格、多重处理器规范(Multi-Processor Specification, 简称为MPQ组态表格以及进阶组态与电源接口(Advanced Configuration and Power hterface,简称为ACPI)表格,以供操作系统在标准模式(PIC)、MPS模式(APIC)或是 ACPI模式(PIC或APIC)下使用。进一步地说,操作系统为PIC模式时,BIOS会保留一中断请求给虚拟接口装置 观0,并将中断请求设定为位准触发(level trigger)。并且,BIOS会在PIR(PCI Interrupt Request)表格中建立一个项目(entry)以记录虚拟接口装置观0的中断相关数据。举例来说,以图2而言,PIR表格的项目例如为:<00h,0F8h,0062h,0DC58h,0061h, 0DC58h, 006Ah, 00020h, 0000,00000,00,0>。其中,OOh 代表汇流排号码为 0 ;0F8h 代表装置 号码为 31 ;“0062h,0DC58h”、“0061h,0DC58h”、“006Ah,00020h”、“0000,00000” 分别代表 INT A、B、C、D的暂存器位址与可用中断请求编号的位元映像(bitmap)。也就是说,汇流排 号码0/装置号码31的PCI装置的中断引脚INT C(虚拟接口装置280所使用的中断引脚) 被连接至暂存器位址为6Ah的中断路由器(interrupt router),且可用的中断请求号码为 5。再者,在PIC 模式时,BIOS 也会于 ACPI 表格的 AML (ACPI MachineLanguage)程 序的程序(method)_PRT中建立此虚拟接口装置的项目。以图2而言,此项目例如为 Package () {OxOOlFFFFF,2,LNKG,0},其中,001F 代表装置号码为 31,2 代表 INT C,程序 (method) LNKG则是用来回报IRQ的号码。另外,在MPS模式时,BIOS同样在MPS表格中建立一项目。以图2而言,此项目可 分为来源(resource)与目的(destination)。来源记录了汇流排号码、中断引脚号码与装置号码,例如,“0:PCI,7eh: INT_C#lfh”,0代表汇流排号码,Ifh代表装置号码。而目的记录 T IO APIC控制器沈0的识别码、中断引脚编号、极性(polarity)、触发条件等,例如,“2, 22,Low,Level,INT”,2代表IO APIC控制器260的识别码,22代表中断引脚编号,Low代表 低位极性,Level代表水平触发;也就是说编号为2的IO APIC控制器260其中断引脚22 将于低位水平时被触发中断。此外,在ACPI APIC模式时,在ACPI表格中的AML程序的程序(method)_PRT建 立虚拟接口装置的项目。例如为=Package () {OxOOlFFFFF,2,0,22},其中,OOlF代表装置号 码,2代表INT C,22代表10 APIC控制器的全域中断引脚号码;也就是说汇流排号码0/装 置号码31的PCI装置的中断引脚INTC(虚拟接口装置280所使用的中断引脚)将被连接 于全域中断引脚号码为22的中断引脚。之后,在步骤S115中,操作系统便能够依据中断路由表,设定并取得虚拟接口装 置的中断编号。进一步地说,可由中断事件处理程序的初始化程序呼叫操作系统去取得中 断编号。而操作系统则是根据中断路由表所记录的虚拟接口装置的汇流排号码、装置号码 以及中断引脚号码对南桥晶片230、北桥晶片220进行设定,以取得虚拟接口装置观0的中 断编号。最后,在步骤S120中,操作系统依据中断编号,安装中断事件处理程序。也就是 说,在存储器里面有一个中断向量表,操作系统会将中断事件处理程序的进入点写入中断 向量表中的相对应中断编号的栏位内,故当中央处理单元210收到中断时,其会去中断向 量表中读取中断编号所对应的值,以取得中断事件处理程序的进入点,并将中央处理单元 (Central Processing Unit,简称为CPU)210的控制权交于此进入点。以硬件装置热插拔的中断事件处理程序而言,当硬件装置被热拔除时,中断事件 处理程序会去检查哪一个硬件装置被移除,并通知其它的应用程序或服务程序此硬件装置 已被移除,令其做出适当的回应。例如,将硬件装置的图示(icon)设定为移除状态,并且通 知操作系统去卸载(uninstall)硬件装置控制器的驱动程序。另一方面,当硬件装装被热 插入时,中断事件处理程序便会去检查哪一个硬件装置被插入,并通知其它的应用程序或 服务程序此硬件装置已被插入,令其做出适当的回应。例如,将硬件装置的图示(icon)设 定为插入状态,并且通知操作系统去安装硬件装置控制器的驱动程序。综上所述,上述实施例是基于在一个PCI装置上模拟出一个虚拟功能,且基于此 PCI装置的虚拟功能使得操作系统能够正确地将中断事件处理程序安装至正确的中断向量 表的中断编号栏位内。也就是说,由于此中断事件并没有对应的PCI装置,因此模拟出一个 虚拟接口装置使得中央处理单元认为上述中断事件是由此PCI装置所发出。据此,通过上 述实施例方法,可将硬件所发出的中断事件连接到任意的中断引脚,使得操作系统能够安 装对应的中断事件处理程序来服务此中断事件。最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进行限制, 尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依 然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修 改后的技术方案脱离本发明技术方案的精神和范围。权利要求
1.一种安装中断事件处理程序的方法,适用于电脑系统在操作系统下利用所述中断事 件处理程序服务中断事件,所述电脑系统包括基本输入输出系统以及多功能外围组件互连 装置,其中所述多功能外围组件互连装置包括未使用或虚拟的多个中断引脚,所述方法包 括通过所述基本输入输出系统在所述多功能外围组件互连装置中建立虚拟功能,并选择 未使用或虚拟的所述多个中断引脚其中之一,以通过所述中断引脚与所述虚拟功能来模拟 虚拟接口装置;通过所述基本输入输出系统将所述虚拟接口装置的中断相关数据记录至中断路由表;通过所述操作系统依据所述中断路由表设定并取得所述虚拟接口装置的中断编号;以及通过所述操作系统依据所述中断编号,安装所述中断事件处理程序。
2.根据权利要求1所述的安装中断事件处理程序的方法,其中由所述操作系统依据所 述中断路由表取得所述虚拟接口装置的所述中断编号的步骤,包括根据所述中断路由表所记录的所述虚拟接口装置的汇流排号码、装置号码以及中断引 脚号码,取得所述虚拟接口装置的所述中断编号。
3.根据权利要求1所述的安装中断事件处理程序的方法,其中通过所述操作系统依据 所述中断编号,安装所述中断事件处理程序的步骤,包括依据所述中断编号,通过所述操作系统将所述中断事件处理程序安装至中断向量表的 相对应的中断编号栏位内。
4.根据权利要求1所述的安装中断事件处理程序的方法,其中所述中断路由表包括可 程序中断控制器的中断要求路由表格、多重处理器规范组态表格以及进阶组态与电源接口 表格。
5.根据权利要求1所述的安装中断事件处理程序的方法,还包括所述基本输入输出系统保留中断请求给所述虚拟接口装置,并将所述中断请求设定为 位准触发。
6.根据权利要求1所述的安装中断事件处理程序的方法,其中所述多功能外围组件互 连装置不会被禁能。
全文摘要
本发明涉及一种安装中断事件处理程序的方法,所述方法适用于一电脑系统在操作系统下安装中断事件处理程序来服务一中断事件。在本方法中,通过基本输入输出系统建立多功能外围组件互连装置的虚拟功能,并选择其中一未使用或虚拟的中断引脚,以通过上述中断引脚与虚拟功能来模拟一虚拟接口装置。接着,通过基本输入输出系统将虚拟接口装置的中断相关数据记录至中断路由表。之后,通过操作系统依据中断路由表设定并取得虚拟接口装置的中断编号,以依据中断编号来安装中断事件处理程序。本发明提供的安装中断事件处理程序的方法,以针对没有对应的外围组件互连装置的中断事件来安装中断事件处理程序。
文档编号G06F9/445GK102043643SQ20091020413
公开日2011年5月4日 申请日期2009年10月15日 优先权日2009年10月15日
发明者卢盈志, 王郁蕙 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1