[SeaBIOS] [Patch 0/12] Pciinit redesign and 64bit PCI support
Alexey Korolev
alexey.korolev at endace.com
Tue Apr 24 08:10:09 CEST 2012
This patch series redesigns and adds new features to pciinit.c code.
[Patches 1-4]
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 which are grouped into lists. 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.
[Patch 5]
Bridge regions are no longer rounded up to the next highest size -
instead track alignment explicitly. This should improve the memory layout
for bridge regions.
Also, unused bridge regions will no longer be allocated any space.
[Patch 6]
Patch takes into account PCI bar and ROM regions of PCI bridges
[Patches 7-12]
Make pciinit.c 64bit aware. Support discovery and configuration of 64bit
bars, with non-zero upper32 bits. Code allocates the 64bit PCI bars in
high address range if they don't fir in 32bit range.
Kevin O'Konor (6):
0001-pciinit-Introduction-of-pci_region_entry-structure.patch
0002-pciinit-Move-bus-bar-asignment.patch
0004-pciinit-Use-sorted-order-allocation.patch
0005-pciinit-Track-region-alignment-explicitly.patch
0006-pciinit-bridges-can-have-two-regions-too.patch
0007-pciinit-Switch-to-64bit-variable-types.patch
Alexey Korolev (6):
0003-pciinit-Remove-size-element-from-pci_bus-r-structure.patch
0008-pciinit-Add-pci_region-structure.patch
0009-pciinit-64bit-capability-discovery-for-pci-bridges.patch
0010-Do-not-store-pci-region-stats-instead-calulate-the-s.patch
0011-Migrate-64bit-entries-to-64bit-pci-regions.patch
0012-Fix-64bit-PCI-issues-on-Windows.patch
src/acpi-dsdt.dsl | 7 +
src/acpi-dsdt.hex | 64 +++++++-
src/config.h | 2 +
src/pci.h | 6 +-
src/pciinit.c | 464 ++++++++++++++++++++++++++++++-----------------------
5 files changed, 325 insertions(+), 218 deletions(-)
More information about the SeaBIOS
mailing list