import grub2-2.02-97.el8
This commit is contained in:
parent
ae8899f508
commit
af4a8b1d08
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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[];
|
|
@ -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
|
@ -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
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user