diff options
-rw-r--r-- | meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch | 179 | ||||
-rw-r--r-- | meta/recipes-core/systemd/systemd.inc | 1 |
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 @@ | |||
1 | From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daan De Meyer <daan.j.demeyer@gmail.com> | ||
3 | Date: Fri, 12 Mar 2021 22:09:44 +0000 | ||
4 | Subject: [PATCH] boot: Move console declarations to missing_efi.h | ||
5 | |||
6 | These were added to eficonex.h in gnu-efi 3.0.13. Let's move them | ||
7 | to missing_efi.h behind an appropriate guard to fix the build with | ||
8 | recent versions of gnu-efi. | ||
9 | |||
10 | (cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e) | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | Signed-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 | |||
20 | diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c | ||
21 | index 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; | ||
88 | diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h | ||
89 | index 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) | ||
105 | diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h | ||
106 | index 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" | |||
18 | SRCBRANCH = "v247-stable" | 18 | SRCBRANCH = "v247-stable" |
19 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \ | 19 | SRC_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 | ||
23 | S = "${WORKDIR}/git" | 24 | S = "${WORKDIR}/git" |