aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/psci/psci.h
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* Add PSCI affinity info return valuesAndrew Turner2023-03-161-0/+4
| | | | | | | | These can be returned from the PSCI AFFINITY_INFO call. This is not marked as optional so bhyve will need to implement it & can use these macros. Sponsored by: Arm Ltd
* Add a psci macro to build a version valueAndrew Turner2023-03-161-0/+1
| | | | | | | Add PSCI_VER that takes a major and minor version and builds the value returned by the firmware. This will be used by bhyve. Sponsored by: Arm Ltd
* Allow psci.h to be used by userspaceAndrew Turner2023-03-161-0/+4
| | | | | | | | | | Wrap parts of psci.h that aren't usable by userspace in _KERNEL checks. This allows it to be used to implement PSCI and SMCCC by bhyve in userspace. Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation
* psci: finish psci_present implementationKyle Evans2022-03-191-1/+1
| | | | | | | | | | This was already declared in psci.h, but it was never defined/set. Do this now, so we can use it to decide if enable-method in /cpus FDT nodes should be inspected later on. While we're here, convert it to a boolean. Reviewed by: andrew (slightly earlier version) Differential Revision: https://reviews.freebsd.org/D34553
* Add generic arm/arm64 secure-monitor SMCCC interface and switchRuslan Bukin2019-09-131-6/+5
| | | | | | | | | | | | | | | | PSCI code to use it. This interface will also be used by Intel Stratix 10 platform. This was not tested on arm due to lack of PSCI-enabled arm hardware lying around. Reviewed by: andrew Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D21439 Notes: svn path=/head/; revision=352301
* PSCI: Don't take missing implementation of psci get_version() as fatal.Michal Meloun2019-03-191-1/+1
| | | | | | | | | | | Minimalistic PSCI implementation in U-Boot doesn't implement get_version() method for some SoC. In this case, use PSCI version declared by 'psci' node in DT as fallback. MFC after: 2 weeks Notes: svn path=/head/; revision=345299
* Move psci_call to a header file so we can use it in other files toAndrew Turner2018-06-131-0/+8
| | | | | | | | | communicate with the firmware. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=335061
* Add a handler for the PSCI_FEATURES function. This needs PSCI 1.0, soAndrew Turner2018-06-131-2/+5
| | | | | | | | | check for this, returning an error if the version is too old. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=335056
* Add the PSCI_FEATURES function ID. This is found in PSCI 1.0 and is usedAndrew Turner2018-06-131-0/+2
| | | | | | | | | to query if a given function is implemented and its features. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=335054
* Add a function to find the PSCI version the firmware implements fromAndrew Turner2018-01-091-0/+1
| | | | | | | | | | outside the PSCI driver. MFC after: 1 week Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=327728
* Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB theAndrew Turner2017-04-241-1/+1
| | | | | | | | | | | | kernel calls this directly so the event handler is not called, meaning the computer fails to reboot. Tested by: cognet MFC after: 1 week Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=317361
* Create a new PSCI error code and use it to signal that starting the CPU isAndrew Turner2016-10-251-0/+4
| | | | | | | | | impossible as the PSCI firmware is missing. Sponsored by: ABT Systmes Ltd Notes: svn path=/head/; revision=307910
* Add a driver for the ARM Power State Coordination Interface (PSCI). ThisAndrew Turner2015-04-121-0/+102
handles versions 0.1 and 0.2 of the standard on 32-bit ARM. With this driver we can shutdown in QEMU. Further work is needed to turn secondary cores on on boot and to support later revisions of the specification. Submitted by: Robin Randhawa <Robin.Randhawa at ARM.com> Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=281466