AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
pci_host Struct Reference

The host bridge, which the platform describes (platform_init() sets it): how its configuration space is reached, which IRQs its devices' interrupt pins are routed to, and where their registers go if no firmware placed them. More...

#include <pci.h>

Data Fields

const char * name
struct ioaddr config
size_t size
uint32_t(*) read (struct pci_host *host, struct pci_dev *dev, uint16_t reg)
void(*) write (struct pci_host *host, struct pci_dev *dev, uint16_t reg, uint32_t val)
int nirq
unsigned irq [4]
uint64_t mem_base
uint64_t mem_size
uint64_t io_base
uint64_t io_size

Detailed Description

The host bridge, which the platform describes (platform_init() sets it): how its configuration space is reached, which IRQs its devices' interrupt pins are routed to, and where their registers go if no firmware placed them.

Definition at line 32 of file pci.h.

Field Documentation

◆ config

struct ioaddr pci_host::config

◆ io_base

uint64_t pci_host::io_base

Definition at line 53 of file pci.h.

Referenced by pci_assign().

◆ io_size

uint64_t pci_host::io_size

Definition at line 53 of file pci.h.

Referenced by pci_assign(), and pci_host_set().

◆ irq

unsigned pci_host::irq[4]

Definition at line 47 of file pci.h.

Referenced by pci_irq().

◆ mem_base

uint64_t pci_host::mem_base

Definition at line 52 of file pci.h.

Referenced by pci_assign().

◆ mem_size

uint64_t pci_host::mem_size

Definition at line 52 of file pci.h.

Referenced by pci_assign(), and pci_host_set().

◆ name

const char* pci_host::name

Definition at line 33 of file pci.h.

Referenced by pci_host_set().

◆ nirq

int pci_host::nirq

Definition at line 46 of file pci.h.

Referenced by pci_irq().

◆ read

uint32_t(*) pci_host::read(struct pci_host *host, struct pci_dev *dev, uint16_t reg)

Definition at line 40 of file pci.h.

Referenced by pci_read_dword().

◆ size

size_t pci_host::size

Definition at line 39 of file pci.h.

Referenced by pci_ecam_read(), and pci_host_set().

◆ write

void(*) pci_host::write(struct pci_host *host, struct pci_dev *dev, uint16_t reg, uint32_t val)

Definition at line 41 of file pci.h.

Referenced by pci_write_dword().


The documentation for this struct was generated from the following file:
  • kernel/include/dev/pci.h