History log of /freebsd-current/sys/dev/psci/psci.h
Revision Date Author Comments
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 7d0b9159 15-Mar-2023 Andrew Turner <andrew@FreeBSD.org>

Add PSCI affinity info return values

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


# e89be218 15-Mar-2023 Andrew Turner <andrew@FreeBSD.org>

Add a psci macro to build a version value

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


# 473ab212 15-Mar-2023 Andrew Turner <andrew@FreeBSD.org>

Allow psci.h to be used by userspace

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


# 2218070b 18-Mar-2022 Kyle Evans <kevans@FreeBSD.org>

psci: finish psci_present implementation

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


# 7722d8c7 13-Sep-2019 Ruslan Bukin <br@FreeBSD.org>

Add generic arm/arm64 secure-monitor SMCCC interface and switch
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


# 91e44013 19-Mar-2019 Michal Meloun <mmel@FreeBSD.org>

PSCI: Don't take missing implementation of psci get_version() as fatal.
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


# 9e8cb3d2 13-Jun-2018 Andrew Turner <andrew@FreeBSD.org>

Move psci_call to a header file so we can use it in other files to
communicate with the firmware.

Sponsored by: DARPA, AFRL


# 5add8393 12-Jun-2018 Andrew Turner <andrew@FreeBSD.org>

Add a handler for the PSCI_FEATURES function. This needs PSCI 1.0, so
check for this, returning an error if the version is too old.

Sponsored by: DARPA, AFRL


# 811880f2 12-Jun-2018 Andrew Turner <andrew@FreeBSD.org>

Add the PSCI_FEATURES function ID. This is found in PSCI 1.0 and is used
to query if a given function is implemented and its features.

Sponsored by: DARPA, AFRL


# 8ab09f8a 09-Jan-2018 Andrew Turner <andrew@FreeBSD.org>

Add a function to find the PSCI version the firmware implements from
outside the PSCI driver.

MFC after: 1 week
Sponsored by: DARPA, AFRL


# 574a7c6c 24-Apr-2017 Andrew Turner <andrew@FreeBSD.org>

Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the
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


# c2dd354b 25-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Create a new PSCI error code and use it to signal that starting the CPU is
impossible as the PSCI firmware is missing.

Sponsored by: ABT Systmes Ltd


# 46b1fe92 12-Apr-2015 Andrew Turner <andrew@FreeBSD.org>

Add a driver for the ARM Power State Coordination Interface (PSCI). This
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