요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
List configuration instructions
debugfs-driver-dcc:27-110Crash 또는 manual trigger 때 처리할 register addresses를 read, write, read-write, loop instructions로 구성합니다. Lists는 겹치지 않게 앞 번호부터 순차적으로 설정해야 합니다.
Sequential list enable
debugfs-driver-dcc:112-127List를 enable하면 해당 addresses가 DCC SRAM에 기록되며 manual·crash trigger 때 hardware가 읽습니다. 앞 list가 enable되어야 다음 list를 enable할 수 있습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/kernel/debug/dcc/.../ready
Date: December 2022
Contact: Souradeep Chowdhury <[email protected]>
Description:
This file is used to check the status of the dcc
hardware if it's ready to receive user configurations.
A 'Y' here indicates dcc is ready.
What: /sys/kernel/debug/dcc/.../trigger
Date: December 2022
Contact: Souradeep Chowdhury <[email protected]>
Description:
This is the debugfs interface for manual software
triggers. The trigger can be invoked by writing '1'
to the file.
What: /sys/kernel/debug/dcc/.../config_reset
Date: December 2022
Contact: Souradeep Chowdhury <[email protected]>
Description:
This file is used to reset the configuration of
a dcc driver to the default configuration. When '1'
is written to the file, all the previous addresses
stored in the driver gets removed and users need to
reconfigure addresses again.
What: /sys/kernel/debug/dcc/.../[list-number]/config
Date: December 2022
Contact: Souradeep Chowdhury <[email protected]>
Description:
This stores the addresses of the registers which
can be read in case of a hardware crash or manual
software triggers. The input addresses type
can be one of following dcc instructions: read,
write, read-write, and loop type. The lists need to
be configured sequentially and not in a overlapping
manner; e.g. users can jump to list x only after
list y is configured and enabled. The input format for
each type is as follows:
i) Read instruction
::
echo R <addr> <n> <bus> >/sys/kernel/debug/dcc/../[list-number]/config
where:
<addr>
The address to be read.
<n>
The addresses word count, starting from address <1>.
Each word is 32 bits (4 bytes). If omitted, defaulted
to 1.
<bus type>
The bus type, which can be either 'apb' or 'ahb'.
The default is 'ahb' if leaved out.
ii) Write instruction
::
echo W <addr> <n> <bus type> > /sys/kernel/debug/dcc/../[list-number]/config
where:
<addr>
The address to be written.
<n>
The value to be written at <addr>.
<bus type>
The bus type, which can be either 'apb' or 'ahb'.
iii) Read-write instruction
::
echo RW <addr> <n> <mask> > /sys/kernel/debug/dcc/../[list-number]/config
where:
<addr>
The address to be read and written.
<n>
The value to be written at <addr>.
<mask>
The value mask.
iv) Loop instruction
::
echo L <loop count> <address count> <address>... > /sys/kernel/debug/dcc/../[list-number]/config
where:
<loop count>
Number of iterations
<address count>
total number of addresses to be written
<address>
Space-separated list of addresses.
What: /sys/kernel/debug/dcc/.../[list-number]/enable
Date: December 2022
Contact: Souradeep Chowdhury <[email protected]>
Description:
This debugfs interface is used for enabling the
the dcc hardware. A file named "enable" is in the
directory list number where users can enable/disable
the specific list by writing boolean (1 or 0) to the
file.
On enabling the dcc, all the addresses specified
by the user for the corresponding list is written
into dcc sram which is read by the dcc hardware
on manual or crash induced triggers. Lists must
be configured and enabled sequentially, e.g. list
2 can only be enabled when list 1 have so.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DCC 상태, trigger, configuration reset
1-25| 공통 항목 | 내용 |
|---|---|
| Date | 2022년 12월 |
| Contact | Souradeep Chowdhury <[email protected]> |
| What | 설명 |
|---|---|
| /sys/kernel/debug/dcc/.../ready | DCC hardware가 user configuration을 받을 준비가 되었는지 확인합니다. Y이면 준비된 상태입니다. |
| /sys/kernel/debug/dcc/.../trigger | Manual software trigger interface입니다. File에 1을 쓰면 trigger가 실행됩니다. |
| /sys/kernel/debug/dcc/.../config_reset | DCC driver configuration을 기본값으로 reset합니다. 1을 쓰면 driver에 저장된 이전 addresses가 모두 제거되므로 다시 구성해야 합니다. |
List configuration과 네 instruction 형식
27-110| 항목 | 내용 |
|---|---|
| What | /sys/kernel/debug/dcc/.../[list-number]/config |
| Date | 2022년 12월 |
| Contact | Souradeep Chowdhury <[email protected]> |
Hardware crash 또는 manual software trigger 때 읽을 수 있는 register addresses를 저장합니다. 입력 address type은 read, write, read-write, loop DCC instructions 중 하나입니다.
Lists는 겹치지 않게 순차적으로 구성해야 합니다. 예를 들어 list y를 구성하고 enable한 뒤에만 그 다음 list x로 넘어갈 수 있습니다.
1. Read instruction
echo R <addr> <n> <bus> >/sys/kernel/debug/dcc/../[list-number]/config
| 인자 | 의미 |
|---|---|
| <addr> | 읽을 address |
| <n> | 시작 address <1>부터의 address word count. 각 word는 32 bits(4 bytes)이며 생략하면 1. 원문은 시작 address를 <1>로 표기합니다. |
| <bus type> | apb 또는 ahb. 생략하면 기본값은 ahb |
2. Write instruction
echo W <addr> <n> <bus type> > /sys/kernel/debug/dcc/../[list-number]/config
| 인자 | 의미 |
|---|---|
| <addr> | 쓸 address |
| <n> | <addr>에 쓸 값 |
| <bus type> | apb 또는 ahb |
3. Read-write instruction
echo RW <addr> <n> <mask> > /sys/kernel/debug/dcc/../[list-number]/config
| 인자 | 의미 |
|---|---|
| <addr> | 읽고 쓸 address |
| <n> | <addr>에 쓸 값 |
| <mask> | Value mask |
4. Loop instruction
echo L <loop count> <address count> <address>... > /sys/kernel/debug/dcc/../[list-number]/config
| 인자 | 의미 |
|---|---|
| <loop count> | Iteration 수 |
| <address count> | 쓸 address의 전체 개수 |
| <address> | Space로 구분한 addresses 목록 |
List enable과 DCC SRAM
112-127| 항목 | 내용 |
|---|---|
| What | /sys/kernel/debug/dcc/.../[list-number]/enable |
| Date | 2022년 12월 |
| Contact | Souradeep Chowdhury <[email protected]> |
각 list-number directory의 enable file에 boolean 1 또는 0을 써서 해당 list와 DCC hardware를 enable 또는 disable합니다.
DCC를 enable하면 해당 list에 사용자가 지정한 모든 addresses가 DCC SRAM에 기록됩니다. Manual trigger 또는 crash-induced trigger가 발생하면 DCC hardware가 이 SRAM을 읽습니다.
Lists는 순차적으로 구성하고 enable해야 합니다. 예를 들어 list 1이 enable된 뒤에만 list 2를 enable할 수 있습니다.
준비 상태를 확인한 뒤 각 list instruction을 앞 번호부터 구성·enable한다. Enable 시 configuration이 DCC SRAM에 기록되고 manual 또는 crash trigger에서 hardware가 사용한다.
Ready, trigger, reset controls
debugfs-driver-dcc:1-25DCC hardware가 configuration을 받을 준비가 되었는지 확인하고, software trigger를 실행하거나 저장된 driver configuration을 기본 상태로 reset합니다.