![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BIOS
文章平均质量分 63
郑炜
这个作者很懒,什么都没留下…
展开
-
Implement EDKII internal command(一)
最近在EDK II的基础上开发一个程序,实际上是把现有的基于EDK的代码移植到EDK II上。稍微写点心得。第一步,当然就是搭环境。EDK II申明的是可以在Windows,Linux下编译,支持的编译工具则非常多,在tools_def.txt 里可以看到分别的名称,例如VS2003, VS2005, GCC, DDK3790等,找到自己喜欢的,改到target.txt里的TOOL_C原创 2013-01-30 20:16:44 · 1328 阅读 · 0 评论 -
FAT32学习笔记(三)文件的删除,目录的删除,FAT32表的用途,FsInfo的作用
文件的删除在前面已经说过如何通过BPB里的各项参数去找到Data Area,从而得到文件对应的Directory Entry,最后找到文件的内容;对于目录,也是大同小异,不同之处只是更“曲折”一点,会先找到目录,去目录的“内容”里找到文件的Directory Entry,进一步,才可以找到文件内容。那么,在FAT32里,文件如何删除?实际上非常简单,FAT32文件系统在删除文件的时候,仅仅原创 2014-12-09 22:49:04 · 6492 阅读 · 0 评论 -
FAT32学习笔记(一)
从最简单的开始,如何在FAT32格式的U盘里找到一个文件?如果有U盘,那么可以拿实际的U盘做试验,这里可以使用一个image文件来做试验,效果一样。在整个实验过程当中,会不停的用到如下几条命令:mount test.img /mnt/umount /mnthexdump -C -s xxxx -n xxxx test.img具体含义请自行man。1 首先,创建一个FAT原创 2014-11-30 21:01:05 · 1918 阅读 · 1 评论 -
Intel x86服务器架构中的memory访问之旅
在X86原创 2014-04-24 20:27:16 · 1969 阅读 · 0 评论 -
什么是IO
CPU发出来的指令请求有memory和IO,对于memory请求,很容易理解,对应的有实际的线路,那么IO的话我就搞不明白到底是什么了。为什么发出一个IO请求,就能知道某个device需要回应?为什么是这个device响应,不是那个device呢?一个device如果有两个IO port,为什么是这个port而不是那个port?port address到底是如何发挥作用的?http原创 2013-08-23 21:09:11 · 4810 阅读 · 0 评论 -
PCIE初始化时,下游设备还未分配到bus,如何访问它们?
学BIOS的都知道,访问PCI设备是通过bus:device:function来访问的。如果是CF8/CFC的方式,bus:device:function是向CF8里写,然后从CFC里读,或者向CFC里写数据;如果是memory map的方式,则直接去PCIEBase+bus:device:function的方式去读写。这里的访问是在设备已经初始化,分配了bus之后,那么,在整个系统刚启动时,是如原创 2013-08-23 22:00:46 · 2937 阅读 · 0 评论 -
X86架构下Intel CPU的power management
这里不提power management的重要性,只说如何理解Intel CPU所提供的对于power management的支持。在计算机系统里,几乎所有的设备在工作的时候都需要一个时钟频率,即clock,对于CPU来说也不例外。在Intel CPU里,和clock相关的东西有以下几个:core clock:这个是CPU中运算单元实际运行的频率;core refere原创 2013-06-28 17:32:06 · 4422 阅读 · 0 评论 -
Implement EDKII maintain old directory
EDKII中的shell在执行起来的时候,并不会去检测当前的image(即shell.efi)是从哪个路径invoke起来的,我想是因为Intel在porting EDKII的时候就没想到会有人在shell的基础上去修改成另外一个程序,默认的就是BIOS POST结束,接着invoke这个shell.efi,从而不需要考虑当前的shell.efi是从哪里执行起来的。但在我们实际使用时,是把sh原创 2013-04-23 17:39:58 · 646 阅读 · 0 评论 -
EDKII中的memset
最近遇到了好几次这样的问题:unresolved external symbol memset但在程序体中又没有使用memset这个函数。第一次的时候mark掉一个while函数后不报错了,百思不得其解为什么while循环会和memset有关,但事情紧急,也就让它先过去了。今天又出现了,注释while循环已经无济于事,看来非得把它解决掉不可,就到网上搜索“edkii memset”,没想到还真原创 2013-03-15 16:08:10 · 1964 阅读 · 0 评论 -
x86架构下Intel CPU里的Multi Processor的学习记录
X86架构下的产品包括Notebook, Desktop,Server,Workstation等。Notebook和Desktop里一般都只有一颗CPU,Server和Workstation则会有多颗。而随着生活水平的提高,对于CPU速度的要求越来越高,但由于工艺的原因,速度提升到一定阶段之后就无法再提升,此时,工业界想出了另外一个办法:集成多个核。这就是多核CPU的来历。这里的核称作core。原创 2013-01-16 12:33:37 · 2844 阅读 · 0 评论 -
FAT32学习笔记(二)长文件名的处理,文件内容的查找,目录的处理
长文件名的处理在FAT32的directory entry里,所预留的文件名的长度是8.3格式的,也就是说,文件名是8个字符,后缀名是3个字符,长于这个的就被认为不合法。不太确定这个规定是从FAT12开始的,还是从FAT16开始的,总之在FAT32里依旧有这个限制的影子,但FAT32同样也有机制去处理更长的文件名。下面是按照第一篇文章一样的方式创建出来的FAT32文件格式的image文件,原创 2014-12-08 23:49:14 · 4384 阅读 · 0 评论