blob: e51d064ef9c2949856b44603f48d6872b21a9744 [file] [log] [blame] [edit]
/*
* 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;
}
}