mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:02:45 +00:00 
			
		
		
		
	Kernel: Expose PCI BAR addresses in sysfs
Regardless of whether we use those BARs or not, expose them so userland can use these values for its usage.
This commit is contained in:
		
							parent
							
								
									a91da67216
								
							
						
					
					
						commit
						f8df21c7e7
					
				
					 1 changed files with 19 additions and 0 deletions
				
			
		|  | @ -32,6 +32,13 @@ UNMAP_AFTER_INIT PCIDeviceSysFSDirectory::PCIDeviceSysFSDirectory(NonnullOwnPtr< | |||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::PROG_IF, 1)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::SUBSYSTEM_VENDOR_ID, 2)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::SUBSYSTEM_ID, 2)); | ||||
| 
 | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR0, 4)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR1, 4)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR2, 4)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR3, 4)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR4, 4)); | ||||
|     m_components.append(PCIDeviceAttributeSysFSComponent::create(*this, PCI::RegisterOffset::BAR5, 4)); | ||||
| } | ||||
| 
 | ||||
| UNMAP_AFTER_INIT void PCIBusSysFSDirectory::initialize() | ||||
|  | @ -68,6 +75,18 @@ StringView PCIDeviceAttributeSysFSComponent::name() const | |||
|         return "subsystem_vendor"sv; | ||||
|     case PCI::RegisterOffset::SUBSYSTEM_ID: | ||||
|         return "subsystem_id"sv; | ||||
|     case PCI::RegisterOffset::BAR0: | ||||
|         return "bar0"sv; | ||||
|     case PCI::RegisterOffset::BAR1: | ||||
|         return "bar1"sv; | ||||
|     case PCI::RegisterOffset::BAR2: | ||||
|         return "bar2"sv; | ||||
|     case PCI::RegisterOffset::BAR3: | ||||
|         return "bar3"sv; | ||||
|     case PCI::RegisterOffset::BAR4: | ||||
|         return "bar4"sv; | ||||
|     case PCI::RegisterOffset::BAR5: | ||||
|         return "bar5"sv; | ||||
|     default: | ||||
|         VERIFY_NOT_REACHED(); | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Liav A
						Liav A