Hotpatch热补丁之路2:常见的种类与外部引用
本帖最后由 神楽小白 于 2020-8-10 22:17 编辑在热补丁的制作过程中,在制作完热补丁主体部分后,我们需要补充引用声明来排错,这一块的内容也是为这个做服务的。一个外部引用的添加,主要有两部分组成,一个是前面的所需添加的引用目标的所在路径,另一个就是引用类型
External ( + 路径和名称 + , + 引用类型)
格式如下:
External (XXXX,XXXX)你可以打开你的DSDT,看看开头的这些东西,前面的路径,你可以在DSDT中搜素目标并找到得到,比如,这里我们引用一个BATM,我们在DSDT中进行搜索,如下图:
那我们找到了这个BATM,左下角显示的就是它的位置,那么我们将这个引用可以写做:
External (_SB.PCI0.LPCB.H_EC.BATM,MutexObj)
1.IntObj
例:
Name (GZXB, 0)添加的外部引用:
External (GZXB,IntObj)
2.PkgObj
例:
Name (BPKH, Package (0x0D)
{
Zero,
Ones,
Ones,
One,
Ones,
Zero,
Zero,
0x64,
Zero,
"EA",
"BAT2016",
"LiP",
"XTY"
})添加的外部引用:
External (_SB.PCI0.LPCB.H_EC.BAT1.BPKH,PkgObj)
3.FieldUnitObj
例:
OSYS,16,添加的外部引用:
External (OSYS,FieldUnit)
4.DeviceObj
例:
Device (TPD0)添加的外部引用:
External (_SB.PCI0.I2C1.TPD0,DeviceObj)
5.MethodObj
例:
Method (_STA, 0, NotSerialized)添加的外部引用:
External (_SB.PCI0.I2C1.TPD0._STA,MethodObj)
6.MutexObj
例:
Mutex (BATM, 0x07)添加的外部引用:
External (_SB.PCI0.LPCB.H_EC.BATM,MutexObj)
其他的还有例如以下这些,我就不多举例子了,大家认识大致认识一下长什么样子吧
BuffObj:
Name (SBFB, ResourceTemplate ()
Name (BUF0, Buffer() {"abcde"})
BuffFieldObj
CreateField (AAAA, Zero, BBBB)
ThermalZoneObj:
ThermalZone (THRM)
EventObj:
Event (XXXX)
OpRegionObj:
OperationRegion (GNVS, SystemMemory,0x7A4E7000, 0x0866)
谢谢分享,虽然看起来还是有点云里雾里,不过花时间下去总能学会的。 顶起顶起!!支持一波!
后面的有乱码,我这里就直接放图片了!
顶师傅~~~ 感谢分享,支持 搞出了 新事物?? 技术贴,多看有益{:5_264:} 感谢楼主分享 谢谢分享。 第三个例子应该是External (OSYS,FieldUnitObj) 好像好复杂的样子
页:
[1]