李迟的专栏

何日抱娃归家去,山头斜照读牛经。文章可能会更新,以www.latelee.org内容为准。...

排序:
默认
按更新时间
按访问量
RSS订阅

coreboot学习10:coreboot第一阶段学习小结

时间过得真快,从今年2月份开始到4月份,断断续续地摸索coreboot的源码。限于精力但又不想让人误以为笔者是个容易放弃的人,只好匆匆将前面所做的工作称为第一阶段,用时髦的话,也叫一期工程。此文做些阶段性的小结,以表示阶段性的结束。

2016-04-04 21:51:12

阅读数 2605

评论数 0

coreboot学习9:ramstage阶段之设备初始化流程

本文对ramstage阶段的设备初始化过程进行跟踪。设备初始化是在dev_initialize函数中完成的,代码如下:

2016-04-04 15:36:46

阅读数 758

评论数 0

coreboot学习8:ramstage阶段之资源分配流程

设备枚举后就是资源分配了,在dev_configure函数中完成,代码如下:

2016-04-04 13:10:35

阅读数 827

评论数 0

coreboot学习7:ramstage阶段之设备枚举流程

本文主要针对ramstage阶段的设备枚举的过程进行分析。限于精力,就直接使用qemu-i440fx作为分析,baytrail就免了吧。

2016-04-03 09:43:18

阅读数 640

评论数 0

coreboot学习6:ramstage阶段之芯片初始化流程

从本文开始,就根据前文给出的ramstage的主干线索分析每个小阶段执行的过程。依然以qemu-i440fx为主做分析——因为当前条件只有这个“主板”才能在通过打印跟踪其过程。另外,也会列出baytrail的相关函数,但可能会存在部分瑕疵。在分析时,不一定会根据顺序,也不一定会详细到每个函数。如果...

2016-03-19 23:00:44

阅读数 785

评论数 1

coreboot学习5:启动流程跟踪之ramstage阶段主干分析

ramstage阶段涉及比较多的操作,比如枚举板子上的外围设备,分配资源(PCI),使能设备。本文根据该阶段的主干函数流程做分析,细节方面不涉及。理顺这个主干,从全局上把控大致流程。

2016-03-16 22:12:37

阅读数 1035

评论数 0

coreboot学习4:启动流程跟踪之romstage阶段

romstage是coreboot的第二个执行阶段。本文分别介绍基于qemu模拟环境的x86的跟踪,以及基于Intel baytrail平台的跟踪。

2016-03-15 22:23:23

阅读数 1227

评论数 0

coreboot学习3:启动流程跟踪之bootblock阶段

coreboot的第一个启动阶段为bootblock。该阶段均使用汇编语言编写。下面根据执行文件顺序介绍。

2016-03-14 21:53:57

阅读数 1242

评论数 0

coreboot学习2:项目源码的初步了解

本文主要介绍coreboot源码的目录结构和其它一些东西。

2016-03-13 20:58:45

阅读数 1853

评论数 0

coreboot学习1:编译并使用qemu模拟

对于一种新东西的学习,如果有看得到、摸得着的演示,比单纯看理论知道更容易理解。在未对coreboot进行代码级别分析之前,用一个实例来看看coreboot到底长什么样子。 本文讲述如何在linux环境中编译coreboot,并使用qemu模拟器来启动。

2016-03-11 23:31:00

阅读数 2027

评论数 0

coreboot学习0:二度相逢是初识

第一次听到coreboot是在大约一年半多以前,当时因为工作需要进行x86的底层开发,无意中接触到coreboot项目。现在再次对其进行学习。一来让自己也学习一下x86的BIOS开发,二来算对微机原理的一个重新认识吧。 一、简述 coreboot前称为“LinuxBIOS”,是一个开源的软件项...

2016-03-10 21:51:20

阅读数 2048

评论数 0

BIOS调查笔记

本文简单整理一下BIOS厂商分类,以及BIOS替换者UEFI。还涉及到一些开源的BIOS项目介绍。大部资料均来自互联网。 BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组...

2016-03-09 22:14:33

阅读数 752

评论数 0

linux C语言调用Intel处理器CPUID指令的实例

在之前写的文章中,仅简单讲了一下CPUID指令,通过该指令可以获取很多和处理器相关的信息,如处理器的系列、型号、内存地址是多少位,等等。本文在Linux环境下,使用C语言内嵌汇编的手段使用CPUID指令,进而在高级语言层面上看到获取的信息。 头文件cpuid.h代码如下 : /* * ...

2016-03-07 21:22:50

阅读数 3503

评论数 2

Intel处理器MSR学习

Intel IA32软件开发者手册第3卷第35章中介绍了MSR。但是,该章节并没有十分详细地描述,基本上就给出一个地址并作简单说明。而网络上能搜索到文章,也是点到即止。本文结合IA32开发手册,以及coreboot代码,概要地整理一下这方面的知识。用实例来展示MSR用途。

2016-02-25 22:49:06

阅读数 4998

评论数 0

Intel处理器CPUID指令学习

前文《Intel处理器Family、Model、Stepping等的学习》只是简单讲了CPU的标识等内容(仅针对Intel,本文也是),但其读取方法未涉及。本文就此未完事宜来了解读取的方法:使用CPUID指令来完成。

2016-02-22 22:22:08

阅读数 3914

评论数 0

Intel处理器Family、Model、Stepping等的学习

本文主要介绍在Linux系统中查看本机CPU信息方法,接着针对intel的x86处理器标识进行概括性描述,包括CPU ID、vendor、Family、Model、Stepping等。这些信息主要来自网络搜索所得,同时参考Intel IA32架构软件开发手册第2卷、第3卷进行修正完善,参见文后附带...

2016-02-17 22:41:15

阅读数 6657

评论数 0

GNU C内嵌汇编学习笔记

前文所述,只是针对汇编格式的整理,本文将使用coreboot项目代码对其进行实例化。以方便、清晰了解到如何在C语言里使用内嵌汇编的方法。同样地,网络上也有众多文章涉及到这方面,所以本文更多是归纳总结。形成自己的学习笔记。

2016-02-17 19:00:43

阅读数 1291

评论数 0

AT&T格式汇编学习

Linux内核代码大量使用内嵌汇编,以进行某些特定功能的实现,或对某功能进行快速实现。使用的汇编格式为AT&T,本文就该种格式的汇编和Intel格式的汇编进行讲述。网络上也有众多文章涉及到这方面,所以本文更多是归纳总结。形成自己的学习笔记。

2016-02-16 21:19:12

阅读数 2144

评论数 0

Intel X86 CPU寄存器学习笔记

本文对Intel CPU寄存器做一些浅显的介绍。Intel处理器寄存器在很多教科书上有,网络也有很多文章涉及到。因此本文在这些基础上做一些归纳总结,另外也参考了Intel IA32架构软件开发手册。

2016-02-16 20:35:11

阅读数 3617

评论数 0

提示
确定要删除当前文章?
取消 删除