53 "movzbw %%cl, %%cx\n\t" 58 :
"=c" ( num_bus ),
"=a" ( discard_a ),
84 "xorl %%eax, %%eax\n\t" 86 "movl %%eax, %%ecx\n\t" 88 :
"=a" (
status ),
"=b" ( discard_b ),
112 "movb $0xff, %%ah\n\t" 114 :
"=a" (
status ),
"=b" ( discard_b ),
PROVIDE_PCIAPI_INLINE(pcbios, pci_can_probe)
uint32_t start
Starting bus:dev.fn address.
static void pcibios_discover(uint32_t busdevfn __unused, struct pci_range *range)
Find next PCI bus:dev.fn address range in system.
int pci_write_config_word(struct pci_device *pci, unsigned int where, uint16_t value)
Write 16-bit word to PCI configuration space.
int pci_can_probe(void)
Check if PCI bus probing is allowed.
int pci_read_config_word(struct pci_device *pci, unsigned int where, uint16_t *value)
Read 16-bit word from PCI configuration space.
struct pci_api pcibios_api
uint16_t busdevfn
PCI bus:dev.fn address.
int pci_read_config_dword(struct pci_device *pci, unsigned int where, uint32_t *value)
Read 32-bit dword from PCI configuration space.
#define PCIAPI_RUNTIME(_subsys)
Provide a runtime selectable PCI I/O API.
pseudo_bit_t value[0x00020]
#define __unused
Declare a variable or data structure as unused.
A PCI bus:dev.fn address range.
int pcibios_write(struct pci_device *pci, uint32_t command, uint32_t value)
Write configuration space via PCI BIOS.
PROVIDE_PCIAPI(pcbios, pci_discover, pcibios_discover)
static __always_inline void struct pci_range * range
#define PCI_BUSDEVFN(segment, bus, slot, func)
int pcibios_read(struct pci_device *pci, uint32_t command, uint32_t *value)
Read configuration space via PCI BIOS.
int pci_write_config_byte(struct pci_device *pci, unsigned int where, uint8_t value)
Write byte to PCI configuration space.
#define PCIBIOS_INSTALLATION_CHECK
A runtime selectable PCI I/O API.
__asm__ __volatile__("call *%9" :"=a"(result), "=c"(discard_ecx), "=d"(discard_edx) :"d"(0), "a"(code), "b"(0), "c"(in_phys), "D"(0), "S"(out_phys), "m"(hypercall))
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
unsigned int count
Number of bus:dev.fn addresses within this range.
void pci_discover(uint32_t busdevfn, struct pci_range *range)
Find next PCI bus:dev.fn address range in system.
uint32_t busdevfn
Segment, bus, device, and function (bus:dev.fn) number.
__asm__(".section \".rodata\", \"a\", " PROGBITS "\n\t" "\nprivate_key_data:\n\t" ".size private_key_data, ( . - private_key_data )\n\t" ".equ private_key_len, ( . - private_key_data )\n\t" ".previous\n\t")
int pci_write_config_dword(struct pci_device *pci, unsigned int where, uint32_t value)
Write 32-bit dword to PCI configuration space.
void * pci_ioremap(struct pci_device *pci, unsigned long bus_addr, size_t len)
Map PCI bus address as an I/O address.
#define REAL_CODE(asm_code_str)
int pci_read_config_byte(struct pci_device *pci, unsigned int where, uint8_t *value)
Read byte from PCI configuration space.