一、从设备中导出device_config.xml来确认路径:
使用高通工具PCAT(或QPST)的EFS Explore,把设备中policyman下的device_config.xml导出来,打开device_config.xml,在上面的注释中可以看到路径,如:
<!-- 8+8 mode Device configuration file for open Market DSDS
Header: //components/rel/mmcp.mpss/10.0/policyman/configurations/DevConfig/DS/device_config.xml#12
-->
二、从代码中确认
打开mcfg_hw_gen_Default.xml
路径:
MPSS.HI.4.3.1\modem_proc\mcfg\mcfg_gen\mannar.gen.prod(不同项目这个路径是不同的)\generic\common\Default\mcfg_hw_gen_Default.xml
发现
<GroupFile name="mcfg_sw_gen_group.xml" description="" comment="" category="" version="" mcfgAttributes="0x09" buildPath="modem_proc/mmcp/policyman/config/common/DS/SDX55_Saipan/mcfg_hw_gen_SR_DSDS.xml这里面有device_config.xml:
<NvEfsFile name="device_config.xml" id="none" description="" comment="" category="Unknown" mcfgAttributes="0x09" mcfgVariant="2" targetPath="/policyman/device_config.xml" buildPath="modem_proc/mmcp/policyman/configurations/DevConfig/DS/device_config.xml"/>
从而可确认该项目使用的具体device_config.xml了。
三、mcfg中的xml是从哪里来的
上面
MPSS.HI.4.3.1\modem_proc\mcfg\mcfg_gen\mannar.gen.prod(不同项目这个路径是不同的)\generic\common\Default\mcfg_hw_gen_Default.xml
中的
<GroupFile name="mcfg_sw_gen_group.xml" description="" comment="" category="" version="" mcfgAttributes="0x09" buildPath="modem_proc/mmcp/policyman/config/common/DS/SDX55_Saipan/mcfg_hw_gen_SR_DSDS.xml
是从哪里来的?
经研究发现mcfg下的这些xml是其它各个模块里的编译脚本控制的,如上面这个在编译脚本里:
MPSS.HI.4.3.1\modem_proc\mmcp\policyman\build\mcfg\mcfg_policyman_gen.scons:
if 'USES_NR5G' in env:
env.AddMcfgInfo(MCFG_HW_IMG,
{
# Settings to be included in the 'Default' HW configuration
'modem_proc/mmcp/policyman/config/common/Default/mcfg_hw_gen_Default.xml':[
'Default : Default',
],
})
......
'modem_proc/mmcp/policyman/config/common/DS/SDX55_Saipan/mcfg_hw_gen_SR_DSDS.xml':[
'Default : Default',
'SDX55 : DSDS-LA-FUSION',
'SDX55 : DSDS-LE-STANDALONE',
'Saipan : DSDS-LA-STANDALONE',
'Bitra : DSDS-LA-STANDALONE',
'Lahaina : DSDS-LA-STANDALONE',
'Chitwan : DSDS-LE-STANDALONE',
'Chitwan : DSDS-LA-FUSION',
'Cedros : DSDS-LA-STANDALONE',
'Mannar : DSDS-LA-STANDALONE',
'Kodiak : DSDS-LA-STANDALONE',
'Strait : DSDS-LA-STANDALONE',
],
可以看出modem_proc/mmcp/policyman/config/common/DS/SDX55_Saipan/mcfg_hw_gen_SR_DSDS.xml在硬件的Default MBN里,
但modem_proc/mmcp/policyman/config/common/Default/mcfg_hw_gen_Default.xml是否也在要看USES_NR5G是否在env里,最快速的方法是:
在代码根目录modem_proc搜:
grep -r "USES_NR5G" --include="*.h" --include="*.py" --include="*.scons" ./
得到:
MPSS.HI.4.3.1\modem_proc\build\ms\tcfg_mannar.gen.prodq.py:
env.AddUsesFlags('USES_NR5G', from_builds_file = True)
其它编译控制相关的定义我们都可到这类文件里找。
其它模块的这类问题也可按这个方法来确认。