Changes v1 -> v2:
- simplified foreachpci_in_bus()
- add overlap check during pci bar assignemnt.
- use c99 initialization.
Patch description:
This patch set allows seabios to initialize multi pci bus and 64bit BAR.
Currently seabios is able to initialize only pci root bus.
However multi pci bus support is wanted because
- more pci bus is wanted in qemu for many slots
- pci express support is commin in qemu which requires multi pci bus.
those patches on Qemu part are under way, though.
Isaku Yamahata (8):
seabios: pci: introduce foreachpci_in_bus() helper macro.
seabios: pciinit: factor out pci bar region allocation logic.
seabios: pciinit: make pci memory space assignment 64bit aware.
seabios: pciinit: make pci bar assigner preferchable memory aware.
seabios: pciinit: factor out bar offset calculation.
seabios: pciinit: make bar offset calculation pci bridge aware.
seabios: pciinit: pci bridge bus initialization.
seabios: pciinit: initialize pci bridge filtering registers.
src/config.h | 17 +++
src/pci.h | 10 ++
src/pciinit.c | 324 +++++++++++++++++++++++++++++++++++++++++++++++++--------
3 files changed, 306 insertions(+), 45 deletions(-)