How to understand the base address in Legacy PCI BARs?

26 Views Asked by At

I've been scratching my head trying to understand the BAR addressing in Legacy PCI.

At tho moment I'm having trouble understanding how the size and starting location of a BAR is allocated. From what I understand the size is determined by the number of bits right of the rightmost '1'. But I do not really understand how to specify the starting address.

  • Suppose I have a BAR initialised to address 0xA8003000 and another at 0xA8002000, what's the difference between them?
  • Suppose I want to assign a BAR with 4KB of address space starting at 0, what would be the input value to the BAR?

This is what I found in the PCI documentation

0

There are 0 best solutions below