mirror of
https://github.com/ipxe/ipxe
synced 2026-05-18 10:00:30 +03:00
[pci] Provide pci_bar_is_io() to determine BAR type
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -80,6 +80,20 @@ static unsigned long pci_bar ( struct pci_device *pci, unsigned int reg ) {
|
||||
return low;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get PCI BAR type
|
||||
*
|
||||
* @v pci PCI device
|
||||
* @v reg PCI register number
|
||||
* @v is_io BAR is an I/O BAR
|
||||
*/
|
||||
int pci_bar_is_io ( struct pci_device *pci, unsigned int reg ) {
|
||||
unsigned long bar;
|
||||
|
||||
bar = pci_bar ( pci, reg );
|
||||
return ( bar & PCI_BASE_ADDRESS_SPACE_IO );
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the start of a PCI BAR
|
||||
*
|
||||
|
||||
@@ -317,6 +317,7 @@ struct pci_driver {
|
||||
PCI_SLOT ( (pci)->busdevfn ), PCI_FUNC ( (pci)->busdevfn )
|
||||
|
||||
extern void adjust_pci_device ( struct pci_device *pci );
|
||||
extern int pci_bar_is_io ( struct pci_device *pci, unsigned int reg );
|
||||
extern unsigned long pci_bar_start ( struct pci_device *pci,
|
||||
unsigned int reg );
|
||||
extern void pci_bar_set ( struct pci_device *pci, unsigned int reg,
|
||||
|
||||
Reference in New Issue
Block a user