| /* |
| * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230) |
| * |
| * SPDX-License-Identifier: BSD-2-Clause |
| */ |
| |
| import <PCIConfig.idl4>; |
| import <PutChar.idl4>; |
| |
| component PCIConfigHardware { |
| hardware; |
| provides IOPort pci_config_address; |
| provides IOPort pci_config_data; |
| attribute string pci_config_address_attributes = "0xcf8:0xcfb"; |
| attribute string pci_config_data_attributes = "0xcfc:0xcff"; |
| |
| }; |
| |
| component PCIConfigIO { |
| has mutex lock; |
| provides PCIConfig pci_config; |
| uses IOPort config_address; |
| uses IOPort config_data; |
| uses PutChar putchar; |
| |
| /* Connect io ports to pci config space */ |
| composition { |
| component PCIConfigHardware poh; |
| connection seL4HardwareIOPort config_address_ports(from config_address, to poh.pci_config_address); |
| connection seL4HardwareIOPort config_data_ports(from config_data, to poh.pci_config_data); |
| } |
| configuration { |
| poh.pci_config_address_attributes <- pci_config_address_attributes; |
| poh.pci_config_data_attributes <- pci_config_data_attributes; |
| } |
| } |