History log of /pciutils/lib/ecam.c (Results 1 – 14 of 14)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v3.14.0
# 25d75c66 18-Jan-2025 Pali Rohár <[email protected]>

windows: Fix declaration of GetSystemFirmwareTable function pointer

Function pointer attributes have to be specified on the left side of the *.


# 41e0a717 05-Jul-2024 Martin Mares <[email protected]>

ECAM: Fix memory leak


# b27217e3 05-Jul-2024 Martin Mares <[email protected]>

ECAM: Spell "ACPI" in capitals in debug messages


Revision tags: v3.13.0, v3.12.0, v3.11.1, v3.11.0
# ff9f39c7 08-May-2023 Pali Rohár <[email protected]>

libpci: Add Windows physmem support for PCIe ECAM access

It requires either access to NT Section \Device\PhysicalMemory (or
compatible) or to have available kernel32.dll VxDCall2 function or
w32skrn

libpci: Add Windows physmem support for PCIe ECAM access

It requires either access to NT Section \Device\PhysicalMemory (or
compatible) or to have available kernel32.dll VxDCall2 function or
w32skrnl.dll DPMI function.

show more ...


# 1836a2d4 27-Feb-2024 Pali Rohár <[email protected]>

libpci: ecam: Fix scanning of Extended BIOS Data Area for ACPI RSDP

At physical address 0x40E (part of BDA) is stored indirect 16-bit paragraph
offset to the EBDA, and not the EBDA itself. Fix it.

libpci: ecam: Fix scanning of Extended BIOS Data Area for ACPI RSDP

At physical address 0x40E (part of BDA) is stored indirect 16-bit paragraph
offset to the EBDA, and not the EBDA itself. Fix it.

ACPI code in linux kernel checks if the EBDA offset in BDA is above
physical address 0x400. Do the same check here. It is for detection if EBDA
is present as it does not have to be on the old computers or in some
virtualised environments.

show more ...


# 1660c737 29-Mar-2024 Martin Mares <[email protected]>

Use C99 named initializers for struct pci_methods


# e4517524 18-May-2023 Pali Rohár <[email protected]>

libpci: ecam: Cache ACPI MCFG table between detect() and init() phase

This will speed up listing devices by lspci as it is not needed to scan
BIOS memory two times.


# 67b471f2 08-May-2023 Pali Rohár <[email protected]>

libpci: ecam: Fix detect sequence when addresses are not specified

Search for ACPI MCFG table in detect sequence, so on failure we can move to
the next pci access method.


# 7d347ab7 08-May-2023 Pali Rohár <[email protected]>

libpci: Move physical memory mapping mmap() code from ecam/mmio-ports to physmem-posix.c file

This deduplicates physical memory mapping mmap() code found in ecam and
mmio-ports backends into common

libpci: Move physical memory mapping mmap() code from ecam/mmio-ports to physmem-posix.c file

This deduplicates physical memory mapping mmap() code found in ecam and
mmio-ports backends into common functions with new physmem API.

This new physmem API allows to implement also non-mmap() variants of
physical memory mapping.

show more ...


# a997ef13 29-Dec-2023 Martin Mares <[email protected]>

Rename aux fields in structs pci_access and pci_dev to backend_data

This hopefully conveys the purpose much better than just "aux".


# 93c1c6bc 18-May-2023 Pali Rohár <[email protected]>

libpci: ecam: Fix big address range mappings

If more buses span continuous address space then there can be up to the
256 MB long address range which ecam backend tries to map.

Such huge space canno

libpci: ecam: Fix big address range mappings

If more buses span continuous address space then there can be up to the
256 MB long address range which ecam backend tries to map.

Such huge space cannot be mapped on some memory limited systems. And also
it is not needed to map whole 256 MB long address range because ecam
backend cache uses mapping only for one bus. One bus has maximal mapping
size just 32*8*4096 bytes.

So adjust size calculation when mapping ecam bus.

show more ...


# d4d88971 18-May-2023 Pali Rohár <[email protected]>

libpci: ecam: Deduplicate get_bus_addr() code for calculating bus address

Move duplicate code block into helper function calculate_bus_addr().


# 61829219 18-Jun-2023 Martin Mares <[email protected]>

Update license comments and added SPDX license identifiers

Previously, the only information about the specific version of GPL
was present in the README and individual source files mentioned only
GPL

Update license comments and added SPDX license identifiers

Previously, the only information about the specific version of GPL
was present in the README and individual source files mentioned only
GPL alone.

Let us update all copyright comments to explicitly say "GPL v2+"
and also include the machine readable SPDX license identifier.

show more ...


Revision tags: v3.10.0
# 2ba0f6f4 29-Jan-2023 Pali Rohár <[email protected]>

libpci: Add PCIe ECAM access method

This is a new direct hardware access method via PCIe ECAM (Enhanced
Configuration Access Mechanism). It is available on all PCIe-compliant
hardware. Requires root

libpci: Add PCIe ECAM access method

This is a new direct hardware access method via PCIe ECAM (Enhanced
Configuration Access Mechanism). It is available on all PCIe-compliant
hardware. Requires root privileges and access to physical memory.

ECAM mapping can be specified manually via a new ecam.addrs parameter or
can be read from ACPI MCFG table. ACPI MCFG table can be located in the
system or read from x86 BIOS memory.

show more ...