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, &#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux C++ 贪吃蛇游戏 -- 方向键控制蛇移动

1. 代码 #include <iostream> #include <ncurses.h> #include <vector> #include <cstdlib> #include <ctime> #include <thread>using namespace std;// 定义方向 enum class Direction { UP, DOWN, LEFT, RIGHT };class SnakeGame { pu…

分享5款小伙伴们推荐的好用软件

​ 转眼间2023年已经只剩下一个月了&#xff0c;最近陆陆续续收到好多小伙伴的咨询&#xff0c;这边也是抓紧整理出几个好用的软件&#xff0c;希望可以帮到大家。 1.文件格式转换——Convertio ​ Convertio是一款在线文件格式转换软件&#xff0c;可以让用户在不同的文件格…

【开题报告】基于SSM的校园爱心帮扶系统的设计与实现

1.选题背景 校园爱心帮扶系统是基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架的设计与实现&#xff0c;旨在促进校园内的爱心互助和帮扶活动。以下是一些可能的选题背景&#xff1a; &#xff08;1&#xff09;社会责任感的提升&#xff1a;随着社会发展&#…

Python sorted函数及用法以及如何用json模块存储数据

Python sorted函数及用法 sorted() 函数与 reversed() 函数类似&#xff0c;该函数接收一个可迭代对象作为参数&#xff0c;返回一个对元素排序的列表。 在交互式解释器中测试该函数&#xff0c;可以看到如下运行过程&#xff1a; >>> a [20, 30, -1.2, 3.5, 90, 3.…

MongoInvalidArgumentError: Argument “docs“ must be an array of documents

这个错误通常表示在 MongoDB 操作中&#xff0c;你提供的参数不符合预期。错误信息指出了 docs 参数必须是一个文档&#xff08;document&#xff09;数组&#xff0c;但实际上提供的参数类型可能与预期不符。 假设你在使用 MongoDB 的一个函数或方法时出现了这个错误。以下是…

Linux系统---图书管理中的同步问题

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、问题描述 &#xff08;1&#xff09;图书馆阅览室最多能够容纳N&#xff08;N5&#xff09;名学生&#xff0c;若有更多学生想…

FFmpeg的C++封装:FFmpegWrapper

什么是FFmpeg&#xff1f; FFmpeg 是一套完整的录制、转换、流化音视频的解决方案&#xff0c;也是一个在LGPL协议 下的开源项目。它包含了业界领先的音视频编解码库。FFmpeg是在Linux操作系统下开发的&#xff0c;但它也能在其他操作系统下编译&#xff0c;包括Windows。 整…

java常用字符串工具方法封装

Java常用的字符串工具方法有很多&#xff0c;以下是一些常见的封装&#xff1a; 判断字符串是否为空或null public static boolean isNullOrEmpty(String str) {return str null || str.trim().isEmpty(); }判断字符串是否为数字 public static boolean isNumeric(String s…

跨境代采怎么实现(代采网站)

中国代购作为一种新型的业务形式&#xff0c;此类服务能够帮助消费者购买来自全球的商品&#xff0c;同时也为商家提供了在线销售机会。代购行业的兴起&#xff0c;有助于打破传统的地域和跨境限制&#xff0c;促进了国际贸易和经济发展。 一、中国代购的定义和特点 代购可以被…

冬季吃得过饱?羊大师教你几招消食的小妙招!

冬季吃得过饱&#xff1f;羊大师教你几招消食的小妙招&#xff01; 冬季是人们容易吃得过饱的季节&#xff0c;美食诱惑频出&#xff0c;很容易导致胃口过大&#xff0c;饭量过多&#xff0c;造成消化不良甚至影响身体健康。所以&#xff0c;如何消食&#xff0c;让胃得到缓解…

如何拆解Unity 2022.3版本的AssetBundle

1&#xff09;如何拆解Unity 2022.3版本的AssetBundle 2&#xff09;Unity 2022 LTS版本的稳定性 3&#xff09;关于AssetBundle禁用TypeTree之后的一些可序列化的问题 这是第363篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&#xff0c;涵盖了UWA问答、社区帖…

long转int类型转换问题

在业务代码中排序时需要根据日期排序&#xff0c;写了如下代码 sorted((o1, o2) -> {String str1 null;String str2 null;try {Field field getField(fieldMap, configBO.getCodeName());str1 String.valueOf(field.get(o1));str2 String.valueOf(field.get(o2));} ca…

【Qt开发流程】之对象模型1:信号和槽

Qt对象模型 标准c对象模型为对象范型提供了非常有效的运行时支持。但是它的静态特性在某些问题领域是不灵活的。图形用户界面编程是一个既需要运行时效率又需要高度灵活性的领域。Qt通过结合c的速度和Qt对象模型的灵活性提供了这一点。 Qt将这些特性添加到c中: 一个非常强大的…

基于Go语言实现简易Web应用

目录 前言Go语言特点写在使用Go语言实现Web应用前面创建Web服务器声明一个结构体操作加入中间件的使用使用静态文件服务器最后 前言 在编程语言中&#xff0c;近几年问世的几个新语言都是非常不错的&#xff0c;比如Go、Python、 Rust等等。其中&#xff0c;Go语言(Golang)作…

CookieSession Redis 到JWT会话管理历史

单应用时期&#xff0c;通常使用 Cookies 和 Session 进行会话管理。 用户登录后&#xff0c;服务器创建一个唯一的会话标识符&#xff08;Session ID&#xff09;&#xff0c;将其存储在浏览器的 Cookies 中&#xff0c;并在服务端维护一个关联该标识符的会话对象。 这种方…

基因名潘多拉

同一基因可能会有多种命名&#xff0c;如Ensembl gene ID、NCBI Entrez gene ID、Gene Symbol等 基因有哪些名儿&#xff0c;你知道嘛&#xff1f; Ensembl gene ID&#xff1a;Ensembl数据库中对基因的命名&#xff0c;如ENSMUSG00000000538。ENS是固定字符&#xff0c;表示…

全国停车位收费标准接口API

1) 请求地址 接口地址https://psbg.jparking.cn/cw-gateway/cwzg/v1/near_park 2) 调用方式&#xff1a;HTTP post 3) 接口描述&#xff1a; 数据来源捷停车 不可用于商用 概不负责 4) 请求参数: {"latitude": "29.563009", //坐标"longitude&quo…

基于SSM的零食销售系统

基于SSM的零食销售系统 零食商城系统是一个面向用户销售零食的在线平台&#xff0c;用户可以在该平台上浏览、搜索、选择和购买各种零食产品。零食商城系统的背景是随着生活水平的提高和消费观念的改变&#xff0c;人们对于各种健康、美味和方便的零食产品的需求不断增加。传统…

Verilog基础:编译指令`timescale

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 timescale编译指令用于指定指令后模块的时间单位和时间精度。时间单位是时间值的度量单位&#xff0c;例如延迟值和仿真时间&#xff1b;而仿真精度决定了最小可分…

【独家OD2023C卷真题】20天拿下华为OD笔试2023C-小明能到达的最大坐标值【欧弟算法】全网注释最详细分类最全的华为OD真题题解

题目描述与示例 题目描述 小明在玩一个游戏&#xff0c;游戏规则如下&#xff1a;在游戏开始前&#xff0c;小明站在坐标轴原点处&#xff08;坐标值为 0&#xff09;给定一组指令和一个幸运数&#xff0c;每个指令都是一个整数&#xff0c;小明按照指定的要求前进或者后退指…