import grub2-2.02-97.el8

This commit is contained in:
CentOS Sources 2021-02-26 06:10:39 +00:00 committed by Andrew Lukoshko
parent ae8899f508
commit af4a8b1d08
28 changed files with 49 additions and 104 deletions

View File

@ -25,11 +25,11 @@ solution":
- http://www-ug.eecg.toronto.edu/msl/nios_devices/datasheets/PS2%20Keyboard%20Protocol.htm - http://www-ug.eecg.toronto.edu/msl/nios_devices/datasheets/PS2%20Keyboard%20Protocol.htm
- http://www.s100computers.com/My%20System%20Pages/MSDOS%20Board/PC%20Keyboard.pdf - http://www.s100computers.com/My%20System%20Pages/MSDOS%20Board/PC%20Keyboard.pdf
--- ---
grub-core/term/at_keyboard.c | 127 ++++++++++++++++++++++++++++++++++--------- grub-core/term/at_keyboard.c | 121 ++++++++++++++++++++++++++++++++++---------
1 file changed, 101 insertions(+), 26 deletions(-) 1 file changed, 96 insertions(+), 25 deletions(-)
diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c
index 69d99b61df5..e7d51b249ad 100644 index 69d99b61df5..c805cccbdde 100644
--- a/grub-core/term/at_keyboard.c --- a/grub-core/term/at_keyboard.c
+++ b/grub-core/term/at_keyboard.c +++ b/grub-core/term/at_keyboard.c
@@ -31,6 +31,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); @@ -31,6 +31,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
@ -71,26 +71,22 @@ index 69d99b61df5..e7d51b249ad 100644
static int static int
write_mode (int mode) write_mode (int mode)
{ {
@@ -113,11 +131,17 @@ write_mode (int mode) @@ -113,11 +131,14 @@ write_mode (int mode)
{ {
grub_uint8_t ack; grub_uint8_t ack;
keyboard_controller_wait_until_ready (); keyboard_controller_wait_until_ready ();
+ grub_dprintf ("atkeyb", "write_mode: sending 0xf0\n"); + grub_dprintf ("atkeyb", "write_mode: sending 0xf0\n");
grub_outb (0xf0, KEYBOARD_REG_DATA); grub_outb (0xf0, KEYBOARD_REG_DATA);
+ ack = wait_ack ();
+ grub_dprintf ("atkeyb", "write_mode: wait_ack() returned 0x%x\n", ack);
+ if (ack != GRUB_AT_ACK)
+ continue;
keyboard_controller_wait_until_ready (); keyboard_controller_wait_until_ready ();
+ grub_dprintf ("atkeyb", "write_mode: sending mode %d\n", mode); + grub_dprintf ("atkeyb", "write_mode: sending mode %d\n", mode);
grub_outb (mode, KEYBOARD_REG_DATA); grub_outb (mode, KEYBOARD_REG_DATA);
- keyboard_controller_wait_until_ready (); keyboard_controller_wait_until_ready ();
ack = wait_ack (); ack = wait_ack ();
+ grub_dprintf ("atkeyb", "write_mode: wait_ack() returned 0x%x\n", ack); + grub_dprintf ("atkeyb", "write_mode: wait_ack() returned 0x%x\n", ack);
if (ack == GRUB_AT_NACK) if (ack == GRUB_AT_NACK)
continue; continue;
if (ack == GRUB_AT_ACK) if (ack == GRUB_AT_ACK)
@@ -125,6 +149,9 @@ write_mode (int mode) @@ -125,6 +146,9 @@ write_mode (int mode)
return 0; return 0;
} }
@ -100,7 +96,7 @@ index 69d99b61df5..e7d51b249ad 100644
return (i != GRUB_AT_TRIES); return (i != GRUB_AT_TRIES);
} }
@@ -132,31 +159,66 @@ static int @@ -132,31 +156,66 @@ static int
query_mode (void) query_mode (void)
{ {
grub_uint8_t ret; grub_uint8_t ret;
@ -187,7 +183,7 @@ index 69d99b61df5..e7d51b249ad 100644
return 0; return 0;
} }
@@ -165,14 +227,25 @@ set_scancodes (void) @@ -165,14 +224,25 @@ set_scancodes (void)
{ {
/* You must have visited computer museum. Keyboard without scancode set /* You must have visited computer museum. Keyboard without scancode set
knowledge. Assume XT. */ knowledge. Assume XT. */
@ -217,15 +213,7 @@ index 69d99b61df5..e7d51b249ad 100644
if ((grub_keyboard_controller_orig & KEYBOARD_AT_TRANSLATE) == KEYBOARD_AT_TRANSLATE) { if ((grub_keyboard_controller_orig & KEYBOARD_AT_TRANSLATE) == KEYBOARD_AT_TRANSLATE) {
grub_dprintf ("atkeyb", "queried set is %d but keyboard in Translate mode, so actually in set 1\n", grub_keyboard_orig_set); grub_dprintf ("atkeyb", "queried set is %d but keyboard in Translate mode, so actually in set 1\n", grub_keyboard_orig_set);
ps2_state.current_set = 1; ps2_state.current_set = 1;
@@ -229,6 +302,7 @@ grub_at_keyboard_is_alive (void) @@ -261,6 +331,7 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
if (KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS)))
{
+ grub_dprintf ("atkeyb", "grub_at_keyboard_is_alive: controller mode before self-test: 0x%x\n", grub_keyboard_controller_read());
grub_outb (0xaa, KEYBOARD_REG_STATUS);
ping_sent = 1;
}
@@ -261,6 +335,7 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
static void static void
grub_keyboard_controller_init (void) grub_keyboard_controller_init (void)
{ {
@ -233,7 +221,7 @@ index 69d99b61df5..e7d51b249ad 100644
ps2_state.at_keyboard_status = 0; ps2_state.at_keyboard_status = 0;
/* Drain input buffer. */ /* Drain input buffer. */
while (1) while (1)
@@ -282,6 +357,7 @@ grub_keyboard_controller_init (void) @@ -282,6 +353,7 @@ grub_keyboard_controller_init (void)
grub_keyboard_controller_orig = grub_keyboard_controller_read (); grub_keyboard_controller_orig = grub_keyboard_controller_read ();
grub_dprintf ("atkeyb", "grub_keyboard_controller_orig = 0x%x\n", grub_keyboard_controller_orig); grub_dprintf ("atkeyb", "grub_keyboard_controller_orig = 0x%x\n", grub_keyboard_controller_orig);
grub_keyboard_orig_set = query_mode (); grub_keyboard_orig_set = query_mode ();
@ -241,7 +229,7 @@ index 69d99b61df5..e7d51b249ad 100644
#endif #endif
set_scancodes (); set_scancodes ();
keyboard_controller_led (ps2_state.led_status); keyboard_controller_led (ps2_state.led_status);
@@ -329,7 +405,6 @@ grub_at_restore_hw (void) @@ -329,7 +401,6 @@ grub_at_restore_hw (void)
return GRUB_ERR_NONE; return GRUB_ERR_NONE;
} }

View File

@ -1,52 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Wed, 28 Oct 2020 11:44:29 +1100
Subject: [PATCH] ieee1275: claim up to 256MB memory
If we are verifying large kernels, we need more that 32MB. (Many distro
kernels are quite large, and debug kernels can be even bigger!)
We originally went with 512MB: qemu pseries gives you all the memory a
32-bit number can handle, so there was lots left over to place a linux image
and initrd.
Here's what we said then:
| This is possibly not the way we want to go with for upstream as it breaks
| booting on systems with <= 512MB. We're working on a more upstream-friendly
| solution and will post it shortly. However, for an end-user or packager with
| a higher minimum memory requirement, this will work fine.
However, we've since discovered that (at least on one P8 test system), PFW
doesn't expose all of the memory allocated to the LPAR: it looks like it just
exposes 512MB - at least unless we mess with the CHRP note section.
Therefore, if we try to claim 512MB in grub, things _do not_ work when we try
to load linux. As a compromise, and again we'd like a better upstream solution,
go for 256MB. This is at least enough to verify distro kernels.
Signed-off-by: Daniel Axtens <dja@axtens.net>
---
grub-core/kern/ieee1275/init.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index e731a57a47b..f8a4f8f4214 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -49,15 +49,13 @@
#ifdef __i386__
#define HEAP_MAX_SIZE (unsigned long) (64 * 1024 * 1024)
#else
-#define HEAP_MAX_SIZE (unsigned long) (32 * 1024 * 1024)
+#define HEAP_MAX_SIZE (unsigned long) (256 * 1024 * 1024)
#endif
-/* If possible, we will avoid claiming heap above this address, because it
- seems to cause relocation problems with OSes that link at 4 MiB */
#ifdef __i386__
#define HEAP_MAX_ADDR (unsigned long) (64 * 1024 * 1024)
#else
-#define HEAP_MAX_ADDR (unsigned long) (32 * 1024 * 1024)
+#define HEAP_MAX_ADDR (unsigned long) (256 * 1024 * 1024)
#endif
extern char _end[];

View File

@ -92,10 +92,10 @@ index 5d8897be5c8..4ef2ec2893c 100644
cmd_trust = cmd_trust =
grub_register_command ("trust_certificate", grub_cmd_trust, grub_register_command ("trust_certificate", grub_cmd_trust,
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index f8a4f8f4214..137a343bca7 100644 index e731a57a47b..22dc3013d86 100644
--- a/grub-core/kern/ieee1275/init.c --- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c +++ b/grub-core/kern/ieee1275/init.c
@@ -266,6 +266,30 @@ grub_parse_cmdline (void) @@ -268,6 +268,30 @@ grub_parse_cmdline (void)
} }
} }
@ -126,7 +126,7 @@ index f8a4f8f4214..137a343bca7 100644
grub_addr_t grub_modbase; grub_addr_t grub_modbase;
void void
@@ -288,6 +312,8 @@ grub_machine_init (void) @@ -290,6 +314,8 @@ grub_machine_init (void)
#else #else
grub_install_get_time_ms (grub_rtc_get_time_ms); grub_install_get_time_ms (grub_rtc_get_time_ms);
#endif #endif

View File

@ -346,28 +346,27 @@ Patch0345: 0345-verifiers-MIPS-fallout-cleanup.patch
Patch0346: 0346-verifiers-Fix-calling-uninitialized-function-pointer.patch Patch0346: 0346-verifiers-Fix-calling-uninitialized-function-pointer.patch
Patch0347: 0347-rhel-extra-file-type-fixes.patch Patch0347: 0347-rhel-extra-file-type-fixes.patch
Patch0348: 0348-dl-Add-support-for-persistent-modules.patch Patch0348: 0348-dl-Add-support-for-persistent-modules.patch
Patch0349: 0349-ieee1275-claim-up-to-256MB-memory.patch Patch0349: 0349-Add-suport-for-signing-grub-with-an-appended-signatu.patch
Patch0350: 0350-Add-suport-for-signing-grub-with-an-appended-signatu.patch Patch0350: 0350-docs-grub-Document-signing-grub-under-UEFI.patch
Patch0351: 0351-docs-grub-Document-signing-grub-under-UEFI.patch Patch0351: 0351-docs-grub-Document-signing-grub-with-an-appended-sig.patch
Patch0352: 0352-docs-grub-Document-signing-grub-with-an-appended-sig.patch Patch0352: 0352-docs-grub-grub-install-is-no-longer-a-shell-script.patch
Patch0353: 0353-docs-grub-grub-install-is-no-longer-a-shell-script.patch Patch0353: 0353-docs-grub-pubkey-has-been-supported-for-some-time.patch
Patch0354: 0354-docs-grub-pubkey-has-been-supported-for-some-time.patch Patch0354: 0354-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch
Patch0355: 0355-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch Patch0355: 0355-verifiers-provide-unsafe-module-list.patch
Patch0356: 0356-verifiers-provide-unsafe-module-list.patch Patch0356: 0356-pgp-factor-out-rsa_pad.patch
Patch0357: 0357-pgp-factor-out-rsa_pad.patch Patch0357: 0357-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch
Patch0358: 0358-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch Patch0358: 0358-posix_wrap-tweaks-in-preparation-for-libtasn1.patch
Patch0359: 0359-posix_wrap-tweaks-in-preparation-for-libtasn1.patch Patch0359: 0359-libtasn1-import-libtasn1-4.16.0.patch
Patch0360: 0360-libtasn1-import-libtasn1-4.16.0.patch Patch0360: 0360-libtasn1-disable-code-not-needed-in-grub.patch
Patch0361: 0361-libtasn1-disable-code-not-needed-in-grub.patch Patch0361: 0361-libtasn1-changes-for-grub-compatibility.patch
Patch0362: 0362-libtasn1-changes-for-grub-compatibility.patch Patch0362: 0362-libtasn1-compile-into-asn1-module.patch
Patch0363: 0363-libtasn1-compile-into-asn1-module.patch Patch0363: 0363-test_asn1-test-module-for-libtasn1.patch
Patch0364: 0364-test_asn1-test-module-for-libtasn1.patch Patch0364: 0364-grub-install-support-embedding-x509-certificates.patch
Patch0365: 0365-grub-install-support-embedding-x509-certificates.patch Patch0365: 0365-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch
Patch0366: 0366-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch Patch0366: 0366-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch
Patch0367: 0367-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch Patch0367: 0367-appended-signatures-support-verifying-appended-signa.patch
Patch0368: 0368-appended-signatures-support-verifying-appended-signa.patch Patch0368: 0368-appended-signatures-verification-tests.patch
Patch0369: 0369-appended-signatures-verification-tests.patch Patch0369: 0369-appended-signatures-documentation.patch
Patch0370: 0370-appended-signatures-documentation.patch Patch0370: 0370-ieee1275-link-appended-signature-enforcement-to-ibm-.patch
Patch0371: 0371-ieee1275-link-appended-signature-enforcement-to-ibm-.patch Patch0371: 0371-include-grub-verify.h-Add-include-guard.patch
Patch0372: 0372-include-grub-verify.h-Add-include-guard.patch Patch0372: 0372-arm64-xen-Fix-too-few-arguments-to-function-grub_cre.patch
Patch0373: 0373-arm64-xen-Fix-too-few-arguments-to-function-grub_cre.patch

View File

@ -7,7 +7,7 @@
Name: grub2 Name: grub2
Epoch: 1 Epoch: 1
Version: 2.02 Version: 2.02
Release: 95%{?dist} Release: 97%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more Summary: Bootloader with support for Linux, Multiboot and more
Group: System Environment/Base Group: System Environment/Base
License: GPLv3+ License: GPLv3+
@ -500,6 +500,16 @@ fi
%endif %endif
%changelog %changelog
* Tue Feb 23 2021 Javier Martinez Canillas <javierm@redhat.com> - 2.02-97
- Fix keylayouts module listed twice in GRUB_MODULES variable
Related: rhbz#1897587
* Tue Feb 23 2021 Javier Martinez Canillas <javierm@redhat.com> - 2.02-96
- Fix "Add 'at_keyboard_fallback_set' var to force the set manually"
Related: rhbz#1897587
- Fix a boot failure due patch "ieee1275: claim up to 256MB memory"
Resolves: rhbz#1929111
* Tue Jan 26 2021 Javier Martinez Canillas <javierm@redhat.com> - 2.02-95 * Tue Jan 26 2021 Javier Martinez Canillas <javierm@redhat.com> - 2.02-95
- Add appended signatures support for ppc64le LPAR Secure Boot (daxtens) - Add appended signatures support for ppc64le LPAR Secure Boot (daxtens)
Resolves: rhbz#1853410 Resolves: rhbz#1853410