← Documents Documentation/trace/coresight/coresight-dummy.rst GitHub 원문 ↗

Linux 6.18.37 · Tracing

CoreSight Dummy Trace Module

CoreSight dummy trace module이 kernel에서 직접 접근할 수 없거나 programming interface가 없는 구성요소를 device로 등록하고 dummy sink/source path를 제공하는 방식을 설명합니다.

Source pathDocumentation/trace/coresight/coresight-dummy.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

coresight-dummy.rst:1-32

CoreSight dummy trace module이 kernel에서 직접 접근할 수 없거나 programming interface가 없는 구성요소를 device로 등록하고 dummy sink/source path를 제공하는 방식을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 =============================
4 Coresight Dummy Trace Module
5 =============================
6
7 :Author: Hao Zhang <quic_hazha@quicinc.com>
8 :Date: June 2023
9
10 Introduction
11 ------------
12
13 The Coresight dummy trace module is for the specific devices that kernel don't
14 have permission to access or configure, e.g., CoreSight TPDMs on Qualcomm
15 platforms. For these devices, a dummy driver is needed to register them as
16 Coresight devices. The module may also be used to define components that may
17 not have any programming interfaces, so that paths can be created in the driver.
18 It provides Coresight API for operations on dummy devices, such as enabling and
19 disabling them. It also provides the Coresight dummy sink/source paths for
20 debugging.
21
22 Config details
23 --------------
24
25 There are two types of nodes, dummy sink and dummy source. These nodes
26 are available at ``/sys/bus/coresight/devices``.
27
28 Example output::
29
30 $ ls -l /sys/bus/coresight/devices | grep dummy
31 dummy_sink0 -> ../../../devices/platform/soc@0/soc@0:sink/dummy_sink0
32 dummy_source0 -> ../../../devices/platform/soc@0/soc@0:source/dummy_source0
33

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

접근할 수 없는 CoreSight 구성요소의 표현

1-20

이 문서는 Hao Zhang이 2023년 6월에 작성했으며, CoreSight dummy trace module의 목적과 구성을 설명한다.

CoreSight dummy trace module은 kernel에 접근 또는 설정 권한이 없는 특정 장치를 위한 것이다. Qualcomm platform의 CoreSight TPDM이 대표적인 예다. 이러한 장치도 CoreSight device로 등록하려면 dummy driver가 필요하다.

이 module은 programming interface가 전혀 없는 구성요소도 driver 안에 정의할 수 있게 한다. 따라서 실제 register를 조작할 수 없더라도 해당 구성요소를 포함하는 CoreSight path를 만들 수 있다.

dummy device를 enable하거나 disable하는 동작에는 CoreSight API가 제공된다. 또한 debugging을 위해 CoreSight dummy sink path와 dummy source path를 제공한다.

Dummy device 등록 목적
권한이 없는 장치Dummy CoreSight device 등록
Programming interface가 없는 구성요소Driver path 구성
Dummy API enable / disableDebug path 사용

직접 제어할 수 없는 하드웨어도 CoreSight topology와 path 안에 표현한다.

Dummy module 적용 대상
대상Dummy 표현이 필요한 이유
Qualcomm CoreSight TPDM 등kernel에 접근 또는 설정 권한이 없음
Programming interface가 없는 구성요소CoreSight path 안에 논리적으로 포함해야 함
Debug sink/source경로 구성과 동작 확인에 사용

실제 register 접근 가능 여부와 관계없이 topology를 완성한다.

.. SPDX-License-Identifier: GPL-2.0

=============================
Coresight Dummy Trace Module
=============================

    :Author:   Hao Zhang <quic_hazha@quicinc.com>
    :Date:     June 2023

Introduction
------------

The Coresight dummy trace module is for the specific devices that kernel don't
have permission to access or configure, e.g., CoreSight TPDMs on Qualcomm
platforms. For these devices, a dummy driver is needed to register them as
Coresight devices. The module may also be used to define components that may
not have any programming interfaces, so that paths can be created in the driver.
It provides Coresight API for operations on dummy devices, such as enabling and
disabling them. It also provides the Coresight dummy sink/source paths for
debugging.

Dummy sink와 source node

21-32

dummy node에는 `dummy sink`와 `dummy source` 두 유형이 있다. 두 node는 `/sys/bus/coresight/devices`에서 확인할 수 있다.

예제에서는 `dummy_sink0`이 platform의 `soc@0:sink` 아래 device를, `dummy_source0`이 `soc@0:source` 아래 device를 가리키는 symbolic link로 나타난다.

Dummy node 유형
Node역할예제
dummy sinktrace data를 받는 논리적 종단dummy_sink0
dummy sourcetrace data를 내보내는 논리적 시작점dummy_source0

sysfs 이름으로 sink와 source 역할을 구분한다.

sysfs 확인 경로
/sys/bus/coresight/devicesdummy_sink0
/sys/bus/coresight/devicesdummy_source0

CoreSight bus 아래의 symbolic link가 platform device를 가리킨다.


Config details
--------------

There are two types of nodes, dummy sink and dummy source. These nodes
are available at ``/sys/bus/coresight/devices``.

Example output::

    $ ls -l /sys/bus/coresight/devices | grep dummy
    dummy_sink0 -> ../../../devices/platform/soc@0/soc@0:sink/dummy_sink0
    dummy_source0 -> ../../../devices/platform/soc@0/soc@0:source/dummy_source0