UEFI SMBIOS系列文章目录
UEFI 之SMBIOS解析系列1——SMBIOS概述
UEFI 之SMBIOS解析系列2——SMBIOS源码分析(上)
UEFI 之SMBIOS解析系列2——SMBIOS源码分析(下)
UEFI 之SMBIOS解析系列3——dmidecode源码分析(上)
文章目录
- UEFI SMBIOS系列文章目录
- 前言
- 一、dmi_table函数
- 二、dmi_table_decode函数
- 三、dmidecode源码实战
-
- 1.下载dmidecode源码
- 2.编译和安装dmidecode源码
- 总结
前言
上一章节,我们主要分析了dmidecode源码怎么解析dmidecoe命令,怎么获取SMBIOS数据,今天我们继续讲解dmidecode源码怎么解析SMBIOS Structure Table。
一、dmi_table函数
dmi_table函数主要功能是解析SMBIOS Structure Table。
(1)4538行,mem_chunk函数,要么通过mmap映射devmem = /sys/firmware/dmi/tables/DMI路径下的文件,要么通过read函数操作devmem路径下的文件。
(2)4551行,解析DMI表,下面我们来看下该函数
二、dmi_table_decode函数
(3)4408行,遍历所有的SMBIOS table表;
(4)4415行,从对应的SMBIOS table表头获取长度、数据、类型等信息;
(5)4416行,如果遍历的opt.type类型与输入的dmidecode type命令类型一致,dispaly = 1;
(6)4438-4441行,如果判断条件成立,打印对应的SMBIOS type的handle、type、长度;
(7)445

2410

被折叠的 条评论
为什么被折叠?



