X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fpci.h;h=a0b6b9c3e3c356ec5afefedda167550b73a31971;hb=89eb6241e51bc825cfbc1292802a960dcb48d778;hp=ab7cb9e619b1c5fd6ff70ded53ab5eae08e8ba01;hpb=51358db90f6ebff28c17555f4b965d3a66830c64;p=seabios.git diff --git a/src/pci.h b/src/pci.h index ab7cb9e..a0b6b9c 100644 --- a/src/pci.h +++ b/src/pci.h @@ -15,6 +15,9 @@ static inline u8 pci_bdf_to_dev(u16 bdf) { static inline u8 pci_bdf_to_fn(u16 bdf) { return bdf & 0x07; } +static inline u16 pci_to_bdf(int bus, int dev, int fn) { + return (bus<<8) | (dev<<3) | fn; +} void pci_config_writel(u16 bdf, u32 addr, u32 val); void pci_config_writew(u16 bdf, u32 addr, u16 val); @@ -22,7 +25,9 @@ void pci_config_writeb(u16 bdf, u32 addr, u8 val); u32 pci_config_readl(u16 bdf, u32 addr); u16 pci_config_readw(u16 bdf, u32 addr); u8 pci_config_readb(u16 bdf, u32 addr); +void pci_config_maskw(u16 bdf, u32 addr, u16 off, u16 on); +int pci_find_vga(); int pci_find_device(u16 vendid, u16 devid); int pci_find_class(u16 classid);