History log of /openbsd-current/sys/arch/arm64/stand/efiboot/efiacpi.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.17 23-Jun-2024 kettenis

Add support for ACPI firmware that provides the base address of individual
GIC redistributors in the per-CPU GIC MADT table entries.

ok patrick@


Revision tags: OPENBSD_7_5_BASE
# 1.16 09-Oct-2023 patrick

Recognize GICv4 in the MADT and configure it as arm,gic-v3.

ok kettenis@


Revision tags: OPENBSD_7_4_BASE
# 1.15 12-Sep-2023 jmatthew

Add an "openbsd,gic-its-id" property to gic-its nodes containing the ITS ID.

ok kettenis@ patrick@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.14 02-Jan-2022 jsg

preferense -> preference


# 1.13 02-Jan-2022 jsg

plaform -> platform


Revision tags: OPENBSD_7_0_BASE
# 1.12 06-Jun-2021 krw

Replace all uses of 'EFI_CALL(func, params)' with
the expansion 'func(params)'.

Allows upcoming removal of eficall.h.

Tested & ok naddy@


Revision tags: OPENBSD_6_9_BASE
# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.16 09-Oct-2023 patrick

Recognize GICv4 in the MADT and configure it as arm,gic-v3.

ok kettenis@


Revision tags: OPENBSD_7_4_BASE
# 1.15 12-Sep-2023 jmatthew

Add an "openbsd,gic-its-id" property to gic-its nodes containing the ITS ID.

ok kettenis@ patrick@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.14 02-Jan-2022 jsg

preferense -> preference


# 1.13 02-Jan-2022 jsg

plaform -> platform


Revision tags: OPENBSD_7_0_BASE
# 1.12 06-Jun-2021 krw

Replace all uses of 'EFI_CALL(func, params)' with
the expansion 'func(params)'.

Allows upcoming removal of eficall.h.

Tested & ok naddy@


Revision tags: OPENBSD_6_9_BASE
# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.15 12-Sep-2023 jmatthew

Add an "openbsd,gic-its-id" property to gic-its nodes containing the ITS ID.

ok kettenis@ patrick@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.14 02-Jan-2022 jsg

preferense -> preference


# 1.13 02-Jan-2022 jsg

plaform -> platform


Revision tags: OPENBSD_7_0_BASE
# 1.12 06-Jun-2021 krw

Replace all uses of 'EFI_CALL(func, params)' with
the expansion 'func(params)'.

Allows upcoming removal of eficall.h.

Tested & ok naddy@


Revision tags: OPENBSD_6_9_BASE
# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.14 02-Jan-2022 jsg

preferense -> preference


# 1.13 02-Jan-2022 jsg

plaform -> platform


Revision tags: OPENBSD_7_0_BASE
# 1.12 06-Jun-2021 krw

Replace all uses of 'EFI_CALL(func, params)' with
the expansion 'func(params)'.

Allows upcoming removal of eficall.h.

Tested & ok naddy@


Revision tags: OPENBSD_6_9_BASE
# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.12 06-Jun-2021 krw

Replace all uses of 'EFI_CALL(func, params)' with
the expansion 'func(params)'.

Allows upcoming removal of eficall.h.

Tested & ok naddy@


Revision tags: OPENBSD_6_9_BASE
# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.11 23-Mar-2021 patrick

Pack the SPCR struct definition since the struct isn't naturally aligned
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken. The structs for the other tables all seem to be packed as well.

ok kettenis@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.10 11-Mar-2021 jsg

spelling


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.9 06-Dec-2020 kettenis

Add missing byteswaps.

ok patrick@


Revision tags: OPENBSD_6_8_BASE
# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.8 11-May-2020 kettenis

On ACPI systems, if there is no SPCR table (or if it doesn't provide us
with a usable serial console) switch to the framebuffer console. This
makes the rpi4 do the right thing since the SPCR table is suppressed when
you select "Graphics" as the display.

ok patrick@


Revision tags: OPENBSD_6_7_BASE
# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.7 21-Apr-2020 kettenis

Add an openbsd,dma-constraint property to the /chosen node and set it
to an appropriate value for the Raspberry Pi 4.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.6 26-Dec-2019 kettenis

In ACPI mode, do not generate "cpu" nodes for CPUs that are disabled.
Fixes booting on ACPI machines where the MADT table lists CPUs that
are disabled such as the od1000 with new EDK2 firmware.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@


# 1.5 11-Aug-2018 kettenis

Make GICv3 redistributor support actually work and add ITS support.


# 1.4 10-Jul-2018 kettenis

Always use PSCI to enable secondary CPUs if it is detected.


# 1.3 09-Jul-2018 kettenis

Add a phandle to v2m nodes.


# 1.2 30-Jun-2018 kettenis

Some tweaks such that ACPI 5.1 tables are recognized as well.


# 1.1 25-Jun-2018 kettenis

Add code that builds a basic device tree from ACPI tables if the firmware
didn't provide its own device tree.

ok patrick@