History log of /src/sys/arch/arm/acpi/acpi_platform.c |
Revision | | Date | Author | Comments |
1.39 |
| 06-Sep-2025 |
thorpej | Refactor the "platform" defitions into fdt_platform.h
|
1.38 |
| 08-Dec-2024 |
jmcneill | acpi: Try PSCI before UEFI RT for shutdown/reset.
BSA says that an OS can use either UEFI RT or PSCI, and that the RT implementation should just call PSCI.
Given the amount of implementation issues with UEFI RT, let's try PSCI first, because it's nice to be able to reboot and poweroff even with buggy firmware.
|
1.37 |
| 30-Jun-2024 |
jmcneill | aarch64: Add NUMA awareness for ACPI systems with SRAT tables.
On an Ampere Altra w/ hemisphere mode enabled:
[ 1.0000000] cpu0: package 16, core 0, smt 0, numa 0 [...] [ 1.0000000] cpu32: package 22, core 0, smt 0, numa 1
[ 1.000004] SRAT: 2 NUMA nodes [ 1.000004] SRAT: node 0 memory range 0 (0x88300000 - 0x88400000 flags 1) [ 1.000004] SRAT: node 0 memory range 1 (0x90000000 - 0x100000000 flags 1) [ 1.000004] SRAT: node 0 memory range 2 (0x80000000000 - 0x80080000000 flags 1) [ 1.000004] SRAT: node 0 memory range 3 (0x80100000000 - 0x81000000000 flags 1) [ 1.000004] SRAT: node 1 memory range 0 (0xc0000000000 - 0xc1000000000 flags 1)
|
1.36 |
| 07-Apr-2023 |
skrll | branches: 1.36.6; Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
|
1.35 |
| 24-Jan-2023 |
mlelstv | Add support for FIFOs and hardware flow-control to plcom driver. Add a PLCOM_TYPE_GENERIC_UART variant to match SBSA requirements.
|
1.34 |
| 16-Nov-2022 |
skrll | typo in comment
|
1.33 |
| 06-Sep-2022 |
skrll | Use the ACPICA define ACPI_DBG2_16550_WITH_GAS
|
1.32 |
| 24-Oct-2021 |
jmcneill | More SPCR cleanup:
- For 16550 style UARTs, always honour GAS if BitWidth != 0 - Use BitWidth instead of AccessWidth to determine register stride - For baud rate ID of 0, assume 115200 until we have a way of probing the baud rate configured by firmware.
|
1.31 |
| 23-Oct-2021 |
jmcneill | It seems that there are three 16550 types for SPCR:
- 0x0000: Fully 16550-compatible (1-byte I/O) - 0x0001: 16550 subset compatible with DBGP Revision 1 (4-byte MMIO) - 0x0012: 16550-compatible with parameters defined in GAS
So assume reg_width for types 0 and 1, and only look at GAS for type 12h.
|
1.30 |
| 21-Oct-2021 |
jmcneill | baud_rate is signed now
|
1.29 |
| 20-Oct-2021 |
jakllsch | SPCR_BAUD_DEFAULT maps better to -1 than 0
Suggested by jmcneill@
|
1.28 |
| 07-Aug-2021 |
jmcneill | acpi: call smccc_probe() after PSCI init
|
1.27 |
| 06-Aug-2021 |
jmcneill | Arm: Add support for SMC Calling Convention
Arm DEN0028 defines a calling mechanism used with Secure Monitor Call (SMC) and Hypervisor Call (HVC) instructions. To discover SMCCC, we must:
1) Find the PSCI conduit (either via ACPI FADT, or Device Tree) 2) Use PSCI_VERSION to determine whether PSCI_FEATURES is supported 3) Call PSCI_FEATURES with SMCCC_VERSION to determine the implementation version.
|
1.26 |
| 12-May-2021 |
thorpej | - Define a device call for PCI bus instances to fetch a direct child's device handle given the device's device/function #s (extracted from a pcitag_t). Use it to associate the handle with the child device at config_found() time. - Implement this device call for ACPI and OpenFirmware. - Enable the OpenFirmware variant for evbarm FDT, macppc, ofppc, sparc64. - Obsolete acpi_device_register(); it is no longer needed. - Obsolete setting the OpenFirmware handle in PCI devices in the sparc64 device_register(); it is no longer needed.
|
1.25 |
| 24-Apr-2021 |
thorpej | branches: 1.25.2; 1.25.4; 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.24 |
| 12-Feb-2021 |
jmcneill | branches: 1.24.2; Reset serial terminal to default state at boot.
UEFI may leave the serial console in an undesireable state (incorrect foreground and background colour, etc) when exiting. Send ANSI escape sequences when setting up the early console attachments to turn off character attributes and erase from the cursor to the end of the screen.
|
1.23 |
| 04-Feb-2021 |
thorpej | Call acpi_device_register() / fdtbus_device_register() as approrpriate.
|
1.22 |
| 06-Dec-2020 |
jmcneill | acpi: Cleanup SPCR setup and style fixes.
|
1.21 |
| 10-Oct-2020 |
jmcneill | branches: 1.21.2; Support early FB console attachment when booting with a devicetree (non-ACPI mode). Inform the pciconf code about the framebuffer to prevent pciconf from changing resources out from under us when framebuffer memory is in VRAM.
|
1.20 |
| 28-Sep-2020 |
jmcneill | Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer of this was various com(4) glue so modify all of that to use the new com_init_regs_stride instead.
|
1.19 |
| 13-Sep-2020 |
jmcneill | Make Arm MD ACPI code big endian friendly.
|
1.18 |
| 22-Sep-2019 |
jmcneill | Use vcons for simplefb preattach to speed up early console messages.
|
1.17 |
| 19-Aug-2019 |
jmcneill | Use a unique name for the acpi ARM_PLATFORM definition
|
1.16 |
| 02-Aug-2019 |
jmcneill | Ignore AccessWidth (PL011 and SBSA console always needs 32-bit access)
|
1.15 |
| 24-Jul-2019 |
jmcneill | branches: 1.15.2; Add early fb console support
|
1.14 |
| 22-Jun-2019 |
jmcneill | Finish the job
|
1.13 |
| 19-Jun-2019 |
jmcneill | Provide a 64-bit dma tag and use a coherent tag unless CCA=0
|
1.12 |
| 23-May-2019 |
ryo | branches: 1.12.2; fix build without options MULTIPROCESSOR
|
1.11 |
| 21-Dec-2018 |
jmcneill | Use SPCR to force console selection for com@acpi. This is needed because we may use a non-standard bus_space tag (a4x) to attach the console early, which breaks com_is_console.
|
1.10 |
| 28-Nov-2018 |
jmcneill | Force a matching com@puc by seg/bus/dev/func to be the console device if specified in SPCR
|
1.9 |
| 28-Nov-2018 |
jmcneill | Replace SPCR_INTERFACE_TYPE_* defines with ACPI_DBG2_* from acpica. Suggested by msaitoh@
|
1.8 |
| 27-Nov-2018 |
jmcneill | Add support for SPCR 16550 and 16450 interface types
|
1.7 |
| 24-Nov-2018 |
rjs | Allow building when plcom isn't used.
|
1.6 |
| 30-Oct-2018 |
skrll | Retire fdt_putchar and ap_early_put_char in favour of uartputc.
|
1.5 |
| 28-Oct-2018 |
jmcneill | Add support for EFI runtime services on aarch64.
|
1.4 |
| 19-Oct-2018 |
jmcneill | branches: 1.4.2; Fix BCM2835 console support.
|
1.3 |
| 15-Oct-2018 |
jmcneill | Handle more plcom-style console types
|
1.2 |
| 13-Oct-2018 |
jmcneill | Don't rely on PSCI node in FDT to reboot
|
1.1 |
| 12-Oct-2018 |
jmcneill | Add ACPI platform glue and basic device drivers (CPU, GIC, Generic Timer, SBSA UART).
|
1.4.2.4 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.4.2.3 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.4.2.2 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.4.2.1 |
| 19-Oct-2018 |
pgoyette | file acpi_platform.c was added on branch pgoyette-compat on 2018-10-20 06:58:24 +0000
|
1.12.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.12.2.2 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.12.2.1 |
| 23-May-2019 |
christos | file acpi_platform.c was added on branch phil-wifi on 2019-06-10 22:05:50 +0000
|
1.15.2.2 |
| 23-Sep-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #231):
sys/arch/arm/acpi/acpi_platform.c: revision 1.18 sys/arch/arm/acpi/files.acpi: revision 1.7 sys/arch/arm/acpi/acpi_simplefb.c: revision 1.1 sys/arch/arm/acpi/acpi_simplefb.h: revision 1.1
Use vcons for simplefb preattach to speed up early console messages.
|
1.15.2.1 |
| 04-Aug-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #17):
sys/arch/arm/acpi/acpi_platform.c: revision 1.16
Ignore AccessWidth (PL011 and SBSA console always needs 32-bit access)
|
1.21.2.2 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.21.2.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|
1.24.2.1 |
| 03-Apr-2021 |
thorpej | - FDT device enumeration now sets the device handle using CFARG_DEVHANDLE. - fdtbus_device_register() is now obsolete, so G/C it. - of_device_register() is now obsolete, so G/C it.
|
1.25.4.1 |
| 31-May-2021 |
cjep | sync with head
|
1.25.2.1 |
| 13-May-2021 |
thorpej | Sync with HEAD.
|
1.36.6.2 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|
1.36.6.1 |
| 01-Jul-2024 |
perseant | Sync with HEAD.
|