All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexander Kanavin" <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Subject: [PATCH 33/61] systemd-boot: backport a fix to address failures with new gnu-efi
Date: Wed,  5 May 2021 17:18:22 +0200	[thread overview]
Message-ID: <20210505151850.660512-33-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20210505151850.660512-1-alex.kanavin@gmail.com>

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 ++++++++++++++++++
 meta/recipes-core/systemd/systemd.inc         |   1 +
 2 files changed, 180 insertions(+)
 create mode 100644 meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch

diff --git a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
new file mode 100644
index 0000000000..e3ce296741
--- /dev/null
+++ b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
@@ -0,0 +1,179 @@
+From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
+From: Daan De Meyer <daan.j.demeyer@gmail.com>
+Date: Fri, 12 Mar 2021 22:09:44 +0000
+Subject: [PATCH] boot: Move console declarations to missing_efi.h
+
+These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
+to missing_efi.h behind an appropriate guard to fix the build with
+recent versions of gnu-efi.
+
+(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/boot/efi/console.c     | 57 --------------------------------
+ src/boot/efi/console.h     |  6 +---
+ src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 68 insertions(+), 62 deletions(-)
+
+diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
+index 2dd4543d51..1d6dfeeea2 100644
+--- a/src/boot/efi/console.c
++++ b/src/boot/efi/console.c
+@@ -9,63 +9,6 @@
+ #define SYSTEM_FONT_WIDTH 8
+ #define SYSTEM_FONT_HEIGHT 19
+ 
+-#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
+-        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
+-
+-struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
+-
+-typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+-        BOOLEAN ExtendedVerification
+-);
+-
+-typedef UINT8 EFI_KEY_TOGGLE_STATE;
+-
+-typedef struct {
+-        UINT32 KeyShiftState;
+-        EFI_KEY_TOGGLE_STATE KeyToggleState;
+-} EFI_KEY_STATE;
+-
+-typedef struct {
+-        EFI_INPUT_KEY Key;
+-        EFI_KEY_STATE KeyState;
+-} EFI_KEY_DATA;
+-
+-typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+-        EFI_KEY_DATA *KeyData
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+-        EFI_KEY_TOGGLE_STATE *KeyToggleState
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
+-        EFI_KEY_DATA *KeyData
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+-        EFI_KEY_DATA KeyData,
+-        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
+-        VOID **NotifyHandle
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+-        VOID *NotificationHandle
+-);
+-
+-typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
+-        EFI_INPUT_RESET_EX Reset;
+-        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
+-        EFI_EVENT WaitForKeyEx;
+-        EFI_SET_STATE SetState;
+-        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
+-        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
+-} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
+-
+ EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
+         EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
+         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
+diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
+index 41df3a406e..2c69af552a 100644
+--- a/src/boot/efi/console.h
++++ b/src/boot/efi/console.h
+@@ -1,11 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #pragma once
+ 
+-#define EFI_SHIFT_STATE_VALID           0x80000000
+-#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
+-#define EFI_LEFT_CONTROL_PRESSED        0x00000008
+-#define EFI_RIGHT_ALT_PRESSED           0x00000010
+-#define EFI_LEFT_ALT_PRESSED            0x00000020
++#include "missing_efi.h"
+ 
+ #define EFI_CONTROL_PRESSED             (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
+ #define EFI_ALT_PRESSED                 (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
+diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
+index 1b838af2a4..b6aae1eb5b 100644
+--- a/src/boot/efi/missing_efi.h
++++ b/src/boot/efi/missing_efi.h
+@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
+ } EFI_RNG_PROTOCOL;
+ 
+ #endif
++
++#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
++
++#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
++        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
++
++#define EFI_SHIFT_STATE_VALID           0x80000000
++#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
++#define EFI_LEFT_CONTROL_PRESSED        0x00000008
++#define EFI_RIGHT_ALT_PRESSED           0x00000010
++#define EFI_LEFT_ALT_PRESSED            0x00000020
++
++struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
++
++typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
++        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
++        BOOLEAN ExtendedVerification
++);
++
++typedef UINT8 EFI_KEY_TOGGLE_STATE;
++
++typedef struct {
++        UINT32 KeyShiftState;
++        EFI_KEY_TOGGLE_STATE KeyToggleState;
++} EFI_KEY_STATE;
++
++typedef struct {
++        EFI_INPUT_KEY Key;
++        EFI_KEY_STATE KeyState;
++} EFI_KEY_DATA;
++
++typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
++        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
++        EFI_KEY_DATA *KeyData
++);
++
++typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
++        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
++        EFI_KEY_TOGGLE_STATE *KeyToggleState
++);
++
++typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
++        EFI_KEY_DATA *KeyData
++);
++
++typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
++        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
++        EFI_KEY_DATA KeyData,
++        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
++        VOID **NotifyHandle
++);
++
++typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
++        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
++        VOID *NotificationHandle
++);
++
++typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
++        EFI_INPUT_RESET_EX Reset;
++        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
++        EFI_EVENT WaitForKeyEx;
++        EFI_SET_STATE SetState;
++        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
++        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
++} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
++
++#endif
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 3a919fd82b..88dddb309c 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -18,6 +18,7 @@ SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
 SRCBRANCH = "v247-stable"
 SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
            file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
+           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
2.31.1


  parent reply	other threads:[~2021-05-05 15:19 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05 15:17 [PATCH 01/61] boost: correct upstream version check Alexander Kanavin
2021-05-05 15:17 ` [PATCH 02/61] go: " Alexander Kanavin
2021-05-05 19:33   ` [OE-core] " Khem Raj
2021-05-10 10:36     ` Alexander Kanavin
2021-05-05 15:17 ` [PATCH 03/61] vte: use tarballs again Alexander Kanavin
2021-05-05 15:17 ` [PATCH 04/61] gdk-pixbuf: update 2.40.0 -> 2.42.6 Alexander Kanavin
2021-05-06 14:55   ` [OE-core] " Khem Raj
2021-05-06 18:49     ` Alexander Kanavin
2021-05-06 19:45       ` Khem Raj
2021-05-05 15:17 ` [PATCH 05/61] u-boot: upgrade 2021.01 -> 2021.04 Alexander Kanavin
2021-05-05 15:17 ` [PATCH 06/61] expat: upgrade 2.2.10 -> 2.3.0 Alexander Kanavin
2021-05-05 22:32   ` [OE-core] " Richard Purdie
2021-05-05 22:36     ` Alexander Kanavin
     [not found]     ` <167C4C9FDBAB97AF.3326@lists.openembedded.org>
2021-05-06 12:03       ` Alexander Kanavin
2021-05-05 15:17 ` [PATCH 07/61] glib-2.0: update 2.68.0 -> 2.68.1 Alexander Kanavin
2021-05-05 15:17 ` [PATCH 08/61] gnu-config: update to latest revision Alexander Kanavin
2021-05-05 15:17 ` [PATCH 09/61] dpkg: update 1.20.7.1 -> 1.20.9 Alexander Kanavin
2021-05-05 15:17 ` [PATCH 10/61] cmake: update 3.19.5 -> 3.20.1 Alexander Kanavin
2021-05-05 18:34   ` [OE-core] " Khem Raj
2021-05-05 20:51     ` Otavio Salvador
2021-05-05 22:21       ` Martin Jansa
2021-05-05 22:40         ` Khem Raj
2021-05-05 15:18 ` [PATCH 11/61] meson: update 0.57.1 -> 0.57.2 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 12/61] systemd: backport a patch to avoid unnecessary rsync dependency with latest meson Alexander Kanavin
2021-05-05 17:58   ` [OE-core] " Khem Raj
2021-05-05 15:18 ` [PATCH 13/61] pulseaudio: unbreak build " Alexander Kanavin
2021-05-05 15:18 ` [PATCH 14/61] libdnf: upgrade 0.58.0 -> 0.62.0 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 15/61] bluez5: upgrade 5.56 -> 5.58 Alexander Kanavin
2021-05-05 18:28   ` [OE-core] " Khem Raj
2021-05-05 15:18 ` [PATCH 16/61] libxkbcommon: update 1.0.3 -> 1.2.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 17/61] libgudev: update 234 -> 236 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 18/61] puzzes: update to latest revision Alexander Kanavin
2021-05-05 15:18 ` [PATCH 19/61] vulkan-samples: " Alexander Kanavin
2021-05-05 15:18 ` [PATCH 20/61] gnupg: upgrade 2.2.27 -> 2.3.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 21/61] virglrenderer: update 0.8.2 -> 0.9.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 22/61] ffmpeg: update 4.3.2 -> 4.4 Alexander Kanavin
2021-05-05 18:25   ` [OE-core] " Khem Raj
2021-05-10 12:48     ` Alexander Kanavin
2021-05-10 13:26       ` Trevor Gamblin
2021-05-05 15:18 ` [PATCH 23/61] powertop: update 2.13 -> 2.14 Alexander Kanavin
2021-05-05 18:13   ` [OE-core] " Khem Raj
2021-05-05 18:52     ` Alexander Kanavin
2021-05-05 19:43       ` Khem Raj
2021-05-05 19:49         ` Alexander Kanavin
2021-05-05 21:26           ` Khem Raj
2021-05-05 21:54             ` Alexander Kanavin
2021-05-05 22:02               ` Khem Raj
2021-05-05 22:21                 ` Alexander Kanavin
2021-05-05 22:48                   ` Khem Raj
2021-05-05 15:18 ` [PATCH 24/61] webkitgtk: update 2.30.6 -> 2.32.0 Alexander Kanavin
2021-05-12 22:36   ` [OE-core] " Martin Jansa
2021-05-12 23:02     ` Khem Raj
2021-05-05 15:18 ` [PATCH 25/61] acl: upgrade 2.2.53 -> 2.3.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 26/61] bind: upgrade 9.16.12 -> 9.16.13 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 27/61] bison: upgrade 3.7.5 -> 3.7.6 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 28/61] createrepo-c: upgrade 0.17.0 -> 0.17.2 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 29/61] cronie: upgrade 1.5.5 -> 1.5.7 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 30/61] dnf: upgrade 4.6.0 -> 4.7.0 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 31/61] e2fsprogs: upgrade 1.46.1 -> 1.46.2 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 32/61] gnu-efi: upgrade 3.0.12 -> 3.0.13 Alexander Kanavin
2021-05-05 15:18 ` Alexander Kanavin [this message]
2021-05-05 15:18 ` [PATCH 34/61] gobject-introspection: upgrade 1.66.1 -> 1.68.0 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 35/61] gtk+3: upgrade 3.24.25 -> 3.24.28 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 36/61] harfbuzz: upgrade 2.7.4 -> 2.8.0 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 37/61] less: upgrade 563 -> 581 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 38/61] libfm: upgrade 1.3.1 -> 1.3.2 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 39/61] libinput: upgrade 1.16.4 -> 1.17.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 40/61] libwpe: upgrade 1.8.0 -> 1.10.0 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 41/61] libxres: upgrade 1.2.0 -> 1.2.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 42/61] linux-firmware: upgrade 20210208 -> 20210315 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 43/61] pango: upgrade 1.48.2 -> 1.48.4 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 44/61] piglit: upgrade to latest revision Alexander Kanavin
2021-05-05 15:18 ` [PATCH 45/61] pkgconf: upgrade 1.7.3 -> 1.7.4 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 46/61] python3-hypothesis: upgrade 6.2.0 -> 6.9.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 47/61] python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 48/61] python3-pytest: upgrade 6.2.2 -> 6.2.3 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 49/61] python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 50/61] python3-setuptools: upgrade 54.1.1 -> 56.0.0 Alexander Kanavin
2021-05-05 18:07   ` [OE-core] " Khem Raj
2021-05-05 18:49     ` Alexander Kanavin
2021-05-05 15:18 ` [PATCH 51/61] stress-ng: upgrade 0.12.05 -> 0.12.06 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 52/61] vala: upgrade 0.50.4 -> 0.52.2 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 53/61] x264: upgrade to latest revision Alexander Kanavin
2021-05-05 15:18 ` [PATCH 54/61] xkbcomp: upgrade 1.4.4 -> 1.4.5 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 55/61] xorgproto: upgrade 2020.1 -> 2021.3 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 56/61] xserver-xorg: upgrade 1.20.10 -> 1.20.11 Alexander Kanavin
2021-05-05 15:18 ` [PATCH 57/61] python3: add markdown/smartypants/typogrify modules Alexander Kanavin
2021-05-05 15:39   ` [OE-core] " Konrad Weihmann
2021-05-05 17:51     ` Khem Raj
2021-05-05 19:03       ` Alexander Kanavin
2021-05-05 19:06         ` Konrad Weihmann
2021-05-05 19:11           ` Alexander Kanavin
2021-05-05 19:25             ` Konrad Weihmann
2021-05-05 20:10               ` Alexander Kanavin
2021-05-05 15:18 ` [PATCH 58/61] gi-docgen: add a recipe and class Alexander Kanavin
2021-05-05 18:05   ` [OE-core] " Khem Raj
2021-05-05 18:45     ` Alexander Kanavin
2021-05-05 21:09       ` Richard Purdie
2021-05-05 21:28         ` Khem Raj
2021-05-05 21:52           ` Richard Purdie
2021-05-05 22:07             ` Khem Raj
2021-05-05 22:15               ` Alexander Kanavin
2021-05-05 22:16               ` Richard Purdie
2021-05-05 22:55                 ` Khem Raj
2021-05-05 15:18 ` [PATCH 59/61] gdk-pixbuf/pango: replace gtk-doc with gi-docgen Alexander Kanavin
2021-05-05 15:18 ` [PATCH 60/61] Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands" Alexander Kanavin
2021-05-05 15:18 ` [PATCH 61/61] diffoscope: add native libraries to LD_LIBRARY_PATH Alexander Kanavin

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-all 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=20210505151850.660512-33-alex.kanavin@gmail.com \
    --to=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.