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 ),
uint32_t start
Starting bus:dev.fn address.
static __always_inline void struct pci_range * range
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_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.
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)
pseudo_bit_t value[0x00020]
#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.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
__asm__ __volatile__("\n1:\n\t" "movb -1(%3,%1), %%al\n\t" "stosb\n\t" "loop 1b\n\t" "xorl %%eax, %%eax\n\t" "mov %4, %1\n\t" "rep stosb\n\t" :"=&D"(discard_D), "=&c"(discard_c), "+m"(*value) :"r"(data), "g"(pad_len), "0"(value0), "1"(len) :"eax")
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.
#define __unused
Declare a variable or data structure as unused.
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.
PROVIDE_PCIAPI_INLINE(pcbios, pci_read_config_byte)
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.