BIOS interviews
1.PCI 配置空间的访问?
PCIe的配置空间访问怎么访问呢?1.当然是0XCF8/0XCFC了,但是其只能访问配置空间的256byte,所以在pci express下还有memory-map方式访问。
-CF8/CFC:
mov dx,0CF8 ;set dx = config address port address
mov eax,80040000 ;enable=1, bus 4, dev 0, Func 0, DW 0
out dx,eax ;set up address port
mov dx,0CFC ; set dx = config data port address
in ax,dx ;2 byte read from config data port
-memory-map
mov ax,[50400000] ;memory-mapped IO read
//这个地址算法:
PCI Express* Config space base address+Bus Number*100000h+Device Number*8000h+Function Number*1000h+Register offset.
*一个pci express的配置空间有FFFH=4Kbyte,所以 memory-mapped IO range需要256*32*8*4=256M大小的空间。
*PCI Express* Config space base address在哪里?HECBASE有定义它的值。这个register怎么去找?看MCH吧,它一样有两种方式去找的。
2..How to access memory SPD by Smbus?
SPD的信息很多很有用的,Smbus上挂的东西还挺多的:Smart battery、thermal senser等
首先得找到Smubus的controller,这就要知道这个controller也是个pci device,计算机架构都从PCI开始延伸展开的,以前是CPU为中心,现在呢?呵呵
1.当PCI scan的时候,怎么去知道这是一个什么device呢?呼呼,看看pci配置空间就知道有个class code的三bytes一项了,就是通过它去判断了: base Class 、sub-class、Programming Interface。每个byte值的具体含义这个你就要查了(http://www.pcidatabase.com/)。
2.看看Offset 20 - 23h它就是SMBUS Base Address Register,(有很多registers 256bytes根本放不了),找到它然后就是大家熟悉的什么base address+offset访问我们需要的东西了。
3.确保SMBus Host Enable bit是打开的,这个bit在Host Configuration Register里,大多数它是在offset 40H。
4.现在我开始关系SMBUS I/O Registers了:Status register、Control register、Command(index) register、Slaver address register、Data register。这些register干嘛的啊,具体看datasheet吧。
5.真多,以前没发现整理资料挺麻烦:
--1.因为SMbus上还有其他Device,所以先要选择对哪一个Device操作(把slave address->Transmit Slave Address寄存器中);SPD的slave address的高4位是固定的,是1010b,跟着的低3位由RAM所在Address决定,最低位用来决定读写,1为读,0为写。
--2.SPD中有256Byte的数据,需要读哪一个的值,就将这个值的offset送到command(index)register中。
--3.对control register下start动作,同时也决定以byte读还是以word读。这一动作执行之后,SMBus会将指定的SPD中的值读到Data register中。
--4.根据status register中的值,判断上一步执行是否成功。
--5.从Data register中读值
3.SMBIOS的理解?
我觉得就是收集系统的各个方面的信息方便其他人获取。。。。。。
转载于:https://www.cnblogs.com/kuwoyidai/archive/2011/07/21/2113189.html
BIOS interviews相关推荐
- 服务器BMC、BIOS、IPMI、UEFI技术解析
服务器BMC.BIOS.IPMI.UEFI技术解析 以BIOS为核心的固件产业,是信创产业链的重要组成部分,可被誉为信创产业的"山海关".在计算机体系中,BIOS 有着比操作系统更 ...
- Intel HAXM is required to run this AVD VT-x is disabled in BIOS的处理方法
当遇到Intel HAXM is required to run this AVD VT-x is disabled in BIOS 的问题时候 这个就是说你的模拟器出现问题了 这个问题处理方法大致分 ...
- 让Windows7运行速度更快的BIOS优化设置教程
和以前使用WindowsXP一样,很多用户都在设法提高windows7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还有一 ...
- 曙光服务器bios设置_浪潮服务器PM8060阵列卡,如何做热备盘?操作相对有点复杂...
春节前安装调试了一台浪潮服务器,型号:5270M5,配置:2颗银牌4210 / 64G 内存 / 服务器固态硬盘:480G / 机械硬盘:8块600G SAS 3.5寸 15000转硬盘 / 1+1冗 ...
- 技嘉主板bios设置键盘不能用_BIOS不再硬梆梆、全新技嘉主板BIOS设置就算不是玩家也能轻松搞定...
最近因应AMD推出全新的X570系列主板,小杨也测试了多款各家的主板,可说是把大家都搞得手忙脚乱啊!由于每家厂商的主板都各有特色,为了让玩家们能够了解每款主板的特色和其性能表现,无不卯足全力拼文!不过 ...
- 计算机的参数配置选项在哪,教你电脑win7如何进去bios设置相关参数
电脑bios是电脑的基本输入输出系统,有很多设置需要在电脑bios内进行设置完成,比如说设置电脑启动项,修改bios密码,超频等等.有网友想了解win7如何进去bios设置?下面小编就教下大家win7 ...
- 开机BIOS语言(转载)
开机自检时出现问题后会出现各种各样的英文短句,短句中包含了非常重要的信息,读懂这些信息可以自己解决一些小问题,可是这些英文难倒了一部分朋友,下面是一些常见的BIOS短句的解释,大家可以参考一下. 1. ...
- 【经验】Lenovo/ThinkPad 进入BIOS的方法汇总
1.快捷汇总 联想电脑进入BIOS的快捷键有"F2.F1.Del/Delete.NOVO开机",部分机型按F2.F1时需要FN键配合 2.常用键 Lenovo笔记本:F2 + Fn ...
- BIOS, UEFI, MBR, GPT, GRUB介绍
1. 前言 在学习 Linux 系统启动原理之前,我们先了解下与操作系统启动相关的几个概念. 2. 与操作系统启动相关的几个概念 不管是 Windows 还是 Linux 操作系统,底层设备一般均为物 ...
最新文章
- jQuery EasyUI 表单插件 - Datebox 日期框
- boost::tti模块测试函数模板
- 温度 数值模拟 matlab,西安交通大学——温度场数值模拟(matlab)
- 简单十步让你全面理解SQL
- 携程的 Dubbo 之路
- USB转TTL、USB转串口、USB转RS232的区别
- linux ps 程序包,linux ps 详解
- 用java怎么做中国象棋的小游戏_java开发中国象棋小游戏
- 《研究生科研能力训练与培养》
- TCC(TinyC)编译器汉化(中文编译器、汉语编程)之五:语法分析下
- 深入理解计算机系统----第四章处理器体系结构
- 手机RAM、ROM和储存卡的那些事
- 测试分享之抽奖【二】
- [每日电路图] 5、心率检测电路设计详解——送给想了解心率计的小白(博主推荐)...
- 曲面着色器初试--地面轨迹模拟(部分细节不完善)
- 虚拟机权限不足,无法访问文件
- vscode php 无法跳转到定义
- 明日召开 | Pulsar Summit Asia 2021 本周末线上精彩呈现
- 英语励志寓言:The Hare And The tortoise
- hive中如何计算字符串中表达式
热门文章
- HTML5 Maker – 在线轻松制作 HTML5 动画效果
- [开源]KJFramework.Message 智能二进制消息框架 -- 性能提升
- 配置 Spring.NET
- Android Stdio报错Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed
- oracle datafile损坏,史上最全Oracle文件损坏处理办法(附实验步骤)
- Dapper的基本使用 [转]
- 手把手带你入门 Spring Security!
- 笔记“SQL与Access”
- activeMQ安装9(window下)
- 欧几里德算法(自写理解)