From: "Andrei Warkentin" <andrey.warkentin@gmail.com>
To: devel@edk2.groups.io
Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie,
philmd@redhat.com
Subject: [edk2-platforms][PATCH 1/1] RPi: allow selecting which system config tables are exposed
Date: Tue, 5 May 2020 17:59:29 -0700 [thread overview]
Message-ID: <20200506005929.84361-1-andrey.warkentin@gmail.com> (raw)
Today we just have an option to hide DT entirely, while ACPI
is always exposed. This change extends the option to
provide all three choices:
- ACPI only
- ACPI + DT
- DT only
Why? Because not all OSes will prefer DT over ACPI when both are available.
To do this cleanly, move the variable structure and value definitions
into a separate header, ConfigVars.h.
Signed-off-by: Andrei Warkentin <andrey.warkentin@gmail.com>
---
Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 20 +--
Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf | 2 +-
Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni | 9 +-
Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr | 146 ++------------------
Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 6 +-
Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf | 2 +-
Platform/RaspberryPi/Include/ConfigVars.h | 131 ++++++++++++++++++
Platform/RaspberryPi/RPi3/RPi3.dsc | 4 +-
Platform/RaspberryPi/RPi4/RPi4.dsc | 4 +-
Platform/RaspberryPi/RaspberryPi.dec | 2 +-
10 files changed, 171 insertions(+), 155 deletions(-)
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
index c90c2530..00867879 100644
--- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
@@ -22,6 +22,7 @@
#include <IndustryStandard/Bcm2836Gpio.h>
#include <Library/GpioLib.h>
#include <Protocol/RpiFirmware.h>
+#include <ConfigVars.h>
#include "ConfigDxeFormSetGuid.h"
#define FREQ_1_MHZ 1000000
@@ -154,11 +155,11 @@ SetupVariables (
}
Size = sizeof (UINT32);
- Status = gRT->GetVariable (L"OptDeviceTree",
+ Status = gRT->GetVariable (L"SystemTableMode",
&gConfigDxeFormSetGuid,
NULL, &Size, &Var32);
if (EFI_ERROR (Status)) {
- PcdSet32 (PcdOptDeviceTree, PcdGet32 (PcdOptDeviceTree));
+ PcdSet32 (PcdSystemTableMode, PcdGet32 (PcdSystemTableMode));
}
Size = sizeof (UINT32);
@@ -259,10 +260,10 @@ ApplyVariables (
UINT64 SystemMemorySize;
switch (CpuClock) {
- case 0: // Low
+ case CHIPSET_CPU_CLOCK_LOW:
Rate = FixedPcdGet32 (PcdCpuLowSpeedMHz) * FREQ_1_MHZ;
break;
- case 1: // Default
+ case CHIPSET_CPU_CLOCK_DEFAULT:
/*
* What the Raspberry Pi Foundation calls "max clock rate" is really the default value
* from: https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
@@ -272,10 +273,10 @@ ApplyVariables (
DEBUG ((DEBUG_ERROR, "Couldn't read default CPU speed %r\n", Status));
}
break;
- case 2: // Max
+ case CHIPSET_CPU_CLOCK_MAX:
Rate = FixedPcdGet32 (PcdCpuMaxSpeedMHz) * FREQ_1_MHZ;
break;
- case 3: // Custom
+ case CHIPSET_CPU_CLOCK_CUSTOM:
Rate = CustomCpuClock * FREQ_1_MHZ;
break;
}
@@ -487,8 +488,11 @@ ConfigInitialize (
DEBUG ((DEBUG_ERROR, "Couldn't install ConfigDxe configuration pages: %r\n", Status));
}
- Status = LocateAndInstallAcpiFromFv (&mAcpiTableFile);
- ASSERT_EFI_ERROR (Status);
+ if (PcdGet32 (PcdSystemTableMode) == SYSTEM_TABLE_MODE_ACPI ||
+ PcdGet32 (PcdSystemTableMode) == SYSTEM_TABLE_MODE_BOTH) {
+ Status = LocateAndInstallAcpiFromFv (&mAcpiTableFile);
+ ASSERT_EFI_ERROR (Status);
+ }
return EFI_SUCCESS;
}
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
index 57963baf..e47f3af6 100644
--- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
@@ -77,7 +77,7 @@
gRaspberryPiTokenSpaceGuid.PcdDebugShowUEFIExit
gRaspberryPiTokenSpaceGuid.PcdDisplayEnableScaledVModes
gRaspberryPiTokenSpaceGuid.PcdDisplayEnableSShot
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode
gRaspberryPiTokenSpaceGuid.PcdRamMoreThan3GB
gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
index 07660072..7195e497 100644
--- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
@@ -41,10 +41,11 @@
#string STR_ADVANCED_3GB_OFF #language en-US "Disabled"
#string STR_ADVANCED_3GB_ON #language en-US "Enabled"
-#string STR_ADVANCED_DT_PROMPT #language en-US "Device Tree"
-#string STR_ADVANCED_DT_HELP #language en-US "Disable this option to force OSes such as GNU/Linux to use ACPI"
-#string STR_ADVANCED_DT_OFF #language en-US "Disabled (Force ACPI)"
-#string STR_ADVANCED_DT_ON #language en-US "Enabled"
+#string STR_ADVANCED_SYSTAB_PROMPT #language en-US "System Table Selection"
+#string STR_ADVANCED_SYSTAB_HELP #language en-US "ACPI/DT choice for specific OSes"
+#string STR_ADVANCED_SYSTAB_ACPI #language en-US "ACPI"
+#string STR_ADVANCED_SYSTAB_BOTH #language en-US "ACPI + Devicetree"
+#string STR_ADVANCED_SYSTAB_DT #language en-US "Devicetree"
/*
* MMC/SD configuration.
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
index 0a650a94..72cc90ae 100644
--- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
@@ -8,128 +8,7 @@
#include <Guid/HiiPlatformSetupFormset.h>
#include "ConfigDxeFormSetGuid.h"
-
-#pragma pack(1)
-typedef struct {
- /*
- * One bit for each scaled resolution supported,
- * these are ordered exactly like mGopModeData
- * in DisplayDxe.
- *
- * 800x600, 640x480, 1024x768, 720p, 1080p, native.
- */
- UINT8 v640 : 1;
- UINT8 v800 : 1;
- UINT8 v1024 : 1;
- UINT8 v720p : 1;
- UINT8 v1080p : 1;
- UINT8 Physical : 1;
-} DISPLAY_ENABLE_SCALED_VMODES_VARSTORE_DATA;
-#pragma pack()
-
-typedef struct {
- /*
- * 0 - No screenshot support.
- * 1 - Screenshot support via hotkey.
- */
- UINT32 Enable;
-} DISPLAY_ENABLE_SSHOT_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - No JTAG.
- * 1 - JTAG mode.
- */
- UINT32 Enable;
-} DEBUG_ENABLE_JTAG_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - Don't show UEFI exit message.
- * 1 - Show UEFI exit message.
- */
- UINT32 Show;
-} DEBUG_SHOW_UEFI_EXIT_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - low.
- * 1 - default.
- * 2 - maximum.
- * 3 - custom.
- */
- UINT32 Clock;
-} CHIPSET_CPU_CLOCK_VARSTORE_DATA;
-
-typedef struct {
- UINT32 Clock;
-} CHIPSET_CUSTOM_CPU_CLOCK_VARSTORE_DATA;
-
-typedef struct {
- /*
- * Always set by ConfigDxe prior to HII init to reflect
- * platform capability.
- */
- UINT32 Supported;
-} ADVANCED_RAM_MORE_THAN_3GB_VARSTORE_DATA;
-
-typedef struct {
- UINT32 Enabled;
-} ADVANCED_RAM_LIMIT_TO_3GB_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - Do not provide a Device Tree to the OS
- * 1 - Provide a Device Tree to the OS
- */
- UINT32 Enabled;
-} ADVANCED_DEVICE_TREE_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - uSD slot routed to Broadcom SDHOST on Pi 3 or eMMC2 on Pi 4.
- * 1 - uSD slot routed to Arasan SDHCI.
- */
- UINT32 Routing;
-} MMC_SD_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - Don't disable multi-block.
- * 1 - Disable multi-block commands.
- */
- UINT32 DisableMulti;
-} MMC_DISMULTI_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - Don't force 1 bit mode.
- * 1 - Force 1 bit mode.
- */
- UINT32 Force1Bit;
-} MMC_FORCE1BIT_VARSTORE_DATA;
-
-typedef struct {
- /*
- * 0 - Don't force default speed.
- * 1 - Force default speed.
- */
- UINT32 ForceDS;
-} MMC_FORCEDS_VARSTORE_DATA;
-
-typedef struct {
- /*
- * Default Speed MHz override (25MHz default).
- */
- UINT32 MHz;
-} MMC_SD_DS_MHZ_VARSTORE_DATA;
-
-typedef struct {
- /*
- * High Speed MHz override (50MHz default).
- */
- UINT32 MHz;
-} MMC_SD_HS_MHZ_VARSTORE_DATA;
+#include <ConfigVars.h>
//
// EFI Variable attributes
@@ -165,9 +44,9 @@ formset
name = RamLimitTo3GB,
guid = CONFIGDXE_FORM_SET_GUID;
- efivarstore ADVANCED_DEVICE_TREE_VARSTORE_DATA,
+ efivarstore SYSTEM_TABLE_MODE_VARSTORE_DATA,
attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,
- name = OptDeviceTree,
+ name = SystemTableMode,
guid = CONFIGDXE_FORM_SET_GUID;
efivarstore MMC_SD_VARSTORE_DATA,
@@ -253,10 +132,10 @@ formset
prompt = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_PROMPT),
help = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_HELP),
flags = NUMERIC_SIZE_4 | INTERACTIVE | RESET_REQUIRED,
- option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_LOW), value = 0, flags = 0;
- option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_DEF), value = 1, flags = DEFAULT;
- option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_MAX), value = 2, flags = 0;
- option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_CUSTOM), value = 3, flags = 0;
+ option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_LOW), value = CHIPSET_CPU_CLOCK_LOW, flags = 0;
+ option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_DEF), value = CHIPSET_CPU_CLOCK_DEFAULT, flags = DEFAULT;
+ option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_MAX), value = CHIPSET_CPU_CLOCK_MAX, flags = 0;
+ option text = STRING_TOKEN(STR_CHIPSET_CLOCK_CPU_CUSTOM), value = CHIPSET_CPU_CLOCK_CUSTOM, flags = 0;
endoneof;
grayoutif NOT ideqval CpuClock.Clock == 3;
@@ -285,12 +164,13 @@ formset
endoneof;
endif;
- oneof varid = OptDeviceTree.Enabled,
- prompt = STRING_TOKEN(STR_ADVANCED_DT_PROMPT),
- help = STRING_TOKEN(STR_ADVANCED_DT_HELP),
+ oneof varid = SystemTableMode.Mode,
+ prompt = STRING_TOKEN(STR_ADVANCED_SYSTAB_PROMPT),
+ help = STRING_TOKEN(STR_ADVANCED_SYSTAB_HELP),
flags = NUMERIC_SIZE_4 | INTERACTIVE | RESET_REQUIRED,
- option text = STRING_TOKEN(STR_ADVANCED_DT_OFF), value = 0, flags = 0;
- option text = STRING_TOKEN(STR_ADVANCED_DT_ON), value = 1, flags = DEFAULT;
+ option text = STRING_TOKEN(STR_ADVANCED_SYSTAB_ACPI), value = SYSTEM_TABLE_MODE_ACPI, flags = 0;
+ option text = STRING_TOKEN(STR_ADVANCED_SYSTAB_BOTH), value = SYSTEM_TABLE_MODE_BOTH, flags = DEFAULT;
+ option text = STRING_TOKEN(STR_ADVANCED_SYSTAB_DT), value = SYSTEM_TABLE_MODE_DT, flags = DEFAULT;
endoneof;
endform;
diff --git a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
index cb11256e..0472d8ec 100644
--- a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
+++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
@@ -15,10 +15,9 @@
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <libfdt.h>
-
#include <Protocol/RpiFirmware.h>
-
#include <Guid/Fdt.h>
+#include <ConfigVars.h>
STATIC VOID *mFdtImage;
@@ -356,7 +355,8 @@ FdtDxeInitialize (
UINTN FdtSize;
VOID *FdtImage = NULL;
- if (PcdGet32 (PcdOptDeviceTree) == 0) {
+ if (PcdGet32 (PcdSystemTableMode) != SYSTEM_TABLE_MODE_BOTH &&
+ PcdGet32 (PcdSystemTableMode) != SYSTEM_TABLE_MODE_DT) {
DEBUG ((DEBUG_INFO, "Device Tree disabled per user configuration\n"));
return EFI_SUCCESS;
}
diff --git a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
index 49ba5ba1..26f84e59 100644
--- a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
+++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
@@ -46,4 +46,4 @@
gRaspberryPiTokenSpaceGuid.PcdFdtBaseAddress
[Pcd]
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode
diff --git a/Platform/RaspberryPi/Include/ConfigVars.h b/Platform/RaspberryPi/Include/ConfigVars.h
new file mode 100644
index 00000000..28837f98
--- /dev/null
+++ b/Platform/RaspberryPi/Include/ConfigVars.h
@@ -0,0 +1,131 @@
+/** @file
+ *
+ * Copyright (c) 2020, Andrei Warkentin <andrey.warkentin@gmail.com>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ *
+ **/
+
+#ifndef CONFIG_VARS_H
+#define CONFIG_VARS_H
+
+#pragma pack(1)
+typedef struct {
+ /*
+ * One bit for each scaled resolution supported,
+ * these are ordered exactly like mGopModeData
+ * in DisplayDxe.
+ *
+ * 800x600, 640x480, 1024x768, 720p, 1080p, native.
+ */
+ UINT8 v640 : 1;
+ UINT8 v800 : 1;
+ UINT8 v1024 : 1;
+ UINT8 v720p : 1;
+ UINT8 v1080p : 1;
+ UINT8 Physical : 1;
+} DISPLAY_ENABLE_SCALED_VMODES_VARSTORE_DATA;
+#pragma pack()
+
+typedef struct {
+ /*
+ * 0 - No screenshot support.
+ * 1 - Screenshot support via hotkey.
+ */
+ UINT32 Enable;
+} DISPLAY_ENABLE_SSHOT_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - No JTAG.
+ * 1 - JTAG mode.
+ */
+ UINT32 Enable;
+} DEBUG_ENABLE_JTAG_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - Don't show UEFI exit message.
+ * 1 - Show UEFI exit message.
+ */
+ UINT32 Show;
+} DEBUG_SHOW_UEFI_EXIT_VARSTORE_DATA;
+
+typedef struct {
+#define CHIPSET_CPU_CLOCK_LOW 0
+#define CHIPSET_CPU_CLOCK_DEFAULT 1
+#define CHIPSET_CPU_CLOCK_MAX 2
+#define CHIPSET_CPU_CLOCK_CUSTOM 3
+ UINT32 Clock;
+} CHIPSET_CPU_CLOCK_VARSTORE_DATA;
+
+typedef struct {
+ UINT32 Clock;
+} CHIPSET_CUSTOM_CPU_CLOCK_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * Always set by ConfigDxe prior to HII init to reflect
+ * platform capability.
+ */
+ UINT32 Supported;
+} ADVANCED_RAM_MORE_THAN_3GB_VARSTORE_DATA;
+
+typedef struct {
+ UINT32 Enabled;
+} ADVANCED_RAM_LIMIT_TO_3GB_VARSTORE_DATA;
+
+typedef struct {
+#define SYSTEM_TABLE_MODE_ACPI 0
+#define SYSTEM_TABLE_MODE_BOTH 1
+#define SYSTEM_TABLE_MODE_DT 2
+ UINT32 Mode;
+} SYSTEM_TABLE_MODE_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - uSD slot routed to Broadcom SDHOST on Pi 3 or eMMC2 on Pi 4.
+ * 1 - uSD slot routed to Arasan SDHCI.
+ */
+ UINT32 Routing;
+} MMC_SD_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - Don't disable multi-block.
+ * 1 - Disable multi-block commands.
+ */
+ UINT32 DisableMulti;
+} MMC_DISMULTI_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - Don't force 1 bit mode.
+ * 1 - Force 1 bit mode.
+ */
+ UINT32 Force1Bit;
+} MMC_FORCE1BIT_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * 0 - Don't force default speed.
+ * 1 - Force default speed.
+ */
+ UINT32 ForceDS;
+} MMC_FORCEDS_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * Default Speed MHz override (25MHz default).
+ */
+ UINT32 MHz;
+} MMC_SD_DS_MHZ_VARSTORE_DATA;
+
+typedef struct {
+ /*
+ * High Speed MHz override (50MHz default).
+ */
+ UINT32 MHz;
+} MMC_SD_HS_MHZ_VARSTORE_DATA;
+
+#endif /* CONFIG_VARS_H */
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc
index 563fb891..721b8c20 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dsc
+++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
@@ -481,9 +481,9 @@
gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|0
#
- # Device Tree
+ # Device Tree and ACPI selection.
#
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree|L"OptDeviceTree"|gConfigDxeFormSetGuid|0x0|1
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|1
#
# Common UEFI ones.
diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc b/Platform/RaspberryPi/RPi4/RPi4.dsc
index 4deccd9d..c9ab999a 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -496,9 +496,9 @@
gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|1
#
- # Device Tree
+ # Device Tree and ACPI selection.
#
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree|L"OptDeviceTree"|gConfigDxeFormSetGuid|0x0|0
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|0
#
# Common UEFI ones.
diff --git a/Platform/RaspberryPi/RaspberryPi.dec b/Platform/RaspberryPi/RaspberryPi.dec
index 66ef6186..1a3c44e0 100644
--- a/Platform/RaspberryPi/RaspberryPi.dec
+++ b/Platform/RaspberryPi/RaspberryPi.dec
@@ -65,6 +65,6 @@
gRaspberryPiTokenSpaceGuid.PcdCustomCpuClock|0|UINT32|0x00000016
gRaspberryPiTokenSpaceGuid.PcdDisplayEnableScaledVModes|0x3F|UINT8|0x00000017
gRaspberryPiTokenSpaceGuid.PcdDisplayEnableSShot|0|UINT32|0x00000018
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree|1|UINT32|0x0000001B
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|1|UINT32|0x0000001B
gRaspberryPiTokenSpaceGuid.PcdRamMoreThan3GB|0|UINT32|0x00000019
gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|0|UINT32|0x0000001A
--
2.17.1
next reply other threads:[~2020-05-06 0:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-06 0:59 Andrei Warkentin [this message]
2020-05-06 6:38 ` [edk2-platforms][PATCH 1/1] RPi: allow selecting which system config tables are exposed Ard Biesheuvel
2020-05-06 18:26 ` [edk2-devel] " Andrei Warkentin
[not found] ` <160C83BCD8110E81.4282@groups.io>
2020-05-09 7:16 ` Andrei Warkentin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200506005929.84361-1-andrey.warkentin@gmail.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox