요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Polling reception paths
debugfs-scmi-raw:34-68message_poll과 message_poll_async는 polling-capable transport에서 response 또는 async immediate response의 reception path에 polling mode를 사용합니다.
Errors·notifications·reset
debugfs-scmi-raw:70-102errors와 notification은 각각 예상 밖·timeout message와 server notification을 한 message씩 읽고, reset write는 아직 읽지 않은 모든 receive queue를 즉시 flush합니다.
Per-channel synchronous·asynchronous messages
debugfs-scmi-raw:104-153channels/<m> 경로는 DT에서 channel과 연결한 SCMI protocol number를 identifier로 사용하며, base protocol 0x10은 default channel입니다. 복수 default channel 구성에서만 생성됩니다.
Per-channel polling messages
debugfs-scmi-raw:156-208Per-channel message_poll과 message_poll_async는 channel <m>의 response reception에 polling mode를 적용하고 timeout 안의 immediate·delayed response를 message별로 읽습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/kernel/debug/scmi/<n>/raw/message
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw synchronous message injection/snooping facility; write
a complete SCMI synchronous command message (header included)
in little-endian binary format to have it sent to the configured
backend SCMI server for instance <n>.
Any subsequently received response can be read from this same
entry if it arrived within the configured timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/message_async
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw asynchronous message injection/snooping facility; write
a complete SCMI asynchronous command message (header included)
in little-endian binary format to have it sent to the configured
backend SCMI server for instance <n>.
Any subsequently received response can be read from this same
entry if it arrived within the configured timeout.
Any additional delayed response received afterwards can be read
from this same entry too if it arrived within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/message_poll
Date: June 2025
KernelVersion: 6.16
Contact: cristian.marussi@arm.com
Description: SCMI Raw message injection/snooping facility using polling mode;
write a complete SCMI command message (header included) in
little-endian binary format to have it sent to the configured
backend SCMI server for instance <n>, using polling mode on
the reception path. (if transport is polling capable)
Any subsequently received response can be read from this same
entry if it arrived within the configured timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/message_poll_async
Date: June 2025
KernelVersion: 6.16
Contact: cristian.marussi@arm.com
Description: SCMI Raw asynchronous message injection/snooping facility using
polling-mode; write a complete SCMI asynchronous command message
(header included) in little-endian binary format to have it sent
to the configured backend SCMI server for instance <n>, using
polling-mode on the reception path of the immediate part of the
asynchronous command. (if transport is polling capable)
Any subsequently received response can be read from this same
entry if it arrived within the configured timeout.
Any additional delayed response received afterwards can be read
from this same entry too if it arrived within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/errors
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw message errors facility; any kind of timed-out or
generally unexpectedly received SCMI message, for instance <n>,
can be read from this entry.
Each read gives back one message at time (receiving an EOF at
each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/notification
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw notification snooping facility; any notification
emitted by the backend SCMI server, for instance <n>, can be
read from this entry.
Each read gives back one message at time (receiving an EOF at
each message boundary).
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/reset
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw stack reset facility; writing a value to this entry
causes the internal queues of any kind of received message,
still pending to be read out for instance <n>, to be immediately
flushed.
Can be used to reset and clean the SCMI Raw stack between to
different test-run.
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw synchronous message injection/snooping facility; write
a complete SCMI synchronous command message (header included)
in little-endian binary format to have it sent to the configured
backend SCMI server for instance <n> through the <m> transport
channel.
Any subsequently received response can be read from this same
entry if it arrived on channel <m> within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Channel identifier <m> matches the SCMI protocol number which
has been associated with this transport channel in the DT
description, with base protocol number 0x10 being the default
channel for this instance.
Note that these per-channel entries rooted at <..>/channels
exist only if the transport is configured to have more than
one default channel.
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_async
Date: March 2023
KernelVersion: 6.3
Contact: cristian.marussi@arm.com
Description: SCMI Raw asynchronous message injection/snooping facility; write
a complete SCMI asynchronous command message (header included)
in little-endian binary format to have it sent to the configured
backend SCMI server for instance <n> through the <m> transport
channel.
Any subsequently received response can be read from this same
entry if it arrived on channel <m> within the configured
timeout.
Any additional delayed response received afterwards can be read
from this same entry too if it arrived within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Channel identifier <m> matches the SCMI protocol number which
has been associated with this transport channel in the DT
description, with base protocol number 0x10 being the default
channel for this instance.
Note that these per-channel entries rooted at <..>/channels
exist only if the transport is configured to have more than
one default channel.
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll
Date: June 2025
KernelVersion: 6.16
Contact: cristian.marussi@arm.com
Description: SCMI Raw message injection/snooping facility using polling mode;
write a complete SCMI command message (header included) in
little-endian binary format to have it sent to the configured
backend SCMI server for instance <n> through the <m> transport
channel, using polling mode on the reception path.
(if transport is polling capable)
Any subsequently received response can be read from this same
entry if it arrived on channel <m> within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Channel identifier <m> matches the SCMI protocol number which
has been associated with this transport channel in the DT
description, with base protocol number 0x10 being the default
channel for this instance.
Note that these per-channel entries rooted at <..>/channels
exist only if the transport is configured to have more than
one default channel.
Users: Debugging, any userspace test suite
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll_async
Date: June 2025
KernelVersion: 6.16
Contact: cristian.marussi@arm.com
Description: SCMI Raw asynchronous message injection/snooping facility using
polling-mode; write a complete SCMI asynchronous command message
(header included) in little-endian binary format to have it sent
to the configured backend SCMI server for instance <n> through
the <m> transport channel, using polling mode on the reception
path of the immediate part of the asynchronous command.
(if transport is polling capable)
Any subsequently received response can be read from this same
entry if it arrived on channel <m> within the configured
timeout.
Any additional delayed response received afterwards can be read
from this same entry too if it arrived within the configured
timeout.
Each write to the entry causes one command request to be built
and sent while the replies are read back one message at time
(receiving an EOF at each message boundary).
Channel identifier <m> matches the SCMI protocol number which
has been associated with this transport channel in the DT
description, with base protocol number 0x10 being the default
channel for this instance.
Note that these per-channel entries rooted at <..>/channels
exist only if the transport is configured to have more than
one default channel.
Users: Debugging, any userspace test suite
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Instance-level raw message injection
1-32| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/scmi/<n>/raw/message | SCMI Raw synchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI synchronous command message를 little-endian binary format으로 쓰면 instance <n>에 구성된 backend SCMI server로 보냅니다. 이후 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽습니다. 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/message_async | SCMI Raw asynchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI asynchronous command message를 little-endian binary format으로 쓰면 instance <n>에 구성된 backend SCMI server로 보냅니다. 이후 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. 그 뒤 추가로 받은 delayed response도 구성된 timeout 안에 도착했다면 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽습니다. 각 message boundary에서 EOF를 받습니다. |
| 공통 항목 | 내용 |
|---|---|
| Date | 2023년 3월 |
| KernelVersion | 6.3 |
| Contact | cristian.marussi@arm.com |
| Users | Debugging, 모든 userspace test suite |
Instance-level polling message injection
34-68| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/scmi/<n>/raw/message_poll | Polling mode를 사용하는 SCMI Raw message injection/snooping 기능입니다. Header를 포함한 complete SCMI command message를 little-endian binary format으로 쓰면 instance <n>에 구성된 backend SCMI server로 보내며, transport가 polling을 지원하는 경우 reception path에 polling mode를 사용합니다. 이후 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽습니다. 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/message_poll_async | Polling mode를 사용하는 SCMI Raw asynchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI asynchronous command message를 little-endian binary format으로 쓰면 instance <n>에 구성된 backend SCMI server로 보내며, transport가 polling을 지원하는 경우 asynchronous command의 immediate 부분 reception path에 polling mode를 사용합니다. 이후 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. 그 뒤 추가로 받은 delayed response도 구성된 timeout 안에 도착했다면 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽습니다. 각 message boundary에서 EOF를 받습니다. |
| 공통 항목 | 내용 |
|---|---|
| Date | 2025년 6월 |
| KernelVersion | 6.16 |
| Contact | cristian.marussi@arm.com |
| Users | Debugging, 모든 userspace test suite |
Error·notification queue와 Raw stack reset
70-102| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/scmi/<n>/raw/errors | SCMI Raw message error 기능입니다. Instance <n>에서 timeout된 SCMI message 또는 일반적으로 예상하지 못하게 수신한 모든 SCMI message를 이 entry에서 읽을 수 있습니다. 각 read는 한 번에 message 하나를 반환하며 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/notification | SCMI Raw notification snooping 기능입니다. Instance <n>의 backend SCMI server가 내보낸 모든 notification을 이 entry에서 읽을 수 있습니다. 각 read는 한 번에 message 하나를 반환하며 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/reset | SCMI Raw stack reset 기능입니다. 이 entry에 값을 쓰면 instance <n>에서 아직 읽기를 기다리는 모든 종류의 received message 내부 queue를 즉시 flush합니다. 서로 다른 두 test run 사이에서 SCMI Raw stack을 reset하고 정리할 때 사용할 수 있습니다. |
| 공통 항목 | 내용 |
|---|---|
| Date | 2023년 3월 |
| KernelVersion | 6.3 |
| Contact | cristian.marussi@arm.com |
| Users | Debugging, 모든 userspace test suite |
Per-channel raw message injection
104-153| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message | SCMI Raw synchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI synchronous command message를 little-endian binary format으로 쓰면 transport channel <m>을 통해 instance <n>에 구성된 backend SCMI server로 보냅니다. Channel <m>에서 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽고 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_async | SCMI Raw asynchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI asynchronous command message를 little-endian binary format으로 쓰면 transport channel <m>을 통해 instance <n>에 구성된 backend SCMI server로 보냅니다. Channel <m>에서 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. 그 뒤 추가로 받은 delayed response도 구성된 timeout 안에 도착했다면 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽고 각 message boundary에서 EOF를 받습니다. |
두 entry에서 channel identifier <m>은 DT description에서 이 transport channel과 연결된 SCMI protocol number와 일치합니다. Base protocol number 0x10이 이 instance의 default channel입니다. <..>/channels 아래의 per-channel entry는 transport가 둘 이상의 default channel을 갖도록 구성된 경우에만 존재합니다.
| 공통 항목 | 내용 |
|---|---|
| Date | 2023년 3월 |
| KernelVersion | 6.3 |
| Contact | cristian.marussi@arm.com |
| Users | Debugging, 모든 userspace test suite |
Per-channel polling message injection
156-208| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll | Polling mode를 사용하는 SCMI Raw message injection/snooping 기능입니다. Header를 포함한 complete SCMI command message를 little-endian binary format으로 쓰면 transport channel <m>을 통해 instance <n>에 구성된 backend SCMI server로 보내며, transport가 polling을 지원하는 경우 reception path에 polling mode를 사용합니다. Channel <m>에서 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽고 각 message boundary에서 EOF를 받습니다. |
| /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll_async | Polling mode를 사용하는 SCMI Raw asynchronous message injection/snooping 기능입니다. Header를 포함한 complete SCMI asynchronous command message를 little-endian binary format으로 쓰면 transport channel <m>을 통해 instance <n>에 구성된 backend SCMI server로 보내며, transport가 polling을 지원하는 경우 asynchronous command의 immediate 부분 reception path에 polling mode를 사용합니다. Channel <m>에서 구성된 timeout 안에 도착한 response는 같은 entry에서 읽을 수 있습니다. 그 뒤 추가로 받은 delayed response도 구성된 timeout 안에 도착했다면 같은 entry에서 읽을 수 있습니다. Entry에 한 번 쓸 때마다 하나의 command request를 만들어 보내며, reply는 한 번에 message 하나씩 읽고 각 message boundary에서 EOF를 받습니다. |
두 entry에서 channel identifier <m>은 DT description에서 이 transport channel과 연결된 SCMI protocol number와 일치합니다. Base protocol number 0x10이 이 instance의 default channel입니다. <..>/channels 아래의 per-channel entry는 transport가 둘 이상의 default channel을 갖도록 구성된 경우에만 존재합니다.
| 공통 항목 | 내용 |
|---|---|
| Date | 2025년 6월 |
| KernelVersion | 6.16 |
| Contact | cristian.marussi@arm.com |
| Users | Debugging, 모든 userspace test suite |
Complete little-endian command 한 번의 write가 request 하나를 만들고, response queue는 EOF로 구분된 message 단위로 소비된다.
Instance-level synchronous·asynchronous messages
debugfs-scmi-raw:1-32message와 message_async는 header를 포함한 complete little-endian SCMI command를 한 write당 하나 전송하며, response를 message 단위 EOF 경계로 읽습니다. Async는 추가 delayed response도 제공합니다.