本文主要是介绍qnx hypervisor load qvm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//解析dts 获取node qcom_gvms
参考博客:https://blog.csdn.net/liaochaoyun/article/details/127427719
startup-qvmhost.sh startup.sh1419 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 itdoes 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 specifiedsocket.
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 <crigler@users.sourceforge.net>.
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, &#
这篇关于qnx hypervisor load qvm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!