码迷,mamicode.com
首页 > 其他好文 > 详细

SylixOS x86中断探测(二)

时间:2018-02-28 13:00:15      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:SylixOS   x86   中断   

  • MP Spec简介

    MP Spec即MultiProcessor Specification,简称MPS,中文翻译为多重处理器规范,定义了MP系统配置的数据结构。BIOS构建MP配置数据结构,将硬件以已知格式呈现给标准设备驱动程序或操作系统的硬件抽象层。该规范的总体概念如图 1.1所示。

    技术分享图片

    图 1.1 总体概念

    MP Spec提供了两种将信息传递给操作系统的方法:一种符合一组常见硬件默认设置的最小配置方法,以及一种在硬件设计中提供最大灵活性的最大方法。图 1.2显示了MP配置数据结构的总体布局。

    技术分享图片

    图 1.2 MP配置数据结构体

    MP兼容系统必须实现Floating Pointer Structure,该结构是16字节的倍数的可变长度数据结构。目前,只定义了一个16字节的数据结构。要确定系统是否符合MP规范,操作系统必须按照规范定义的顺序搜索Floating Pointer Structure。图 1.3显示了该结构的格式。其中Physical Address Pointer字段表明MP Configuration Table的起始地址。如果MP Configuration Table不存在则全为0。MP Feature Information Byte 1字段指定MP系统的默认配置类型。如果非零,则系统配置符合其中一个默认配置。

    技术分享图片

    图 1.3 Floating Pointer Structure

    MP Configuration Table Header的格式如图 1.4所示。

    技术分享图片

    图 1.4 MP Configuration Table Header

    MP Configuration Table Header之后跟着数量不固定的且长度可变的条目。每个条目的第一个字节标识条目类型。每个条目类型具有已知的固定长度。MP Configuration Table的总长度取决于系统的配置。软件必须遍历Base Table中的每个条目,直到达到Entry Count。 条目按照Entry Type升序排序。图 1.5给出了Entry Type的每个值的含义。

    技术分享图片

    图 1.5 Base MP Configuration Table Entry Types

    配置表包含一个或多个I/O APIC条目,每个I/O APIC条目的格式如图 1.6所示。

    技术分享图片

    图 1.6 I/O APIC Entry

    I/O Interrupt Assignment Entries条目指示哪个中断源连接到各个I/O APIC中断输入。每个连接的I/O APIC中断输入都有一个条目。图 1.7显示了每个条目的格式。

    技术分享图片

    图 1.7 I/O Interrupt Entry

    其中中断类型有图 1.8所示几种。

    技术分享图片

    图 1.8 Interrupt Type Values

  • 参考资料

    《Intel Multiprocessor Specification》


  • SylixOS x86中断探测(二)

    标签:SylixOS   x86   中断   

    原文地址:http://blog.51cto.com/12557713/2073844

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!