aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch')
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
deleted file mode 100644
index 75082693..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 4cb9c65ea9c0eba3ba04d036dccd4a5ab3d2547b Mon Sep 17 00:00:00 2001
-From: Mikko Ylinen <mikko.ylinen@intel.com>
-Date: Fri, 27 Jan 2017 13:31:45 +0200
-Subject: [PATCH] sd-boot: support global kernel command line in EFI stub
-
-This change integrates rmc into EFI stub and supports a
-global fragment (RMC KBOOTPARAM) that is appended to the
-cmdline at boot.
-
-The fragment is board-specific and read from the database.
-
-Implements [YOCTO #10924].
-
-Upstream-status: Pending
-
-Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
----
- src/boot/efi/stub.c | 33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
-index 1e250f34f..f3865199f 100644
---- a/src/boot/efi/stub.c
-+++ b/src/boot/efi/stub.c
-@@ -13,6 +13,7 @@
-
- #include <efi.h>
- #include <efilib.h>
-+#include <rmc_api.h>
-
- #include "disk.h"
- #include "graphics.h"
-@@ -48,6 +49,9 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- UINTN cmdline_len;
- CHAR16 uuid[37];
- EFI_STATUS err;
-+ INTN len;
-+ CHAR8 *rmc_db = NULL;
-+ rmc_file_t rmc_file;
-
- InitializeLib(image, sys_table);
-
-@@ -112,6 +116,35 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- #endif
- }
-
-+ len = file_read(root_dir, L"\\rmc.db", 0, 0, &rmc_db);
-+ if (len <= 0)
-+ rmc_db = NULL;
-+
-+ /* If the board has a fragment in rmc database, append it to the cmdline */
-+ if (rmc_db && !rmc_gimme_file(sys_table, rmc_db, "KBOOTPARAM", &rmc_file)) {
-+ CHAR8 *line;
-+ UINTN i = 0;
-+ UINTN j;
-+
-+ line = AllocatePool(rmc_file.blob_len + cmdline_len + 2);
-+
-+ while (i < cmdline_len && cmdline[i] != '\0') {
-+ line[i] = cmdline[i];
-+ i++;
-+ }
-+
-+ line[i++] = ' ';
-+
-+ for (j=0; j < rmc_file.blob_len; j++)
-+ line[i+j] = rmc_file.blob[j];
-+ line[i+j] = '\0';
-+
-+ cmdline = line;
-+ cmdline_len = i + j;
-+
-+ FreePool(rmc_db);
-+ }
-+
- /* export the device path this image is started from */
- if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS)
- efivar_set(L"LoaderDevicePartUUID", uuid, FALSE);
---
-2.11.0
-