diff options
author | marius <marius@FreeBSD.org> | 2009-12-23 21:07:49 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2009-12-23 21:07:49 +0000 |
commit | bc3808fc3374b7ecada1180fb886eba250b07fdc (patch) | |
tree | 6a6f07b507774b876efe8cf6629a3a3b391e1665 | |
parent | b9cf9990a69fc60fd30d65eec8a3c355b8bd865b (diff) | |
download | FreeBSD-src-bc3808fc3374b7ecada1180fb886eba250b07fdc.zip FreeBSD-src-bc3808fc3374b7ecada1180fb886eba250b07fdc.tar.gz |
Add structures for OFW MSI/MSI-X support. These are identical for
both sun4u and sun4v.
-rw-r--r-- | sys/sparc64/pci/ofw_pci.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sys/sparc64/pci/ofw_pci.h b/sys/sparc64/pci/ofw_pci.h index 3b50598..ad96420 100644 --- a/sys/sparc64/pci/ofw_pci.h +++ b/sys/sparc64/pci/ofw_pci.h @@ -48,6 +48,31 @@ typedef uint32_t ofw_pci_intr_t; #define OFW_TYPE_PCI "pci" #define OFW_TYPE_PCIE "pciex" +struct ofw_pci_msi_addr_ranges { + uint32_t addr32_hi; + uint32_t addr32_lo; + uint32_t addr32_sz; + uint32_t addr64_hi; + uint32_t addr64_lo; + uint32_t addr64_sz; +}; + +#define OFW_PCI_MSI_ADDR_RANGE_32(r) \ + (((uint64_t)(r)->addr32_hi << 32) | (uint64_t)(r)->addr32_lo) +#define OFW_PCI_MSI_ADDR_RANGE_64(r) \ + (((uint64_t)(r)->addr64_hi << 32) | (uint64_t)(r)->addr64_lo) + +struct ofw_pci_msi_eq_to_devino { + uint32_t eq_first; + uint32_t eq_count; + uint32_t devino_first; +}; + +struct ofw_pci_msi_ranges { + uint32_t first; + uint32_t count; +}; + struct ofw_pci_ranges { uint32_t cspace; uint32_t child_hi; |