mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
pcie_host: expose address format
Callers pass in the address so it's helpful for them to be able to decode it. Reviewed-by: Gerd Hoffmann <kraxel@redhat.com> Tested-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
079e3e7012
commit
6f6d282330
2 changed files with 21 additions and 21 deletions
|
@ -54,4 +54,25 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
|
|||
hwaddr addr,
|
||||
uint32_t size);
|
||||
|
||||
/*
|
||||
* PCI express ECAM (Enhanced Configuration Address Mapping) format.
|
||||
* AKA mmcfg address
|
||||
* bit 20 - 28: bus number
|
||||
* bit 15 - 19: device number
|
||||
* bit 12 - 14: function number
|
||||
* bit 0 - 11: offset in configuration space of a given device
|
||||
*/
|
||||
#define PCIE_MMCFG_SIZE_MAX (1ULL << 28)
|
||||
#define PCIE_MMCFG_SIZE_MIN (1ULL << 20)
|
||||
#define PCIE_MMCFG_BUS_BIT 20
|
||||
#define PCIE_MMCFG_BUS_MASK 0x1ff
|
||||
#define PCIE_MMCFG_DEVFN_BIT 12
|
||||
#define PCIE_MMCFG_DEVFN_MASK 0xff
|
||||
#define PCIE_MMCFG_CONFOFFSET_MASK 0xfff
|
||||
#define PCIE_MMCFG_BUS(addr) (((addr) >> PCIE_MMCFG_BUS_BIT) & \
|
||||
PCIE_MMCFG_BUS_MASK)
|
||||
#define PCIE_MMCFG_DEVFN(addr) (((addr) >> PCIE_MMCFG_DEVFN_BIT) & \
|
||||
PCIE_MMCFG_DEVFN_MASK)
|
||||
#define PCIE_MMCFG_CONFOFFSET(addr) ((addr) & PCIE_MMCFG_CONFOFFSET_MASK)
|
||||
|
||||
#endif /* PCIE_HOST_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue