我正在尝试弄清楚如何解释bus下的文件resource
。让我们看一个具体的例子。resource<number>
PCI
这是我跑步时得到的lspci -tvvv
-[0000:00]-+-00.0 Intel Corporation 440FX - 82441FX PMC [Natoma]
+-01.0 Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
+-01.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE
+-02.0 InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
+-03.0 Intel Corporation 82540EM Gigabit Ethernet Controller
+-04.0 InnoTek Systemberatung GmbH VirtualBox Guest Service
+-05.0 Intel Corporation 82801AA AC'97 Audio Controller
+-06.0 Apple Inc. KeyLargo/Intrepid USB
+-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ACPI
\-0d.0 Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
当我运行时,tree /sys/bus/pci/devices/0000\:00\:00.0/
我得到以下信息:
/sys/bus/pci/devices/0000:00:00.0/
├── broken_parity_status
├── class
├── config
├── consistent_dma_mask_bits
├── d3cold_allowed
├── device
├── dma_mask_bits
├── driver_override
├── enable
├── firmware_node -> ../../LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/PNP8390:00
├── irq
├── local_cpulist
├── local_cpus
├── modalias
├── msi_bus
├── numa_node
├── power
│ ├── async
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_kids
│ ├── runtime_active_time
│ ├── runtime_enabled
│ ├── runtime_status
│ ├── runtime_suspended_time
│ └── runtime_usage
├── remove
├── rescan
├── resource
├── subsystem -> ../../../bus/pci
├── subsystem_device
├── subsystem_vendor
├── uevent
└── vendor
当我运行时,tree /sys/bus/pci/devices/0000\:00\:03.0
我得到以下信息:
/sys/bus/pci/devices/0000:00:03.0
├── broken_parity_status
├── class
├── config
├── consistent_dma_mask_bits
├── d3cold_allowed
├── device
├── dma_mask_bits
├── driver -> ../../../bus/pci/drivers/e1000
├── driver_override
├── enable
├── irq
├── local_cpulist
├── local_cpus
├── modalias
├── msi_bus
├── net
│ └── eth0
│ ├── addr_assign_type
│ ├── address
│ ├── addr_len
│ ├── broadcast
│ ├── carrier
│ ├── carrier_changes
│ ├── device -> ../../../0000:00:03.0
│ ├── dev_id
│ ├── dev_port
│ ├── dormant
│ ├── duplex
│ ├── flags
│ ├── gro_flush_timeout
│ ├── ifalias
│ ├── ifindex
│ ├── iflink
│ ├── link_mode
│ ├── mtu
│ ├── name_assign_type
│ ├── netdev_group
│ ├── operstate
│ ├── phys_port_id
│ ├── phys_switch_id
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── queues
│ │ ├── rx-0
│ │ │ ├── rps_cpus
│ │ │ └── rps_flow_cnt
│ │ └── tx-0
│ │ ├── byte_queue_limits
│ │ │ ├── hold_time
│ │ │ ├── inflight
│ │ │ ├── limit
│ │ │ ├── limit_max
│ │ │ └── limit_min
│ │ ├── tx_timeout
│ │ └── xps_cpus
│ ├── speed
│ ├── statistics
│ │ ├── collisions
│ │ ├── multicast
│ │ ├── rx_bytes
│ │ ├── rx_compressed
│ │ ├── rx_crc_errors
│ │ ├── rx_dropped
│ │ ├── rx_errors
│ │ ├── rx_fifo_errors
│ │ ├── rx_frame_errors
│ │ ├── rx_length_errors
│ │ ├── rx_missed_errors
│ │ ├── rx_over_errors
│ │ ├── rx_packets
│ │ ├── tx_aborted_errors
│ │ ├── tx_bytes
│ │ ├── tx_carrier_errors
│ │ ├── tx_compressed
│ │ ├── tx_dropped
│ │ ├── tx_errors
│ │ ├── tx_fifo_errors
│ │ ├── tx_heartbeat_errors
│ │ ├── tx_packets
│ │ └── tx_window_errors
│ ├── subsystem -> ../../../../../class/net
│ ├── tx_queue_len
│ ├── type
│ └── uevent
├── numa_node
├── power
│ ├── async
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_kids
│ ├── runtime_active_time
│ ├── runtime_enabled
│ ├── runtime_status
│ ├── runtime_suspended_time
│ └── runtime_usage
├── remove
├── rescan
├── reset
├── resource
├── resource0
├── resource2
├── subsystem -> ../../../bus/pci
├── subsystem_device
├── subsystem_vendor
├── uevent
└── vendor
什么是资源,即resource
、resource0
、resource2
?这些是 BAR 寄存器吗?如果是,则名称中有一个数字,即 2resource2
表示 BAR2。在这种情况下resource
代表什么?
任何帮助都将受到赞赏。