qnx hypervisor load qvm

   //解析dts 获取node qcom_gvms

参考博客:https://blog.csdn.net/liaochaoyun/article/details/127427719

startup-qvmhost.sh  startup.sh

1419 waitfor /dev/lcm_demo/display0
1420 if [ $RECOVERY_MODE -eq 0 ]; then
1421 log_launch $VMM_SERVICE_BINARY  #启动 vmm_service
1422 $ON $VMM_SERVICE_ON_ARGS $VMM_SERVICE_BINARY $VMM_SERVICE_ARGS &
1423 log_launch $VMM_LIFECYCLE_BINARY
1424 $ON $VMM_LIFECYCLE_ON_ARGS $VMM_LIFECYCLE_BINARY $VMM_LIFECYCLE_ARGS &
1425 log_launch $VM_SSR_BE_BINARY
1426 $ON $VM_SSR_BE_ON_ARGS $VM_SSR_BE_BINARY $VM_SSR_BE_ARGS &
1427 fi

 vmm_service load qvm

[19:28:32]Jan 01 08:00:04.779            vmm_service.1736789              default  16040  vmm_service[vmm_utils.c:693]:  Ask qvm to load kernel @ phys addr = 0xdf280000
[19:28:32]Jan 01 08:00:04.782            vmm_service.1736789              default  16040  vmm_service[vmm_utils.c:721]: Ask qvm to load ramdisk @ phys addr = 0xe2db7000 continuous size: 23429645 bytes
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[0] = svs_dtach
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[1] = -n
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[2] = /tmp/android
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[3] = -r
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[4] = winch
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[5] = -o
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[6] = /var/log/la_gvm.txt
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[7] = qvm
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[8] = @/mnt/vm/images/linux-la.config
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[9] = @/dev/shmem/linux-la-mem.config
[19:28:32]Jan 01 08:00:04.799            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:850]: qvm cmdline arg[10] = @/mnt/vm/images/la_dp_enabled_a.config
[19:28:32]Jan 01 08:00:04.800            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:929]: Succefully locked the abilities for qvm
[19:28:32]Jun 19 10:40:14.043            vmm_service.1736789              default  16130  vmm_service[vmm_fsm.c:685]: update qvm pid to 2130035
# vmm_service -h
vmm_service: unrecognized option `-h'
Usage: vmm_service [OPTION]... [Value]...
---------------------------------------------------------------------------------------------------------
        Short opt       Long opt                     Description
---------------------------------------------------------------------------------------------------------
          -i       or   --vmid                     : vmid (Not configurable)
          -n       or   --vm_name                  : Name of the GVM (Not configurable)
                        --vm_config                : VM Config file path
                        --vm_uid_gid_config        : UID GID config file path
                        --vm_avb1_config           : AVB1 config file path
                        --vm_recovery_config       : VM recovery config file path
          -b       or   --vm_starts_b4_vmm         : GVM to be started before or after vmm service, <1> or <0>
          -d       or   --vm_starts_by_default     : GVM to be started by default, <1> or <0> (Not configurable)
          -m       or   --vm_restart_mode_manual   : GVM start manual mode, <1> or <0> (Not configurable)
          -t       or   --vm_client_timeout        : GVM client timeout value
          -l       or   --vm_number_of_logs        : Number of GVM logs
          -a       or   --vm_avb_version           : AVB version
          -s       or   --slot_switch_config       : Slot switch configuration <1> to enable <0> to disable
          -p       or   --vm_partition_prefix      : GVM prefix (Not configurable)
          -v       or   --vm_dtb_variant           : DTB variant
          -T       or   --secpol_type              : Secpol Type
          -c       or   --vm_cmdline               : GVM Command line
                        --dp_enabled_a_config      : GVM DP enable _a config file path
                        --dp_enabled_b_config      : GVM DP enable _b config file path
                        --dp_disabled_config       : GVM DP disable config file path
          -r       or   --vm_ramdisk_as_root       : Ramdisk as root <1> or <0>
          -D       or   --debug_mode               : Enable or disable debug mode, It required to be set if we want to use command line options
          -U       or   --uid_gid                  : vmm uid and gid value
---------------------------------------------------------------------------------------------------------
dtach - version 0.9, compiled on Jun 13 2020 at 20:19:49.
Usage: dtach -a <socket> <options>
       dtach -A <socket> <options> <command...>
       dtach -c <socket> <options> <command...>
       dtach -n <socket> <options> <command...>
       dtach -N <socket> <options> <command...>
       dtach -p <socket>
Modes:
  -a            Attach to the specified socket.
  -A            Attach to the specified socket, or create it if it
                  does not exist, running the specified command.
  -c            Create a new socket and run the specified command.
  -n            Create a new socket and run the specified command detached.
  -N            Create a new socket and run the specified command detached,
                  and have dtach run in the foreground.
  -p            Copy the contents of standard input to the specified
                  socket.
Options:
  -e <char>     Set the detach character to <char>, defaults to ^\.
  -E            Disable the detach character.
  -r <method>   Set the redraw method to <method>. The valid methods are:
                     none: Don't redraw at all.
                   ctrl_l: Send a Ctrl L character to the program.
                    winch: Send a WINCH signal to the program.
  -z            Disable processing of the suspend key.

Report any bugs to <[email protected]>.

apps/qnx_ap/target/hypervisor/host/fdt_config/dtb/sdm-host_la.dts

Dtsi配置了qvm 启动参数 cdt_id

 #include "8540.dtsi"
 
            vm_config = "/mnt/vm/images/linux-la.config";
            vm_recovery_config = "/mnt/vm/images/recovery-la.config";
            vm_avb1_config = "/mnt/vm/images/avb1-la.config";
            dp_enabled_a_config = "/mnt/vm/images/la_dp_enabled_a.config";
            dp_enabled_b_config = "/mnt/vm/images/la_dp_enabled_b.config";
            dp_disabled_config = "/mnt/vm/images/la_dp_disabled.config";
            vm_uid_gid_config = "/mnt/vm/images/la_uid_gid.config";
            
     8540.dtsi  
          qcom_gvms {
214         qcom_gvm1 {
215             vm_dtb_soc = <0x1CC>;
216         };
217         #if defined (__GUEST_TYPE_MULTI__) || defined (__GUEST_TYPE_LALA__)
218         qcom_gvm2 {
219             vm_dtb_soc = <0x1CC>;
220         };
221         #endif

/qnx_ap/AMSS/platform

const struct kpi_marker markers_replace[] = {
        { "ifs1_entry", 201, "SYS_BOOT_LOADER_END" },
        { "ifs1_exit", 201, "SYS_KERNEL_START" },
        { "openwfd_server: READY", 501, "SYS_Display_Ready"},
        { "/dev/audio_service", 501, "SYS_Audio_Ready"},
        { "openwfd_telltale start", 511, "CAR_Display_Telltails" },
        { "gears first frame done", 511, "HMI_Cluster" },
        { "videoCore: READY", 301, "SYS_Video_Ready"},
        { "audio_chime_csd_write", 501, "SYS_Audio_Chime"},
        { "ais_server: READY", 501, "SYS_Camera_Ready" },
        { "static splash ready", 501, "SYS_Static_Splash"},
        { "First decoder output frame after start", 504, "APP_Early_Welcome_Animation"},
        { "/dev/qcarcam Camera First Frame", 504, "APP_CSI_RVC"},
        { "EMAC0 DRIVER Attach Ready", 510, "SYS_Ethernet0_Ready" },
        { "EMAC1 DRIVER Attach Ready", 510, "SYS_Ethernet1_Ready" },
        { "vmm_service: LAUNCH",  501, "SYS_QVM_Launch" },
        { "ICD_Serializer-Init", 501, "SYS_DISP_ICD_Serializer_init"},
        { "CID_Serializer-Init", 501, "SYS_DISP_CID_Serializer_init"},
        { "HUD_Serializer-Init", 501, "SYS_DISP_HUD_Serializer_init"},
        { "CID_DP-Init", 501, "SYS_DISP_DP0_HOST_INIT"},
        { "ICD_DP-Init", 501, "SYS_DISP_DP1_HOST_INIT" },
        { "HUD_DSI-Init", 501, "SYS_DISP_DSI_HOST_INIT"},
        { "cpld_qnx_app Ready", 501, "SYS_CPLD_QNX_COMM_Init"},
        { "MAX96912E_DeSerializer_Init", 501, "SYS_INT_CAM_DeSerializer_init"},
        { "MAX96934D_DeSerializer_Init", 501, "SYS_EXT_CAM_DeSerializer_init"},
        { "kgsl: READY", 501, "SYS_GPU_Ready"},
        { "PBL, End", 201, "SYS_BOOT_PBL_END"},
        { "SBL1, Start", 201, "SYS_BOOT_LOAD_XBL_END"},
        { "SBL1, End", 201, "SYS_BOOT_XBL_END"},
        { "devb-ufs-qualcomm: LAUNCH", 501, "SYS_BOOT_UFS_INIT_START"},
        { "devb-ufs-qualcomm: READY", 501, "SYS_BOOT_UFS_INIT_END"},
        { "load_RichOS_kernel start", 501, "SYS_BOOT_KERNEL_LOAD_START"},
        { "load_RichOS_kernel done", 501, "SYS_BOOT_KERNEL_LOAD_END"}
};

/services/daemons/bmetrics_service/src/bmetric_service.c

const struct kpi_marker markers_replace[] = {
        { "ifs1_entry", 201, "SYS_BOOT_LOADER_END" },
        { "ifs1_exit", 201, "SYS_KERNEL_START" },
        { "openwfd_server: READY", 501, "SYS_Display_Ready"},
        { "/dev/audio_service", 501, "SYS_Audio_Ready"},
        { "openwfd_telltale start", 511, "CAR_Display_Telltails" },
        { "gears first frame done", 511, "HMI_Cluster" },
        { "videoCore: READY", 301, "SYS_Video_Ready"},
        { "audio_chime_csd_write", 501, "SYS_Audio_Chime"},
        { "ais_server: READY", 501, &#
  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值