- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SeaBIOS研究分析交流报告熊海泉
参考文献技术资料 SeaBIOS源代码程序 《BIOS Disassembly Ninjutsu Uncovered》 《Beyond BIOS》 《BIOS研发技术剖析》 《System BIOS for IBM PCs, Compatibles, and EISA Computers (2nd Edition)》 * SeaBIOS初步分析 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * 熊海泉 * SeaBIOS初步分析 熊海泉 * SeaBIOS初步分析 * SeaBIOS初步分析 熊 海 泉 xionghaiquan@ * * 主要内容 SeaBIOS概述 SeaBIOS应用环境 传统PC BIOS基础 SeaBIOS基本组成结构 SeaBIOS核心数据结构 SeaBIOS POST自检过程 SeaBIOS中核心服务实现基本思想及实例分析 关于验证平台BIOS及系统软件研发的几点初浅想法 SeaBIOS初步分析 SeaBIOS概述 SeaBIOS是一种软件BIOS,即它主要用在模拟器或虚拟机中,同时也可以作为Coreboot的Payload加载运行,通过它创建传统BIOS的模拟环境从而实现启动Legacy OS操作系统。 它是从Bochs模拟器的BIOS移植发展而来的,SeaBIOS可以完全由gcc编译构建生成。 它的主要任务是实现传统BIOS的软件接口 * SeaBIOS初步分析 * SeaBIOS在模拟器、虚拟机以及Coreboot中的应用 模拟器 Bochs(早期的SeaBIOS版本可以作为Bochs的BIOS) Qemu(缺省使用SeaBIOS) 虚拟机 KVM(缺省使用SeaBIOS) Coreboot+SeaBIOS用于支持Legacy OS Linux Windows … * SeaBIOS初步分析 * SeaBIOS在Coreboot BIOS系统中的位置 * SeaBIOS初步分析 * 传统PC BIOS基础 传统PC BIOS作为硬件之上的第一个软件程序(固件程序),它负责对硬件设备进行检测初始化,同时建立好系统配置信息,并对常见的外设进行服务抽象提取,向上层操作系统软件提供更易使用的编程接口。 * SeaBIOS初步分析 * 传统PC BIOS基础 核心数据结构 系统RAM数据区 中断向量表(位于0~1KB,在POST过程中初始化) BIOS数据区(0400H~04FFH,由中断服务使用) BIOS扩展数据区(在BIOS基本数据区的040EH~040FH中存放其基地址,包括鼠标指针设备相关的数据信息) CMOS数据区(包括实时时间信息、实时时钟状态信息以及系统配置信息) ROM BIOS数据区(用于初始化设备并确保IBM PC兼容性) I/O端口地址(描述了用于标准设备的一组I/O端口) 核心中断服务(键盘、鼠标、显示输出、磁盘等服务) 系统POST开机自检程序初始化 * SeaBIOS初步分析 * 传统PC BIOS基础 从概念上来看,传统BIOS实现原理及思想与数据结构中的抽象数据类型有相似之处 一组BIOS核心数据区?相当于抽象数据类型中的操作对象 一组外设及系统中断服务?类似于抽象数据类型中的数据操作 Post自检过程?类似于抽象数据类型的初始化过程 传统BIOS从某种意义上就是一个抽象数据类型,为上层操作系统提供了一个比较标准的接口界面 * SeaBIOS初步分析 * SeaBIOS的基本思想 基于Coreboot核心初始化的硬件环境构建传统BIOS的软件环境,SeaBIOS实际上可以看成是传统BIOS抽象数据类型的具体实现 * Coreboot BIOS基本原理分析报告 * 硬件已经初始化到CPU可以通过I/O端口访问各类设备,存储器也可以使用,但没有提供给传统操作系统的接口界面 模拟实现了传统BIOS的软件接口服务机制,Legacy OS可以通过其开始启动运行 SeaBIOS的基本功能 提供传统BIOS功能服务的模拟 磁盘服务(软盘、硬盘、CDROM) 并口打印服务 日期时间与时钟服务 串口通信服务 键盘鼠标服务 视频显示服务 … 系统数据表格构建及初始化 系统自检初始化程序 * SeaBIOS初步分析 * SeaBIOS基本组成结构 * SeaBIOS初步分析 * SeaBIOS 开机自检初始化模块 开机自检总体流程 * SeaBIOS初步分析 * 19号中断?do_boot init_ivt 初始化中断向量表 * SeaBIOS初步分析 * init_bda 初始化BIOS数据区 * SeaBIOS初步分析 * init_hw 在BIOS数据区设置好参数并作好中断服务连接 * Se
文档评论(0)