summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2021-05-05 17:18:22 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-09 23:30:15 +0100
commit05904ebc14d0fb8ba97e2649d4f71c8148dd0e45 (patch)
tree896b918299af398d944daeac36df2f1ebb56adb6 /meta
parent46fcf0d6d319ff0e2de178b5f304e79dff2fb46b (diff)
downloadpoky-05904ebc14d0fb8ba97e2649d4f71c8148dd0e45.tar.gz
systemd-boot: backport a fix to address failures with new gnu-efi
(From OE-Core rev: c88679a2f1a3aa84f7699a0ee752cf8071e8a430) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch179
-rw-r--r--meta/recipes-core/systemd/systemd.inc1
2 files changed, 180 insertions, 0 deletions
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 @@
1From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
2From: Daan De Meyer <daan.j.demeyer@gmail.com>
3Date: Fri, 12 Mar 2021 22:09:44 +0000
4Subject: [PATCH] boot: Move console declarations to missing_efi.h
5
6These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
7to missing_efi.h behind an appropriate guard to fix the build with
8recent versions of gnu-efi.
9
10(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
11
12Upstream-Status: Backport
13Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14---
15 src/boot/efi/console.c | 57 --------------------------------
16 src/boot/efi/console.h | 6 +---
17 src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
18 3 files changed, 68 insertions(+), 62 deletions(-)
19
20diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
21index 2dd4543d51..1d6dfeeea2 100644
22--- a/src/boot/efi/console.c
23+++ b/src/boot/efi/console.c
24@@ -9,63 +9,6 @@
25 #define SYSTEM_FONT_WIDTH 8
26 #define SYSTEM_FONT_HEIGHT 19
27
28-#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
29- { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
30-
31-struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
32-
33-typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
34- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
35- BOOLEAN ExtendedVerification
36-);
37-
38-typedef UINT8 EFI_KEY_TOGGLE_STATE;
39-
40-typedef struct {
41- UINT32 KeyShiftState;
42- EFI_KEY_TOGGLE_STATE KeyToggleState;
43-} EFI_KEY_STATE;
44-
45-typedef struct {
46- EFI_INPUT_KEY Key;
47- EFI_KEY_STATE KeyState;
48-} EFI_KEY_DATA;
49-
50-typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
51- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
52- EFI_KEY_DATA *KeyData
53-);
54-
55-typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
56- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
57- EFI_KEY_TOGGLE_STATE *KeyToggleState
58-);
59-
60-typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
61- EFI_KEY_DATA *KeyData
62-);
63-
64-typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
65- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
66- EFI_KEY_DATA KeyData,
67- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
68- VOID **NotifyHandle
69-);
70-
71-typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
72- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
73- VOID *NotificationHandle
74-);
75-
76-typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
77- EFI_INPUT_RESET_EX Reset;
78- EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
79- EFI_EVENT WaitForKeyEx;
80- EFI_SET_STATE SetState;
81- EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
82- EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
83-} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
84-
85 EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
86 EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
87 static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
88diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
89index 41df3a406e..2c69af552a 100644
90--- a/src/boot/efi/console.h
91+++ b/src/boot/efi/console.h
92@@ -1,11 +1,7 @@
93 /* SPDX-License-Identifier: LGPL-2.1-or-later */
94 #pragma once
95
96-#define EFI_SHIFT_STATE_VALID 0x80000000
97-#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
98-#define EFI_LEFT_CONTROL_PRESSED 0x00000008
99-#define EFI_RIGHT_ALT_PRESSED 0x00000010
100-#define EFI_LEFT_ALT_PRESSED 0x00000020
101+#include "missing_efi.h"
102
103 #define EFI_CONTROL_PRESSED (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
104 #define EFI_ALT_PRESSED (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
105diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
106index 1b838af2a4..b6aae1eb5b 100644
107--- a/src/boot/efi/missing_efi.h
108+++ b/src/boot/efi/missing_efi.h
109@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
110 } EFI_RNG_PROTOCOL;
111
112 #endif
113+
114+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
115+
116+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
117+ { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
118+
119+#define EFI_SHIFT_STATE_VALID 0x80000000
120+#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
121+#define EFI_LEFT_CONTROL_PRESSED 0x00000008
122+#define EFI_RIGHT_ALT_PRESSED 0x00000010
123+#define EFI_LEFT_ALT_PRESSED 0x00000020
124+
125+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
126+
127+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
128+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
129+ BOOLEAN ExtendedVerification
130+);
131+
132+typedef UINT8 EFI_KEY_TOGGLE_STATE;
133+
134+typedef struct {
135+ UINT32 KeyShiftState;
136+ EFI_KEY_TOGGLE_STATE KeyToggleState;
137+} EFI_KEY_STATE;
138+
139+typedef struct {
140+ EFI_INPUT_KEY Key;
141+ EFI_KEY_STATE KeyState;
142+} EFI_KEY_DATA;
143+
144+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
145+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
146+ EFI_KEY_DATA *KeyData
147+);
148+
149+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
150+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
151+ EFI_KEY_TOGGLE_STATE *KeyToggleState
152+);
153+
154+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
155+ EFI_KEY_DATA *KeyData
156+);
157+
158+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
159+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
160+ EFI_KEY_DATA KeyData,
161+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
162+ VOID **NotifyHandle
163+);
164+
165+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
166+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
167+ VOID *NotificationHandle
168+);
169+
170+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
171+ EFI_INPUT_RESET_EX Reset;
172+ EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
173+ EFI_EVENT WaitForKeyEx;
174+ EFI_SET_STATE SetState;
175+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
176+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
177+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
178+
179+#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"
18SRCBRANCH = "v247-stable" 18SRCBRANCH = "v247-stable"
19SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \ 19SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
20 file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \ 20 file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
21 file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
21" 22"
22 23
23S = "${WORKDIR}/git" 24S = "${WORKDIR}/git"