History log of /src/sys/arch/arm/acpi/acpi_machdep.c |
Revision | | Date | Author | Comments |
1.28 |
| 30-Dec-2024 |
jmcneill | arm: ACPI: Fix EFI_MEMORY_UC memory type.
The UEFI specification says that EFI_MEMORY_UC should be treated as Device-nGnRnE (UEFI 2.10, 2.3.6.1 AArch64 Platforms - Memory types).
|
1.27 |
| 09-Dec-2024 |
jmcneill | arm64: acpi: Honour DMA memory address limit for named components.
|
1.26 |
| 15-Oct-2022 |
jmcneill | Use "non-posted" instead of "strongly ordered" to describe nGnRnE mappings
Rename the following defines: - _ARM_BUS_SPACE_MAP_STRONGLY_ORDERED to BUS_SPACE_MAP_NONPOSTED - PMAP_DEV_SO to PMAP_DEV_NP - LX_BLKPAG_ATTR_DEVICE_MEM_SO to LX_BLKPAG_ATTR_DEVICE_MEM_NP Rename the following option: - AARCH64_DEVICE_MEM_STRONGLY_ORDERED to AARCH64_DEVICE_MEM_NONPOSTED
|
1.25 |
| 08-Aug-2021 |
jmcneill | arm: ACPI: Add support for simple sharing of platform interrupts
Allow sharing of platform interrupts provided that the type, ipl, and mpsafe-ness are the same.
|
1.24 |
| 07-Aug-2021 |
jmcneill | acpi: DMA: Use acpi_resource_parse_any to parse _DMA resources
_DMA resources really should be marked ResourceProducer, so use acpi_resource_parse_any to pick these up.
|
1.23 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.22 |
| 24-Apr-2021 |
thorpej | branches: 1.22.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.21 |
| 13-Dec-2020 |
jmcneill | branches: 1.21.2; Add MI support for attaching drivers to arbitrary System Description Tables.
|
1.20 |
| 24-Oct-2020 |
skrll | branches: 1.20.2; Trailing whitespace
|
1.19 |
| 21-Jan-2020 |
jmcneill | Provide a properly constrained 32-bit DMA tag to ACPI.
|
1.18 |
| 31-Dec-2019 |
jmcneill | branches: 1.18.2; Rely on 32/64-bit overflow to calculate translation offsets. Store this as a separate ar_xbase field in acpi_mem instead of having separate ar_offset and ar_decode fields.
|
1.17 |
| 31-Dec-2019 |
jmcneill | Create bus_dma tags for each device node based on _CCA and _DMA properties found by walking up the device node tree. These tags encode range restrictions, address translations, and whether or not the device is cache coherent.
|
1.16 |
| 31-Dec-2019 |
jmcneill | The DMA restrictions may not be defined in the direct parent of a device, so search up the tree for a module device.
|
1.15 |
| 30-Dec-2019 |
jmcneill | If a device node is a child of a module device, and the module device declares DMA range restrictions, use them.
|
1.14 |
| 29-Dec-2019 |
jmcneill | Allow MD code to provide custom bus_dma tags on a per-node basis. On Arm this is required to return non-coherent bus_dma tags for device nodes with _CCA=0
|
1.13 |
| 28-Dec-2019 |
jmcneill | Do not use Early Write Acknowledge for PCIe I/O and config space.
|
1.12 |
| 23-Dec-2019 |
jmcneill | Implement acpi_md_intr_mask and acpi_md_intr_unmask
|
1.11 |
| 22-Dec-2019 |
thorpej | Add acpi_intr_mask() and acpi_intr_unmask() which, following the pre-existing ACPI software layering model, are wrappers around acpi_md_intr_mask() and acpi_md_intr_unmask(), which in turn are wrappers around intr_mask() and intr_unmask().
XXX ARM and IA64 implementations of acpi_md_intr_mask() and acpi_md_intr_unmask() are just stubs for now.
|
1.10 |
| 12-Aug-2019 |
skrll | Use same style test as acpi_md_OsWritable
|
1.9 |
| 12-Aug-2019 |
skrll | Correct the test for writeable memory. There aren't any users of this at this point.
|
1.8 |
| 01-Aug-2019 |
jmcneill | Always map ACPI table memory as normal memory. Always map device memory as device memory.
|
1.7 |
| 01-Aug-2019 |
jmcneill | acpi_md_OsMapMemory can be used for both normal and device memory. Use the UEFI memory map to determine how to map a given region.
|
1.6 |
| 16-Nov-2018 |
jmcneill | branches: 1.6.4; 1.6.6; Add MD functions for establishing and disestablishing interrupt handlers.
|
1.5 |
| 12-Nov-2018 |
jmcneill | Support building kernels with ACPI and no PCI.
|
1.4 |
| 21-Oct-2018 |
jmcneill | Don't make assumptions about the order of MADT subtables. Ensure that we attach CPUs before the interrupt controller driver.
|
1.3 |
| 16-Oct-2018 |
jmcneill | branches: 1.3.2; Fix size calculation in acpi_md_OsUnmapMemory
|
1.2 |
| 15-Oct-2018 |
jmcneill | Add ARM ACPI PCI support.
|
1.1 |
| 12-Oct-2018 |
jmcneill | Add ARM MD ACPI implementation.
|
1.3.2.3 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.3.2.2 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.3.2.1 |
| 16-Oct-2018 |
pgoyette | file acpi_machdep.c was added on branch pgoyette-compat on 2018-10-20 06:58:24 +0000
|
1.6.6.3 |
| 29-Dec-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #586):
sys/arch/arm/nvidia/tegra_pcie.c: revision 1.27 sys/arch/aarch64/aarch64/pmap.c: revision 1.57 sys/arch/aarch64/aarch64/locore.S: revision 1.48 sys/arch/aarch64/include/armreg.h: revision 1.29 sys/arch/aarch64/aarch64/pmap.c: revision 1.58 sys/arch/aarch64/aarch64/locore.S: revision 1.49 sys/arch/arm/acpi/acpipchb.c: revision 1.14 sys/arch/aarch64/aarch64/genassym.cf: revision 1.16 sys/arch/arm/acpi/acpi_machdep.c: revision 1.13 sys/arch/aarch64/include/pmap.h: revision 1.27 sys/arch/aarch64/aarch64/genassym.cf: revision 1.17 sys/arch/aarch64/include/pmap.h: revision 1.28 sys/arch/arm/fdt/pcihost_fdtvar.h: revision 1.3 sys/arch/arm/include/bus_defs.h: revision 1.14 sys/arch/aarch64/aarch64/bus_space.c: revision 1.9 sys/arch/arm/fdt/pcihost_fdt.c: revision 1.12 sys/arch/aarch64/conf/files.aarch64: revision 1.15 sys/arch/aarch64/conf/files.aarch64: revision 1.16 sys/arch/arm/rockchip/rk3399_pcie.c: revision 1.9
Enable early write acknowledge for device memory mappings.
Do not use Early Write Acknowledge for PCIe I/O and config space.
|
1.6.6.2 |
| 12-Aug-2019 |
martin | Pull up following revision(s) (requested by skrll in ticket #48):
sys/arch/arm/acpi/acpi_machdep.c: revision 1.9 sys/arch/arm/acpi/acpi_machdep.c: revision 1.10
Correct the test for writeable memory. There aren't any users of this at this point.
Use same style test as acpi_md_OsWritable
|
1.6.6.1 |
| 04-Aug-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #3):
sys/stand/efiboot/efiacpi.c: revision 1.4 sys/stand/efiboot/efifdt.c: revision 1.18 sys/stand/efiboot/version: revision 1.12 sys/arch/arm/acpi/acpi_machdep.c: revision 1.7 sys/arch/arm/acpi/acpi_machdep.c: revision 1.8
Add full UEFI memory map to the /chosen node.
-
acpi_md_OsMapMemory can be used for both normal and device memory. Use the UEFI memory map to determine how to map a given region.
Always map ACPI table memory as normal memory. Always map device memory as device memory.
|
1.6.4.4 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.6.4.3 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.6.4.2 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.6.4.1 |
| 16-Nov-2018 |
christos | file acpi_machdep.c was added on branch phil-wifi on 2019-06-10 22:05:50 +0000
|
1.18.2.1 |
| 25-Jan-2020 |
ad | Sync with head.
|
1.20.2.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|
1.21.2.2 |
| 17-Apr-2021 |
thorpej | acpi_md_gtdt_probe(): Fix paste-o in interface attribute name.
|
1.21.2.1 |
| 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.22.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|