요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Controller별 link, interrupt, identity와 BAR0 node
configfs-spear-pcie-gadget:19-33/config/pcie-gadget.n 아래 node에서 LTSSM 상태, interrupt 유형과 vector, PCI ID, BAR0 크기·주소·offset·data를 읽거나 설정합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /config/pcie-gadget
Date: Feb 2011
KernelVersion: 2.6.37
Contact: Pratyush Anand <[email protected]>
Description:
Interface is used to configure selected dual mode PCIe controller
as device and then program its various registers to configure it
as a particular device type.
This interfaces can be used to show spear's PCIe device capability.
Nodes are only visible when configfs is mounted. To mount configfs
in /config directory use::
# mount -t configfs none /config/
For nth PCIe Device Controller /config/pcie-gadget.n/:
=============== ======================================================
link used to enable ltssm and read its status.
int_type used to configure and read type of supported interrupt
no_of_msi used to configure number of MSI vector needed and
to read no of MSI granted.
inta write 1 to assert INTA and 0 to de-assert.
send_msi write MSI vector to be sent.
vendor_id used to write and read vendor id (hex)
device_id used to write and read device id (hex)
bar0_size used to write and read bar0_size
bar0_address used to write and read bar0 mapped area in hex.
bar0_rw_offset used to write and read offset of bar0 where bar0_data
will be written or read.
bar0_data used to write and read data at bar0_rw_offset.
=============== ======================================================
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
SPEAr dual-mode PCIe controller의 device mode 구성
1-17| 항목 | 내용 |
|---|---|
| What | /config/pcie-gadget |
| Date | 2011년 2월 |
| KernelVersion | 2.6.37 |
| Contact | Pratyush Anand <[email protected]> |
이 interface는 선택한 dual-mode PCIe controller를 device로 구성한 다음, 여러 register를 program해 특정 device type으로 설정하는 데 사용한다. 이 interface로 SPEAr의 PCIe device capability를 보여줄 수 있다.
Node는 configfs가 mount되어 있을 때만 보인다. `/config` directory에 configfs를 mount하려면 다음 명령을 사용한다.
# mount -t configfs none /config/
N번째 PCIe Device Controller의 node는 `/config/pcie-gadget.n/` 아래에 있다.
PCIe gadget controller node
19-33| Node | 설명 |
|---|---|
| link | LTSSM을 활성화하고 그 상태를 읽는 데 사용한다. |
| int_type | 지원하는 interrupt type을 구성하고 읽는 데 사용한다. |
| no_of_msi | 필요한 MSI vector 수를 구성하고 승인된 MSI 수를 읽는 데 사용한다. |
| inta | `1`을 쓰면 INTA를 assert하고 `0`을 쓰면 deassert한다. |
| send_msi | 전송할 MSI vector를 쓴다. |
| vendor_id | Hexadecimal vendor ID를 쓰고 읽는 데 사용한다. |
| device_id | Hexadecimal device ID를 쓰고 읽는 데 사용한다. |
| bar0_size | BAR0 크기를 쓰고 읽는 데 사용한다. |
| bar0_address | BAR0가 map된 영역을 hexadecimal로 쓰고 읽는 데 사용한다. |
| bar0_rw_offset | bar0_data를 쓰거나 읽을 BAR0 내부 offset을 쓰고 읽는 데 사용한다. |
| bar0_data | bar0_rw_offset 위치의 data를 쓰고 읽는 데 사용한다. |
하나의 PCIe Device Controller directory에서 link, interrupt, identity, BAR0 access를 독립된 node 집합으로 구성한다.
Dual-mode controller의 PCIe device 구성
configfs-spear-pcie-gadget:1-17Configfs를 mount한 뒤 선택한 dual-mode PCIe controller를 device mode로 구성하고 register를 program해 특정 device type으로 만듭니다.