History log of /haiku/src/add-ons/kernel/busses/pci/ecam/ECAMPCIControllerACPI.cpp
Revision Date Author Comments
# 5c6e17e7 31-Mar-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

PCI: try harder to fixup broken resource ranges in ACPI tables

Try to handle two cases mentionned here: https://github.com/xCuri0/ReBarUEFI/wiki/DSDT-Patching

- Min/Max/Length/Gran are all zero, but no resource tag (ignore the range)
- Length is larger than Min/Max window (recompute the length)

Should fix #18454

Change-Id: I536dc06fcfbfc9aacf5eb6b9563cf03f9d09178a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7581
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fabb71cc 15-Jan-2024 Augustin Cavalier <waddlesplash@gmail.com>

PCI: Support more than 6 PCI memory ranges.

Also use the standard kernel-wide constants for IO or memory space
rather than defining new ones, as well as the PCI constants for
address types.

Change-Id: Iad03f7666ad5121a5c9a398339aa1a191339a1d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7336
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 8e4a60d3 15-Nov-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

PCI: handle "non fixed" addresses

If the max address for a PCI bus is not fixed, try to compute it from
the minimum and length (if available).

Change-Id: I23d87da32779d22324f944b5b359390f523ec7a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7111
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 1a88b571 24-May-2023 Augustin Cavalier <waddlesplash@gmail.com>

pci/x86: Reimplement PCIe configuration mechanism using ECAM.

This allows us to drop the PCI-specific ACPI management entirely.
Confirmed working on x86, and the fallbacks when there is no ACPI
also still work.

Change-Id: I6dac9f5539f99b934b17b341634ce22628bc66fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6470
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 19ae638f 24-May-2023 Augustin Cavalier <waddlesplash@gmail.com>

pci/ecam: Fix reading config registers using ACPI method.

Also adjust end-address computation: we read up to 4 bytes past the offset.

Change-Id: I76343aba38cddb614394bd0dca1b36094b8dd85e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6469
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 5dcae7c6 24-May-2023 Augustin Cavalier <waddlesplash@gmail.com>

ECAM ACPI PCI controller: Fix computed length being unused for 32/64.

Amends 8be0a59e7780e1fc30d405702f3c071944cd7db9.


# 8be0a59e 29-Apr-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

ECAM ACPI PCI controller: handle missing address_length

On my machine, the address_length somehow is 0, but can be computed from
the minimum and maximum values.

Change-Id: I2262263915319e0d97a2cd9b9fde3f6af1f79a84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5759
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 912bdb2a 13-Dec-2022 X512 <danger_mail@list.ru>

busses/pci/ecam: add

Change-Id: I8decef75a2d7f30bb5d45fc4774037d6a92bc161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6223
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>