How to dump OpRegion and analyze its content
本文将介绍dump OpRegion的方法以及OpRegion内容的含义。
1. Background
gpu display in uefi bios phase
2. How to dump OpRegion
在i915 driver的debugfs中,hexdump
出OpRegion的具体内容。1
2
3
4
5
6root@junming:/sys/kernel/debug/dri/0# pwd
/sys/kernel/debug/dri/0
root@junming:/sys/kernel/debug/dri/0# hexdump -C i915_opregion
00000000 49 6e 74 65 6c 47 72 61 70 68 69 63 73 4d 65 6d |IntelGraphicsMem|
00000010 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 |................|
...
i915 driver中的源码如下:
1 | static int i915_opregion(struct seq_file *m, void *unused) |
3. How to analyze OpRegion content
spec: IGD OpRegion/Software SCI/_DSM for Skylake Processors
1 | 00000000 49 6e 74 65 6c 47 72 61 70 68 69 63 73 4d 65 6d |IntelGraphicsMem| |
由此可见,解析出来的内容与spec一致。
1 | 00000010 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 |................| |
根据spec,从00 00 00 02
可知,OpRegion的version是2.0。
人肉解析OpRegion的内容,OpRegion一般也就看关键几个位置,不用全部解析。
参考资料: