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.s100computers.com/My%20System%20Pages/MSDOS%20Board/PC%20Keyboard.pdf
---
grub-core/term/at_keyboard.c | 127 ++++++++++++++++++++++++++++++++++---------
1 file changed, 101 insertions(+), 26 deletions(-)
grub-core/term/at_keyboard.c | 121 ++++++++++++++++++++++++++++++++++---------
1 file changed, 96 insertions(+), 25 deletions(-)
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
+++ b/grub-core/term/at_keyboard.c
@@ -31,6 +31,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
@ -71,26 +71,22 @@ index 69d99b61df5..e7d51b249ad 100644
static int
write_mode (int mode)
{
@@ -113,11 +131,17 @@ write_mode (int mode)
@@ -113,11 +131,14 @@ write_mode (int mode)
{
grub_uint8_t ack;
keyboard_controller_wait_until_ready ();
+ grub_dprintf ("atkeyb", "write_mode: sending 0xf0\n");
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 ();
+ grub_dprintf ("atkeyb", "write_mode: sending mode %d\n", mode);
grub_outb (mode, KEYBOARD_REG_DATA);
- keyboard_controller_wait_until_ready ();
keyboard_controller_wait_until_ready ();
ack = wait_ack ();
+ grub_dprintf ("atkeyb", "write_mode: wait_ack() returned 0x%x\n", ack);
if (ack == GRUB_AT_NACK)
continue;
if (ack == GRUB_AT_ACK)
@@ -125,6 +149,9 @@ write_mode (int mode)
@@ -125,6 +146,9 @@ write_mode (int mode)
return 0;
}
@ -100,7 +96,7 @@ index 69d99b61df5..e7d51b249ad 100644
return (i != GRUB_AT_TRIES);
}
@@ -132,31 +159,66 @@ static int
@@ -132,31 +156,66 @@ static int
query_mode (void)
{
grub_uint8_t ret;
@ -187,7 +183,7 @@ index 69d99b61df5..e7d51b249ad 100644
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
knowledge. Assume XT. */
@ -217,15 +213,7 @@ index 69d99b61df5..e7d51b249ad 100644
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);
ps2_state.current_set = 1;
@@ -229,6 +302,7 @@ grub_at_keyboard_is_alive (void)
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)))
@@ -261,6 +331,7 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
static void
grub_keyboard_controller_init (void)
{
@ -233,7 +221,7 @@ index 69d99b61df5..e7d51b249ad 100644
ps2_state.at_keyboard_status = 0;
/* Drain input buffer. */
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_dprintf ("atkeyb", "grub_keyboard_controller_orig = 0x%x\n", grub_keyboard_controller_orig);
grub_keyboard_orig_set = query_mode ();
@ -241,7 +229,7 @@ index 69d99b61df5..e7d51b249ad 100644
#endif
set_scancodes ();
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;
}

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 =
grub_register_command ("trust_certificate", grub_cmd_trust,
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
+++ 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;
void
@@ -288,6 +312,8 @@ grub_machine_init (void)
@@ -290,6 +314,8 @@ grub_machine_init (void)
#else
grub_install_get_time_ms (grub_rtc_get_time_ms);
#endif

View File

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

View File

@ -7,7 +7,7 @@
Name: grub2
Epoch: 1
Version: 2.02
Release: 95%{?dist}
Release: 97%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more
Group: System Environment/Base
License: GPLv3+
@ -500,6 +500,16 @@ fi
%endif
%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
- Add appended signatures support for ppc64le LPAR Secure Boot (daxtens)
Resolves: rhbz#1853410