[SeaBIOS] [PATCH 0/4] Redesign of pciinit.c (take 3)

Alexey Korolev alexey.korolev at endace.com
Wed Mar 28 06:25:30 CEST 2012


Hi,

This patch series redesigns the existing pciinit.c code and introduces
linked list operations.
Changes are more about structures definitions rather than functionality.
There are no more arrays of bases and counts in new implementation. The
new implementation is based on dynamic allocation of pci_region_entry
structures. 
Each pci_region_entry structure could be a PCI bar or a downstream PCI
region (bridge). Each entry has a set of attributes: type (IO, MEM,
PREFMEM), is64bit, size, base address, PCI device owner, and a
pointer to the pci_bus it belongs to.

1. Introduce List operations
2. Add pci_region_entry and linked lists operations in place while still
using the array system to do the allocations. 
3. Switch to lists operations
4. Get rid of size element from bus->r structure, now we use entry->size
   for the same purpose


 src/pci.h     |    5 -
 src/pciinit.c |  258 ++++++++++++++++++++++++++-------------------------------
 src/util.h    |   21 +++++
 3 files changed, 137 insertions(+), 147 deletions(-)




More information about the SeaBIOS mailing list