diff options
author | Andrei Warkentin <andrey.warkentin@gmail.com> | 2020-05-10 14:34:50 -0700 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@arm.com> | 2020-05-11 13:27:50 +0200 |
commit | d492639638eee331ac3389e6cf53ea266c3c84b3 (patch) | |
tree | 763b56ae6a5b129ce0636a8656cd3e9b427ff5c7 /Platform/RaspberryPi/RPi3 | |
parent | e52345a42fd37771514da9ef63569603280258ea (diff) |
RPi: allow selecting DT-only mode
Today the Pies can be booted in a way where only ACPI is exposed,
or both ACPI and DT are exposed.
This adds one more mode - DT only, no ACPI. The target audience
is developers. When both are exposed, it's up to the OS to decide
which gets used, and that choice can differ between OSes,
Note: this does _not_ change defaults. Pi 3 still defaults to
ACPI + DT, while Pi 4 still defaults to ACPI only.
We don't really want to remove DT + ACPI mode - it is the default
on Pi 3, and removing it is bound to just annoy users - WoA and
NetBSD (voa UEFI) on Pi 3 only work with ACPI, while everything
else (Linux, FreeBSD) only work with DT. I'd make an analogy of
MPS and ACPI being exposed for the longest time ever together on
PCs.
Testing: OpenBSD on Pi 4 with DT-only and ACPI-only boots.
Signed-off-by: Andrei Warkentin <andrey.warkentin@gmail.com>
Reviewed-by: Pete Batard <pete@akeo.ie>
Diffstat (limited to 'Platform/RaspberryPi/RPi3')
-rw-r--r-- | Platform/RaspberryPi/RPi3/RPi3.dsc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc index bf645110..10ad7965 100644 --- a/Platform/RaspberryPi/RPi3/RPi3.dsc +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc @@ -484,9 +484,13 @@ gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|0
#
- # Device Tree
+ # Device Tree and ACPI selection.
#
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree|L"OptDeviceTree"|gConfigDxeFormSetGuid|0x0|1
+ # 0 - SYSTEM_TABLE_MODE_ACPI
+ # 1 - SYSTEM_TABLE_MODE_BOTH (default)
+ # 2 - SYSTEM_TABLE_MODE_DT
+ #
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|1
#
# Common UEFI ones.
|