diag_service的GLINK_IST是怎么来的

2024-02-05 10:30
文章标签 怎么 service diag glink ist

本文主要是介绍diag_service的GLINK_IST是怎么来的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

平台:SA8155,Q+A 1.2.1

8155上集成了很多IP核,其中有不少的IP本质上是arm M核或者R核,这些模块在开发或者使用过程中也是需要监控和诊断的,但是他们并没有外部的调试接口,高通设计了整套诊断框架通过APSS(application processer subsystem)用来实现对这些IP核的诊断和监控。这套诊断框架支持从上位机PC的 QPST/QXDM软件对IP core的访问,也支持从APSS直接访问。

diag_service线程信息

在查看diag_service线程信息,我们能看到,这个有几个以GLINK_IST_x命名的中断线程:

# pidin -p 32790 threadspid tid name               thread name          STATE       Blocked                     32790   1 bin/diag_service   1                    RECEIVE     10                          32790   2 bin/diag_service   DALTimer_dispatcher  RECEIVE     2                           32790   3 bin/diag_service   Workloop             SEM         fff8089e64620f94            32790   4 bin/diag_service   GLINK_IST_481        INTR                                    32790   5 bin/diag_service   GLINK_IST_188        INTR                                    32790   6 bin/diag_service   GLINK_IST_606        INTR                                    32790   7 bin/diag_service   glink_ssr_handler    REPLY       24586                       32790   8 bin/diag_service   ipcr_lpass           CONDVAR     (0x270731be10)              32790   9 bin/diag_service   ipcr_cdsp            CONDVAR     (0x270731bce0)              32790  10 bin/diag_service   ipcr_mpss            CONDVAR     (0x270731bbb0)              32790  11 bin/diag_service   IPC_ROUTER_RM        RECEIVE     3                           32790  12 bin/diag_service   diag_timer_handler   RECEIVE     5                           32790  13 bin/diag_service   diag_task            CONDVAR     (0x5134b3e34)               32790  14 bin/diag_service   pdbg_rm              RECEIVE     6                           32790  15 bin/diag_service   diag_resmgr          RECEIVE     17                          32790  16 bin/diag_service   diag_fwd_task        CONDVAR     (0x5134bc17c)               32790  17 bin/diag_service   diag_compress_task   CONDVAR     (0x5134bc0cc)               32790  18 bin/diag_service   ssr_event_monitor    REPLY       700466                      32790  19 bin/diag_service   diagcomm_udp         CONDVAR     (0x270733cac0)              32790  20 bin/diag_service   GLinkSMEMlpass       CONDVAR     (0x27073104a4)              32790  21 bin/diag_service   GLinkSMEMmpss        CONDVAR     (0x27073104f4)              32790  22 bin/diag_service   GLinkSMEMcdsp        CONDVAR     (0x2707310544)

我们想了解的是这几个线程是怎么来的,如何创建的

GLINK_IST_x中断线程创建

调用时序图:

对应的dts文件以及节点信息:

target/filesets/dtsi/sdm8155.dtsi

    smem_info {mpss@0 {id = <0x1>;interrupts = <0x1e1>;reg = <0x17c0000c 0x1000>;tx-fifo-size = <0x4000>;tx-mtu-size = <0x1000>;ss_name = "mpss";};lpass@0 {id = <0x2>;interrupts = <0xbc>;reg = <0x17c0000c 0x100>;tx-fifo-size = <0x4000>;tx-mtu-size = <0x1000>;ss_name = "lpass";};dsps@0 {id = <0x3>;interrupts = <0xca>;reg = <0x17c0000c 0x1000000>;tx-fifo-size = <0x4000>;tx-mtu-size = <0x1000>;ss_name = "dsps";};cdsp@0 {id = <0x5>;interrupts = <0x25e>;reg = <0x17c0000c 0x10>;tx-fifo-size = <0x4000>;tx-mtu-size = <0x1000>;ss_name = "cdsp";};};

interrupts = <0x25e>; --> 606 --> GLINK_IST_606

diag_service全景图

参考

80-NA157-61 Rev. YE 《Diagnostic System User Guide》

这篇关于diag_service的GLINK_IST是怎么来的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680616

相关文章

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换