On Mon, Apr 11, 2016 at 01:04:18PM +0200, Alexander Gordeev wrote: > Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> > --- > lib/x86/asm/pci.h | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-) > > diff --git a/lib/x86/asm/pci.h b/lib/x86/asm/pci.h > index d10a32c38dd5..917da19ac36c 100644 > --- a/lib/x86/asm/pci.h > +++ b/lib/x86/asm/pci.h > @@ -9,11 +9,30 @@ > #include "pci.h" > #include "x86/io.h" > > +#define PCI_CONF1_ADDRESS(dev, reg) ((0x1 << 31) | (dev << 8) | reg) > + > static inline uint32_t pci_config_readl(pcidevaddr_t dev, uint8_t reg) > { > - uint32_t index = reg | (dev << 8) | (0x1 << 31); > - outl(index, 0xCF8); > + outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); > return inl(0xCFC); > } > > +static inline uint8_t pci_config_readb(pcidevaddr_t dev, uint8_t reg) > +{ > + outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); > + return inb(0xCFC); > +} > + > +static inline uint16_t pci_config_readw(pcidevaddr_t dev, uint8_t reg) > +{ > + outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); > + return inw(0xCFC); > +} > + > +static inline void pci_config_writel(pcidevaddr_t dev, uint8_t reg, uint32_t val) > +{ > + outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); > + outl(val, 0xCFC); > +} > + > #endif > -- > 1.8.3.1 Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html