Update grub2 for f28

- Try to fix things for new compiler madness.
  I really don't know why gcc decided __attribute__((packed)) on a "typedef
  struct" should imply __attribute__((align (1))) and that it should have a
  warning that it does so.  The obvious behavior would be to keep the alignment
  of the first element unless it's used in another object or type that /also/
  hask the packed attribute.  Why should it change the default alignment at
  all?
- Merge in the BLS patches Javier and I wrote.
- Attempt to fix pmtimer initialization failures to not be super duper slow.

Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
Peter Jones 2018-02-27 13:56:41 -05:00
parent 38305f23ff
commit ec4acbbd98
208 changed files with 9316 additions and 7185 deletions

View File

@ -1,7 +1,7 @@
From b0bad6fd9449d3333fe1ab58953c0e6c1ce12c0d Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Wed, 3 May 2017 11:55:52 +0200
Subject: [PATCH 001/198] Bump version to 2.03
Subject: [PATCH 001/206] Bump version to 2.03
---
configure.ac | 2 +-
@ -9,7 +9,7 @@ Subject: [PATCH 001/198] Bump version to 2.03
2 files changed, 99 insertions(+), 99 deletions(-)
diff --git a/configure.ac b/configure.ac
index edd184154..d10d8adac 100644
index edd184154f7..d10d8adac58 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,7 +31,7 @@ dnl (such as BUILD_CC, BUILD_CFLAGS, etc.) for the build type and variables
@ -22,7 +22,7 @@ index edd184154..d10d8adac 100644
AC_CONFIG_AUX_DIR([build-aux])
diff --git a/grub-core/tests/checksums.h b/grub-core/tests/checksums.h
index 68d8ce7c7..921e57ff4 100644
index 68d8ce7c775..921e57ff48d 100644
--- a/grub-core/tests/checksums.h
+++ b/grub-core/tests/checksums.h
@@ -1,101 +1,101 @@
@ -226,5 +226,5 @@ index 68d8ce7c7..921e57ff4 100644
{ "videotest", 800, 600, 0x2, 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0 /* 800x600xi16 */, (grub_uint32_t []) { 0x7033079c, 0x7033079c, 0x7033079c, 0x7033079c, 0x7033079c, }, 5 },
{ "videotest", 1024, 768, 0x2, 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0 /* 1024x768xi16 */, (grub_uint32_t []) { 0xff583fbf, 0xff583fbf, 0xff583fbf, 0xff583fbf, 0xff583fbf, }, 5 },
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 5a0c548ba388b343b0bb6d2a38888e7eac5bbb96 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 03:47:13 +0300
Subject: [PATCH 002/198] Remove bashisms from tests.
Subject: [PATCH 002/206] Remove bashisms from tests.
Those tests don't actually need bash. Just use common shebang.
---
@ -19,7 +19,7 @@ Those tests don't actually need bash. Just use common shebang.
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/tests/grub_cmd_date.in b/tests/grub_cmd_date.in
index a459353e8..0d8162e98 100644
index a459353e8a5..0d8162e98b0 100644
--- a/tests/grub_cmd_date.in
+++ b/tests/grub_cmd_date.in
@@ -1,4 +1,4 @@
@ -29,7 +29,7 @@ index a459353e8..0d8162e98 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_regexp.in b/tests/grub_cmd_regexp.in
index e7e625701..7e9ab86aa 100644
index e7e62570115..7e9ab86aabb 100644
--- a/tests/grub_cmd_regexp.in
+++ b/tests/grub_cmd_regexp.in
@@ -1,4 +1,4 @@
@ -39,7 +39,7 @@ index e7e625701..7e9ab86aa 100644
# Run GRUB script in a Qemu instance
diff --git a/tests/grub_cmd_set_date.in b/tests/grub_cmd_set_date.in
index c594ae3fc..2f518dd9e 100644
index c594ae3fc14..2f518dd9e34 100644
--- a/tests/grub_cmd_set_date.in
+++ b/tests/grub_cmd_set_date.in
@@ -1,4 +1,4 @@
@ -49,7 +49,7 @@ index c594ae3fc..2f518dd9e 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_sleep.in b/tests/grub_cmd_sleep.in
index eb362aa24..05b8f6b73 100644
index eb362aa2439..05b8f6b73fa 100644
--- a/tests/grub_cmd_sleep.in
+++ b/tests/grub_cmd_sleep.in
@@ -1,4 +1,4 @@
@ -59,7 +59,7 @@ index eb362aa24..05b8f6b73 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_test.in b/tests/grub_cmd_test.in
index 6269891c9..49ae8a9c8 100644
index 6269891c9ee..49ae8a9c830 100644
--- a/tests/grub_cmd_test.in
+++ b/tests/grub_cmd_test.in
@@ -1,4 +1,4 @@
@ -69,7 +69,7 @@ index 6269891c9..49ae8a9c8 100644
# create a randome file
empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
diff --git a/tests/grub_cmd_tr.in b/tests/grub_cmd_tr.in
index 3fb15e35c..0e8d645eb 100644
index 3fb15e35c8a..0e8d645eb6b 100644
--- a/tests/grub_cmd_tr.in
+++ b/tests/grub_cmd_tr.in
@@ -1,4 +1,4 @@
@ -79,7 +79,7 @@ index 3fb15e35c..0e8d645eb 100644
# Run GRUB script in a Qemu instance
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/tests/grub_func_test.in b/tests/grub_func_test.in
index c8cc26376..b32f24466 100644
index c8cc2637633..b32f2446659 100644
--- a/tests/grub_func_test.in
+++ b/tests/grub_func_test.in
@@ -1,4 +1,4 @@
@ -89,7 +89,7 @@ index c8cc26376..b32f24466 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_script_blockarg.in b/tests/grub_script_blockarg.in
index 2765b61ac..63b60a2ea 100644
index 2765b61acbb..63b60a2ea06 100644
--- a/tests/grub_script_blockarg.in
+++ b/tests/grub_script_blockarg.in
@@ -1,4 +1,4 @@
@ -99,7 +99,7 @@ index 2765b61ac..63b60a2ea 100644
# Run GRUB script in a Qemu instance
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/tests/grub_script_expansion.in b/tests/grub_script_expansion.in
index e46401c4c..2b7829568 100644
index e46401c4c9f..2b782956838 100644
--- a/tests/grub_script_expansion.in
+++ b/tests/grub_script_expansion.in
@@ -1,4 +1,4 @@
@ -109,7 +109,7 @@ index e46401c4c..2b7829568 100644
# Run GRUB script in a Qemu instance
diff --git a/tests/help_test.in b/tests/help_test.in
index e780924ef..aa9645835 100644
index e780924ef7b..aa96458355b 100644
--- a/tests/help_test.in
+++ b/tests/help_test.in
@@ -1,4 +1,4 @@
@ -119,7 +119,7 @@ index e780924ef..aa9645835 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/test_sha512sum.in b/tests/test_sha512sum.in
index d5ef7f9ea..80ebdc59f 100644
index d5ef7f9ea62..80ebdc59fd5 100644
--- a/tests/test_sha512sum.in
+++ b/tests/test_sha512sum.in
@@ -1,4 +1,4 @@
@ -129,5 +129,5 @@ index d5ef7f9ea..80ebdc59f 100644
# create a randome file
file="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 37865c2c4ad26cd5e947b08abf1fde8145699919 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 14:35:59 +0300
Subject: [PATCH 003/198] fs-tester: make sh-compatible
Subject: [PATCH 003/206] fs-tester: make sh-compatible
---
tests/util/grub-fs-tester.in | 306 ++++++++++++++++++++++++-------------------
1 file changed, 169 insertions(+), 137 deletions(-)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 2337771a1..4515d165e 100644
index 2337771a1b9..4515d165e6e 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -1,4 +1,4 @@
@ -742,5 +742,5 @@ index 2337771a1..4515d165e 100644
if [ x"$fs" = x"zfs" ]; then
rmdir "$MNTPOINTRW"/"grub fs" || true
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From b43b8cacc813c2c15347de1e35cc88d9aa912d22 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 14:31:36 +0300
Subject: [PATCH 004/198] support busybox date.
Subject: [PATCH 004/206] support busybox date.
Busybox date doesn't understand weekdays in -d input,
so strip them beforehand.
@ -11,7 +11,7 @@ so strip them beforehand.
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/grub_cmd_date.in b/tests/grub_cmd_date.in
index 0d8162e98..60f039ebc 100644
index 0d8162e98b0..60f039ebc8b 100644
--- a/tests/grub_cmd_date.in
+++ b/tests/grub_cmd_date.in
@@ -9,7 +9,7 @@ if [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = sparc64-ieee1275 ];
@ -24,7 +24,7 @@ index 0d8162e98..60f039ebc 100644
ndt="$(date -u +%s)"
diff --git a/tests/grub_cmd_sleep.in b/tests/grub_cmd_sleep.in
index 05b8f6b73..ac51d4209 100644
index 05b8f6b73fa..ac51d42098e 100644
--- a/tests/grub_cmd_sleep.in
+++ b/tests/grub_cmd_sleep.in
@@ -11,8 +11,8 @@ fi
@ -39,5 +39,5 @@ index 05b8f6b73..ac51d4209 100644
# Ignore QEMU bug
if [ "${grub_modinfo_target_cpu}" = arm ] && [ $((dt2 - dt1)) -ge 15 ] && [ $((dt2 - dt1)) -le 17 ]; then
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 6dec3a26b37e128ded5d912e08abc5cee1592499 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 21:24:05 +0300
Subject: [PATCH 005/198] Don't retrieve fstime when it's not useful.
Subject: [PATCH 005/206] Don't retrieve fstime when it's not useful.
---
tests/util/grub-fs-tester.in | 48 ++++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 4515d165e..bf47305f3 100644
index 4515d165e6e..bf47305f3e8 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -1328,31 +1328,31 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
@ -68,5 +68,5 @@ index 4515d165e..bf47305f3 100644
if [ x$NOHARDLINK != xy ]; then
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 608bec51128008afb81c9e3f297283e9f830a146 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 20:21:05 +0300
Subject: [PATCH 006/198] Support lseek64.
Subject: [PATCH 006/206] Support lseek64.
Android doesn't have 64-bit off_t, so use off64_t instead.
---
@ -10,7 +10,7 @@ Android doesn't have 64-bit off_t, so use off64_t instead.
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d10d8adac..e0262e159 100644
index d10d8adac58..e0262e159f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -373,7 +373,10 @@ case "$host_os" in
@ -26,7 +26,7 @@ index d10d8adac..e0262e159 100644
if test x$USE_NLS = xno; then
diff --git a/grub-core/osdep/unix/hostdisk.c b/grub-core/osdep/unix/hostdisk.c
index 2a8c5882e..5450cf416 100644
index 2a8c5882e3d..5450cf4166e 100644
--- a/grub-core/osdep/unix/hostdisk.c
+++ b/grub-core/osdep/unix/hostdisk.c
@@ -77,11 +77,19 @@ grub_util_get_fd_size (grub_util_fd_t fd, const char *name, unsigned *log_secsiz
@ -50,5 +50,5 @@ index 2a8c5882e..5450cf416 100644
}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c2ea443446b7feea868e54f94a87781f69820375 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 00:55:30 +0300
Subject: [PATCH 007/198] Use $(SHELL) rather than /bin/sh.
Subject: [PATCH 007/206] Use $(SHELL) rather than /bin/sh.
/bin/sh doesn't exist under termux.
---
@ -9,7 +9,7 @@ Subject: [PATCH 007/198] Use $(SHELL) rather than /bin/sh.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 04e9395fd..809a8aa26 100644
index 04e9395fd94..809a8aa26bf 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -278,7 +278,7 @@ BUILT_SOURCES += symlist.h
@ -22,5 +22,5 @@ index 04e9395fd..809a8aa26 100644
CLEANFILES += symlist.c
BUILT_SOURCES += symlist.c
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 4341f82af0b61d3dfbe675670d4105dc759c0df3 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 14:54:03 +0300
Subject: [PATCH 008/198] po: Use @SHELL@ rather than /bin/sh.
Subject: [PATCH 008/206] po: Use @SHELL@ rather than /bin/sh.
/bin/sh might not exist.
---
@ -9,7 +9,7 @@ Subject: [PATCH 008/198] po: Use @SHELL@ rather than /bin/sh.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 3619458e8..e68e9da84 100644
index 3619458e85f..e68e9da843d 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -15,7 +15,7 @@ PACKAGE = @PACKAGE@
@ -22,5 +22,5 @@ index 3619458e8..e68e9da84 100644
srcdir = @srcdir@
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 1073ddb12078f3c8edbdb74bb8f5afc674983f40 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 23 Jan 2017 14:52:48 +0300
Subject: [PATCH 009/198] Add termux path to dict.
Subject: [PATCH 009/206] Add termux path to dict.
---
tests/util/grub-fs-tester.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index bf47305f3..468d9e785 100644
index bf47305f3e8..468d9e7856d 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -259,7 +259,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
@ -21,5 +21,5 @@ index bf47305f3..468d9e785 100644
CFILESRC="$cand"
break
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From a827807a1330d5ad619faa103bc7f12d89fc8bee Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Sun, 22 Jan 2017 20:22:34 +0300
Subject: [PATCH 010/198] Fix shebang for termux.
Subject: [PATCH 010/206] Fix shebang for termux.
Termux doesn't have a /bin/sh. So we needto use $SHELL.
Keep /bin/sh as much as possible.
@ -69,7 +69,7 @@ Keep /bin/sh as much as possible.
60 files changed, 69 insertions(+), 59 deletions(-)
diff --git a/configure.ac b/configure.ac
index e0262e159..ee2c86537 100644
index e0262e159f0..ee2c86537e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -459,6 +459,16 @@ case "$build_os" in
@ -90,7 +90,7 @@ index e0262e159..ee2c86537 100644
gl_INIT
diff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in
index 03cc3b7f6..3de06ee01 100644
index 03cc3b7f69e..3de06ee018f 100644
--- a/grub-core/genmod.sh.in
+++ b/grub-core/genmod.sh.in
@@ -1,4 +1,4 @@
@ -100,7 +100,7 @@ index 03cc3b7f6..3de06ee01 100644
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/grub-core/gensyminfo.sh.in b/grub-core/gensyminfo.sh.in
index 2e8716b42..9bc767532 100644
index 2e8716b425c..9bc7675327a 100644
--- a/grub-core/gensyminfo.sh.in
+++ b/grub-core/gensyminfo.sh.in
@@ -1,4 +1,4 @@
@ -110,7 +110,7 @@ index 2e8716b42..9bc767532 100644
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/grub-core/modinfo.sh.in b/grub-core/modinfo.sh.in
index faf0ad30e..f6cd657ce 100644
index faf0ad30edb..f6cd657ce0f 100644
--- a/grub-core/modinfo.sh.in
+++ b/grub-core/modinfo.sh.in
@@ -1,4 +1,4 @@
@ -120,7 +120,7 @@ index faf0ad30e..f6cd657ce 100644
# User-controllable options
grub_modinfo_target_cpu=@target_cpu@
diff --git a/tests/ahci_test.in b/tests/ahci_test.in
index 1d01d1f59..7df560462 100644
index 1d01d1f59a0..7df56046201 100644
--- a/tests/ahci_test.in
+++ b/tests/ahci_test.in
@@ -1,4 +1,4 @@
@ -130,7 +130,7 @@ index 1d01d1f59..7df560462 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/btrfs_test.in b/tests/btrfs_test.in
index c55d9477f..2b37ddd33 100644
index c55d9477f78..2b37ddd3324 100644
--- a/tests/btrfs_test.in
+++ b/tests/btrfs_test.in
@@ -1,4 +1,4 @@
@ -140,7 +140,7 @@ index c55d9477f..2b37ddd33 100644
set -e
diff --git a/tests/cdboot_test.in b/tests/cdboot_test.in
index 1cc901977..75acdfedb 100644
index 1cc901977c2..75acdfedb7f 100644
--- a/tests/cdboot_test.in
+++ b/tests/cdboot_test.in
@@ -1,4 +1,4 @@
@ -150,7 +150,7 @@ index 1cc901977..75acdfedb 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/core_compress_test.in b/tests/core_compress_test.in
index 1003587cc..9d216ebcf 100644
index 1003587ccca..9d216ebcff6 100644
--- a/tests/core_compress_test.in
+++ b/tests/core_compress_test.in
@@ -1,4 +1,4 @@
@ -160,7 +160,7 @@ index 1003587cc..9d216ebcf 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/cpio_test.in b/tests/cpio_test.in
index 0b09db549..5742cf17b 100644
index 0b09db549f0..5742cf17b9d 100644
--- a/tests/cpio_test.in
+++ b/tests/cpio_test.in
@@ -1,4 +1,4 @@
@ -170,7 +170,7 @@ index 0b09db549..5742cf17b 100644
set -e
diff --git a/tests/ehci_test.in b/tests/ehci_test.in
index 7dd8d3e8f..b197f8cdc 100644
index 7dd8d3e8fbd..b197f8cdc92 100644
--- a/tests/ehci_test.in
+++ b/tests/ehci_test.in
@@ -1,4 +1,4 @@
@ -180,7 +180,7 @@ index 7dd8d3e8f..b197f8cdc 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/example_scripted_test.in b/tests/example_scripted_test.in
index 09633e893..783b7f138 100644
index 09633e89341..783b7f13853 100644
--- a/tests/example_scripted_test.in
+++ b/tests/example_scripted_test.in
@@ -1,4 +1,4 @@
@ -190,7 +190,7 @@ index 09633e893..783b7f138 100644
true
diff --git a/tests/exfat_test.in b/tests/exfat_test.in
index fc1a0fe5e..cd3cd4cb2 100644
index fc1a0fe5ec0..cd3cd4cb2f7 100644
--- a/tests/exfat_test.in
+++ b/tests/exfat_test.in
@@ -1,4 +1,4 @@
@ -200,7 +200,7 @@ index fc1a0fe5e..cd3cd4cb2 100644
set -e
diff --git a/tests/ext234_test.in b/tests/ext234_test.in
index c986960a8..892b99cbd 100644
index c986960a8be..892b99cbdf6 100644
--- a/tests/ext234_test.in
+++ b/tests/ext234_test.in
@@ -1,4 +1,4 @@
@ -210,7 +210,7 @@ index c986960a8..892b99cbd 100644
set -e
diff --git a/tests/fat_test.in b/tests/fat_test.in
index 1d132b517..b6b4748ca 100644
index 1d132b51703..b6b4748ca69 100644
--- a/tests/fat_test.in
+++ b/tests/fat_test.in
@@ -1,4 +1,4 @@
@ -220,7 +220,7 @@ index 1d132b517..b6b4748ca 100644
set -e
diff --git a/tests/fddboot_test.in b/tests/fddboot_test.in
index a59645b7f..2d7dfc889 100644
index a59645b7f87..2d7dfc8891f 100644
--- a/tests/fddboot_test.in
+++ b/tests/fddboot_test.in
@@ -1,4 +1,4 @@
@ -230,7 +230,7 @@ index a59645b7f..2d7dfc889 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/file_filter_test.in b/tests/file_filter_test.in
index 8909e4021..bfb638227 100644
index 8909e4021fb..bfb6382274e 100644
--- a/tests/file_filter_test.in
+++ b/tests/file_filter_test.in
@@ -1,4 +1,4 @@
@ -240,7 +240,7 @@ index 8909e4021..bfb638227 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/gettext_strings_test.in b/tests/gettext_strings_test.in
index 5c305e75b..813999ebe 100644
index 5c305e75b7e..813999ebe6e 100644
--- a/tests/gettext_strings_test.in
+++ b/tests/gettext_strings_test.in
@@ -1,4 +1,4 @@
@ -250,7 +250,7 @@ index 5c305e75b..813999ebe 100644
cd '@srcdir@'
diff --git a/tests/grub_cmd_date.in b/tests/grub_cmd_date.in
index 60f039ebc..f7c9ca004 100644
index 60f039ebc8b..f7c9ca00432 100644
--- a/tests/grub_cmd_date.in
+++ b/tests/grub_cmd_date.in
@@ -1,4 +1,4 @@
@ -260,7 +260,7 @@ index 60f039ebc..f7c9ca004 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_regexp.in b/tests/grub_cmd_regexp.in
index 7e9ab86aa..6520bd6d7 100644
index 7e9ab86aabb..6520bd6d79a 100644
--- a/tests/grub_cmd_regexp.in
+++ b/tests/grub_cmd_regexp.in
@@ -1,4 +1,4 @@
@ -270,7 +270,7 @@ index 7e9ab86aa..6520bd6d7 100644
# Run GRUB script in a Qemu instance
diff --git a/tests/grub_cmd_set_date.in b/tests/grub_cmd_set_date.in
index 2f518dd9e..aac120a6c 100644
index 2f518dd9e34..aac120a6c52 100644
--- a/tests/grub_cmd_set_date.in
+++ b/tests/grub_cmd_set_date.in
@@ -1,4 +1,4 @@
@ -280,7 +280,7 @@ index 2f518dd9e..aac120a6c 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_sleep.in b/tests/grub_cmd_sleep.in
index ac51d4209..8797f6632 100644
index ac51d42098e..8797f663284 100644
--- a/tests/grub_cmd_sleep.in
+++ b/tests/grub_cmd_sleep.in
@@ -1,4 +1,4 @@
@ -290,7 +290,7 @@ index ac51d4209..8797f6632 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_cmd_test.in b/tests/grub_cmd_test.in
index 49ae8a9c8..3399eb292 100644
index 49ae8a9c830..3399eb29294 100644
--- a/tests/grub_cmd_test.in
+++ b/tests/grub_cmd_test.in
@@ -1,4 +1,4 @@
@ -300,7 +300,7 @@ index 49ae8a9c8..3399eb292 100644
# create a randome file
empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
diff --git a/tests/grub_cmd_tr.in b/tests/grub_cmd_tr.in
index 0e8d645eb..bed469c03 100644
index 0e8d645eb6b..bed469c03dd 100644
--- a/tests/grub_cmd_tr.in
+++ b/tests/grub_cmd_tr.in
@@ -1,4 +1,4 @@
@ -310,7 +310,7 @@ index 0e8d645eb..bed469c03 100644
# Run GRUB script in a Qemu instance
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/tests/grub_func_test.in b/tests/grub_func_test.in
index b32f24466..c67f9e422 100644
index b32f2446659..c67f9e42253 100644
--- a/tests/grub_func_test.in
+++ b/tests/grub_func_test.in
@@ -1,4 +1,4 @@
@ -320,7 +320,7 @@ index b32f24466..c67f9e422 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/grub_script_blanklines.in b/tests/grub_script_blanklines.in
index 89ed763d3..bd8735491 100644
index 89ed763d3f4..bd8735491be 100644
--- a/tests/grub_script_blanklines.in
+++ b/tests/grub_script_blanklines.in
@@ -1,4 +1,4 @@
@ -330,7 +330,7 @@ index 89ed763d3..bd8735491 100644
@builddir@/grub-script-check <<EOF
diff --git a/tests/grub_script_blockarg.in b/tests/grub_script_blockarg.in
index 63b60a2ea..6ea9b8c3d 100644
index 63b60a2ea06..6ea9b8c3d87 100644
--- a/tests/grub_script_blockarg.in
+++ b/tests/grub_script_blockarg.in
@@ -1,4 +1,4 @@
@ -340,7 +340,7 @@ index 63b60a2ea..6ea9b8c3d 100644
# Run GRUB script in a Qemu instance
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/tests/grub_script_dollar.in b/tests/grub_script_dollar.in
index 2e076427a..392fe2e7a 100644
index 2e076427afb..392fe2e7ab0 100644
--- a/tests/grub_script_dollar.in
+++ b/tests/grub_script_dollar.in
@@ -1,4 +1,4 @@
@ -350,7 +350,7 @@ index 2e076427a..392fe2e7a 100644
@builddir@/grub-script-check << EOF
diff --git a/tests/grub_script_expansion.in b/tests/grub_script_expansion.in
index 2b7829568..9d0dcdd29 100644
index 2b782956838..9d0dcdd2910 100644
--- a/tests/grub_script_expansion.in
+++ b/tests/grub_script_expansion.in
@@ -1,4 +1,4 @@
@ -360,7 +360,7 @@ index 2b7829568..9d0dcdd29 100644
# Run GRUB script in a Qemu instance
diff --git a/tests/grub_script_final_semicolon.in b/tests/grub_script_final_semicolon.in
index 3ac26540b..f17a9bf95 100644
index 3ac26540bbd..f17a9bf95e6 100644
--- a/tests/grub_script_final_semicolon.in
+++ b/tests/grub_script_final_semicolon.in
@@ -1,4 +1,4 @@
@ -370,7 +370,7 @@ index 3ac26540b..f17a9bf95 100644
@builddir@/grub-script-check <<EOF
diff --git a/tests/grub_script_no_commands.in b/tests/grub_script_no_commands.in
index c31d267e5..996bb1810 100644
index c31d267e5fd..996bb181043 100644
--- a/tests/grub_script_no_commands.in
+++ b/tests/grub_script_no_commands.in
@@ -1,4 +1,4 @@
@ -380,7 +380,7 @@ index c31d267e5..996bb1810 100644
# grub-script-check refuses to pass a file with no commands; this usually
diff --git a/tests/gzcompress_test.in b/tests/gzcompress_test.in
index 11b6bb208..42c8fe7c4 100644
index 11b6bb20830..42c8fe7c4e8 100644
--- a/tests/gzcompress_test.in
+++ b/tests/gzcompress_test.in
@@ -1,4 +1,4 @@
@ -390,7 +390,7 @@ index 11b6bb208..42c8fe7c4 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/hddboot_test.in b/tests/hddboot_test.in
index c229716a6..6d70847a5 100644
index c229716a642..6d70847a5de 100644
--- a/tests/hddboot_test.in
+++ b/tests/hddboot_test.in
@@ -1,4 +1,4 @@
@ -400,7 +400,7 @@ index c229716a6..6d70847a5 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/help_test.in b/tests/help_test.in
index aa9645835..b08cf2013 100644
index aa96458355b..b08cf201382 100644
--- a/tests/help_test.in
+++ b/tests/help_test.in
@@ -1,4 +1,4 @@
@ -410,7 +410,7 @@ index aa9645835..b08cf2013 100644
. "@builddir@/grub-core/modinfo.sh"
diff --git a/tests/hfs_test.in b/tests/hfs_test.in
index e3e88f190..d7ec56bef 100644
index e3e88f19067..d7ec56beffa 100644
--- a/tests/hfs_test.in
+++ b/tests/hfs_test.in
@@ -1,4 +1,4 @@
@ -420,7 +420,7 @@ index e3e88f190..d7ec56bef 100644
set -e
diff --git a/tests/hfsplus_test.in b/tests/hfsplus_test.in
index f947c4a44..85f1c37dc 100644
index f947c4a447f..85f1c37dce6 100644
--- a/tests/hfsplus_test.in
+++ b/tests/hfsplus_test.in
@@ -1,4 +1,4 @@
@ -430,7 +430,7 @@ index f947c4a44..85f1c37dc 100644
set -e
diff --git a/tests/iso9660_test.in b/tests/iso9660_test.in
index fdcc9e124..571b938d7 100644
index fdcc9e12420..571b938d7a0 100644
--- a/tests/iso9660_test.in
+++ b/tests/iso9660_test.in
@@ -1,4 +1,4 @@
@ -440,7 +440,7 @@ index fdcc9e124..571b938d7 100644
set -e
diff --git a/tests/jfs_test.in b/tests/jfs_test.in
index c2e5ecedd..6cf7576b3 100644
index c2e5eceddcd..6cf7576b35e 100644
--- a/tests/jfs_test.in
+++ b/tests/jfs_test.in
@@ -1,4 +1,4 @@
@ -450,7 +450,7 @@ index c2e5ecedd..6cf7576b3 100644
set -e
diff --git a/tests/lzocompress_test.in b/tests/lzocompress_test.in
index 41984c254..4e5f7e078 100644
index 41984c25419..4e5f7e078d5 100644
--- a/tests/lzocompress_test.in
+++ b/tests/lzocompress_test.in
@@ -1,4 +1,4 @@
@ -460,7 +460,7 @@ index 41984c254..4e5f7e078 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/minixfs_test.in b/tests/minixfs_test.in
index 1784b1261..3b16a4de0 100644
index 1784b1261f7..3b16a4de093 100644
--- a/tests/minixfs_test.in
+++ b/tests/minixfs_test.in
@@ -1,4 +1,4 @@
@ -470,7 +470,7 @@ index 1784b1261..3b16a4de0 100644
set -e
diff --git a/tests/netboot_test.in b/tests/netboot_test.in
index c757023d9..9f71e3d88 100644
index c757023d989..9f71e3d8854 100644
--- a/tests/netboot_test.in
+++ b/tests/netboot_test.in
@@ -1,4 +1,4 @@
@ -480,7 +480,7 @@ index c757023d9..9f71e3d88 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/nilfs2_test.in b/tests/nilfs2_test.in
index 780b60ec1..ad44d5b33 100644
index 780b60ec1ac..ad44d5b33c8 100644
--- a/tests/nilfs2_test.in
+++ b/tests/nilfs2_test.in
@@ -1,4 +1,4 @@
@ -490,7 +490,7 @@ index 780b60ec1..ad44d5b33 100644
set -e
diff --git a/tests/ntfs_test.in b/tests/ntfs_test.in
index e25c6384a..9eb7b01f6 100644
index e25c6384a9c..9eb7b01f66e 100644
--- a/tests/ntfs_test.in
+++ b/tests/ntfs_test.in
@@ -1,4 +1,4 @@
@ -500,7 +500,7 @@ index e25c6384a..9eb7b01f6 100644
set -e
diff --git a/tests/ohci_test.in b/tests/ohci_test.in
index 7fede6f26..8693f8c47 100644
index 7fede6f262c..8693f8c4728 100644
--- a/tests/ohci_test.in
+++ b/tests/ohci_test.in
@@ -1,4 +1,4 @@
@ -510,7 +510,7 @@ index 7fede6f26..8693f8c47 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/partmap_test.in b/tests/partmap_test.in
index f8dc456fb..6ef518b0a 100644
index f8dc456fb8c..6ef518b0adc 100644
--- a/tests/partmap_test.in
+++ b/tests/partmap_test.in
@@ -1,4 +1,4 @@
@ -520,7 +520,7 @@ index f8dc456fb..6ef518b0a 100644
# Copyright (C) 2010 Free Software Foundation, Inc.
diff --git a/tests/pata_test.in b/tests/pata_test.in
index c1d0f63ea..4b18fdef3 100644
index c1d0f63ea21..4b18fdef3d3 100644
--- a/tests/pata_test.in
+++ b/tests/pata_test.in
@@ -1,4 +1,4 @@
@ -530,7 +530,7 @@ index c1d0f63ea..4b18fdef3 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/pseries_test.in b/tests/pseries_test.in
index 226494593..655eb4f3a 100644
index 226494593d1..655eb4f3a63 100644
--- a/tests/pseries_test.in
+++ b/tests/pseries_test.in
@@ -1,4 +1,4 @@
@ -540,7 +540,7 @@ index 226494593..655eb4f3a 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/reiserfs_test.in b/tests/reiserfs_test.in
index 678efe7b3..b5fed7635 100644
index 678efe7b366..b5fed763567 100644
--- a/tests/reiserfs_test.in
+++ b/tests/reiserfs_test.in
@@ -1,4 +1,4 @@
@ -550,7 +550,7 @@ index 678efe7b3..b5fed7635 100644
set -e
diff --git a/tests/romfs_test.in b/tests/romfs_test.in
index 83e09315a..98bb50c32 100644
index 83e09315acf..98bb50c324b 100644
--- a/tests/romfs_test.in
+++ b/tests/romfs_test.in
@@ -1,4 +1,4 @@
@ -560,7 +560,7 @@ index 83e09315a..98bb50c32 100644
set -e
diff --git a/tests/squashfs_test.in b/tests/squashfs_test.in
index ec34e0108..2f044f95d 100644
index ec34e0108c3..2f044f95d99 100644
--- a/tests/squashfs_test.in
+++ b/tests/squashfs_test.in
@@ -1,4 +1,4 @@
@ -570,7 +570,7 @@ index ec34e0108..2f044f95d 100644
set -e
diff --git a/tests/syslinux_test.in b/tests/syslinux_test.in
index fc4edd8ef..4ea86390e 100644
index fc4edd8ef6b..4ea86390e0a 100644
--- a/tests/syslinux_test.in
+++ b/tests/syslinux_test.in
@@ -1,4 +1,4 @@
@ -580,7 +580,7 @@ index fc4edd8ef..4ea86390e 100644
set -e
diff --git a/tests/tar_test.in b/tests/tar_test.in
index 46ba3bce2..6e2f2de8b 100644
index 46ba3bce295..6e2f2de8b7f 100644
--- a/tests/tar_test.in
+++ b/tests/tar_test.in
@@ -1,4 +1,4 @@
@ -590,7 +590,7 @@ index 46ba3bce2..6e2f2de8b 100644
set -e
diff --git a/tests/test_sha512sum.in b/tests/test_sha512sum.in
index 80ebdc59f..027092a8b 100644
index 80ebdc59fd5..027092a8b17 100644
--- a/tests/test_sha512sum.in
+++ b/tests/test_sha512sum.in
@@ -1,4 +1,4 @@
@ -600,7 +600,7 @@ index 80ebdc59f..027092a8b 100644
# create a randome file
file="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
diff --git a/tests/udf_test.in b/tests/udf_test.in
index fe244e2bd..fb92f0173 100644
index fe244e2bdfc..fb92f0173cc 100644
--- a/tests/udf_test.in
+++ b/tests/udf_test.in
@@ -1,4 +1,4 @@
@ -610,7 +610,7 @@ index fe244e2bd..fb92f0173 100644
set -e
diff --git a/tests/uhci_test.in b/tests/uhci_test.in
index 89e2c1805..4af72fd8f 100644
index 89e2c18051a..4af72fd8fea 100644
--- a/tests/uhci_test.in
+++ b/tests/uhci_test.in
@@ -1,4 +1,4 @@
@ -620,7 +620,7 @@ index 89e2c1805..4af72fd8f 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 468d9e785..88cbe7365 100644
index 468d9e7856d..88cbe7365e9 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -1,4 +1,4 @@
@ -630,7 +630,7 @@ index 468d9e785..88cbe7365 100644
set -e
diff --git a/tests/util/grub-shell-tester.in b/tests/util/grub-shell-tester.in
index 5adce0a47..8a87109b1 100644
index 5adce0a47fe..8a87109b152 100644
--- a/tests/util/grub-shell-tester.in
+++ b/tests/util/grub-shell-tester.in
@@ -1,4 +1,4 @@
@ -640,7 +640,7 @@ index 5adce0a47..8a87109b1 100644
# Compares GRUB script output with BASH output.
diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in
index 814f36c6b..d690d6734 100644
index 814f36c6bd2..d690d6734ef 100644
--- a/tests/util/grub-shell.in
+++ b/tests/util/grub-shell.in
@@ -1,4 +1,4 @@
@ -650,7 +650,7 @@ index 814f36c6b..d690d6734 100644
# Run GRUB script in a Qemu instance
diff --git a/tests/xfs_test.in b/tests/xfs_test.in
index 3807e2e5c..03a351359 100644
index 3807e2e5c77..03a3513595d 100644
--- a/tests/xfs_test.in
+++ b/tests/xfs_test.in
@@ -1,4 +1,4 @@
@ -660,7 +660,7 @@ index 3807e2e5c..03a351359 100644
set -e
diff --git a/tests/xzcompress_test.in b/tests/xzcompress_test.in
index b2bd999ec..03bfb5e95 100644
index b2bd999ec07..03bfb5e951d 100644
--- a/tests/xzcompress_test.in
+++ b/tests/xzcompress_test.in
@@ -1,4 +1,4 @@
@ -670,7 +670,7 @@ index b2bd999ec..03bfb5e95 100644
#
# GRUB is free software: you can redistribute it and/or modify
diff --git a/tests/zfs_test.in b/tests/zfs_test.in
index 047120e47..eee62c10d 100644
index 047120e47a0..eee62c10d70 100644
--- a/tests/zfs_test.in
+++ b/tests/zfs_test.in
@@ -1,4 +1,4 @@
@ -680,5 +680,5 @@ index 047120e47..eee62c10d 100644
set -e
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From ede6c9689395499f98a4c14d76b97151b4de5f54 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Wed, 3 May 2017 12:58:15 +0200
Subject: [PATCH 011/198] Add strtoull test.
Subject: [PATCH 011/206] Add strtoull test.
---
grub-core/Makefile.core.def | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 2dfa22a92..8dcd0e5a9 100644
index 2dfa22a9271..8dcd0e5a998 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -1961,6 +1961,11 @@ module = {
@ -24,5 +24,5 @@ index 2dfa22a92..8dcd0e5a9 100644
name = setjmp_test;
common = tests/setjmp_test.c;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From dc6e1b5af83eb1c4290baf97c2d221c0865127be Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Wed, 10 Aug 2016 17:49:42 +0200
Subject: [PATCH 012/198] strtoull: Fix behaviour on chars between '9' and 'a'.
Subject: [PATCH 012/206] strtoull: Fix behaviour on chars between '9' and 'a'.
Reported by: Aaron Miller <aaronmiller@fb.com>
---
@ -10,7 +10,7 @@ Reported by: Aaron Miller <aaronmiller@fb.com>
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
index d1a54df6c..3b633d51f 100644
index d1a54df6c12..3b633d51f4c 100644
--- a/grub-core/kern/misc.c
+++ b/grub-core/kern/misc.c
@@ -391,12 +391,13 @@ grub_strtoull (const char *str, char **end, int base)
@ -34,7 +34,7 @@ index d1a54df6c..3b633d51f 100644
found = 1;
diff --git a/grub-core/tests/lib/functional_test.c b/grub-core/tests/lib/functional_test.c
index d4822a124..96781fb39 100644
index d4822a12456..96781fb39b5 100644
--- a/grub-core/tests/lib/functional_test.c
+++ b/grub-core/tests/lib/functional_test.c
@@ -26,14 +26,23 @@ GRUB_MOD_LICENSE ("GPLv3+");
@ -64,5 +64,5 @@ index d4822a124..96781fb39 100644
ok = ok && !grub_test_run (test);
grub_errno = 0;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From d9f7de0ae3c0c09cff7257c55418450261f3e082 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Mon, 23 Dec 2013 12:32:02 -0200
Subject: [PATCH 013/198] Add Virtual LAN support.
Subject: [PATCH 013/206] Add Virtual LAN support.
This patch adds support for virtual LAN (VLAN) tagging. VLAN tagging allows
multiple VLANs in a bridged network to share the same physical network link
@ -26,7 +26,7 @@ http://en.wikipedia.org/wiki/IEEE_802.1Q
7 files changed, 92 insertions(+), 20 deletions(-)
diff --git a/grub-core/net/arp.c b/grub-core/net/arp.c
index 4b68c4151..54306e3b1 100644
index 4b68c4151a1..54306e3b16d 100644
--- a/grub-core/net/arp.c
+++ b/grub-core/net/arp.c
@@ -111,8 +111,8 @@ grub_net_arp_send_request (struct grub_net_network_level_interface *inf,
@ -56,7 +56,7 @@ index 4b68c4151..54306e3b1 100644
if (grub_net_addr_cmp (&inf->address, &target_addr) == 0
&& arp_packet->op == grub_cpu_to_be16_compile_time (ARP_REQUEST))
diff --git a/grub-core/net/drivers/ieee1275/ofnet.c b/grub-core/net/drivers/ieee1275/ofnet.c
index a78d164db..002446be1 100644
index a78d164db1a..002446be1c3 100644
--- a/grub-core/net/drivers/ieee1275/ofnet.c
+++ b/grub-core/net/drivers/ieee1275/ofnet.c
@@ -153,11 +153,11 @@ grub_ieee1275_parse_bootpath (const char *devpath, char *bootpath,
@ -96,7 +96,7 @@ index a78d164db..002446be1 100644
if (gateway_addr.ipv4 != 0)
diff --git a/grub-core/net/ethernet.c b/grub-core/net/ethernet.c
index c397b1b34..4d7ceed6f 100644
index c397b1b348c..4d7ceed6f93 100644
--- a/grub-core/net/ethernet.c
+++ b/grub-core/net/ethernet.c
@@ -18,6 +18,7 @@
@ -192,7 +192,7 @@ index c397b1b34..4d7ceed6f 100644
grub_netbuff_free (nb);
return GRUB_ERR_NONE;
diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
index aba4f8908..7c95cc746 100644
index aba4f89087b..7c95cc7464a 100644
--- a/grub-core/net/ip.c
+++ b/grub-core/net/ip.c
@@ -228,12 +228,13 @@ handle_dgram (struct grub_net_buff *nb,
@ -294,7 +294,7 @@ index aba4f8908..7c95cc746 100644
grub_netbuff_free (nb);
return GRUB_ERR_NONE;
diff --git a/include/grub/net.h b/include/grub/net.h
index 2192fa186..1096b2432 100644
index 2192fa18628..1096b24322e 100644
--- a/include/grub/net.h
+++ b/include/grub/net.h
@@ -291,6 +291,7 @@ struct grub_net_network_level_interface
@ -313,7 +313,7 @@ index 2192fa186..1096b2432 100644
+
#endif /* ! GRUB_NET_HEADER */
diff --git a/include/grub/net/arp.h b/include/grub/net/arp.h
index bb1703622..8d9d08113 100644
index bb1703622e1..8d9d081134f 100644
--- a/include/grub/net/arp.h
+++ b/include/grub/net/arp.h
@@ -22,10 +22,11 @@
@ -331,7 +331,7 @@ index bb1703622..8d9d08113 100644
#endif
diff --git a/include/grub/net/ip.h b/include/grub/net/ip.h
index dcceaa568..ab9d68f98 100644
index dcceaa56894..ab9d68f9825 100644
--- a/include/grub/net/ip.h
+++ b/include/grub/net/ip.h
@@ -48,7 +48,8 @@ grub_err_t
@ -345,5 +345,5 @@ index dcceaa568..ab9d68f98 100644
grub_err_t
grub_net_send_ip_packet (struct grub_net_network_level_interface *inf,
--
2.14.3
2.15.0

View File

@ -1,41 +1,19 @@
From a35ac854308b0af7c86c2c7b199f6abdfa2110b0 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 17:32:15 +0200
Subject: [PATCH 014/198] mkimage: Pass layout to mkimage_generate_elfXX rather
Subject: [PATCH 014/206] mkimage: Pass layout to mkimage_generate_elfXX rather
than some fields.
This allows easier extension of this function without having too long of
arguments list.
---
include/grub/util/mkimage.h | 8 ++++----
util/grub-mkimagexx.c | 35 ++++++++++++++++++-----------------
util/mkimage.c | 4 ++--
include/grub/util/mkimage.h | 8 ++++----
3 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/include/grub/util/mkimage.h b/include/grub/util/mkimage.h
index 1a18708a8..b3a5ca132 100644
--- a/include/grub/util/mkimage.h
+++ b/include/grub/util/mkimage.h
@@ -51,13 +51,13 @@ grub_mkimage_load_image64 (const char *kernel_path,
void
grub_mkimage_generate_elf32 (const struct grub_install_image_target_desc *image_target,
int note, char **core_img, size_t *core_size,
- Elf32_Addr target_addr, grub_size_t align,
- size_t kernel_size, size_t bss_size);
+ Elf32_Addr target_addr,
+ struct grub_mkimage_layout *layout);
void
grub_mkimage_generate_elf64 (const struct grub_install_image_target_desc *image_target,
int note, char **core_img, size_t *core_size,
- Elf64_Addr target_addr, grub_size_t align,
- size_t kernel_size, size_t bss_size);
+ Elf64_Addr target_addr,
+ struct grub_mkimage_layout *layout);
struct grub_install_image_target_desc
{
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
index e63f148e4..3fab93e20 100644
index e63f148e48c..3fab93e2088 100644
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -185,8 +185,8 @@ grub_arm_reloc_jump24 (grub_uint32_t *target, Elf32_Addr sym_addr)
@ -147,7 +125,7 @@ index e63f148e4..3fab93e20 100644
shdr->sh_size = grub_host_to_target32 (XEN_NOTE_SIZE);
shdr->sh_link = grub_host_to_target32 (0);
diff --git a/util/mkimage.c b/util/mkimage.c
index 9ad4cfe42..528166c87 100644
index 9ad4cfe4223..528166c87ac 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -1638,10 +1638,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
@ -163,6 +141,28 @@ index 9ad4cfe42..528166c87 100644
}
break;
}
diff --git a/include/grub/util/mkimage.h b/include/grub/util/mkimage.h
index 1a18708a89c..b3a5ca132bc 100644
--- a/include/grub/util/mkimage.h
+++ b/include/grub/util/mkimage.h
@@ -51,13 +51,13 @@ grub_mkimage_load_image64 (const char *kernel_path,
void
grub_mkimage_generate_elf32 (const struct grub_install_image_target_desc *image_target,
int note, char **core_img, size_t *core_size,
- Elf32_Addr target_addr, grub_size_t align,
- size_t kernel_size, size_t bss_size);
+ Elf32_Addr target_addr,
+ struct grub_mkimage_layout *layout);
void
grub_mkimage_generate_elf64 (const struct grub_install_image_target_desc *image_target,
int note, char **core_img, size_t *core_size,
- Elf64_Addr target_addr, grub_size_t align,
- size_t kernel_size, size_t bss_size);
+ Elf64_Addr target_addr,
+ struct grub_mkimage_layout *layout);
struct grub_install_image_target_desc
{
--
2.14.3
2.15.0

View File

@ -1,26 +1,26 @@
From d08c9685149e7788001ac9a209baa1d84c3628e0 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 17:47:57 +0200
Subject: [PATCH 015/198] Refactor arm-uboot code to make it genereic.
Subject: [PATCH 015/206] Refactor arm-uboot code to make it genereic.
arm-coreboot startup code can be very similar to arm-uboot but current code has
U-Boot specific references. So split U-Boot part from generic part.
---
grub-core/Makefile.core.def | 4 +-
grub-core/kern/arm/{uboot => }/startup.S | 64 ++++------------------------
grub-core/kern/arm/uboot/init.c | 70 ++++++++++++++++++++++++++++++
grub-core/kern/arm/uboot/uboot.S | 73 ++++++++++++++++++++++++++++++++
grub-core/kern/uboot/init.c | 16 -------
grub-core/kern/uboot/uboot.c | 35 ---------------
include/grub/arm/startup.h | 16 +++++++
7 files changed, 170 insertions(+), 108 deletions(-)
rename grub-core/kern/arm/{uboot => }/startup.S (77%)
grub-core/kern/arm/{uboot => }/startup.S | 66 ++++-------------------------
grub-core/kern/arm/uboot/uboot.S | 73 ++++++++++++++++++++++++++++++++
7 files changed, 171 insertions(+), 109 deletions(-)
create mode 100644 grub-core/kern/arm/uboot/init.c
create mode 100644 grub-core/kern/arm/uboot/uboot.S
create mode 100644 include/grub/arm/startup.h
rename grub-core/kern/arm/{uboot => }/startup.S (77%)
create mode 100644 grub-core/kern/arm/uboot/uboot.S
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 8dcd0e5a9..fb59a7b1d 100644
index 8dcd0e5a998..fb59a7b1d6a 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -105,7 +105,7 @@ kernel = {
@ -41,102 +41,9 @@ index 8dcd0e5a9..fb59a7b1d 100644
terminfoinkernel = term/terminfo.c;
terminfoinkernel = term/tparm.c;
diff --git a/grub-core/kern/arm/uboot/startup.S b/grub-core/kern/arm/startup.S
similarity index 77%
rename from grub-core/kern/arm/uboot/startup.S
rename to grub-core/kern/arm/startup.S
index 5efaae16e..640837cba 100644
--- a/grub-core/kern/arm/uboot/startup.S
+++ b/grub-core/kern/arm/startup.S
@@ -86,7 +86,7 @@ FUNCTION(codestart)
@ Stack pointer used as start address for signature probing
mov r12, sp
adr sp, entry_state
- push {r1-r12,lr} @ store U-Boot context (sp in r12)
+ push {r0-r12,lr} @ store U-Boot context (sp in r12)
adr r1, _start
ldr r0, bss_start_ptr @ src
@@ -153,69 +153,21 @@ reloc_done:
b EXT_C(grub_main)
- /*
- * uboot_syscall():
- * This function is effectively a veneer, so it cannot
- * modify the stack or corrupt any registers other than
- * r12 (ip). Furthermore it needs to restore r8 for
- * U-Boot (Global Data Pointer) and preserve it for Grub.
- */
-FUNCTION(grub_uboot_syscall)
- str r8, transition_space
- str lr, transition_space + 4
- str r9, transition_space + 8
-
- ldr r8, gd_backup
- ldr r9, gd_backup + 4
-
- bl do_syscall
-
- ldr r8, transition_space
- ldr lr, transition_space + 4
- ldr r9, transition_space + 8
-
- bx lr
-do_syscall:
-
- ldr ip, grub_uboot_syscall_ptr
- bx ip
-
-FUNCTION(grub_uboot_return)
- adr sp, entry_state_end
- pop {r4-r12, lr}
- mov sp, r12
- bx lr
-
-
.align 3
-@ U-boot context stack space
-entry_state_end:
-VARIABLE(grub_uboot_machine_type)
+@ U-boot/coreboot context stack space
+VARIABLE(grub_arm_saved_registers)
+ .long 0 @ r0
.long 0 @ r1
-VARIABLE(grub_uboot_boot_data)
.long 0 @ r2
.long 0 @ r3
.long 0 @ r4
.long 0 @ r5
.long 0 @ r6
.long 0 @ r7
-gd_backup:
- .long 0 @ r8 - U-Boot global data pointer up to 2013-09-21
- .long 0 @ r9 - U-Boot global data pointer 2013-09-21 onwards
+ .long 0 @ r8
+ .long 0 @ r9
.long 0 @ r10
.long 0 @ r11
-VARIABLE(grub_uboot_search_hint)@ U-Boot stack pointer -
- .long 0 @ also API signature address hint.
- .long 0 @ lr
-entry_state: @ backup for U-Boot context
-
-@ GRUB context stack space
-transition_space:
- .long 0 @ r8
+ .long 0 @ sp
.long 0 @ lr
- .long 0 @ r9
-
-VARIABLE(grub_uboot_syscall_ptr)
- .long 0 @
-
- END
+entry_state:
diff --git a/grub-core/kern/arm/uboot/init.c b/grub-core/kern/arm/uboot/init.c
new file mode 100644
index 000000000..2a6aa3fdd
index 00000000000..2a6aa3fdd3d
--- /dev/null
+++ b/grub-core/kern/arm/uboot/init.c
@@ -0,0 +1,70 @@
@ -210,9 +117,213 @@ index 000000000..2a6aa3fdd
+
+ return 0;
+}
diff --git a/grub-core/kern/uboot/init.c b/grub-core/kern/uboot/init.c
index 5dcc106ed9b..3e338645c57 100644
--- a/grub-core/kern/uboot/init.c
+++ b/grub-core/kern/uboot/init.c
@@ -36,30 +36,14 @@
extern char __bss_start[];
extern char _end[];
extern grub_size_t grub_total_module_size;
-extern int (*grub_uboot_syscall_ptr) (int, int *, ...);
static unsigned long timer_start;
-extern grub_uint32_t grub_uboot_machine_type;
-extern grub_addr_t grub_uboot_boot_data;
-
void
grub_exit (void)
{
grub_uboot_return (0);
}
-grub_uint32_t
-grub_uboot_get_machine_type (void)
-{
- return grub_uboot_machine_type;
-}
-
-grub_addr_t
-grub_uboot_get_boot_data (void)
-{
- return grub_uboot_boot_data;
-}
-
static grub_uint64_t
uboot_timer_ms (void)
{
diff --git a/grub-core/kern/uboot/uboot.c b/grub-core/kern/uboot/uboot.c
index 6800a4beb1c..cf0168e62dd 100644
--- a/grub-core/kern/uboot/uboot.c
+++ b/grub-core/kern/uboot/uboot.c
@@ -39,48 +39,13 @@
* returns: 0 if the call not found, 1 if serviced
*/
-extern int (*grub_uboot_syscall_ptr) (int, int *, ...);
extern int grub_uboot_syscall (int, int *, ...);
-extern grub_addr_t grub_uboot_search_hint;
static struct sys_info uboot_sys_info;
static struct mem_region uboot_mem_info[5];
static struct device_info * devices;
static int num_devices;
-int
-grub_uboot_api_init (void)
-{
- struct api_signature *start, *end;
- struct api_signature *p;
-
- if (grub_uboot_search_hint)
- {
- /* Extended search range to work around Trim Slice U-Boot issue */
- start = (struct api_signature *) ((grub_uboot_search_hint & ~0x000fffff)
- - 0x00500000);
- end =
- (struct api_signature *) ((grub_addr_t) start + UBOOT_API_SEARCH_LEN -
- API_SIG_MAGLEN + 0x00500000);
- }
- else
- {
- start = 0;
- end = (struct api_signature *) (256 * 1024 * 1024);
- }
-
- /* Structure alignment is (at least) 8 bytes */
- for (p = start; p < end; p = (void *) ((grub_addr_t) p + 8))
- {
- if (grub_memcmp (&(p->magic), API_SIG_MAGIC, API_SIG_MAGLEN) == 0)
- {
- grub_uboot_syscall_ptr = p->syscall;
- return p->version;
- }
- }
-
- return 0;
-}
/*
* All functions below are wrappers around the grub_uboot_syscall() function
diff --git a/include/grub/arm/startup.h b/include/grub/arm/startup.h
new file mode 100644
index 00000000000..9afb6c57c0b
--- /dev/null
+++ b/include/grub/arm/startup.h
@@ -0,0 +1,16 @@
+#ifndef GRUB_STARTUP_CPU_HEADER
+#define GRUB_STARTUP_CPU_HEADER
+
+struct grub_arm_startup_registers
+{
+ /* registers 0-11 */
+ /* for U-boot r[1] is machine type */
+ /* for U-boot r[2] is boot data */
+ grub_uint32_t r[12];
+ grub_uint32_t sp;
+ grub_uint32_t lr;
+};
+
+extern struct grub_arm_startup_registers grub_arm_saved_registers;
+
+#endif
diff --git a/grub-core/kern/arm/uboot/startup.S b/grub-core/kern/arm/startup.S
similarity index 77%
rename from grub-core/kern/arm/uboot/startup.S
rename to grub-core/kern/arm/startup.S
index 5efaae16e83..640837cba51 100644
--- a/grub-core/kern/arm/uboot/startup.S
+++ b/grub-core/kern/arm/startup.S
@@ -86,7 +86,7 @@ FUNCTION(codestart)
@ Stack pointer used as start address for signature probing
mov r12, sp
adr sp, entry_state
- push {r1-r12,lr} @ store U-Boot context (sp in r12)
+ push {r0-r12,lr} @ store U-Boot context (sp in r12)
adr r1, _start
ldr r0, bss_start_ptr @ src
@@ -153,69 +153,21 @@ reloc_done:
b EXT_C(grub_main)
- /*
- * uboot_syscall():
- * This function is effectively a veneer, so it cannot
- * modify the stack or corrupt any registers other than
- * r12 (ip). Furthermore it needs to restore r8 for
- * U-Boot (Global Data Pointer) and preserve it for Grub.
- */
-FUNCTION(grub_uboot_syscall)
- str r8, transition_space
- str lr, transition_space + 4
- str r9, transition_space + 8
-
- ldr r8, gd_backup
- ldr r9, gd_backup + 4
-
- bl do_syscall
-
- ldr r8, transition_space
- ldr lr, transition_space + 4
- ldr r9, transition_space + 8
-
- bx lr
-do_syscall:
-
- ldr ip, grub_uboot_syscall_ptr
- bx ip
-
-FUNCTION(grub_uboot_return)
- adr sp, entry_state_end
- pop {r4-r12, lr}
- mov sp, r12
- bx lr
-
-
.align 3
-@ U-boot context stack space
-entry_state_end:
-VARIABLE(grub_uboot_machine_type)
+@ U-boot/coreboot context stack space
+VARIABLE(grub_arm_saved_registers)
+ .long 0 @ r0
.long 0 @ r1
-VARIABLE(grub_uboot_boot_data)
.long 0 @ r2
.long 0 @ r3
.long 0 @ r4
.long 0 @ r5
.long 0 @ r6
.long 0 @ r7
-gd_backup:
- .long 0 @ r8 - U-Boot global data pointer up to 2013-09-21
- .long 0 @ r9 - U-Boot global data pointer 2013-09-21 onwards
- .long 0 @ r10
- .long 0 @ r11
-VARIABLE(grub_uboot_search_hint)@ U-Boot stack pointer -
- .long 0 @ also API signature address hint.
- .long 0 @ lr
-entry_state: @ backup for U-Boot context
-
-@ GRUB context stack space
-transition_space:
.long 0 @ r8
- .long 0 @ lr
.long 0 @ r9
-
-VARIABLE(grub_uboot_syscall_ptr)
- .long 0 @
-
- END
+ .long 0 @ r10
+ .long 0 @ r11
+ .long 0 @ sp
+ .long 0 @ lr
+entry_state:
diff --git a/grub-core/kern/arm/uboot/uboot.S b/grub-core/kern/arm/uboot/uboot.S
new file mode 100644
index 000000000..d128775f1
index 00000000000..d128775f19e
--- /dev/null
+++ b/grub-core/kern/arm/uboot/uboot.S
@@ -0,0 +1,73 @@
@ -289,116 +400,6 @@ index 000000000..d128775f1
+ .long 0 @
+
+ END
diff --git a/grub-core/kern/uboot/init.c b/grub-core/kern/uboot/init.c
index 5dcc106ed..3e338645c 100644
--- a/grub-core/kern/uboot/init.c
+++ b/grub-core/kern/uboot/init.c
@@ -36,30 +36,14 @@
extern char __bss_start[];
extern char _end[];
extern grub_size_t grub_total_module_size;
-extern int (*grub_uboot_syscall_ptr) (int, int *, ...);
static unsigned long timer_start;
-extern grub_uint32_t grub_uboot_machine_type;
-extern grub_addr_t grub_uboot_boot_data;
-
void
grub_exit (void)
{
grub_uboot_return (0);
}
-grub_uint32_t
-grub_uboot_get_machine_type (void)
-{
- return grub_uboot_machine_type;
-}
-
-grub_addr_t
-grub_uboot_get_boot_data (void)
-{
- return grub_uboot_boot_data;
-}
-
static grub_uint64_t
uboot_timer_ms (void)
{
diff --git a/grub-core/kern/uboot/uboot.c b/grub-core/kern/uboot/uboot.c
index 6800a4beb..cf0168e62 100644
--- a/grub-core/kern/uboot/uboot.c
+++ b/grub-core/kern/uboot/uboot.c
@@ -39,48 +39,13 @@
* returns: 0 if the call not found, 1 if serviced
*/
-extern int (*grub_uboot_syscall_ptr) (int, int *, ...);
extern int grub_uboot_syscall (int, int *, ...);
-extern grub_addr_t grub_uboot_search_hint;
static struct sys_info uboot_sys_info;
static struct mem_region uboot_mem_info[5];
static struct device_info * devices;
static int num_devices;
-int
-grub_uboot_api_init (void)
-{
- struct api_signature *start, *end;
- struct api_signature *p;
-
- if (grub_uboot_search_hint)
- {
- /* Extended search range to work around Trim Slice U-Boot issue */
- start = (struct api_signature *) ((grub_uboot_search_hint & ~0x000fffff)
- - 0x00500000);
- end =
- (struct api_signature *) ((grub_addr_t) start + UBOOT_API_SEARCH_LEN -
- API_SIG_MAGLEN + 0x00500000);
- }
- else
- {
- start = 0;
- end = (struct api_signature *) (256 * 1024 * 1024);
- }
-
- /* Structure alignment is (at least) 8 bytes */
- for (p = start; p < end; p = (void *) ((grub_addr_t) p + 8))
- {
- if (grub_memcmp (&(p->magic), API_SIG_MAGIC, API_SIG_MAGLEN) == 0)
- {
- grub_uboot_syscall_ptr = p->syscall;
- return p->version;
- }
- }
-
- return 0;
-}
/*
* All functions below are wrappers around the grub_uboot_syscall() function
diff --git a/include/grub/arm/startup.h b/include/grub/arm/startup.h
new file mode 100644
index 000000000..9afb6c57c
--- /dev/null
+++ b/include/grub/arm/startup.h
@@ -0,0 +1,16 @@
+#ifndef GRUB_STARTUP_CPU_HEADER
+#define GRUB_STARTUP_CPU_HEADER
+
+struct grub_arm_startup_registers
+{
+ /* registers 0-11 */
+ /* for U-boot r[1] is machine type */
+ /* for U-boot r[2] is boot data */
+ grub_uint32_t r[12];
+ grub_uint32_t sp;
+ grub_uint32_t lr;
+};
+
+extern struct grub_arm_startup_registers grub_arm_saved_registers;
+
+#endif
--
2.14.3
2.15.0

View File

@ -1,12 +1,11 @@
From 461bfab7b7e47fd0a76bf6076a438af1b7e2184a Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 19:06:22 +0200
Subject: [PATCH 016/198] coreboot: Split parts that are platform-independent.
Subject: [PATCH 016/206] coreboot: Split parts that are platform-independent.
We currently assume that coreboot is always i386, it's no longer the case,
so split i386-coreboot parts from generic coreboot code.
---
grub-core/Makefile.am | 2 +-
grub-core/Makefile.core.def | 6 +-
grub-core/commands/i386/coreboot/cb_timestamps.c | 2 +-
grub-core/commands/i386/coreboot/cbls.c | 2 +-
@ -16,27 +15,15 @@ so split i386-coreboot parts from generic coreboot code.
grub-core/term/i386/coreboot/cbmemc.c | 2 +-
grub-core/video/{i386 => }/coreboot/cbfb.c | 2 +-
include/grub/{i386 => }/coreboot/lbio.h | 9 +++
grub-core/Makefile.am | 2 +-
10 files changed, 99 insertions(+), 55 deletions(-)
create mode 100644 grub-core/kern/coreboot/cbtable.c
rename grub-core/kern/{i386 => }/coreboot/mmap.c (97%)
rename grub-core/video/{i386 => }/coreboot/cbfb.c (99%)
rename include/grub/{i386 => }/coreboot/lbio.h (93%)
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 809a8aa26..781d0ffbf 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -112,7 +112,7 @@ endif
if COND_i386_coreboot
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
-KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/coreboot/lbio.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/coreboot/lbio.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index fb59a7b1d..45ed0fa6b 100644
index fb59a7b1d6a..45ed0fa6b1c 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -166,7 +166,7 @@ kernel = {
@ -68,7 +55,7 @@ index fb59a7b1d..45ed0fa6b 100644
enable = i386_efi;
enable = i386_qemu;
diff --git a/grub-core/commands/i386/coreboot/cb_timestamps.c b/grub-core/commands/i386/coreboot/cb_timestamps.c
index e72f38d6e..e97ea6bed 100644
index e72f38d6e05..e97ea6bed98 100644
--- a/grub-core/commands/i386/coreboot/cb_timestamps.c
+++ b/grub-core/commands/i386/coreboot/cb_timestamps.c
@@ -20,7 +20,7 @@
@ -81,7 +68,7 @@ index e72f38d6e..e97ea6bed 100644
GRUB_MOD_LICENSE ("GPLv3+");
diff --git a/grub-core/commands/i386/coreboot/cbls.c b/grub-core/commands/i386/coreboot/cbls.c
index e0a10596f..102291f42 100644
index e0a10596fe2..102291f424a 100644
--- a/grub-core/commands/i386/coreboot/cbls.c
+++ b/grub-core/commands/i386/coreboot/cbls.c
@@ -20,7 +20,7 @@
@ -95,7 +82,7 @@ index e0a10596f..102291f42 100644
GRUB_MOD_LICENSE ("GPLv3+");
diff --git a/grub-core/kern/coreboot/cbtable.c b/grub-core/kern/coreboot/cbtable.c
new file mode 100644
index 000000000..996d3f407
index 00000000000..996d3f40738
--- /dev/null
+++ b/grub-core/kern/coreboot/cbtable.c
@@ -0,0 +1,70 @@
@ -173,7 +160,7 @@ diff --git a/grub-core/kern/i386/coreboot/mmap.c b/grub-core/kern/coreboot/mmap.
similarity index 97%
rename from grub-core/kern/i386/coreboot/mmap.c
rename to grub-core/kern/coreboot/mmap.c
index 4d29f6b7d..caf8f7cef 100644
index 4d29f6b7d90..caf8f7cef1b 100644
--- a/grub-core/kern/i386/coreboot/mmap.c
+++ b/grub-core/kern/coreboot/mmap.c
@@ -16,8 +16,8 @@
@ -204,7 +191,7 @@ index 4d29f6b7d..caf8f7cef 100644
/* Multiboot mmaps match with the coreboot mmap
definition. Therefore, we can just pass type
diff --git a/grub-core/kern/i386/coreboot/cbtable.c b/grub-core/kern/i386/coreboot/cbtable.c
index 1669bc0ca..34a2b59be 100644
index 1669bc0ca23..34a2b59be1f 100644
--- a/grub-core/kern/i386/coreboot/cbtable.c
+++ b/grub-core/kern/i386/coreboot/cbtable.c
@@ -17,7 +17,7 @@
@ -283,7 +270,7 @@ index 1669bc0ca..34a2b59be 100644
return 0;
}
diff --git a/grub-core/term/i386/coreboot/cbmemc.c b/grub-core/term/i386/coreboot/cbmemc.c
index 25e64a05c..129248c7f 100644
index 25e64a05c03..129248c7f47 100644
--- a/grub-core/term/i386/coreboot/cbmemc.c
+++ b/grub-core/term/i386/coreboot/cbmemc.c
@@ -23,7 +23,7 @@
@ -299,7 +286,7 @@ diff --git a/grub-core/video/i386/coreboot/cbfb.c b/grub-core/video/coreboot/cbf
similarity index 99%
rename from grub-core/video/i386/coreboot/cbfb.c
rename to grub-core/video/coreboot/cbfb.c
index dede0c37e..9af81fa5b 100644
index dede0c37ea3..9af81fa5b01 100644
--- a/grub-core/video/i386/coreboot/cbfb.c
+++ b/grub-core/video/coreboot/cbfb.c
@@ -25,7 +25,7 @@
@ -315,7 +302,7 @@ diff --git a/include/grub/i386/coreboot/lbio.h b/include/grub/coreboot/lbio.h
similarity index 93%
rename from include/grub/i386/coreboot/lbio.h
rename to include/grub/coreboot/lbio.h
index 1c3fa6f19..5076d36c7 100644
index 1c3fa6f1953..5076d36c71b 100644
--- a/include/grub/i386/coreboot/lbio.h
+++ b/include/grub/coreboot/lbio.h
@@ -20,6 +20,9 @@
@ -339,6 +326,19 @@ index 1c3fa6f19..5076d36c7 100644
+grub_linuxbios_check_signature (grub_linuxbios_table_header_t tbl_header);
+
#endif
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 809a8aa26bf..781d0ffbf75 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -112,7 +112,7 @@ endif
if COND_i386_coreboot
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
-KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/coreboot/lbio.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/coreboot/lbio.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 1daa716c7017f1858de117a20a31da66815435c5 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 19:31:55 +0200
Subject: [PATCH 017/198] Rename uboot/halt.c to dummy/halt.c.
Subject: [PATCH 017/206] Rename uboot/halt.c to dummy/halt.c.
It's not U-Boot specific and it's a stub.
---
@ -11,7 +11,7 @@ It's not U-Boot specific and it's a stub.
rename grub-core/lib/{uboot => dummy}/halt.c (100%)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 45ed0fa6b..2a38bd4bc 100644
index 45ed0fa6b1c..2a38bd4bc8a 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -841,7 +841,7 @@ module = {
@ -28,5 +28,5 @@ similarity index 100%
rename from grub-core/lib/uboot/halt.c
rename to grub-core/lib/dummy/halt.c
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 9808c3ef956c6472a96790b60cf74f4eaa742010 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 19:37:29 +0200
Subject: [PATCH 018/198] Rename uboot/datetime to dummy/datetime.
Subject: [PATCH 018/206] Rename uboot/datetime to dummy/datetime.
It's just a stub and is not UBoot-specific.
---
@ -11,7 +11,7 @@ It's just a stub and is not UBoot-specific.
rename grub-core/lib/{uboot => dummy}/datetime.c (91%)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 2a38bd4bc..6540dc951 100644
index 2a38bd4bc8a..6540dc951d4 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -1552,7 +1552,7 @@ module = {
@ -27,7 +27,7 @@ diff --git a/grub-core/lib/uboot/datetime.c b/grub-core/lib/dummy/datetime.c
similarity index 91%
rename from grub-core/lib/uboot/datetime.c
rename to grub-core/lib/dummy/datetime.c
index 4be716928..cf693fc6b 100644
index 4be716928a5..cf693fc6b62 100644
--- a/grub-core/lib/uboot/datetime.c
+++ b/grub-core/lib/dummy/datetime.c
@@ -18,7 +18,6 @@
@ -54,5 +54,5 @@ index 4be716928..cf693fc6b 100644
+ "can\'t set datetime on this machine");
}
--
2.14.3
2.15.0

View File

@ -1,37 +1,37 @@
From 24e37a885269bdec9b27babf1da0bba3692d55c0 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 20:53:28 +0200
Subject: [PATCH 019/198] arm-coreboot: Start new port.
Subject: [PATCH 019/206] arm-coreboot: Start new port.
---
configure.ac | 2 +
gentpl.py | 8 ++-
grub-core/Makefile.am | 10 +++
grub-core/Makefile.core.def | 18 ++++-
grub-core/kern/arm/coreboot/cbtable.c | 40 +++++++++++
grub-core/kern/arm/coreboot/coreboot.S | 44 ++++++++++++
grub-core/kern/arm/coreboot/init.c | 127 +++++++++++++++++++++++++++++++++
grub-core/kern/arm/coreboot/timer.c | 65 +++++++++++++++++
grub-core/kern/arm/startup.S | 4 ++
grub-core/kern/coreboot/cbtable.c | 2 +
grub-core/lib/dummy/reboot.c | 32 +++++++++
grub-core/loader/arm/linux.c | 3 +
util/grub-mkimagexx.c | 19 +++--
util/mkimage.c | 41 ++++++++++-
include/grub/arm/coreboot/console.h | 29 ++++++++
include/grub/arm/coreboot/kernel.h | 44 ++++++++++++
include/grub/offsets.h | 6 ++
util/grub-mkimagexx.c | 19 +++--
util/mkimage.c | 41 ++++++++++-
grub-core/kern/arm/coreboot/coreboot.S | 44 ++++++++++++
grub-core/kern/arm/startup.S | 4 ++
gentpl.py | 8 ++-
grub-core/Makefile.am | 10 +++
17 files changed, 482 insertions(+), 12 deletions(-)
create mode 100644 grub-core/kern/arm/coreboot/cbtable.c
create mode 100644 grub-core/kern/arm/coreboot/coreboot.S
create mode 100644 grub-core/kern/arm/coreboot/init.c
create mode 100644 grub-core/kern/arm/coreboot/timer.c
create mode 100644 grub-core/lib/dummy/reboot.c
create mode 100644 include/grub/arm/coreboot/console.h
create mode 100644 include/grub/arm/coreboot/kernel.h
create mode 100644 grub-core/kern/arm/coreboot/coreboot.S
diff --git a/configure.ac b/configure.ac
index ee2c86537..571f7a0b5 100644
index ee2c86537e9..571f7a0b5aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -167,6 +167,7 @@ case "$target_cpu"-"$platform" in
@ -50,69 +50,8 @@ index ee2c86537..571f7a0b5 100644
AM_CONDITIONAL([COND_arm_efi], [test x$target_cpu = xarm -a x$platform = xefi])
AM_CONDITIONAL([COND_arm64], [test x$target_cpu = xarm64 ])
AM_CONDITIONAL([COND_arm64_efi], [test x$target_cpu = xarm64 -a x$platform = xefi])
diff --git a/gentpl.py b/gentpl.py
index f08bcc404..ed268178b 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -31,7 +31,8 @@ GRUB_PLATFORMS = [ "emu", "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot",
"i386_xen", "x86_64_xen",
"mips_loongson", "sparc64_ieee1275",
"powerpc_ieee1275", "mips_arc", "ia64_efi",
- "mips_qemu_mips", "arm_uboot", "arm_efi", "arm64_efi" ]
+ "mips_qemu_mips", "arm_uboot", "arm_efi", "arm64_efi",
+ "arm_coreboot"]
GROUPS = {}
@@ -44,7 +45,7 @@ GROUPS["x86"] = GROUPS["i386"] + GROUPS["x86_64"]
GROUPS["mips"] = [ "mips_loongson", "mips_qemu_mips", "mips_arc" ]
GROUPS["sparc64"] = [ "sparc64_ieee1275" ]
GROUPS["powerpc"] = [ "powerpc_ieee1275" ]
-GROUPS["arm"] = [ "arm_uboot", "arm_efi" ]
+GROUPS["arm"] = [ "arm_uboot", "arm_efi", "arm_coreboot" ]
GROUPS["arm64"] = [ "arm64_efi" ]
# Groups based on firmware
@@ -52,6 +53,7 @@ GROUPS["efi"] = [ "i386_efi", "x86_64_efi", "ia64_efi", "arm_efi", "arm64_efi"
GROUPS["ieee1275"] = [ "i386_ieee1275", "sparc64_ieee1275", "powerpc_ieee1275" ]
GROUPS["uboot"] = [ "arm_uboot" ]
GROUPS["xen"] = [ "i386_xen", "x86_64_xen" ]
+GROUPS["coreboot"] = [ "i386_coreboot", "arm_coreboot" ]
# emu is a special case so many core functionality isn't needed on this platform
GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
@@ -64,7 +66,7 @@ GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
GROUPS["usb"] = GROUPS["pci"]
# If gfxterm is main output console integrate it into kernel
-GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot" ]
+GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 781d0ffbf..bec058554 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -239,6 +239,16 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
endif
+if COND_arm_coreboot
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h
+endif
+
if COND_arm_efi
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 6540dc951..411dca46b 100644
index 6540dc951d4..411dca46bf2 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -92,6 +92,8 @@ kernel = {
@ -199,7 +138,7 @@ index 6540dc951..411dca46b 100644
sparc64_ieee1275 = lib/ieee1275/cmos.c;
diff --git a/grub-core/kern/arm/coreboot/cbtable.c b/grub-core/kern/arm/coreboot/cbtable.c
new file mode 100644
index 000000000..8a655bb5c
index 00000000000..8a655bb5cc2
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/cbtable.c
@@ -0,0 +1,40 @@
@ -243,59 +182,9 @@ index 000000000..8a655bb5c
+
+ return table_header;
+}
diff --git a/grub-core/kern/arm/coreboot/coreboot.S b/grub-core/kern/arm/coreboot/coreboot.S
new file mode 100644
index 000000000..a1104526c
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/coreboot.S
@@ -0,0 +1,44 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2016 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/symbol.h>
+
+ .file "coreboot.S"
+ .text
+ .syntax unified
+#if !defined (__thumb2__)
+ .arch armv7a
+ .arm
+#else
+ .arch armv7
+ .thumb
+#endif
+
+FUNCTION(grub_arm_pfr1)
+ mrc p15, 0, r0, c0, c1, 1
+ bx lr
+
+FUNCTION(grub_armv7_get_timer_value)
+ isb
+ mrrc p15, 1, r0, r1, c14
+ bx lr
+
+FUNCTION(grub_armv7_get_timer_frequency)
+ mrc p15, 0, r0, c14, c0, 0
+ bx lr
+
diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c
new file mode 100644
index 000000000..51ecaceb0
index 00000000000..51ecaceb005
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/init.c
@@ -0,0 +1,127 @@
@ -428,7 +317,7 @@ index 000000000..51ecaceb0
+}
diff --git a/grub-core/kern/arm/coreboot/timer.c b/grub-core/kern/arm/coreboot/timer.c
new file mode 100644
index 000000000..ebefb99d5
index 00000000000..ebefb99d58f
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/timer.c
@@ -0,0 +1,65 @@
@ -497,37 +386,8 @@ index 000000000..ebefb99d5
+ if (!have_timer)
+ grub_fatal ("No timer found");
+}
diff --git a/grub-core/kern/arm/startup.S b/grub-core/kern/arm/startup.S
index 640837cba..3946fe8e1 100644
--- a/grub-core/kern/arm/startup.S
+++ b/grub-core/kern/arm/startup.S
@@ -24,6 +24,7 @@
* GRUB is called from U-Boot as a Linux Kernel type image, which
* means among other things that it always enters in ARM state.
*
+ * coreboot starts in ARM mode as well.
*
* Overview of GRUB image layout:
*
@@ -127,6 +128,8 @@ reloc_done:
str r1, EXT_C(grub_modbase)
+ /* Coreboot already places modules at right place. */
+#ifndef GRUB_MACHINE_COREBOOT
add r1, r1, r2
add r0, r0, r2
sub r1, r1, #4
@@ -136,6 +139,7 @@ reloc_done:
str r3, [r1], #-4 @ *dst-- = r3
subs r2, #4 @ remaining -= 4
bne 1b @ while remaining != 0
+#endif
@ Since we _are_ the C run-time, we need to manually zero the BSS
@ region before continuing
diff --git a/grub-core/kern/coreboot/cbtable.c b/grub-core/kern/coreboot/cbtable.c
index 996d3f407..aec63dbd1 100644
index 996d3f40738..aec63dbd120 100644
--- a/grub-core/kern/coreboot/cbtable.c
+++ b/grub-core/kern/coreboot/cbtable.c
@@ -23,6 +23,8 @@
@ -541,7 +401,7 @@ index 996d3f407..aec63dbd1 100644
grub_linuxbios_check_signature (grub_linuxbios_table_header_t tbl_header)
diff --git a/grub-core/lib/dummy/reboot.c b/grub-core/lib/dummy/reboot.c
new file mode 100644
index 000000000..b8cbed8f8
index 00000000000..b8cbed8f811
--- /dev/null
+++ b/grub-core/lib/dummy/reboot.c
@@ -0,0 +1,32 @@
@ -578,7 +438,7 @@ index 000000000..b8cbed8f8
+ while (1);
+}
diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
index 5b39f02bb..01374ee78 100644
index 5b39f02bb2e..01374ee78fa 100644
--- a/grub-core/loader/arm/linux.c
+++ b/grub-core/loader/arm/linux.c
@@ -31,6 +31,8 @@
@ -595,110 +455,8 @@ index 5b39f02bb..01374ee78 100644
grub_unregister_command (cmd_devicetree);
}
+#endif
diff --git a/include/grub/arm/coreboot/console.h b/include/grub/arm/coreboot/console.h
new file mode 100644
index 000000000..13a14b783
--- /dev/null
+++ b/include/grub/arm/coreboot/console.h
@@ -0,0 +1,29 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2009 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_MACHINE_CONSOLE_HEADER
+#define GRUB_MACHINE_CONSOLE_HEADER 1
+
+void grub_video_coreboot_fb_init (void);
+void grub_video_coreboot_fb_early_init (void);
+void grub_video_coreboot_fb_late_init (void);
+void grub_video_coreboot_fb_fini (void);
+
+extern struct grub_linuxbios_table_framebuffer *grub_video_coreboot_fbtable;
+
+#endif /* ! GRUB_MACHINE_CONSOLE_HEADER */
diff --git a/include/grub/arm/coreboot/kernel.h b/include/grub/arm/coreboot/kernel.h
new file mode 100644
index 000000000..09cd7fe32
--- /dev/null
+++ b/include/grub/arm/coreboot/kernel.h
@@ -0,0 +1,44 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2013 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_KERNEL_MACHINE_HEADER
+#define GRUB_KERNEL_MACHINE_HEADER 1
+
+#ifndef ASM_FILE
+
+#include <grub/symbol.h>
+#include <grub/types.h>
+
+struct grub_fdt_board
+{
+ const char *vendor, *part;
+ const grub_uint8_t *dtb;
+ grub_size_t dtb_size;
+};
+
+extern struct grub_fdt_board grub_fdt_boards[];
+void grub_machine_timer_init (void);
+void grub_pl050_init (void);
+void
+grub_cros_init (void);
+extern grub_addr_t EXPORT_VAR (start_of_ram);
+#endif /* ! ASM_FILE */
+
+#define GRUB_KERNEL_MACHINE_STACK_SIZE GRUB_KERNEL_ARM_STACK_SIZE
+
+#endif /* ! GRUB_KERNEL_MACHINE_HEADER */
diff --git a/include/grub/offsets.h b/include/grub/offsets.h
index c88c86d4d..bf0689fc9 100644
--- a/include/grub/offsets.h
+++ b/include/grub/offsets.h
@@ -122,6 +122,12 @@
#define GRUB_KERNEL_ARM_UBOOT_MOD_ALIGN 0x8
#define GRUB_KERNEL_ARM_UBOOT_TOTAL_MODULE_SIZE 0x4
+#define GRUB_KERNEL_ARM_COREBOOT_MOD_ALIGN 0x8
+#define GRUB_KERNEL_ARM_COREBOOT_TOTAL_MODULE_SIZE 0x4
+
+#define GRUB_KERNEL_ARM_STACK_SIZE 0x40000
+#define GRUB_KERNEL_ARM_COREBOOT_MOD_GAP (GRUB_KERNEL_ARM_STACK_SIZE + 1024)
+
/* Minimal gap between _end and the start of the modules. It's a hack
for PowerMac to prevent "CLAIM failed" error. The real fix is to
rewrite grub-mkimage to generate valid ELF files. */
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
index 3fab93e20..a2bb05439 100644
index 3fab93e2088..a2bb05439f0 100644
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -87,7 +87,8 @@ struct fixup_block_list
@ -764,7 +522,7 @@ index 3fab93e20..a2bb05439 100644
{
if (grub_target_to_host32 (s->sh_type) == SHT_NOBITS)
diff --git a/util/mkimage.c b/util/mkimage.c
index 528166c87..6aa77ed73 100644
index 528166c87ac..6aa77ed7367 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -533,6 +533,45 @@ static const struct grub_install_image_target_desc image_targets[] =
@ -822,6 +580,248 @@ index 528166c87..6aa77ed73 100644
grub_util_error (_("kernel image is too big (0x%x > 0x%x)"),
(unsigned) layout.kernel_size + (unsigned) layout.bss_size
+ GRUB_KERNEL_I386_PC_LINK_ADDR,
diff --git a/include/grub/arm/coreboot/console.h b/include/grub/arm/coreboot/console.h
new file mode 100644
index 00000000000..13a14b78383
--- /dev/null
+++ b/include/grub/arm/coreboot/console.h
@@ -0,0 +1,29 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2009 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_MACHINE_CONSOLE_HEADER
+#define GRUB_MACHINE_CONSOLE_HEADER 1
+
+void grub_video_coreboot_fb_init (void);
+void grub_video_coreboot_fb_early_init (void);
+void grub_video_coreboot_fb_late_init (void);
+void grub_video_coreboot_fb_fini (void);
+
+extern struct grub_linuxbios_table_framebuffer *grub_video_coreboot_fbtable;
+
+#endif /* ! GRUB_MACHINE_CONSOLE_HEADER */
diff --git a/include/grub/arm/coreboot/kernel.h b/include/grub/arm/coreboot/kernel.h
new file mode 100644
index 00000000000..09cd7fe328c
--- /dev/null
+++ b/include/grub/arm/coreboot/kernel.h
@@ -0,0 +1,44 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2013 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_KERNEL_MACHINE_HEADER
+#define GRUB_KERNEL_MACHINE_HEADER 1
+
+#ifndef ASM_FILE
+
+#include <grub/symbol.h>
+#include <grub/types.h>
+
+struct grub_fdt_board
+{
+ const char *vendor, *part;
+ const grub_uint8_t *dtb;
+ grub_size_t dtb_size;
+};
+
+extern struct grub_fdt_board grub_fdt_boards[];
+void grub_machine_timer_init (void);
+void grub_pl050_init (void);
+void
+grub_cros_init (void);
+extern grub_addr_t EXPORT_VAR (start_of_ram);
+#endif /* ! ASM_FILE */
+
+#define GRUB_KERNEL_MACHINE_STACK_SIZE GRUB_KERNEL_ARM_STACK_SIZE
+
+#endif /* ! GRUB_KERNEL_MACHINE_HEADER */
diff --git a/include/grub/offsets.h b/include/grub/offsets.h
index c88c86d4d2e..bf0689fc99a 100644
--- a/include/grub/offsets.h
+++ b/include/grub/offsets.h
@@ -122,6 +122,12 @@
#define GRUB_KERNEL_ARM_UBOOT_MOD_ALIGN 0x8
#define GRUB_KERNEL_ARM_UBOOT_TOTAL_MODULE_SIZE 0x4
+#define GRUB_KERNEL_ARM_COREBOOT_MOD_ALIGN 0x8
+#define GRUB_KERNEL_ARM_COREBOOT_TOTAL_MODULE_SIZE 0x4
+
+#define GRUB_KERNEL_ARM_STACK_SIZE 0x40000
+#define GRUB_KERNEL_ARM_COREBOOT_MOD_GAP (GRUB_KERNEL_ARM_STACK_SIZE + 1024)
+
/* Minimal gap between _end and the start of the modules. It's a hack
for PowerMac to prevent "CLAIM failed" error. The real fix is to
rewrite grub-mkimage to generate valid ELF files. */
diff --git a/grub-core/kern/arm/coreboot/coreboot.S b/grub-core/kern/arm/coreboot/coreboot.S
new file mode 100644
index 00000000000..a1104526c15
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/coreboot.S
@@ -0,0 +1,44 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2016 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/symbol.h>
+
+ .file "coreboot.S"
+ .text
+ .syntax unified
+#if !defined (__thumb2__)
+ .arch armv7a
+ .arm
+#else
+ .arch armv7
+ .thumb
+#endif
+
+FUNCTION(grub_arm_pfr1)
+ mrc p15, 0, r0, c0, c1, 1
+ bx lr
+
+FUNCTION(grub_armv7_get_timer_value)
+ isb
+ mrrc p15, 1, r0, r1, c14
+ bx lr
+
+FUNCTION(grub_armv7_get_timer_frequency)
+ mrc p15, 0, r0, c14, c0, 0
+ bx lr
+
diff --git a/grub-core/kern/arm/startup.S b/grub-core/kern/arm/startup.S
index 640837cba51..3946fe8e183 100644
--- a/grub-core/kern/arm/startup.S
+++ b/grub-core/kern/arm/startup.S
@@ -24,6 +24,7 @@
* GRUB is called from U-Boot as a Linux Kernel type image, which
* means among other things that it always enters in ARM state.
*
+ * coreboot starts in ARM mode as well.
*
* Overview of GRUB image layout:
*
@@ -127,6 +128,8 @@ reloc_done:
str r1, EXT_C(grub_modbase)
+ /* Coreboot already places modules at right place. */
+#ifndef GRUB_MACHINE_COREBOOT
add r1, r1, r2
add r0, r0, r2
sub r1, r1, #4
@@ -136,6 +139,7 @@ reloc_done:
str r3, [r1], #-4 @ *dst-- = r3
subs r2, #4 @ remaining -= 4
bne 1b @ while remaining != 0
+#endif
@ Since we _are_ the C run-time, we need to manually zero the BSS
@ region before continuing
diff --git a/gentpl.py b/gentpl.py
index f08bcc404f6..ed268178b4d 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -31,7 +31,8 @@ GRUB_PLATFORMS = [ "emu", "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot",
"i386_xen", "x86_64_xen",
"mips_loongson", "sparc64_ieee1275",
"powerpc_ieee1275", "mips_arc", "ia64_efi",
- "mips_qemu_mips", "arm_uboot", "arm_efi", "arm64_efi" ]
+ "mips_qemu_mips", "arm_uboot", "arm_efi", "arm64_efi",
+ "arm_coreboot"]
GROUPS = {}
@@ -44,7 +45,7 @@ GROUPS["x86"] = GROUPS["i386"] + GROUPS["x86_64"]
GROUPS["mips"] = [ "mips_loongson", "mips_qemu_mips", "mips_arc" ]
GROUPS["sparc64"] = [ "sparc64_ieee1275" ]
GROUPS["powerpc"] = [ "powerpc_ieee1275" ]
-GROUPS["arm"] = [ "arm_uboot", "arm_efi" ]
+GROUPS["arm"] = [ "arm_uboot", "arm_efi", "arm_coreboot" ]
GROUPS["arm64"] = [ "arm64_efi" ]
# Groups based on firmware
@@ -52,6 +53,7 @@ GROUPS["efi"] = [ "i386_efi", "x86_64_efi", "ia64_efi", "arm_efi", "arm64_efi"
GROUPS["ieee1275"] = [ "i386_ieee1275", "sparc64_ieee1275", "powerpc_ieee1275" ]
GROUPS["uboot"] = [ "arm_uboot" ]
GROUPS["xen"] = [ "i386_xen", "x86_64_xen" ]
+GROUPS["coreboot"] = [ "i386_coreboot", "arm_coreboot" ]
# emu is a special case so many core functionality isn't needed on this platform
GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
@@ -64,7 +66,7 @@ GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
GROUPS["usb"] = GROUPS["pci"]
# If gfxterm is main output console integrate it into kernel
-GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot" ]
+GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 781d0ffbf75..bec0585549a 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -239,6 +239,16 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
endif
+if COND_arm_coreboot
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h
+endif
+
if COND_arm_efi
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
--
2.14.3
2.15.0

View File

@ -1,66 +1,28 @@
From fcbb723d4b1f7ad4687191562621dd0eb25f4d9e Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:19:59 +0200
Subject: [PATCH 020/198] Add support for device-tree-based drivers.
Subject: [PATCH 020/206] Add support for device-tree-based drivers.
---
conf/Makefile.common | 4 +-
grub-core/Makefile.am | 10 ++
grub-core/Makefile.core.def | 2 +
grub-core/bus/fdt.c | 255 +++++++++++++++++++++++++++++++++++++
grub-core/kern/arm/coreboot/init.c | 20 +++
grub-core/lib/fdt.c | 142 +++++++++++++++------
grub-core/lib/fdt.c | 152 ++++++++++++++++------
util/grub-install-common.c | 2 +-
util/grub-mkimage.c | 11 +-
util/mkimage.c | 24 +++-
include/grub/fdt.h | 23 ++--
include/grub/fdtbus.h | 73 +++++++++++
include/grub/kernel.h | 3 +-
include/grub/util/install.h | 2 +-
util/grub-install-common.c | 2 +-
util/grub-mkimage.c | 11 +-
util/mkimage.c | 24 +++-
13 files changed, 519 insertions(+), 52 deletions(-)
conf/Makefile.common | 4 +-
grub-core/Makefile.am | 10 ++
13 files changed, 524 insertions(+), 57 deletions(-)
create mode 100644 grub-core/bus/fdt.c
create mode 100644 include/grub/fdtbus.h
diff --git a/conf/Makefile.common b/conf/Makefile.common
index 11296b550..311da61c6 100644
--- a/conf/Makefile.common
+++ b/conf/Makefile.common
@@ -86,9 +86,11 @@ CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST
CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
+CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \
$(CPPFLAGS_PARTTOOL_LIST) $(CPPFLAGS_PARTMAP_LIST) \
- $(CPPFLAGS_TERMINAL_LIST) $(CPPFLAGS_COMMAND_LIST)
+ $(CPPFLAGS_TERMINAL_LIST) $(CPPFLAGS_COMMAND_LIST) \
+ $(CPPFLAGS_FDT_LIST)
# Define these variables to calm down automake
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index bec058554..fc6ca3051 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -368,6 +368,16 @@ terminal.lst: $(MARKER_FILES)
platform_DATA += terminal.lst
CLEANFILES += terminal.lst
+fdt.lst: $(MARKER_FILES)
+ (for pp in $^; do \
+ b=`basename $$pp .marker`; \
+ sed -n \
+ -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/i\1: $$b/;p;}" \
+ -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/o\1: $$b/;p;}" $$pp; \
+ done) | sort -u > $@
+platform_DATA += fdt.lst
+CLEANFILES += fdt.lst
+
parttool.lst: $(MARKER_FILES)
(for pp in $^; do \
b=`basename $$pp .marker`; \
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 411dca46b..77d0b019e 100644
index 411dca46bf2..77d0b019eb2 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -158,6 +158,8 @@ kernel = {
@ -74,7 +36,7 @@ index 411dca46b..77d0b019e 100644
terminfoinkernel = term/tparm.c;
diff --git a/grub-core/bus/fdt.c b/grub-core/bus/fdt.c
new file mode 100644
index 000000000..6fb077000
index 00000000000..6fb077000a5
--- /dev/null
+++ b/grub-core/bus/fdt.c
@@ -0,0 +1,255 @@
@ -334,7 +296,7 @@ index 000000000..6fb077000
+ return dtb;
+}
diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c
index 51ecaceb0..aec75c672 100644
index 51ecaceb005..aec75c672a2 100644
--- a/grub-core/kern/arm/coreboot/init.c
+++ b/grub-core/kern/arm/coreboot/init.c
@@ -33,6 +33,7 @@
@ -379,7 +341,7 @@ index 51ecaceb0..aec75c672 100644
}
diff --git a/grub-core/lib/fdt.c b/grub-core/lib/fdt.c
index b5d520f20..bdc630244 100644
index b5d520f2088..bdc6302448d 100644
--- a/grub-core/lib/fdt.c
+++ b/grub-core/lib/fdt.c
@@ -102,13 +102,13 @@ static grub_uint32_t *get_next_node (const void *fdt, char *node_name)
@ -429,44 +391,18 @@ index b5d520f20..bdc630244 100644
{
if (size < sizeof (grub_fdt_header_t)
|| (grub_fdt_get_totalsize (fdt) > size)
@@ -295,41 +295,29 @@ int grub_fdt_check_header (void *fdt, unsigned int size)
@@ -295,52 +295,104 @@ int grub_fdt_check_header (void *fdt, unsigned int size)
return 0;
}
-/* Find a direct sub-node of a given parent node. */
-int grub_fdt_find_subnode (const void *fdt, unsigned int parentoffset,
- const char *name)
+static const grub_uint32_t *
+advance_token (const void *fdt, const grub_uint32_t *token, const grub_uint32_t *end, int skip_current)
{
- grub_uint32_t *token, *end;
- char *node_name;
-
- if (parentoffset & 0x3)
- return -1;
- token = (void *) ((grub_addr_t) fdt + grub_fdt_get_off_dt_struct(fdt)
- + parentoffset);
- end = (void *) struct_end (fdt);
- if ((token >= end) || (grub_be_to_cpu32(*token) != FDT_BEGIN_NODE))
- return -1;
- SKIP_NODE_NAME(node_name, token, end);
- while (token < end)
+{
+ for (; token < end; skip_current = 0)
{
- switch (grub_be_to_cpu32(*token))
+ {
+ switch (grub_be_to_cpu32 (*token))
{
case FDT_BEGIN_NODE:
- node_name = (char *) (token + 1);
- if (node_name + grub_strlen (name) >= (char *) end)
- return -1;
- if (!grub_strcmp (node_name, name))
- return (int) ((grub_addr_t) token - (grub_addr_t) fdt
- - grub_fdt_get_off_dt_struct (fdt));
- token = get_next_node (fdt, node_name);
- if (!token)
- return -1;
- break;
+ {
+ case FDT_BEGIN_NODE:
+ if (skip_current)
+ {
+ token = get_next_node (fdt, (char *) (token + 1));
@ -477,24 +413,21 @@ index b5d520f20..bdc630244 100644
+ if (ptr >= (char *) end)
+ return 0;
+ return token;
case FDT_PROP:
/* Skip property token and following data (len, nameoff and property
value). */
if (token >= end - 1)
- return -1;
+ case FDT_PROP:
+ /* Skip property token and following data (len, nameoff and property
+ value). */
+ if (token >= end - 1)
+ return 0;
token += prop_entry_size(grub_be_to_cpu32(*(token + 1)))
/ sizeof(*token);
break;
@@ -337,10 +325,74 @@ int grub_fdt_find_subnode (const void *fdt, unsigned int parentoffset,
token++;
break;
default:
- return -1;
+ token += prop_entry_size(grub_be_to_cpu32(*(token + 1)))
+ / sizeof(*token);
+ break;
+ case FDT_NOP:
+ token++;
+ break;
+ default:
+ return 0;
}
}
- return -1;
+ }
+ }
+ return 0;
+}
+
@ -528,22 +461,55 @@ index b5d520f20..bdc630244 100644
+ - grub_fdt_get_off_dt_struct (fdt));
+}
+
+/* Find a direct sub-node of a given parent node. */
+int grub_fdt_find_subnode (const void *fdt, unsigned int parentoffset,
+ const char *name)
+{
/* Find a direct sub-node of a given parent node. */
int grub_fdt_find_subnode (const void *fdt, unsigned int parentoffset,
const char *name)
{
- grub_uint32_t *token, *end;
- char *node_name;
+ const grub_uint32_t *token, *end;
+ const char *node_name;
+ int skip_current = 0;
+
+ if (parentoffset & 0x3)
+ return -1;
if (parentoffset & 0x3)
return -1;
- token = (void *) ((grub_addr_t) fdt + grub_fdt_get_off_dt_struct(fdt)
+ token = (const void *) ((grub_addr_t) fdt + grub_fdt_get_off_dt_struct(fdt)
+ + parentoffset);
+ parentoffset);
- end = (void *) struct_end (fdt);
+ end = (const void *) struct_end (fdt);
+ if ((token >= end) || (grub_be_to_cpu32(*token) != FDT_BEGIN_NODE))
+ return -1;
+ SKIP_NODE_NAME(node_name, token, end);
if ((token >= end) || (grub_be_to_cpu32(*token) != FDT_BEGIN_NODE))
return -1;
SKIP_NODE_NAME(node_name, token, end);
- while (token < end)
- {
- switch (grub_be_to_cpu32(*token))
- {
- case FDT_BEGIN_NODE:
- node_name = (char *) (token + 1);
- if (node_name + grub_strlen (name) >= (char *) end)
- return -1;
- if (!grub_strcmp (node_name, name))
- return (int) ((grub_addr_t) token - (grub_addr_t) fdt
- - grub_fdt_get_off_dt_struct (fdt));
- token = get_next_node (fdt, node_name);
- if (!token)
- return -1;
- break;
- case FDT_PROP:
- /* Skip property token and following data (len, nameoff and property
- value). */
- if (token >= end - 1)
- return -1;
- token += prop_entry_size(grub_be_to_cpu32(*(token + 1)))
- / sizeof(*token);
- break;
- case FDT_NOP:
- token++;
- break;
- default:
- return -1;
- }
+ while (1) {
+ token = advance_token (fdt, token, end, skip_current);
+ if (!token)
@ -553,7 +519,8 @@ index b5d520f20..bdc630244 100644
+ if (grub_strcmp (node_name, name) == 0)
+ return (int) ((grub_addr_t) token - (grub_addr_t) fdt
+ - grub_fdt_get_off_dt_struct (fdt));
+ }
}
- return -1;
+}
+
+const char *
@ -588,8 +555,117 @@ index b5d520f20..bdc630244 100644
int grub_fdt_set_prop (void *fdt, unsigned int nodeoffset, const char *name,
const void *val, grub_uint32_t len)
{
diff --git a/util/grub-install-common.c b/util/grub-install-common.c
index 452b230daed..8539ff3484d 100644
--- a/util/grub-install-common.c
+++ b/util/grub-install-common.c
@@ -499,7 +499,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
grub_install_generate_image (dir, prefix, fp, outname,
modules.entries, memdisk_path,
pubkeys, npubkeys, config_path, tgt,
- note, compression);
+ note, compression, 0);
while (dc--)
grub_install_pop_module ();
}
diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c
index aba19d21b9a..98d24cc06ea 100644
--- a/util/grub-mkimage.c
+++ b/util/grub-mkimage.c
@@ -71,6 +71,7 @@ static struct argp_option options[] = {
N_("embed FILE as a memdisk image\n"
"Implies `-p (memdisk)/boot/grub' and overrides any prefix supplied previously,"
" but the prefix itself can be overridden by later options"), 0},
+ {"dtb", 'D', N_("FILE"), 0, N_("embed FILE as a device tree (DTB)\n"), 0},
/* TRANSLATORS: "embed" is a verb (command description). "*/
{"config", 'c', N_("FILE"), 0, N_("embed FILE as an early config"), 0},
/* TRANSLATORS: "embed" is a verb (command description). "*/
@@ -117,6 +118,7 @@ struct arguments
char *dir;
char *prefix;
char *memdisk;
+ char *dtb;
char **pubkeys;
size_t npubkeys;
char *font;
@@ -176,6 +178,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
arguments->prefix = xstrdup ("(memdisk)/boot/grub");
break;
+ case 'D':
+ if (arguments->dtb)
+ free (arguments->dtb);
+
+ arguments->dtb = xstrdup (arg);
+ break;
+
case 'k':
arguments->pubkeys = xrealloc (arguments->pubkeys,
sizeof (arguments->pubkeys[0])
@@ -300,7 +309,7 @@ main (int argc, char *argv[])
arguments.memdisk, arguments.pubkeys,
arguments.npubkeys, arguments.config,
arguments.image_target, arguments.note,
- arguments.comp);
+ arguments.comp, arguments.dtb);
grub_util_file_sync (fp);
fclose (fp);
diff --git a/util/mkimage.c b/util/mkimage.c
index 6aa77ed7367..e22d82afa61 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -777,13 +777,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
char *memdisk_path, char **pubkey_paths,
size_t npubkeys, char *config_path,
const struct grub_install_image_target_desc *image_target,
- int note,
- grub_compression_t comp)
+ int note, grub_compression_t comp, const char *dtb_path)
{
char *kernel_img, *core_img;
size_t total_module_size, core_size;
size_t memdisk_size = 0, config_size = 0;
- size_t prefix_size = 0;
+ size_t prefix_size = 0, dtb_size = 0;
char *kernel_path;
size_t offset;
struct grub_util_path_list *path_list, *p;
@@ -828,6 +827,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
total_module_size += memdisk_size + sizeof (struct grub_module_header);
}
+ if (dtb_path)
+ {
+ dtb_size = ALIGN_UP(grub_util_get_image_size (dtb_path), 4);
+ total_module_size += dtb_size + sizeof (struct grub_module_header);
+ }
+
if (config_path)
{
config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1);
@@ -950,6 +955,19 @@ grub_install_generate_image (const char *dir, const char *prefix,
offset += memdisk_size;
}
+ if (dtb_path)
+ {
+ struct grub_module_header *header;
+
+ header = (struct grub_module_header *) (kernel_img + offset);
+ header->type = grub_host_to_target32 (OBJ_TYPE_DTB);
+ header->size = grub_host_to_target32 (dtb_size + sizeof (*header));
+ offset += sizeof (*header);
+
+ grub_util_load_image (dtb_path, kernel_img + offset);
+ offset += dtb_size;
+ }
+
if (config_path)
{
struct grub_module_header *header;
diff --git a/include/grub/fdt.h b/include/grub/fdt.h
index fdfca75bf..75525fa31 100644
index fdfca75bf48..75525fa317c 100644
--- a/include/grub/fdt.h
+++ b/include/grub/fdt.h
@@ -20,6 +20,7 @@
@ -633,7 +709,7 @@ index fdfca75bf..75525fa31 100644
grub_uint32_t _val = grub_cpu_to_be32(val); \
diff --git a/include/grub/fdtbus.h b/include/grub/fdtbus.h
new file mode 100644
index 000000000..985837e55
index 00000000000..985837e55f6
--- /dev/null
+++ b/include/grub/fdtbus.h
@@ -0,0 +1,73 @@
@ -711,7 +787,7 @@ index 000000000..985837e55
+
+#endif
diff --git a/include/grub/kernel.h b/include/grub/kernel.h
index 20ddf2da2..ecd88ca72 100644
index 20ddf2da297..ecd88ca72c6 100644
--- a/include/grub/kernel.h
+++ b/include/grub/kernel.h
@@ -28,7 +28,8 @@ enum
@ -725,7 +801,7 @@ index 20ddf2da2..ecd88ca72 100644
/* The module header. */
diff --git a/include/grub/util/install.h b/include/grub/util/install.h
index 5ca4811cd..6abd288c3 100644
index 5ca4811cd13..6abd288c313 100644
--- a/include/grub/util/install.h
+++ b/include/grub/util/install.h
@@ -176,7 +176,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
@ -737,115 +813,44 @@ index 5ca4811cd..6abd288c3 100644
const struct grub_install_image_target_desc *
grub_install_get_image_target (const char *arg);
diff --git a/util/grub-install-common.c b/util/grub-install-common.c
index 452b230da..8539ff348 100644
--- a/util/grub-install-common.c
+++ b/util/grub-install-common.c
@@ -499,7 +499,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
grub_install_generate_image (dir, prefix, fp, outname,
modules.entries, memdisk_path,
pubkeys, npubkeys, config_path, tgt,
- note, compression);
+ note, compression, 0);
while (dc--)
grub_install_pop_module ();
}
diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c
index aba19d21b..98d24cc06 100644
--- a/util/grub-mkimage.c
+++ b/util/grub-mkimage.c
@@ -71,6 +71,7 @@ static struct argp_option options[] = {
N_("embed FILE as a memdisk image\n"
"Implies `-p (memdisk)/boot/grub' and overrides any prefix supplied previously,"
" but the prefix itself can be overridden by later options"), 0},
+ {"dtb", 'D', N_("FILE"), 0, N_("embed FILE as a device tree (DTB)\n"), 0},
/* TRANSLATORS: "embed" is a verb (command description). "*/
{"config", 'c', N_("FILE"), 0, N_("embed FILE as an early config"), 0},
/* TRANSLATORS: "embed" is a verb (command description). "*/
@@ -117,6 +118,7 @@ struct arguments
char *dir;
char *prefix;
char *memdisk;
+ char *dtb;
char **pubkeys;
size_t npubkeys;
char *font;
@@ -176,6 +178,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
arguments->prefix = xstrdup ("(memdisk)/boot/grub");
break;
diff --git a/conf/Makefile.common b/conf/Makefile.common
index 11296b550a7..311da61c6c5 100644
--- a/conf/Makefile.common
+++ b/conf/Makefile.common
@@ -86,9 +86,11 @@ CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST
CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
+CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \
$(CPPFLAGS_PARTTOOL_LIST) $(CPPFLAGS_PARTMAP_LIST) \
- $(CPPFLAGS_TERMINAL_LIST) $(CPPFLAGS_COMMAND_LIST)
+ $(CPPFLAGS_TERMINAL_LIST) $(CPPFLAGS_COMMAND_LIST) \
+ $(CPPFLAGS_FDT_LIST)
+ case 'D':
+ if (arguments->dtb)
+ free (arguments->dtb);
+
+ arguments->dtb = xstrdup (arg);
+ break;
+
case 'k':
arguments->pubkeys = xrealloc (arguments->pubkeys,
sizeof (arguments->pubkeys[0])
@@ -300,7 +309,7 @@ main (int argc, char *argv[])
arguments.memdisk, arguments.pubkeys,
arguments.npubkeys, arguments.config,
arguments.image_target, arguments.note,
- arguments.comp);
+ arguments.comp, arguments.dtb);
# Define these variables to calm down automake
grub_util_file_sync (fp);
fclose (fp);
diff --git a/util/mkimage.c b/util/mkimage.c
index 6aa77ed73..e22d82afa 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -777,13 +777,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
char *memdisk_path, char **pubkey_paths,
size_t npubkeys, char *config_path,
const struct grub_install_image_target_desc *image_target,
- int note,
- grub_compression_t comp)
+ int note, grub_compression_t comp, const char *dtb_path)
{
char *kernel_img, *core_img;
size_t total_module_size, core_size;
size_t memdisk_size = 0, config_size = 0;
- size_t prefix_size = 0;
+ size_t prefix_size = 0, dtb_size = 0;
char *kernel_path;
size_t offset;
struct grub_util_path_list *path_list, *p;
@@ -828,6 +827,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
total_module_size += memdisk_size + sizeof (struct grub_module_header);
}
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index bec0585549a..fc6ca305147 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -368,6 +368,16 @@ terminal.lst: $(MARKER_FILES)
platform_DATA += terminal.lst
CLEANFILES += terminal.lst
+ if (dtb_path)
+ {
+ dtb_size = ALIGN_UP(grub_util_get_image_size (dtb_path), 4);
+ total_module_size += dtb_size + sizeof (struct grub_module_header);
+ }
+fdt.lst: $(MARKER_FILES)
+ (for pp in $^; do \
+ b=`basename $$pp .marker`; \
+ sed -n \
+ -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/i\1: $$b/;p;}" \
+ -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/o\1: $$b/;p;}" $$pp; \
+ done) | sort -u > $@
+platform_DATA += fdt.lst
+CLEANFILES += fdt.lst
+
if (config_path)
{
config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1);
@@ -950,6 +955,19 @@ grub_install_generate_image (const char *dir, const char *prefix,
offset += memdisk_size;
}
+ if (dtb_path)
+ {
+ struct grub_module_header *header;
+
+ header = (struct grub_module_header *) (kernel_img + offset);
+ header->type = grub_host_to_target32 (OBJ_TYPE_DTB);
+ header->size = grub_host_to_target32 (dtb_size + sizeof (*header));
+ offset += sizeof (*header);
+
+ grub_util_load_image (dtb_path, kernel_img + offset);
+ offset += dtb_size;
+ }
+
if (config_path)
{
struct grub_module_header *header;
parttool.lst: $(MARKER_FILES)
(for pp in $^; do \
b=`basename $$pp .marker`; \
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 5a865b37866ee8cd64c080bc6fb1e537f8e2b3c6 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:26:36 +0200
Subject: [PATCH 021/198] arm-coreboot: Support for vexpress timer.
Subject: [PATCH 021/206] arm-coreboot: Support for vexpress timer.
---
grub-core/kern/arm/coreboot/timer.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/grub-core/kern/arm/coreboot/timer.c b/grub-core/kern/arm/coreboot/timer.c
index ebefb99d5..d97b844f8 100644
index ebefb99d58f..d97b844f848 100644
--- a/grub-core/kern/arm/coreboot/timer.c
+++ b/grub-core/kern/arm/coreboot/timer.c
@@ -21,6 +21,7 @@
@ -69,5 +69,5 @@ index ebefb99d5..d97b844f8 100644
try_generic_timer ();
if (!have_timer)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From ac6b41b89fbb82a3ba843a7ed19115d81432b604 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:29:48 +0200
Subject: [PATCH 022/198] arm-coreboot: Export FDT routines.
Subject: [PATCH 022/206] arm-coreboot: Export FDT routines.
We need to use them from modules as well.
---
@ -9,7 +9,7 @@ We need to use them from modules as well.
1 file changed, 2 insertions(+)
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index fc6ca3051..147e6959c 100644
index fc6ca305147..147e6959c97 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -246,7 +246,9 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
@ -23,5 +23,5 @@ index fc6ca3051..147e6959c 100644
if COND_arm_efi
--
2.14.3
2.15.0

View File

@ -1,22 +1,22 @@
From 216950a4eea1a1ead1c28eaca94e34ea2ef2ad19 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:41:22 +0200
Subject: [PATCH 023/198] at_keyboard: Split protocol from controller code.
Subject: [PATCH 023/206] at_keyboard: Split protocol from controller code.
On vexpress controller is different but protocol is the same, so reuse the
code.
---
grub-core/Makefile.core.def | 3 +
grub-core/term/at_keyboard.c | 426 +++----------------------------------------
grub-core/term/ps2.c | 387 +++++++++++++++++++++++++++++++++++++++
grub-core/term/at_keyboard.c | 428 +++----------------------------------------
grub-core/term/ps2.c | 387 ++++++++++++++++++++++++++++++++++++++
include/grub/at_keyboard.h | 4 -
include/grub/ps2.h | 43 +++++
5 files changed, 462 insertions(+), 401 deletions(-)
5 files changed, 463 insertions(+), 402 deletions(-)
create mode 100644 grub-core/term/ps2.c
create mode 100644 include/grub/ps2.h
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 77d0b019e..6ade6e950 100644
index 77d0b019eb2..6ade6e95057 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -251,6 +251,7 @@ kernel = {
@ -44,7 +44,7 @@ index 77d0b019e..6ade6e950 100644
};
diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c
index b4ea9ff7e..3ab4e205f 100644
index b4ea9ff7e63..3ab4e205f40 100644
--- a/grub-core/term/at_keyboard.c
+++ b/grub-core/term/at_keyboard.c
@@ -22,212 +22,21 @@
@ -71,13 +71,10 @@ index b4ea9ff7e..3ab4e205f 100644
static grub_uint8_t grub_keyboard_controller_orig;
static grub_uint8_t grub_keyboard_orig_set;
-static grub_uint8_t current_set;
+struct grub_ps2_state ps2_state;
+
+static int ping_sent;
static void
grub_keyboard_controller_init (void);
-
-static void
-grub_keyboard_controller_init (void);
-
-static const grub_uint8_t set1_mapping[128] =
- {
- /* 0x00 */ 0 /* Unused */, GRUB_KEYBOARD_KEY_ESCAPE,
@ -258,9 +255,13 @@ index b4ea9ff7e..3ab4e205f 100644
- {0x7a, GRUB_KEYBOARD_KEY_NPAGE},
- {0x7d, GRUB_KEYBOARD_KEY_PPAGE},
- };
-
-static int ping_sent;
-
+struct grub_ps2_state ps2_state;
static int ping_sent;
+static void
+grub_keyboard_controller_init (void);
+
static void
keyboard_controller_wait_until_ready (void)
{
@ -567,7 +568,7 @@ index b4ea9ff7e..3ab4e205f 100644
}
diff --git a/grub-core/term/ps2.c b/grub-core/term/ps2.c
new file mode 100644
index 000000000..7ae4e9f2f
index 00000000000..7ae4e9f2f8c
--- /dev/null
+++ b/grub-core/term/ps2.c
@@ -0,0 +1,387 @@
@ -959,7 +960,7 @@ index 000000000..7ae4e9f2f
+ }
+}
diff --git a/include/grub/at_keyboard.h b/include/grub/at_keyboard.h
index b4f8ff0a0..b031523eb 100644
index b4f8ff0a061..b031523eb7d 100644
--- a/include/grub/at_keyboard.h
+++ b/include/grub/at_keyboard.h
@@ -27,10 +27,6 @@
@ -975,7 +976,7 @@ index b4f8ff0a0..b031523eb 100644
#define KEYBOARD_SCANCODE(x) ((x) & 0x7f)
diff --git a/include/grub/ps2.h b/include/grub/ps2.h
new file mode 100644
index 000000000..4f2e527e4
index 00000000000..4f2e527e497
--- /dev/null
+++ b/include/grub/ps2.h
@@ -0,0 +1,43 @@
@ -1023,5 +1024,5 @@ index 000000000..4f2e527e4
+
+#endif
--
2.14.3
2.15.0

View File

@ -1,30 +1,18 @@
From 848bed9d92cf20e9f25db4c69a20efad23996ca0 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:42:37 +0200
Subject: [PATCH 024/198] arm_coreboot: Support keyboard for vexpress.
Subject: [PATCH 024/206] arm_coreboot: Support keyboard for vexpress.
---
grub-core/Makefile.am | 1 +
grub-core/Makefile.core.def | 3 +
grub-core/kern/arm/coreboot/init.c | 1 +
grub-core/term/arm/pl050.c | 189 +++++++++++++++++++++++++++++++++++++
grub-core/Makefile.am | 1 +
4 files changed, 194 insertions(+)
create mode 100644 grub-core/term/arm/pl050.c
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 147e6959c..a2aaf9f54 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -240,6 +240,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
endif
if COND_arm_coreboot
+KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 6ade6e950..6be6e7f61 100644
index 6ade6e95057..6be6e7f61ee 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -160,6 +160,9 @@ kernel = {
@ -38,7 +26,7 @@ index 6ade6e950..6be6e7f61 100644
terminfoinkernel = term/terminfo.c;
terminfoinkernel = term/tparm.c;
diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c
index aec75c672..a06ccb72f 100644
index aec75c672a2..a06ccb72f42 100644
--- a/grub-core/kern/arm/coreboot/init.c
+++ b/grub-core/kern/arm/coreboot/init.c
@@ -133,6 +133,7 @@ grub_machine_init (void)
@ -51,7 +39,7 @@ index aec75c672..a06ccb72f 100644
void
diff --git a/grub-core/term/arm/pl050.c b/grub-core/term/arm/pl050.c
new file mode 100644
index 000000000..e4cda3056
index 00000000000..e4cda305666
--- /dev/null
+++ b/grub-core/term/arm/pl050.c
@@ -0,0 +1,189 @@
@ -244,6 +232,18 @@ index 000000000..e4cda3056
+{
+ grub_fdtbus_register (&pl050);
+}
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 147e6959c97..a2aaf9f54b0 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -240,6 +240,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
endif
if COND_arm_coreboot
+KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
--
2.14.3
2.15.0

View File

@ -1,47 +1,16 @@
From 3edabad8fefb112cc4b2d43be6e97d43c909ceee Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 21:59:48 +0200
Subject: [PATCH 025/198] arm_coreboot: Support grub-mkstandalone.
Subject: [PATCH 025/206] arm_coreboot: Support grub-mkstandalone.
---
include/grub/util/install.h | 6 +++++-
util/grub-install-common.c | 12 ++++++++++--
util/grub-install.c | 7 +++++++
include/grub/util/install.h | 6 +++++-
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/include/grub/util/install.h b/include/grub/util/install.h
index 6abd288c3..5910b0c09 100644
--- a/include/grub/util/install.h
+++ b/include/grub/util/install.h
@@ -29,6 +29,8 @@
#define GRUB_INSTALL_OPTIONS \
{ "modules", GRUB_INSTALL_OPTIONS_MODULES, N_("MODULES"), \
0, N_("pre-load specified modules MODULES"), 1 }, \
+ { "dtb", GRUB_INSTALL_OPTIONS_DTB, N_("FILE"), \
+ 0, N_("embed a specific DTB"), 1 }, \
{ "install-modules", GRUB_INSTALL_OPTIONS_INSTALL_MODULES, \
N_("MODULES"), 0, \
N_("install only MODULES and their dependencies [default=all]"), 1 }, \
@@ -99,6 +101,7 @@ enum grub_install_plat
GRUB_INSTALL_PLATFORM_I386_XEN,
GRUB_INSTALL_PLATFORM_X86_64_XEN,
GRUB_INSTALL_PLATFORM_ARM64_EFI,
+ GRUB_INSTALL_PLATFORM_ARM_COREBOOT,
GRUB_INSTALL_PLATFORM_MAX
};
@@ -115,7 +118,8 @@ enum grub_install_options {
GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY,
GRUB_INSTALL_OPTIONS_THEMES_DIRECTORY,
GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE,
- GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS
+ GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS,
+ GRUB_INSTALL_OPTIONS_DTB
};
extern char *grub_install_source_directory;
diff --git a/util/grub-install-common.c b/util/grub-install-common.c
index 8539ff348..9e3e358c9 100644
index 8539ff3484d..9e3e358c96a 100644
--- a/util/grub-install-common.c
+++ b/util/grub-install-common.c
@@ -73,6 +73,7 @@ grub_install_help_filter (int key, const char *text,
@ -94,7 +63,7 @@ index 8539ff348..9e3e358c9 100644
char *
diff --git a/util/grub-install.c b/util/grub-install.c
index 9074d3e9e..75e3e5ba6 100644
index 9074d3e9e52..75e3e5ba6f0 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -486,6 +486,7 @@ have_bootdev (enum grub_install_plat pl)
@ -153,6 +122,37 @@ index 9074d3e9e..75e3e5ba6 100644
case GRUB_INSTALL_PLATFORM_I386_MULTIBOOT:
case GRUB_INSTALL_PLATFORM_MIPSEL_ARC:
case GRUB_INSTALL_PLATFORM_ARM_UBOOT:
diff --git a/include/grub/util/install.h b/include/grub/util/install.h
index 6abd288c313..5910b0c09bc 100644
--- a/include/grub/util/install.h
+++ b/include/grub/util/install.h
@@ -29,6 +29,8 @@
#define GRUB_INSTALL_OPTIONS \
{ "modules", GRUB_INSTALL_OPTIONS_MODULES, N_("MODULES"), \
0, N_("pre-load specified modules MODULES"), 1 }, \
+ { "dtb", GRUB_INSTALL_OPTIONS_DTB, N_("FILE"), \
+ 0, N_("embed a specific DTB"), 1 }, \
{ "install-modules", GRUB_INSTALL_OPTIONS_INSTALL_MODULES, \
N_("MODULES"), 0, \
N_("install only MODULES and their dependencies [default=all]"), 1 }, \
@@ -99,6 +101,7 @@ enum grub_install_plat
GRUB_INSTALL_PLATFORM_I386_XEN,
GRUB_INSTALL_PLATFORM_X86_64_XEN,
GRUB_INSTALL_PLATFORM_ARM64_EFI,
+ GRUB_INSTALL_PLATFORM_ARM_COREBOOT,
GRUB_INSTALL_PLATFORM_MAX
};
@@ -115,7 +118,8 @@ enum grub_install_options {
GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY,
GRUB_INSTALL_OPTIONS_THEMES_DIRECTORY,
GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE,
- GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS
+ GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS,
+ GRUB_INSTALL_OPTIONS_DTB
};
extern char *grub_install_source_directory;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 656c3b0d7fbe23f0e1ab561c8faa4ac4a37364d1 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 22:00:06 +0200
Subject: [PATCH 026/198] arm_coreboot: Support loading linux images.
Subject: [PATCH 026/206] arm_coreboot: Support loading linux images.
---
grub-core/loader/arm/linux.c | 132 ++++++++++++++++++++++---------------------
@ -9,7 +9,7 @@ Subject: [PATCH 026/198] arm_coreboot: Support loading linux images.
2 files changed, 83 insertions(+), 65 deletions(-)
diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
index 01374ee78..260cbf068 100644
index 01374ee78fa..260cbf06861 100644
--- a/grub-core/loader/arm/linux.c
+++ b/grub-core/loader/arm/linux.c
@@ -31,8 +31,6 @@
@ -271,7 +271,7 @@ index 01374ee78..260cbf068 100644
}
-#endif
diff --git a/include/grub/arm/linux.h b/include/grub/arm/linux.h
index a66caad13..f217f8281 100644
index a66caad13db..f217f8281ad 100644
--- a/include/grub/arm/linux.h
+++ b/include/grub/arm/linux.h
@@ -46,6 +46,22 @@ grub_arm_firmware_get_machine_type (void)
@ -298,5 +298,5 @@ index a66caad13..f217f8281 100644
#define FDT_ADDITIONAL_ENTRIES_SIZE 0x300
--
2.14.3
2.15.0

View File

@ -1,36 +1,24 @@
From 265292f2b0da0eb414c409871ba0f94a99ec33c1 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 22:06:04 +0200
Subject: [PATCH 027/198] arm_coreboot: Support DMA.
Subject: [PATCH 027/206] arm_coreboot: Support DMA.
This is needed to support USB and some other busses.
---
grub-core/Makefile.am | 1 +
grub-core/Makefile.core.def | 1 +
grub-core/kern/arm/cache.c | 34 ++++++++++++++++++++++
grub-core/kern/arm/cache_armv7.S | 12 ++++++++
grub-core/kern/arm/coreboot/dma.c | 59 +++++++++++++++++++++++++++++++++++++++
include/grub/cache.h | 7 ++---
include/grub/dma.h | 44 +++++++++++++++++++++++++++++
include/grub/pci.h | 22 +--------------
grub-core/kern/arm/cache_armv7.S | 12 ++++++++
grub-core/Makefile.am | 1 +
8 files changed, 155 insertions(+), 25 deletions(-)
create mode 100644 grub-core/kern/arm/coreboot/dma.c
create mode 100644 include/grub/dma.h
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index a2aaf9f54..104513847 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -248,6 +248,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdt.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dma.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdtbus.h
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 6be6e7f61..e4f253a20 100644
index 6be6e7f61ee..e4f253a205e 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -163,6 +163,7 @@ kernel = {
@ -42,7 +30,7 @@ index 6be6e7f61..e4f253a20 100644
terminfoinkernel = term/terminfo.c;
terminfoinkernel = term/tparm.c;
diff --git a/grub-core/kern/arm/cache.c b/grub-core/kern/arm/cache.c
index 34154ccdb..af1c4bbf5 100644
index 34154ccdb0e..af1c4bbf544 100644
--- a/grub-core/kern/arm/cache.c
+++ b/grub-core/kern/arm/cache.c
@@ -29,6 +29,8 @@ void grub_arm_clean_dcache_range_armv6 (grub_addr_t start, grub_addr_t end,
@ -93,32 +81,9 @@ index 34154ccdb..af1c4bbf5 100644
void
grub_arm_disable_caches_mmu (void)
{
diff --git a/grub-core/kern/arm/cache_armv7.S b/grub-core/kern/arm/cache_armv7.S
index 1ef2754af..5ae76a3d8 100644
--- a/grub-core/kern/arm/cache_armv7.S
+++ b/grub-core/kern/arm/cache_armv7.S
@@ -33,6 +33,18 @@
# define ISB isb
#define ARMV7 1
+FUNCTION(grub_arm_clean_dcache_range_poc_armv7)
+ DSB
+ @ Clean data cache for range to point-of-coherence
+1: cmp r0, r1
+ bge 2f
+ mcr p15, 0, r0, c7, c14, 1 @ DCCMVAC
+ add r0, r0, r2 @ Next line
+ b 1b
+2: DSB
+ bx lr
+
+
@ r0 - CLIDR
@ r1 - LoC
@ r2 - current level
diff --git a/grub-core/kern/arm/coreboot/dma.c b/grub-core/kern/arm/coreboot/dma.c
new file mode 100644
index 000000000..2c2a62789
index 00000000000..2c2a6278904
--- /dev/null
+++ b/grub-core/kern/arm/coreboot/dma.c
@@ -0,0 +1,59 @@
@ -182,7 +147,7 @@ index 000000000..2c2a62789
+}
+
diff --git a/include/grub/cache.h b/include/grub/cache.h
index fc669dfd1..1c98ce270 100644
index fc669dfd189..1c98ce270b6 100644
--- a/include/grub/cache.h
+++ b/include/grub/cache.h
@@ -34,15 +34,14 @@ void EXPORT_FUNC(grub_arch_sync_caches) (void *address, grub_size_t len);
@ -206,7 +171,7 @@ index fc669dfd1..1c98ce270 100644
diff --git a/include/grub/dma.h b/include/grub/dma.h
new file mode 100644
index 000000000..19992ebc1
index 00000000000..19992ebc131
--- /dev/null
+++ b/include/grub/dma.h
@@ -0,0 +1,44 @@
@ -255,7 +220,7 @@ index 000000000..19992ebc1
+
+#endif
diff --git a/include/grub/pci.h b/include/grub/pci.h
index 70d9a0513..262c89b74 100644
index 70d9a05131b..262c89b748b 100644
--- a/include/grub/pci.h
+++ b/include/grub/pci.h
@@ -142,27 +142,7 @@ grub_pci_address_t EXPORT_FUNC(grub_pci_make_address) (grub_pci_device_t dev,
@ -287,6 +252,41 @@ index 70d9a0513..262c89b74 100644
grub_uint8_t
EXPORT_FUNC (grub_pci_find_capability) (grub_pci_device_t dev, grub_uint8_t cap);
diff --git a/grub-core/kern/arm/cache_armv7.S b/grub-core/kern/arm/cache_armv7.S
index 1ef2754af8a..5ae76a3d819 100644
--- a/grub-core/kern/arm/cache_armv7.S
+++ b/grub-core/kern/arm/cache_armv7.S
@@ -33,6 +33,18 @@
# define ISB isb
#define ARMV7 1
+FUNCTION(grub_arm_clean_dcache_range_poc_armv7)
+ DSB
+ @ Clean data cache for range to point-of-coherence
+1: cmp r0, r1
+ bge 2f
+ mcr p15, 0, r0, c7, c14, 1 @ DCCMVAC
+ add r0, r0, r2 @ Next line
+ b 1b
+2: DSB
+ bx lr
+
+
@ r0 - CLIDR
@ r1 - LoC
@ r2 - current level
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index a2aaf9f54b0..10451384720 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -248,6 +248,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdt.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dma.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdtbus.h
endif
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 058df7b5a9cc7aaa9872eaa916b715544a8f9840 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 22:10:26 +0200
Subject: [PATCH 028/198] ehci: Split core code from PCI part.
Subject: [PATCH 028/206] ehci: Split core code from PCI part.
On ARM often EHCI is present without PCI and just declared in device
tree. So splitcore from PCI part.
@ -13,7 +13,7 @@ tree. So splitcore from PCI part.
create mode 100644 grub-core/bus/usb/ehci-pci.c
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index e4f253a20..4745eb4d9 100644
index e4f253a205e..4745eb4d93e 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -593,6 +593,7 @@ module = {
@ -26,7 +26,7 @@ index e4f253a20..4745eb4d9 100644
diff --git a/grub-core/bus/usb/ehci-pci.c b/grub-core/bus/usb/ehci-pci.c
new file mode 100644
index 000000000..65e6cb574
index 00000000000..65e6cb57438
--- /dev/null
+++ b/grub-core/bus/usb/ehci-pci.c
@@ -0,0 +1,208 @@
@ -239,7 +239,7 @@ index 000000000..65e6cb574
+ grub_pci_iterate (grub_ehci_pci_iter, NULL);
+}
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
index 5f4297bb2..c772e7654 100644
index 5f4297bb21e..c772e76546e 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -22,13 +22,10 @@
@ -567,5 +567,5 @@ index 5f4297bb2..c772e7654 100644
grub_usb_controller_dev_register (&usb_controller);
grub_boot_time ("EHCI driver registered");
--
2.14.3
2.15.0

View File

@ -1,32 +1,19 @@
From d11ced1e1fb93676942e51618eb53c140f541890 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 8 May 2017 22:14:28 +0200
Subject: [PATCH 029/198] arm_coreboot: Support EHCI.
Subject: [PATCH 029/206] arm_coreboot: Support EHCI.
---
gentpl.py | 2 +-
grub-core/Makefile.core.def | 2 ++
grub-core/bus/usb/ehci-fdt.c | 45 ++++++++++++++++++++++++++++++++++++++++++++
grub-core/bus/usb/usbtrans.c | 2 +-
include/grub/usb.h | 4 ++++
gentpl.py | 2 +-
5 files changed, 53 insertions(+), 2 deletions(-)
create mode 100644 grub-core/bus/usb/ehci-fdt.c
diff --git a/gentpl.py b/gentpl.py
index ed268178b..da67965a4 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -63,7 +63,7 @@ GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_loongson", "mips_qemu_mips",
"sparc64_ieee1275", "powerpc_ieee1275"]
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi");
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
-GROUPS["usb"] = GROUPS["pci"]
+GROUPS["usb"] = GROUPS["pci"] + ["arm_coreboot"]
# If gfxterm is main output console integrate it into kernel
GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 4745eb4d9..5ce506597 100644
index 4745eb4d93e..5ce506597a6 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -593,8 +593,10 @@ module = {
@ -42,7 +29,7 @@ index 4745eb4d9..5ce506597 100644
module = {
diff --git a/grub-core/bus/usb/ehci-fdt.c b/grub-core/bus/usb/ehci-fdt.c
new file mode 100644
index 000000000..29b50bdd5
index 00000000000..29b50bdd5c3
--- /dev/null
+++ b/grub-core/bus/usb/ehci-fdt.c
@@ -0,0 +1,45 @@
@ -92,7 +79,7 @@ index 000000000..29b50bdd5
+ grub_fdtbus_register (&ehci);
+}
diff --git a/grub-core/bus/usb/usbtrans.c b/grub-core/bus/usb/usbtrans.c
index 9266e4931..85f081fff 100644
index 9266e49311c..85f081fffb3 100644
--- a/grub-core/bus/usb/usbtrans.c
+++ b/grub-core/bus/usb/usbtrans.c
@@ -18,7 +18,7 @@
@ -105,7 +92,7 @@ index 9266e4931..85f081fff 100644
#include <grub/misc.h>
#include <grub/usb.h>
diff --git a/include/grub/usb.h b/include/grub/usb.h
index 11d96481f..512ae1dd0 100644
index 11d96481ff6..512ae1dd0e6 100644
--- a/include/grub/usb.h
+++ b/include/grub/usb.h
@@ -321,5 +321,9 @@ grub_usb_err_t
@ -118,6 +105,19 @@ index 11d96481f..512ae1dd0 100644
+grub_ehci_pci_scan (void);
#endif /* GRUB_USB_H */
diff --git a/gentpl.py b/gentpl.py
index ed268178b4d..da67965a41a 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -63,7 +63,7 @@ GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_loongson", "mips_qemu_mips",
"sparc64_ieee1275", "powerpc_ieee1275"]
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi");
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
-GROUPS["usb"] = GROUPS["pci"]
+GROUPS["usb"] = GROUPS["pci"] + ["arm_coreboot"]
# If gfxterm is main output console integrate it into kernel
GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 4f8471532d454b2db96434c28bf7105ed69e0f4d Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 08:39:40 +0200
Subject: [PATCH 030/198] Fix bug on FDT nodes with compatible property
Subject: [PATCH 030/206] Fix bug on FDT nodes with compatible property
---
grub-core/bus/fdt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/grub-core/bus/fdt.c b/grub-core/bus/fdt.c
index 6fb077000..34d535457 100644
index 6fb077000a5..34d53545732 100644
--- a/grub-core/bus/fdt.c
+++ b/grub-core/bus/fdt.c
@@ -43,6 +43,8 @@ is_compatible (struct grub_fdtbus_driver *driver,
@ -21,5 +21,5 @@ index 6fb077000..34d535457 100644
while (compatible < compatible_end)
{
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c4313c812dc14e82a774b580b5e34d40e7f3fae6 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 08:40:29 +0200
Subject: [PATCH 031/198] fdtbus: Add ability to send/receive messages on
Subject: [PATCH 031/206] fdtbus: Add ability to send/receive messages on
parent busses.
---
@ -10,7 +10,7 @@ Subject: [PATCH 031/198] fdtbus: Add ability to send/receive messages on
2 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/grub-core/bus/fdt.c b/grub-core/bus/fdt.c
index 34d535457..135da497b 100644
index 34d53545732..135da497ba6 100644
--- a/grub-core/bus/fdt.c
+++ b/grub-core/bus/fdt.c
@@ -25,30 +25,22 @@ static grub_size_t root_address_cells, root_size_cells;
@ -87,7 +87,7 @@ index 34d535457..135da497b 100644
}
}
diff --git a/include/grub/fdtbus.h b/include/grub/fdtbus.h
index 985837e55..f519c40ec 100644
index 985837e55f6..f519c40ec35 100644
--- a/include/grub/fdtbus.h
+++ b/include/grub/fdtbus.h
@@ -22,7 +22,13 @@
@ -130,5 +130,5 @@ index 985837e55..f519c40ec 100644
/* dtb is assumed to be unfreeable and must remain
valid for lifetime of GRUB.
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From b0b1b81a11f8bae8ab9e8edd87ac3f4f7949d03b Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 08:42:14 +0200
Subject: [PATCH 032/198] rk3288_spi: Add SPI driver
Subject: [PATCH 032/206] rk3288_spi: Add SPI driver
---
grub-core/Makefile.core.def | 1 +
@ -12,7 +12,7 @@ Subject: [PATCH 032/198] rk3288_spi: Add SPI driver
create mode 100644 grub-core/bus/spi/rk3288_spi.c
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 5ce506597..d2239f171 100644
index 5ce506597a6..d2239f1718d 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -162,6 +162,7 @@ kernel = {
@ -25,7 +25,7 @@ index 5ce506597..d2239f171 100644
diff --git a/grub-core/bus/spi/rk3288_spi.c b/grub-core/bus/spi/rk3288_spi.c
new file mode 100644
index 000000000..aacb79ffe
index 00000000000..aacb79ffef1
--- /dev/null
+++ b/grub-core/bus/spi/rk3288_spi.c
@@ -0,0 +1,103 @@
@ -133,7 +133,7 @@ index 000000000..aacb79ffe
+ grub_fdtbus_register (&spi);
+}
diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c
index a06ccb72f..0126ff638 100644
index a06ccb72f42..0126ff6381a 100644
--- a/grub-core/kern/arm/coreboot/init.c
+++ b/grub-core/kern/arm/coreboot/init.c
@@ -132,6 +132,8 @@ grub_machine_init (void)
@ -146,7 +146,7 @@ index a06ccb72f..0126ff638 100644
grub_pl050_init ();
}
diff --git a/include/grub/arm/coreboot/kernel.h b/include/grub/arm/coreboot/kernel.h
index 09cd7fe32..269505342 100644
index 09cd7fe328c..26950534270 100644
--- a/include/grub/arm/coreboot/kernel.h
+++ b/include/grub/arm/coreboot/kernel.h
@@ -34,8 +34,8 @@ struct grub_fdt_board
@ -161,5 +161,5 @@ index 09cd7fe32..269505342 100644
#endif /* ! ASM_FILE */
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 5c3fd1b135bd73c8e3467b9b635b25ca4d360a19 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 08:47:34 +0200
Subject: [PATCH 033/198] arm_coreboot: Add Chromebook keyboard driver.
Subject: [PATCH 033/206] arm_coreboot: Add Chromebook keyboard driver.
---
grub-core/term/arm/cros.c | 125 +++++++++++++++++++++++
@ -14,7 +14,7 @@ Subject: [PATCH 033/198] arm_coreboot: Add Chromebook keyboard driver.
diff --git a/grub-core/term/arm/cros.c b/grub-core/term/arm/cros.c
new file mode 100644
index 000000000..1ff9f8ccf
index 00000000000..1ff9f8ccfb8
--- /dev/null
+++ b/grub-core/term/arm/cros.c
@@ -0,0 +1,125 @@
@ -145,7 +145,7 @@ index 000000000..1ff9f8ccf
+}
diff --git a/grub-core/term/arm/cros_ec.c b/grub-core/term/arm/cros_ec.c
new file mode 100644
index 000000000..f4144818b
index 00000000000..f4144818b5b
--- /dev/null
+++ b/grub-core/term/arm/cros_ec.c
@@ -0,0 +1,238 @@
@ -389,7 +389,7 @@ index 000000000..f4144818b
+
diff --git a/include/grub/arm/cros_ec.h b/include/grub/arm/cros_ec.h
new file mode 100644
index 000000000..45a372572
index 00000000000..45a372572a5
--- /dev/null
+++ b/include/grub/arm/cros_ec.h
@@ -0,0 +1,21 @@
@ -415,5 +415,5 @@ index 000000000..45a372572
+
+#endif
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c6eaa982d12e3cfc5465dda5ea372774188b6b81 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 09:02:15 +0200
Subject: [PATCH 034/198] Missing parts of previous commit
Subject: [PATCH 034/206] Missing parts of previous commit
---
grub-core/Makefile.core.def | 2 ++
@ -9,7 +9,7 @@ Subject: [PATCH 034/198] Missing parts of previous commit
2 files changed, 3 insertions(+)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index d2239f171..1d86bd22e 100644
index d2239f1718d..1d86bd22e04 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -162,6 +162,8 @@ kernel = {
@ -22,7 +22,7 @@ index d2239f171..1d86bd22e 100644
arm_coreboot = commands/keylayouts.c;
arm_coreboot = kern/arm/coreboot/dma.c;
diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c
index 0126ff638..8d8c5b829 100644
index 0126ff6381a..8d8c5b8291e 100644
--- a/grub-core/kern/arm/coreboot/init.c
+++ b/grub-core/kern/arm/coreboot/init.c
@@ -135,6 +135,7 @@ grub_machine_init (void)
@ -34,5 +34,5 @@ index 0126ff638..8d8c5b829 100644
}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 70b555a52a065b2beb91e6fc97a6b358c931b303 Mon Sep 17 00:00:00 2001
From: Julius Werner <jwerner@chromium.org>
Date: Tue, 9 May 2017 09:03:02 +0200
Subject: [PATCH 035/198] coreboot: Changed cbmemc to support updated console
Subject: [PATCH 035/206] coreboot: Changed cbmemc to support updated console
format from coreboot.
---
@ -9,7 +9,7 @@ Subject: [PATCH 035/198] coreboot: Changed cbmemc to support updated console
1 file changed, 35 insertions(+), 15 deletions(-)
diff --git a/grub-core/term/i386/coreboot/cbmemc.c b/grub-core/term/i386/coreboot/cbmemc.c
index 129248c7f..cea9b8431 100644
index 129248c7f47..cea9b84315b 100644
--- a/grub-core/term/i386/coreboot/cbmemc.c
+++ b/grub-core/term/i386/coreboot/cbmemc.c
@@ -29,11 +29,14 @@
@ -94,5 +94,5 @@ index 129248c7f..cea9b8431 100644
}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c4b8bec5fee4e30a165fd14a188cf3ab8eccd095 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 9 May 2017 14:27:52 +0200
Subject: [PATCH 036/198] at_keyboard: Fix falco chromebook case.
Subject: [PATCH 036/206] at_keyboard: Fix falco chromebook case.
EC is slow, so we need few delays for it to toggle the bits correctly.
@ -12,7 +12,7 @@ Command to enable clock and keyboard were not sent.
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c
index 3ab4e205f..f0a986eb1 100644
index 3ab4e205f40..f0a986eb176 100644
--- a/grub-core/term/at_keyboard.c
+++ b/grub-core/term/at_keyboard.c
@@ -40,6 +40,8 @@ grub_keyboard_controller_init (void);
@ -69,7 +69,7 @@ index 3ab4e205f..f0a986eb1 100644
write_mode (2);
ps2_state.current_set = query_mode ();
diff --git a/include/grub/at_keyboard.h b/include/grub/at_keyboard.h
index b031523eb..bcb4d9ba7 100644
index b031523eb7d..bcb4d9ba78f 100644
--- a/include/grub/at_keyboard.h
+++ b/include/grub/at_keyboard.h
@@ -23,9 +23,11 @@
@ -85,5 +85,5 @@ index b031523eb..bcb4d9ba7 100644
#define KEYBOARD_ISMAKE(x) !((x) & 0x80)
#define KEYBOARD_ISREADY(x) ((x) & 0x01)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From bd4e40aadded7093908d786d03b4acf60b7b1707 Mon Sep 17 00:00:00 2001
From: Eric Snowberg <eric.snowberg@oracle.com>
Date: Thu, 11 May 2017 18:42:23 -0700
Subject: [PATCH 037/198] sparc64: Close cdboot ihandle
Subject: [PATCH 037/206] sparc64: Close cdboot ihandle
The ihandle is left open with a cd-core image. This will cause a delay
booting grub from a virtual cdrom in a LDOM. It will also cause problems
@ -16,7 +16,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 10 insertions(+)
diff --git a/grub-core/boot/sparc64/ieee1275/boot.S b/grub-core/boot/sparc64/ieee1275/boot.S
index 586efb401..9ea9b4e06 100644
index 586efb4014e..9ea9b4e0662 100644
--- a/grub-core/boot/sparc64/ieee1275/boot.S
+++ b/grub-core/boot/sparc64/ieee1275/boot.S
@@ -69,6 +69,10 @@ prom_seek_name: .asciz "seek"
@ -44,5 +44,5 @@ index 586efb401..9ea9b4e06 100644
mov 512, %o3
#endif
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From ae5817f1dcbf0b99f7a849f56afe442165317840 Mon Sep 17 00:00:00 2001
From: Julien Grall <julien.grall@linaro.org>
Date: Fri, 19 Feb 2016 16:28:52 +0000
Subject: [PATCH 038/198] arm64/xen_boot: Fix Xen boot using GRUB2 on AARCH64
Subject: [PATCH 038/206] arm64/xen_boot: Fix Xen boot using GRUB2 on AARCH64
Xen is currently crashing because of malformed compatible property for
the boot module. This is because the property string is not
@ -15,7 +15,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c
index a914eb8e2..8ae43d7e8 100644
index a914eb8e2df..8ae43d7e894 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary *module, void *xen_boot_fdt)
@ -28,5 +28,5 @@ index a914eb8e2..8ae43d7e8 100644
return grub_error (GRUB_ERR_IO, "failed to update FDT");
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 8eed7be8a61c295df700e918744a984162378ca9 Mon Sep 17 00:00:00 2001
From: Fu Wei <fu.wei@linaro.org>
Date: Sun, 14 May 2017 15:43:45 +0800
Subject: [PATCH 039/198] arm64: Add "--nounzip" option support in xen_module
Subject: [PATCH 039/206] arm64: Add "--nounzip" option support in xen_module
command
This patch adds "--nounzip" option support in order to
@ -18,7 +18,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 16 insertions(+)
diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c
index 8ae43d7e8..27ede46ca 100644
index 8ae43d7e894..27ede46cac5 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -379,6 +379,20 @@ grub_cmd_xen_module (grub_command_t cmd __attribute__((unused)),
@ -52,5 +52,5 @@ index 8ae43d7e8..27ede46ca 100644
if (!file)
goto fail;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From d33045ce7ffcb7c1e4a60c14d5ca64b36e3c5abe Mon Sep 17 00:00:00 2001
From: Fu Wei <fu.wei@linaro.org>
Date: Sun, 14 May 2017 15:43:46 +0800
Subject: [PATCH 040/198] util/grub.d/20_linux_xen.in: Add xen_boot command
Subject: [PATCH 040/206] util/grub.d/20_linux_xen.in: Add xen_boot command
support for aarch64
This patch adds the support of xen_boot command for aarch64:
@ -20,7 +20,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index c48af948d..c002fc9f9 100644
index c48af948d6e..c002fc9f946 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -122,16 +122,16 @@ linux_entry ()
@ -59,5 +59,5 @@ index c48af948d..c002fc9f9 100644
linux=`version_find_latest $list`
gettext_printf "Found linux image: %s\n" "$linux" >&2
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 26c2f306fd425d2c0348023b8dcb7eb40a01851a Mon Sep 17 00:00:00 2001
From: Fu Wei <fu.wei@linaro.org>
Date: Sun, 14 May 2017 15:43:47 +0800
Subject: [PATCH 041/198] arm64: Update the introduction of Xen boot commands
Subject: [PATCH 041/206] arm64: Update the introduction of Xen boot commands
in docs/grub.texi
delete: xen_linux, xen_initrd, xen_xsm
@ -27,7 +27,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 13 insertions(+), 25 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index e935af33e..a0c4b9e4e 100644
index e935af33ea5..a0c4b9e4e8e 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -3873,11 +3873,9 @@ you forget a command, you can run the command @command{help}
@ -89,5 +89,5 @@ index e935af33e..a0c4b9e4e 100644
@section The list of networking commands
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From f8679cedff703b437171f4708d46adbfcff80a65 Mon Sep 17 00:00:00 2001
From: Eric Snowberg <eric.snowberg@oracle.com>
Date: Thu, 18 May 2017 17:10:22 -0600
Subject: [PATCH 042/198] sparc64: Don't use devspec to determine the OBP path
Subject: [PATCH 042/206] sparc64: Don't use devspec to determine the OBP path
Don't use devspec to determine the OBP path on SPARC hardware. Within all
versions of Linux on SPARC, the devspec returns one of three values:
@ -28,7 +28,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 3 insertions(+)
diff --git a/grub-core/osdep/linux/ofpath.c b/grub-core/osdep/linux/ofpath.c
index a79682a5e..dce4e59d0 100644
index a79682a5e31..dce4e59d081 100644
--- a/grub-core/osdep/linux/ofpath.c
+++ b/grub-core/osdep/linux/ofpath.c
@@ -120,6 +120,8 @@ find_obppath (const char *sysfs_path_orig)
@ -49,5 +49,5 @@ index a79682a5e..dce4e59d0 100644
if (fd < 0 || fstat (fd, &st) < 0)
{
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 734668238fcc0ef691a080839e04f33854fa133a Mon Sep 17 00:00:00 2001
From: Eric Biggers <ebiggers@google.com>
Date: Thu, 29 Jun 2017 13:27:49 +0000
Subject: [PATCH 043/198] Allow GRUB to mount ext2/3/4 filesystems that have
Subject: [PATCH 043/206] Allow GRUB to mount ext2/3/4 filesystems that have
the encryption feature.
On such a filesystem, inodes may have EXT4_ENCRYPT_FLAG set.
@ -30,7 +30,7 @@ Signed-off-by: Eric Biggers <ebiggers@google.com>
3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
index cdce63bcc..b8ad75a0f 100644
index cdce63bcc9d..b8ad75a0ff7 100644
--- a/grub-core/fs/ext2.c
+++ b/grub-core/fs/ext2.c
@@ -102,6 +102,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
@ -99,7 +99,7 @@ index cdce63bcc..b8ad75a0f 100644
grub_free (fdiro);
diff --git a/tests/ext234_test.in b/tests/ext234_test.in
index 892b99cbd..4f1eb527e 100644
index 892b99cbdf6..4f1eb527eb2 100644
--- a/tests/ext234_test.in
+++ b/tests/ext234_test.in
@@ -30,3 +30,4 @@ fi
@ -108,7 +108,7 @@ index 892b99cbd..4f1eb527e 100644
"@builddir@/grub-fs-tester" ext4_metabg
+"@builddir@/grub-fs-tester" ext4_encrypt
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 88cbe7365..fd7e0f14b 100644
index 88cbe7365e9..fd7e0f14b68 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -156,6 +156,12 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
@ -136,5 +136,5 @@ index 88cbe7365..fd7e0f14b 100644
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.$fs" -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
xxfs)
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From edb37fb30bbc8a3b6bec67911c7200e4eb071127 Mon Sep 17 00:00:00 2001
From: phcoder <phcoder@sid.debian.laptop.phnet>
Date: Sun, 9 Jul 2017 20:58:31 +0200
Subject: [PATCH 044/198] ehci: Fix compilation for amd64
Subject: [PATCH 044/206] ehci: Fix compilation for amd64
---
grub-core/bus/usb/ehci.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
index c772e7654..7b7061f53 100644
index c772e76546e..7b7061f5335 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -504,8 +504,8 @@ grub_ehci_init_device (volatile void *regs)
@ -34,5 +34,5 @@ index c772e7654..7b7061f53 100644
grub_ehci_oper_read32 (e, GRUB_EHCI_COMMAND));
grub_dprintf ("ehci", "EHCI grub_ehci_pci_iter: STATUS: %08x\n",
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From d8901e3ba115d705c9c08ecedd201aca8b4867b8 Mon Sep 17 00:00:00 2001
From: phcoder <phcoder@sid.debian.laptop.phnet>
Date: Sun, 9 Jul 2017 20:59:15 +0200
Subject: [PATCH 045/198] cache: Fix compilation for ppc, sparc and arm64
Subject: [PATCH 045/206] cache: Fix compilation for ppc, sparc and arm64
---
include/grub/cache.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/grub/cache.h b/include/grub/cache.h
index 1c98ce270..ccfa717e6 100644
index 1c98ce270b6..ccfa717e669 100644
--- a/include/grub/cache.h
+++ b/include/grub/cache.h
@@ -34,7 +34,9 @@ void EXPORT_FUNC(grub_arch_sync_caches) (void *address, grub_size_t len);
@ -23,5 +23,5 @@ index 1c98ce270..ccfa717e6 100644
grub_arch_sync_dma_caches (volatile void *address __attribute__ ((unused)),
grub_size_t len __attribute__ ((unused)))
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 284afab081ef7ed7db2c59151853aa3c92d988f2 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Sun, 9 Jul 2017 21:31:19 +0200
Subject: [PATCH 046/198] ehci: Fix compilation on i386
Subject: [PATCH 046/206] ehci: Fix compilation on i386
---
grub-core/bus/usb/ehci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
index 7b7061f53..d966fc210 100644
index 7b7061f5335..d966fc21002 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -505,7 +505,7 @@ grub_ehci_init_device (volatile void *regs)
@ -30,5 +30,5 @@ index 7b7061f53..d966fc210 100644
grub_ehci_oper_read32 (e, GRUB_EHCI_COMMAND));
grub_dprintf ("ehci", "EHCI grub_ehci_pci_iter: STATUS: %08x\n",
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From a0fe0c26aa8a1c0ad66d9527611bd726b849c623 Mon Sep 17 00:00:00 2001
From: AppChecker <appchecker>
Date: Sun, 9 Jul 2017 21:57:35 +0200
Subject: [PATCH 047/198] crypto: Fix use after free.
Subject: [PATCH 047/206] crypto: Fix use after free.
Reported by: AppChecker
Transformed to patch by: Satish Govindarajan
@ -10,7 +10,7 @@ Transformed to patch by: Satish Govindarajan
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/crypto.c b/grub-core/normal/crypto.c
index 2bfd67c8e..e6d345f33 100644
index 2bfd67c8ef3..e6d345f3345 100644
--- a/grub-core/normal/crypto.c
+++ b/grub-core/normal/crypto.c
@@ -147,8 +147,8 @@ read_crypto_list (const char *prefix)
@ -24,5 +24,5 @@ index 2bfd67c8e..e6d345f33 100644
}
cur->next = crypto_specs;
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From cb8b7e4e36bf32dccbbba8252aa44ad3ada4fbc1 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Sun, 9 Jul 2017 21:48:37 +0000
Subject: [PATCH 048/198] arm-efi: Fix compilation
Subject: [PATCH 048/206] arm-efi: Fix compilation
---
grub-core/loader/arm/linux.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
index 260cbf068..e64c79a95 100644
index 260cbf06861..e64c79a9577 100644
--- a/grub-core/loader/arm/linux.c
+++ b/grub-core/loader/arm/linux.c
@@ -252,12 +252,12 @@ linux_boot (void)
@ -37,5 +37,5 @@ index 260cbf068..e64c79a95 100644
}
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 68d54b55f49249c5e0517bf189f0f3df7ee6a36f Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 10 Jul 2017 01:34:22 +0000
Subject: [PATCH 049/198] fdt: silence clang warning.
Subject: [PATCH 049/206] fdt: silence clang warning.
---
grub-core/lib/fdt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/grub-core/lib/fdt.c b/grub-core/lib/fdt.c
index bdc630244..2705f2629 100644
index bdc6302448d..2705f2629b9 100644
--- a/grub-core/lib/fdt.c
+++ b/grub-core/lib/fdt.c
@@ -309,7 +309,8 @@ advance_token (const void *fdt, const grub_uint32_t *token, const grub_uint32_t
@ -22,5 +22,5 @@ index bdc630244..2705f2629 100644
return 0;
return token;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From e8ab5a1a9e2889eb59d1fa494ba441a53698dcd2 Mon Sep 17 00:00:00 2001
From: Rob Clark <rclark@redhat.com>
Date: Wed, 19 Jul 2017 15:47:41 -0400
Subject: [PATCH 050/198] Fix a segfault in lsefi
Subject: [PATCH 050/206] Fix a segfault in lsefi
when protocols_per_handle returns error, we can't use the pointers we
passed to it, and that includes trusting num_protocols.
@ -13,7 +13,7 @@ Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c
index d901c3892..d1ce99af4 100644
index d901c389263..d1ce99af438 100644
--- a/grub-core/commands/efi/lsefi.c
+++ b/grub-core/commands/efi/lsefi.c
@@ -109,8 +109,10 @@ grub_cmd_lsefi (grub_command_t cmd __attribute__ ((unused)),
@ -29,5 +29,5 @@ index d901c3892..d1ce99af4 100644
{
for (k = 0; k < ARRAY_SIZE (known_protocols); k++)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From fa42786264cef98c56e972b3bb6b8448000e1c70 Mon Sep 17 00:00:00 2001
From: Pete Batard <pete@akeo.ie>
Date: Thu, 3 Aug 2017 15:46:15 +0100
Subject: [PATCH 051/198] zfs: remove size_t typedef and use grub_size_t
Subject: [PATCH 051/206] zfs: remove size_t typedef and use grub_size_t
instead
* Prevents some toolchains from issuing a warning on size_t redef.
@ -10,7 +10,7 @@ Subject: [PATCH 051/198] zfs: remove size_t typedef and use grub_size_t
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/grub-core/fs/zfs/zfs_lz4.c b/grub-core/fs/zfs/zfs_lz4.c
index 2f73449f0..5453822d0 100644
index 2f73449f0d4..5453822d025 100644
--- a/grub-core/fs/zfs/zfs_lz4.c
+++ b/grub-core/fs/zfs/zfs_lz4.c
@@ -73,7 +73,6 @@ static int LZ4_uncompress_unknownOutputSize(const char *source, char *dest,
@ -55,5 +55,5 @@ index 2f73449f0..5453822d0 100644
const int dec2 = 0;
#endif
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 76188809d5ca40c5285b0ab202b5edea7be3f04d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
Date: Thu, 22 Jun 2017 14:33:17 +0200
Subject: [PATCH 052/198] udf: Fix reading label, lvd.ident is dstring
Subject: [PATCH 052/206] udf: Fix reading label, lvd.ident is dstring
UDF dstring has stored length in the last byte of buffer. Therefore last
byte is not part of recorded characters. And empty string in dstring is
@ -11,7 +11,7 @@ encoded as empty buffer, including first byte (compression id).
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
index 839bff889..258745633 100644
index 839bff88963..2587456336e 100644
--- a/grub-core/fs/udf.c
+++ b/grub-core/fs/udf.c
@@ -860,6 +860,25 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
@ -50,5 +50,5 @@ index 839bff889..258745633 100644
}
else
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 435fa75e01ef40917239c7f775e505e86f70d202 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
Date: Thu, 22 Jun 2017 14:42:16 +0200
Subject: [PATCH 053/198] * grub-core/fs/udf.c: Add support for UUID
Subject: [PATCH 053/206] * grub-core/fs/udf.c: Add support for UUID
Use same algorithm as in libblkid from util-linux v2.30.
@ -27,7 +27,7 @@ format.exe set only first 8 as hexadecimal and remaining as fixed
1 file changed, 120 insertions(+), 1 deletion(-)
diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
index 258745633..00a16098b 100644
index 2587456336e..00a16098b47 100644
--- a/grub-core/fs/udf.c
+++ b/grub-core/fs/udf.c
@@ -321,6 +321,32 @@ struct grub_udf_partmap
@ -187,5 +187,5 @@ index 258745633..00a16098b 100644
.reserved_first_sector = 1,
.blocklist_install = 1,
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 9e962fd3c42081e2eef1f99a0eaab38fd04d2620 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 7 Aug 2017 18:05:17 +0200
Subject: [PATCH 054/198] mkrescue: Check xorriso presence before doing
Subject: [PATCH 054/206] mkrescue: Check xorriso presence before doing
anything else.
mkrescue can't do anything useful without xorriso, so abort early if it's
@ -11,7 +11,7 @@ not available.
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
index 238d4840e..38f154397 100644
index 238d4840e2f..38f1543974e 100644
--- a/util/grub-mkrescue.c
+++ b/util/grub-mkrescue.c
@@ -323,6 +323,7 @@ check_xorriso (const char *val)
@ -46,5 +46,5 @@ index 238d4840e..38f154397 100644
grub_hostfs_init ();
grub_host_init ();
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From e66dc5d71ebfc9763420a76c274e6980d54641c3 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 7 Aug 2017 18:08:39 +0200
Subject: [PATCH 055/198] Fail if xorriso failed.
Subject: [PATCH 055/206] Fail if xorriso failed.
If xorriso failed most likely we didn't generate a meaningful image.
---
@ -9,7 +9,7 @@ If xorriso failed most likely we didn't generate a meaningful image.
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
index 38f154397..9545945d8 100644
index 38f1543974e..9545945d8f3 100644
--- a/util/grub-mkrescue.c
+++ b/util/grub-mkrescue.c
@@ -429,6 +429,7 @@ main (int argc, char *argv[])
@ -40,5 +40,5 @@ index 38f154397..9545945d8 100644
grub_util_unlink_recursive (iso9660_dir);
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From dd5fde2df83c5c03b7ba04d2cc5b7be96de8da7b Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Thu, 3 Aug 2017 11:04:23 +0100
Subject: [PATCH 056/198] efi: refactor grub_efi_allocate_pages
Subject: [PATCH 056/206] efi: refactor grub_efi_allocate_pages
Expose a new function, grub_efi_allocate_pages_real(), making it possible
to specify allocation type and memory type as supported by the UEFI
@ -20,7 +20,7 @@ Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
2 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index 20a47aaf5..d88bc5e43 100644
index 20a47aaf5d0..d88bc5e4326 100644
--- a/grub-core/kern/efi/mm.c
+++ b/grub-core/kern/efi/mm.c
@@ -51,36 +51,20 @@ int grub_efi_is_finished = 0;
@ -100,7 +100,7 @@ index 20a47aaf5..d88bc5e43 100644
void
grub_efi_free_pages (grub_efi_physical_address_t address,
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index e9c601f34..b4cbebf38 100644
index e9c601f3410..b4cbebf3828 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -38,6 +38,11 @@ void *EXPORT_FUNC(grub_efi_open_protocol) (grub_efi_handle_t handle,
@ -116,5 +116,5 @@ index e9c601f34..b4cbebf38 100644
grub_efi_uintn_t pages);
void EXPORT_FUNC(grub_efi_free_pages) (grub_efi_physical_address_t address,
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 4bc909bf89f5b4ff86c9e4e609d4fe0c11a66b0c Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 7 Aug 2017 18:33:29 +0200
Subject: [PATCH 057/198] Remove grub_efi_allocate_pages.
Subject: [PATCH 057/206] Remove grub_efi_allocate_pages.
grub_efi_allocate_pages Essentially does 2 unrelated things:
* Allocate at fixed address.
@ -21,7 +21,7 @@ value which is wrong as 0 is a perfectly valid fixed adress to allocate at.
8 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/grub-core/kern/arm/efi/misc.c b/grub-core/kern/arm/efi/misc.c
index 7cd41842a..c95e8299d 100644
index 7cd41842ae7..c95e8299d42 100644
--- a/grub-core/kern/arm/efi/misc.c
+++ b/grub-core/kern/arm/efi/misc.c
@@ -146,7 +146,7 @@ grub_efi_allocate_loader_memory (grub_uint32_t min_offset, grub_uint32_t size)
@ -43,7 +43,7 @@ index 7cd41842a..c95e8299d 100644
return GRUB_ERR_OUT_OF_MEMORY;
diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index d88bc5e43..b97b05fe8 100644
index d88bc5e4326..b97b05fe825 100644
--- a/grub-core/kern/efi/mm.c
+++ b/grub-core/kern/efi/mm.c
@@ -83,20 +83,19 @@ grub_efi_allocate_pages_real (grub_efi_physical_address_t address,
@ -51,8 +51,16 @@ index d88bc5e43..b97b05fe8 100644
void *
-grub_efi_allocate_pages (grub_efi_physical_address_t address,
- grub_efi_uintn_t pages)
+grub_efi_allocate_any_pages (grub_efi_uintn_t pages)
+{
+ return grub_efi_allocate_pages_real (GRUB_EFI_MAX_USABLE_ADDRESS,
+ pages, GRUB_EFI_ALLOCATE_MAX_ADDRESS,
+ GRUB_EFI_LOADER_DATA);
+}
+
+void *
+grub_efi_allocate_fixed (grub_efi_physical_address_t address,
grub_efi_uintn_t pages)
{
- grub_efi_allocate_type_t alloctype;
-
@ -63,16 +71,8 @@ index d88bc5e43..b97b05fe8 100644
- }
- else
- alloctype = GRUB_EFI_ALLOCATE_ADDRESS;
+ return grub_efi_allocate_pages_real (GRUB_EFI_MAX_USABLE_ADDRESS,
+ pages, GRUB_EFI_ALLOCATE_MAX_ADDRESS,
+ GRUB_EFI_LOADER_DATA);
+}
-
- return grub_efi_allocate_pages_real (address, pages, alloctype,
+void *
+grub_efi_allocate_fixed (grub_efi_physical_address_t address,
+ grub_efi_uintn_t pages)
+{
+ return grub_efi_allocate_pages_real (address, pages,
+ GRUB_EFI_ALLOCATE_ADDRESS,
GRUB_EFI_LOADER_DATA);
@ -107,7 +107,7 @@ index d88bc5e43..b97b05fe8 100644
grub_fatal ("cannot allocate memory");
diff --git a/grub-core/loader/arm64/fdt.c b/grub-core/loader/arm64/fdt.c
index db49cf649..368001696 100644
index db49cf64991..368001696ee 100644
--- a/grub-core/loader/arm64/fdt.c
+++ b/grub-core/loader/arm64/fdt.c
@@ -50,7 +50,7 @@ grub_fdt_load (grub_size_t additional_size)
@ -120,7 +120,7 @@ index db49cf649..368001696 100644
return NULL;
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
index 9519d2e4d..ee3fcaa86 100644
index 9519d2e4d3e..ee3fcaa86ae 100644
--- a/grub-core/loader/arm64/linux.c
+++ b/grub-core/loader/arm64/linux.c
@@ -148,8 +148,7 @@ grub_arm64_uefi_boot_image (grub_addr_t addr, grub_size_t size, char *args)
@ -152,7 +152,7 @@ index 9519d2e4d..ee3fcaa86 100644
(long long) GRUB_EFI_BYTES_TO_PAGES (kernel_size));
if (!kernel_addr)
diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c
index 27ede46ca..6c145a771 100644
index 27ede46cac5..6c145a771ee 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -324,10 +324,9 @@ xen_boot_binary_load (struct xen_boot_binary *binary, grub_file_t file,
@ -170,7 +170,7 @@ index 27ede46ca..6c145a771 100644
{
grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
diff --git a/grub-core/loader/ia64/efi/linux.c b/grub-core/loader/ia64/efi/linux.c
index efaa42ccd..750330d45 100644
index efaa42ccdd2..750330d4572 100644
--- a/grub-core/loader/ia64/efi/linux.c
+++ b/grub-core/loader/ia64/efi/linux.c
@@ -252,7 +252,7 @@ allocate_pages (grub_uint64_t align, grub_uint64_t size_pages,
@ -219,7 +219,7 @@ index efaa42ccd..750330d45 100644
{
grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate pages");
diff --git a/include/grub/autoefi.h b/include/grub/autoefi.h
index b75591176..b7a252e07 100644
index b75591176eb..b7a252e079e 100644
--- a/include/grub/autoefi.h
+++ b/include/grub/autoefi.h
@@ -55,7 +55,7 @@ static inline grub_err_t grub_autoefi_prepare (void)
@ -232,7 +232,7 @@ index b75591176..b7a252e07 100644
# define grub_autoefi_finish_boot_services grub_efiemu_finish_boot_services
# define EFI_PRESENT 1
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index b4cbebf38..3fa082816 100644
index b4cbebf3828..3fa082816ca 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -43,8 +43,10 @@ EXPORT_FUNC(grub_efi_allocate_pages_real) (grub_efi_physical_address_t address,
@ -248,5 +248,5 @@ index b4cbebf38..3fa082816 100644
grub_efi_uintn_t pages);
int
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 8c9465fac901caac6802d6872a1374518b001517 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Thu, 3 Aug 2017 11:04:24 +0100
Subject: [PATCH 058/198] efi: move fdt helper library
Subject: [PATCH 058/206] efi: move fdt helper library
There is nothing ARM64 (or even ARM) specific about the efi fdt helper
library, which is used for locating or overriding a firmware-provided
@ -22,7 +22,7 @@ Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
rename include/grub/{arm64 => efi}/fdtload.h (100%)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 1d86bd22e..a65c27f7f 100644
index 1d86bd22e04..a65c27f7ff2 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -1707,7 +1707,7 @@ module = {
@ -35,7 +35,7 @@ index 1d86bd22e..a65c27f7f 100644
enable = fdt;
};
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
index ee3fcaa86..3e2f9b742 100644
index ee3fcaa86ae..3e2f9b74296 100644
--- a/grub-core/loader/arm64/linux.c
+++ b/grub-core/loader/arm64/linux.c
@@ -26,8 +26,8 @@
@ -49,7 +49,7 @@ index ee3fcaa86..3e2f9b742 100644
#include <grub/i18n.h>
#include <grub/lib/cmdline.h>
diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c
index 6c145a771..c95d6c5a8 100644
index 6c145a771ee..c95d6c5a868 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -27,9 +27,9 @@
@ -67,7 +67,7 @@ diff --git a/grub-core/loader/arm64/fdt.c b/grub-core/loader/efi/fdt.c
similarity index 99%
rename from grub-core/loader/arm64/fdt.c
rename to grub-core/loader/efi/fdt.c
index 368001696..091e9ddf4 100644
index 368001696ee..091e9ddf43d 100644
--- a/grub-core/loader/arm64/fdt.c
+++ b/grub-core/loader/efi/fdt.c
@@ -18,12 +18,12 @@
@ -89,5 +89,5 @@ similarity index 100%
rename from include/grub/arm64/fdtload.h
rename to include/grub/efi/fdtload.h
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c5841ba7f0d14c193f20854e7e55b4f7ce9207d5 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Thu, 3 Aug 2017 11:04:25 +0100
Subject: [PATCH 059/198] efi: Add GRUB_PE32_MAGIC definition
Subject: [PATCH 059/206] efi: Add GRUB_PE32_MAGIC definition
Add a generic GRUB_PE32_MAGIC definition for the PE 'MZ' tag and delete
the existing one in arm64/linux.h.
@ -16,7 +16,7 @@ Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
index 3e2f9b742..a652ee908 100644
index 3e2f9b74296..a652ee9088e 100644
--- a/grub-core/loader/arm64/linux.c
+++ b/grub-core/loader/arm64/linux.c
@@ -52,7 +52,7 @@ grub_arm64_uefi_check_image (struct grub_arm64_linux_kernel_header * lh)
@ -29,7 +29,7 @@ index 3e2f9b742..a652ee908 100644
N_("plain image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled"));
diff --git a/include/grub/arm64/linux.h b/include/grub/arm64/linux.h
index 1ea23696e..a981df5d1 100644
index 1ea23696e7a..a981df5d15f 100644
--- a/include/grub/arm64/linux.h
+++ b/include/grub/arm64/linux.h
@@ -23,8 +23,6 @@
@ -42,7 +42,7 @@ index 1ea23696e..a981df5d1 100644
struct grub_arm64_linux_kernel_header
{
diff --git a/include/grub/efi/pe32.h b/include/grub/efi/pe32.h
index f79c36c02..7d44732d2 100644
index f79c36c026e..7d44732d2c3 100644
--- a/include/grub/efi/pe32.h
+++ b/include/grub/efi/pe32.h
@@ -45,6 +45,8 @@
@ -55,5 +55,5 @@ index f79c36c02..7d44732d2 100644
But some examples (such as EFI drivers in the Intel
Sample Implementation) use 32 bytes (0x20) instead, and it seems
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 91212e0aa07e704a61e4540c18a27f149f5e51c3 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Thu, 3 Aug 2017 11:04:26 +0100
Subject: [PATCH 060/198] arm64 linux loader: improve type portability
Subject: [PATCH 060/206] arm64 linux loader: improve type portability
In preparation for turning this into a common loader for 32-bit and 64-bit
platforms, ensure the code will compile cleanly for either.
@ -13,7 +13,7 @@ Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
index a652ee908..746edd104 100644
index a652ee9088e..746edd10415 100644
--- a/grub-core/loader/arm64/linux.c
+++ b/grub-core/loader/arm64/linux.c
@@ -57,8 +57,6 @@ grub_arm64_uefi_check_image (struct grub_arm64_linux_kernel_header * lh)
@ -74,7 +74,7 @@ index a652ee908..746edd104 100644
return grub_errno;
diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
index 091e9ddf4..17212c38d 100644
index 091e9ddf43d..17212c38d0b 100644
--- a/grub-core/loader/efi/fdt.c
+++ b/grub-core/loader/efi/fdt.c
@@ -32,12 +32,12 @@ void *
@ -111,5 +111,5 @@ index 091e9ddf4..17212c38d 100644
fdt = NULL;
}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From f826330683675f0deb55b58fd229afd7d65fb053 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Thu, 3 Aug 2017 11:04:32 +0100
Subject: [PATCH 061/198] efi: change heap allocation type to
Subject: [PATCH 061/206] efi: change heap allocation type to
GRUB_EFI_LOADER_CODE
With upcoming changes to EDK2, allocations of type EFI_LOADER_DATA may
@ -17,7 +17,7 @@ Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index b97b05fe8..ac2a4c556 100644
index b97b05fe825..ac2a4c556b8 100644
--- a/grub-core/kern/efi/mm.c
+++ b/grub-core/kern/efi/mm.c
@@ -403,7 +403,9 @@ add_memory_regions (grub_efi_memory_descriptor_t *memory_map,
@ -32,5 +32,5 @@ index b97b05fe8..ac2a4c556 100644
grub_fatal ("cannot allocate conventional memory %p with %u pages",
(void *) ((grub_addr_t) start),
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From bdd89d239cd9b4089630bfb5ec862aab8086dca2 Mon Sep 17 00:00:00 2001
From: Pete Batard <pete@akeo.ie>
Date: Mon, 7 Aug 2017 16:20:30 +0100
Subject: [PATCH 062/198] core: use GRUB_TERM_ definitions when handling term
Subject: [PATCH 062/206] core: use GRUB_TERM_ definitions when handling term
characters
* Also use hex value for GRUB_TERM_ESC as '\e' is not in the C standard and is not understood by some compilers
@ -22,7 +22,7 @@ Subject: [PATCH 062/198] core: use GRUB_TERM_ definitions when handling term
13 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c
index f4b773020..f35d3a369 100644
index f4b7730208a..f35d3a369ba 100644
--- a/grub-core/commands/keylayouts.c
+++ b/grub-core/commands/keylayouts.c
@@ -40,7 +40,7 @@ static struct grub_keyboard_layout layout_us = {
@ -46,7 +46,7 @@ index f4b773020..f35d3a369 100644
/* According to usage table 0x31 should be mapped to '/'
but testing with real keyboard shows that 0x32 is remapped to '/'.
diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c
index 58d4dadf6..2c5363da7 100644
index 58d4dadf6ee..2c5363da7f5 100644
--- a/grub-core/commands/menuentry.c
+++ b/grub-core/commands/menuentry.c
@@ -52,8 +52,8 @@ static struct
@ -61,7 +61,7 @@ index 58d4dadf6..2c5363da7 100644
{"insert", GRUB_TERM_KEY_INSERT},
{"f1", GRUB_TERM_KEY_F1},
diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
index 683a8aaa7..ca334d5a4 100644
index 683a8aaa711..ca334d5a40e 100644
--- a/grub-core/lib/crypto.c
+++ b/grub-core/lib/crypto.c
@@ -462,7 +462,7 @@ grub_password_get (char buf[], unsigned buf_size)
@ -83,7 +83,7 @@ index 683a8aaa7..ca334d5a4 100644
#endif
diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
index 7338f8245..6be678c0d 100644
index 7338f8245e3..6be678c0de1 100644
--- a/grub-core/normal/auth.c
+++ b/grub-core/normal/auth.c
@@ -166,13 +166,13 @@ grub_username_get (char buf[], unsigned buf_size)
@ -112,7 +112,7 @@ index 7338f8245..6be678c0d 100644
grub_err_t
diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c
index a36180d75..c037d5050 100644
index a36180d7530..c037d5050ed 100644
--- a/grub-core/normal/cmdline.c
+++ b/grub-core/normal/cmdline.c
@@ -626,12 +626,12 @@ grub_cmdline_get (const char *prompt_translated)
@ -131,7 +131,7 @@ index a36180d75..c037d5050 100644
{
lpos--;
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
index 719e2fb1c..e7a83c2d6 100644
index 719e2fb1c26..e7a83c2d6e2 100644
--- a/grub-core/normal/menu.c
+++ b/grub-core/normal/menu.c
@@ -763,7 +763,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
@ -144,7 +144,7 @@ index 719e2fb1c..e7a83c2d6 100644
{
menu_fini ();
diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
index eeeee5580..cdf3590a3 100644
index eeeee5580ab..cdf3590a364 100644
--- a/grub-core/normal/menu_entry.c
+++ b/grub-core/normal/menu_entry.c
@@ -1403,7 +1403,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
@ -157,7 +157,7 @@ index eeeee5580..cdf3590a3 100644
return;
diff --git a/grub-core/term/efi/console.c b/grub-core/term/efi/console.c
index 7d31095b1..02f64ea74 100644
index 7d31095b1ef..02f64ea7441 100644
--- a/grub-core/term/efi/console.c
+++ b/grub-core/term/efi/console.c
@@ -104,7 +104,7 @@ const unsigned efi_codes[] =
@ -170,7 +170,7 @@ index 7d31095b1..02f64ea74 100644
static int
diff --git a/grub-core/term/i386/pc/console.c b/grub-core/term/i386/pc/console.c
index 28de46b57..f6142a2de 100644
index 28de46b576a..f6142a2dea8 100644
--- a/grub-core/term/i386/pc/console.c
+++ b/grub-core/term/i386/pc/console.c
@@ -204,7 +204,7 @@ static int
@ -183,7 +183,7 @@ index 28de46b57..f6142a2de 100644
struct grub_bios_int_registers regs;
unsigned i;
diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c
index f0d3e3deb..d317efa36 100644
index f0d3e3debc6..d317efa368d 100644
--- a/grub-core/term/terminfo.c
+++ b/grub-core/term/terminfo.c
@@ -426,12 +426,12 @@ grub_terminfo_readkey (struct grub_term_input *term, int *keys, int *len,
@ -221,7 +221,7 @@ index f0d3e3deb..d317efa36 100644
&& grub_get_time_ms () - data->last_key_time < 1000
&& (data->last_key & GRUB_TERM_EXTENDED))
diff --git a/grub-core/tests/cmdline_cat_test.c b/grub-core/tests/cmdline_cat_test.c
index f1e21439e..baea7688a 100644
index f1e21439e2b..baea7688a1d 100644
--- a/grub-core/tests/cmdline_cat_test.c
+++ b/grub-core/tests/cmdline_cat_test.c
@@ -103,7 +103,7 @@ cmdline_cat_test (void)
@ -234,7 +234,7 @@ index f1e21439e..baea7688a 100644
grub_video_checksum ("cmdline_cat");
diff --git a/grub-core/tests/gfxterm_menu.c b/grub-core/tests/gfxterm_menu.c
index 8f63dc27a..12836fb96 100644
index 8f63dc27a35..12836fb9659 100644
--- a/grub-core/tests/gfxterm_menu.c
+++ b/grub-core/tests/gfxterm_menu.c
@@ -146,7 +146,7 @@ gfxterm_menu (void)
@ -247,7 +247,7 @@ index 8f63dc27a..12836fb96 100644
grub_video_checksum (tests[j].name);
diff --git a/include/grub/term.h b/include/grub/term.h
index 5ffb38f69..8117e2a24 100644
index 5ffb38f69aa..8117e2a24da 100644
--- a/include/grub/term.h
+++ b/include/grub/term.h
@@ -55,7 +55,8 @@
@ -261,5 +261,5 @@ index 5ffb38f69..8117e2a24 100644
#define GRUB_TERM_BACKSPACE '\b'
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 1deebd85ef87cc581e995ce0a51dc0802ac9c367 Mon Sep 17 00:00:00 2001
From: Pete Batard <pete@akeo.ie>
Date: Mon, 7 Aug 2017 16:23:12 +0100
Subject: [PATCH 063/198] io: add a GRUB_GZ prefix to gzio specific defines
Subject: [PATCH 063/206] io: add a GRUB_GZ prefix to gzio specific defines
* This is done to avoid a conflict with a PACKED define in the EDK2
---
@ -9,7 +9,7 @@ Subject: [PATCH 063/198] io: add a GRUB_GZ prefix to gzio specific defines
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
index 0f2ea6bd8..a8e33033b 100644
index 0f2ea6bd845..a8e33033bf8 100644
--- a/grub-core/io/gzio.c
+++ b/grub-core/io/gzio.c
@@ -140,24 +140,24 @@ eat_field (grub_file_t file, int len)
@ -81,5 +81,5 @@ index 0f2ea6bd8..a8e33033b 100644
/* TRANSLATORS: It's about given file having some strange format, not
complete lack of gzip support. */
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 5cf0df8753c19e83251c7244cafe38869a65060f Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 8 Aug 2017 13:08:59 -0400
Subject: [PATCH 064/198] info-in-builddir
Subject: [PATCH 064/206] info-in-builddir
---
docs/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 93eb39627..e396ba10f 100644
index 93eb3962765..e396ba10f46 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1,4 +1,4 @@
@ -18,5 +18,5 @@ index 93eb39627..e396ba10f 100644
# AM_MAKEINFOFLAGS = --no-split --no-validate
info_TEXINFOS = grub.texi grub-dev.texi
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From ff9da35fd789354cc1490b75893e765771808352 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 8 Aug 2017 12:48:04 -0400
Subject: [PATCH 065/198] re-write .gitignore
Subject: [PATCH 065/206] re-write .gitignore
---
.gitignore | 352 ++++++++++++--------------------------
@ -24,7 +24,7 @@ Subject: [PATCH 065/198] re-write .gitignore
create mode 100644 util/bash-completion.d/.gitignore
diff --git a/.gitignore b/.gitignore
index eca17bec9..d95fac578 100644
index eca17bec9b8..d95fac5789c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,249 +1,121 @@
@ -391,7 +391,7 @@ index eca17bec9..d95fac578 100644
+/stamp-h.in
diff --git a/build-aux/.gitignore b/build-aux/.gitignore
new file mode 100644
index 000000000..f2f17aab9
index 00000000000..f2f17aab9ff
--- /dev/null
+++ b/build-aux/.gitignore
@@ -0,0 +1,9 @@
@ -406,7 +406,7 @@ index 000000000..f2f17aab9
+/texinfo.tex
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 000000000..91aee84d3
index 00000000000..91aee84d3e9
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,4 @@
@ -416,7 +416,7 @@ index 000000000..91aee84d3
+/version*.texi
diff --git a/grub-core/.gitignore b/grub-core/.gitignore
new file mode 100644
index 000000000..c738ac6c6
index 00000000000..c738ac6c649
--- /dev/null
+++ b/grub-core/.gitignore
@@ -0,0 +1,15 @@
@ -437,7 +437,7 @@ index 000000000..c738ac6c6
+/trigtables.c
diff --git a/grub-core/gnulib/.gitignore b/grub-core/gnulib/.gitignore
new file mode 100644
index 000000000..29e199c2d
index 00000000000..29e199c2db4
--- /dev/null
+++ b/grub-core/gnulib/.gitignore
@@ -0,0 +1,22 @@
@ -465,14 +465,14 @@ index 000000000..29e199c2d
+/wctype.h
diff --git a/grub-core/lib/.gitignore b/grub-core/lib/.gitignore
new file mode 100644
index 000000000..681545914
index 00000000000..68154591404
--- /dev/null
+++ b/grub-core/lib/.gitignore
@@ -0,0 +1 @@
+/libgcrypt-grub/
diff --git a/include/grub/gcrypt/.gitignore b/include/grub/gcrypt/.gitignore
new file mode 100644
index 000000000..8fbf56462
index 00000000000..8fbf5646246
--- /dev/null
+++ b/include/grub/gcrypt/.gitignore
@@ -0,0 +1,2 @@
@ -480,7 +480,7 @@ index 000000000..8fbf56462
+gcrypt.h
diff --git a/po/.gitignore b/po/.gitignore
new file mode 100644
index 000000000..97b679c31
index 00000000000..97b679c3138
--- /dev/null
+++ b/po/.gitignore
@@ -0,0 +1,4 @@
@ -490,11 +490,11 @@ index 000000000..97b679c31
+/stamp-po
diff --git a/util/bash-completion.d/.gitignore b/util/bash-completion.d/.gitignore
new file mode 100644
index 000000000..b7e1eb124
index 00000000000..b7e1eb12428
--- /dev/null
+++ b/util/bash-completion.d/.gitignore
@@ -0,0 +1 @@
+grub
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 34423216f8f3d7ce6086e2f1ee9869407e6a2221 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Thu, 20 Sep 2012 18:07:39 -0300
Subject: [PATCH 066/198] IBM client architecture (CAS) reboot support
Subject: [PATCH 066/206] IBM client architecture (CAS) reboot support
This is an implementation of IBM client architecture (CAS) reboot for GRUB.
@ -25,7 +25,7 @@ parameters
4 files changed, 90 insertions(+)
diff --git a/grub-core/kern/ieee1275/openfw.c b/grub-core/kern/ieee1275/openfw.c
index ddb778340..6db8b9865 100644
index ddb778340e4..6db8b986551 100644
--- a/grub-core/kern/ieee1275/openfw.c
+++ b/grub-core/kern/ieee1275/openfw.c
@@ -561,3 +561,65 @@ grub_ieee1275_canonicalise_devname (const char *path)
@ -95,7 +95,7 @@ index ddb778340..6db8b9865 100644
+ return 0;
+}
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 78a70a8bf..249e19bc7 100644
index 78a70a8bf47..249e19bc788 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -33,6 +33,9 @@
@ -132,7 +132,7 @@ index 78a70a8bf..249e19bc7 100644
grub_errno = GRUB_ERR_NONE;
}
diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
index a8502d907..ab78ca87f 100644
index a8502d90711..ab78ca87f90 100644
--- a/grub-core/script/execute.c
+++ b/grub-core/script/execute.c
@@ -27,6 +27,9 @@
@ -157,7 +157,7 @@ index a8502d907..ab78ca87f 100644
{
char *line;
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
index 8e4251303..9f26c69a2 100644
index 8e425130327..9f26c69a2df 100644
--- a/include/grub/ieee1275/ieee1275.h
+++ b/include/grub/ieee1275/ieee1275.h
@@ -234,6 +234,8 @@ int EXPORT_FUNC(grub_ieee1275_devalias_next) (struct grub_ieee1275_devalias *ali
@ -170,5 +170,5 @@ index 8e4251303..9f26c69a2 100644
#define FOR_IEEE1275_DEVALIASES(alias) for (grub_ieee1275_devalias_init_iterator (&(alias)); grub_ieee1275_devalias_next (&(alias));)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 070dc282d3cc6602571296e90945df9d4671aecb Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Wed, 24 Apr 2013 10:51:48 -0300
Subject: [PATCH 067/198] for ppc, reset console display attr when clear screen
Subject: [PATCH 067/206] for ppc, reset console display attr when clear screen
v2: Also use \x0c instead of a literal ^L to make future patches less
awkward.
@ -15,7 +15,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c
index d317efa36..29df35e6d 100644
index d317efa368d..29df35e6d20 100644
--- a/grub-core/term/terminfo.c
+++ b/grub-core/term/terminfo.c
@@ -151,7 +151,7 @@ grub_terminfo_set_current (struct grub_term_output *term,
@ -28,5 +28,5 @@ index d317efa36..29df35e6d 100644
data->reverse_video_off = grub_strdup ("\e[m");
if (grub_strcmp ("ieee1275", str) == 0)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 4e31478fdf4cda470305c1bb2acb9b820e790757 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Tue, 11 Jun 2013 15:14:05 -0300
Subject: [PATCH 068/198] Disable GRUB video support for IBM power machines
Subject: [PATCH 068/206] Disable GRUB video support for IBM power machines
Should fix the problem in bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=973205
@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=973205
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/grub-core/kern/ieee1275/cmain.c b/grub-core/kern/ieee1275/cmain.c
index 3e12e6b24..3e14f5393 100644
index 3e12e6b24e1..3e14f539368 100644
--- a/grub-core/kern/ieee1275/cmain.c
+++ b/grub-core/kern/ieee1275/cmain.c
@@ -90,7 +90,10 @@ grub_ieee1275_find_options (void)
@ -28,7 +28,7 @@ index 3e12e6b24..3e14f5393 100644
/* Old Macs have no key repeat, newer ones have fully working one.
The ones inbetween when repeated key generates an escaoe sequence
diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
index 17a3dbbb5..b8e4b3feb 100644
index 17a3dbbb575..b8e4b3feb32 100644
--- a/grub-core/video/ieee1275.c
+++ b/grub-core/video/ieee1275.c
@@ -352,9 +352,12 @@ static struct grub_video_adapter grub_video_ieee1275_adapter =
@ -48,7 +48,7 @@ index 17a3dbbb5..b8e4b3feb 100644
GRUB_MOD_FINI(ieee1275_fb)
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
index 9f26c69a2..ab4f284c3 100644
index 9f26c69a2df..ab4f284c341 100644
--- a/include/grub/ieee1275/ieee1275.h
+++ b/include/grub/ieee1275/ieee1275.h
@@ -146,6 +146,8 @@ enum grub_ieee1275_flag
@ -61,5 +61,5 @@ index 9f26c69a2..ab4f284c3 100644
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 35535549324923af7fecf79cc739baba48246f21 Mon Sep 17 00:00:00 2001
From: Marcel Kolaja <mkolaja@redhat.com>
Date: Tue, 21 Jan 2014 10:57:08 -0500
Subject: [PATCH 069/198] Honor a symlink when generating configuration by
Subject: [PATCH 069/206] Honor a symlink when generating configuration by
grub2-mkconfig
Honor a symlink when generating configuration by grub2-mkconfig, so that
@ -11,7 +11,7 @@ the -o option follows it rather than overwriting it with a regular file.
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index f8496d28b..3b070fd76 100644
index f8496d28bdf..3b070fd7632 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -276,7 +276,8 @@ and /etc/grub.d/* files or please file a bug report with
@ -25,5 +25,5 @@ index f8496d28b..3b070fd76 100644
fi
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 999bbc2002275efce284aed6e1e31b3ca351fa19 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 3 Apr 2013 14:35:34 -0400
Subject: [PATCH 070/198] Move bash completion script (#922997)
Subject: [PATCH 070/206] Move bash completion script (#922997)
Apparently these go in a new place now.
---
@ -10,7 +10,7 @@ Apparently these go in a new place now.
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 571f7a0b5..9ae97f026 100644
index 571f7a0b5aa..9ae97f026ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -288,6 +288,14 @@ AC_SUBST(grubdirname)
@ -39,7 +39,7 @@ index 571f7a0b5..9ae97f026 100644
if test "x$target_alias" != x && test "x$host_alias" != "x$target_alias"; then
tmp_ac_tool_prefix="$ac_tool_prefix"
diff --git a/util/bash-completion.d/Makefile.am b/util/bash-completion.d/Makefile.am
index 136287cf1..61108f054 100644
index 136287cf1bf..61108f05429 100644
--- a/util/bash-completion.d/Makefile.am
+++ b/util/bash-completion.d/Makefile.am
@@ -6,7 +6,6 @@ EXTRA_DIST = $(bash_completion_source)
@ -51,5 +51,5 @@ index 136287cf1..61108f054 100644
$(bash_completion_script): $(bash_completion_source) $(top_builddir)/config.status
--
2.14.3
2.15.0

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
From 15e9ccc8abd5621107788bea6ae6f2bdb27a3ed3 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 5 Sep 2014 10:07:04 -0400
Subject: [PATCH 072/198] Allow "fallback" to include entries by title, not
Subject: [PATCH 072/206] Allow "fallback" to include entries by title, not
just number.
Resolves: rhbz#1026084
@ -12,7 +12,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 58 insertions(+), 27 deletions(-)
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
index e7a83c2d6..d2f64b05e 100644
index e7a83c2d6e2..d2f64b05e0a 100644
--- a/grub-core/normal/menu.c
+++ b/grub-core/normal/menu.c
@@ -163,16 +163,41 @@ grub_menu_set_timeout (int timeout)
@ -140,5 +140,5 @@ index e7a83c2d6..d2f64b05e 100644
static int
get_entry_number (grub_menu_t menu, const char *name)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 87602724b509a60628623baabf5a2c7741a68884 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 4 Sep 2014 16:49:25 -0400
Subject: [PATCH 073/198] Add GRUB_DISABLE_UUID.
Subject: [PATCH 073/206] Add GRUB_DISABLE_UUID.
This will cause "search --fs-uuid --set=root ..." not to be generated by
grub2-mkconfig, and instead simply attempt to use the grub device name
@ -15,7 +15,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index a0c4b9e4e..6fdd2a041 100644
index a0c4b9e4e8e..6fdd2a041f7 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1409,6 +1409,13 @@ disable the use of UUIDs, set this option to @samp{true}.
@ -33,7 +33,7 @@ index a0c4b9e4e..6fdd2a041 100644
If graphical video support is required, either because the @samp{gfxterm}
graphical terminal is in use or because @samp{GRUB_GFXPAYLOAD_LINUX} is set,
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index 3b070fd76..c088b7054 100644
index 3b070fd7632..c088b705442 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -133,11 +133,11 @@ fi
@ -73,7 +73,7 @@ index 3b070fd76..c088b7054 100644
GRUB_GFXMODE \
GRUB_BACKGROUND \
diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in
index 60b31cadd..cf35e4174 100644
index 60b31caddeb..cf35e417470 100644
--- a/util/grub-mkconfig_lib.in
+++ b/util/grub-mkconfig_lib.in
@@ -156,7 +156,7 @@ prepare_grub_to_access_device ()
@ -95,5 +95,5 @@ index 60b31cadd..cf35e4174 100644
else
echo $device |sed 's, ,_,g'
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 68d514b51b81911d8359d7825618112dae4a44d9 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 26 Feb 2014 21:49:12 -0500
Subject: [PATCH 074/198] Make "exit" take a return code.
Subject: [PATCH 074/206] Make "exit" take a return code.
This adds "exit" with a return code. With this patch, any "exit"
command /may/ include a return code, and on platforms that support
@ -27,7 +27,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
14 files changed, 39 insertions(+), 21 deletions(-)
diff --git a/grub-core/commands/minicmd.c b/grub-core/commands/minicmd.c
index a3a118241..b25ca4b9f 100644
index a3a11824172..b25ca4b9f17 100644
--- a/grub-core/commands/minicmd.c
+++ b/grub-core/commands/minicmd.c
@@ -176,12 +176,24 @@ grub_mini_cmd_lsmod (struct grub_command *cmd __attribute__ ((unused)),
@ -60,7 +60,7 @@ index a3a118241..b25ca4b9f 100644
}
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index d467785fc..684ca93f8 100644
index d467785fc6c..684ca93f8f4 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -155,11 +155,16 @@ grub_efi_get_loaded_image (grub_efi_handle_t image_handle)
@ -83,7 +83,7 @@ index d467785fc..684ca93f8 100644
}
diff --git a/grub-core/kern/emu/main.c b/grub-core/kern/emu/main.c
index 425bb9603..55ea5a11c 100644
index 425bb960347..55ea5a11ccd 100644
--- a/grub-core/kern/emu/main.c
+++ b/grub-core/kern/emu/main.c
@@ -67,7 +67,7 @@ grub_reboot (void)
@ -96,7 +96,7 @@ index 425bb9603..55ea5a11c 100644
grub_reboot ();
}
diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c
index 76661337f..82012a72f 100644
index 76661337f10..82012a72fcb 100644
--- a/grub-core/kern/emu/misc.c
+++ b/grub-core/kern/emu/misc.c
@@ -137,9 +137,10 @@ xasprintf (const char *fmt, ...)
@ -113,7 +113,7 @@ index 76661337f..82012a72f 100644
#endif
diff --git a/grub-core/kern/i386/coreboot/init.c b/grub-core/kern/i386/coreboot/init.c
index 3314f027f..36f9134b7 100644
index 3314f027fec..36f9134b7b7 100644
--- a/grub-core/kern/i386/coreboot/init.c
+++ b/grub-core/kern/i386/coreboot/init.c
@@ -41,7 +41,7 @@ extern grub_uint8_t _end[];
@ -126,7 +126,7 @@ index 3314f027f..36f9134b7 100644
/* We can't use grub_fatal() in this function. This would create an infinite
loop, since grub_fatal() calls grub_abort() which in turn calls grub_exit(). */
diff --git a/grub-core/kern/i386/qemu/init.c b/grub-core/kern/i386/qemu/init.c
index 271b6fbfa..9fafe98f0 100644
index 271b6fbfabd..9fafe98f015 100644
--- a/grub-core/kern/i386/qemu/init.c
+++ b/grub-core/kern/i386/qemu/init.c
@@ -42,7 +42,7 @@ extern grub_uint8_t _end[];
@ -139,7 +139,7 @@ index 271b6fbfa..9fafe98f0 100644
/* We can't use grub_fatal() in this function. This would create an infinite
loop, since grub_fatal() calls grub_abort() which in turn calls grub_exit(). */
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index 12590225e..e69c0133e 100644
index 12590225eca..e69c0133e69 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -68,7 +68,7 @@ grub_addr_t grub_ieee1275_original_stack;
@ -152,7 +152,7 @@ index 12590225e..e69c0133e 100644
grub_ieee1275_exit ();
}
diff --git a/grub-core/kern/mips/arc/init.c b/grub-core/kern/mips/arc/init.c
index 3834a1490..86b3a25ec 100644
index 3834a149093..86b3a25ec40 100644
--- a/grub-core/kern/mips/arc/init.c
+++ b/grub-core/kern/mips/arc/init.c
@@ -276,7 +276,7 @@ grub_halt (void)
@ -165,7 +165,7 @@ index 3834a1490..86b3a25ec 100644
GRUB_ARC_FIRMWARE_VECTOR->exit ();
diff --git a/grub-core/kern/mips/loongson/init.c b/grub-core/kern/mips/loongson/init.c
index 7b96531b9..dff598ca7 100644
index 7b96531b983..dff598ca7b0 100644
--- a/grub-core/kern/mips/loongson/init.c
+++ b/grub-core/kern/mips/loongson/init.c
@@ -304,7 +304,7 @@ grub_halt (void)
@ -178,7 +178,7 @@ index 7b96531b9..dff598ca7 100644
grub_halt ();
}
diff --git a/grub-core/kern/mips/qemu_mips/init.c b/grub-core/kern/mips/qemu_mips/init.c
index be88b77d2..8b6c55ffc 100644
index be88b77d22d..8b6c55ffc01 100644
--- a/grub-core/kern/mips/qemu_mips/init.c
+++ b/grub-core/kern/mips/qemu_mips/init.c
@@ -75,7 +75,7 @@ grub_machine_fini (int flags __attribute__ ((unused)))
@ -191,7 +191,7 @@ index be88b77d2..8b6c55ffc 100644
grub_halt ();
}
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
index 3b633d51f..952411d5d 100644
index 3b633d51f4c..952411d5dc6 100644
--- a/grub-core/kern/misc.c
+++ b/grub-core/kern/misc.c
@@ -1095,7 +1095,7 @@ grub_abort (void)
@ -204,7 +204,7 @@ index 3b633d51f..952411d5d 100644
void
diff --git a/grub-core/kern/uboot/init.c b/grub-core/kern/uboot/init.c
index 3e338645c..be2a5be1d 100644
index 3e338645c57..be2a5be1d07 100644
--- a/grub-core/kern/uboot/init.c
+++ b/grub-core/kern/uboot/init.c
@@ -39,9 +39,9 @@ extern grub_size_t grub_total_module_size;
@ -229,7 +229,7 @@ index 3e338645c..be2a5be1d 100644
else if (ver > API_SIG_VERSION)
{
diff --git a/grub-core/kern/xen/init.c b/grub-core/kern/xen/init.c
index 0559c033c..fce526d41 100644
index 0559c033c3d..fce526d417b 100644
--- a/grub-core/kern/xen/init.c
+++ b/grub-core/kern/xen/init.c
@@ -549,7 +549,7 @@ grub_machine_init (void)
@ -242,7 +242,7 @@ index 0559c033c..fce526d41 100644
struct sched_shutdown arg;
diff --git a/include/grub/misc.h b/include/grub/misc.h
index 2a9f87cc2..062081437 100644
index 2a9f87cc255..06208143779 100644
--- a/include/grub/misc.h
+++ b/include/grub/misc.h
@@ -334,7 +334,7 @@ int EXPORT_FUNC(grub_vsnprintf) (char *str, grub_size_t n, const char *fmt,
@ -255,5 +255,5 @@ index 2a9f87cc2..062081437 100644
grub_uint64_t d,
grub_uint64_t *r);
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 126f6952b853ea67e784650ed12f365ab7988f51 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 22 Jul 2015 11:21:01 -0400
Subject: [PATCH 075/198] Mark po/exclude.pot as binary so git won't try to
Subject: [PATCH 075/206] Mark po/exclude.pot as binary so git won't try to
diff nonprintables.
Signed-off-by: Peter Jones <pjones@redhat.com>
@ -12,11 +12,11 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..33ffaa404
index 00000000000..33ffaa40460
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+po/exclude.pot binary
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 506b52759b2b2ad46e7b389979fcbaa78d68dab9 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 7 Dec 2015 14:20:49 -0500
Subject: [PATCH 076/198] Make efi machines load an env block from a variable
Subject: [PATCH 076/206] Make efi machines load an env block from a variable
Signed-off-by: Peter Jones <pjones@redhat.com>
---
@ -10,7 +10,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index a65c27f7f..1eb86bed3 100644
index a65c27f7ff2..1eb86bed33b 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -191,6 +191,7 @@ kernel = {
@ -22,7 +22,7 @@ index a65c27f7f..1eb86bed3 100644
i386_multiboot = kern/i386/pc/acpi.c;
i386_coreboot = kern/acpi.c;
diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
index 2c31847bf..f7782b6e1 100644
index 2c31847bf6d..f7782b6e114 100644
--- a/grub-core/kern/efi/init.c
+++ b/grub-core/kern/efi/init.c
@@ -25,9 +25,40 @@
@ -80,5 +80,5 @@ index 2c31847bf..f7782b6e1 100644
char **path);
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 8a0b654a520e407da69e0cf64f3dd6bb7cf86240 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Tue, 27 Nov 2012 17:18:53 -0200
Subject: [PATCH 077/198] DHCP client ID and UUID options added.
Subject: [PATCH 077/206] DHCP client ID and UUID options added.
---
grub-core/net/bootp.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++-----
@ -9,7 +9,7 @@ Subject: [PATCH 077/198] DHCP client ID and UUID options added.
2 files changed, 81 insertions(+), 8 deletions(-)
diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
index 9e2fdb795..f03eeab2f 100644
index 9e2fdb795f5..f03eeab2fb4 100644
--- a/grub-core/net/bootp.c
+++ b/grub-core/net/bootp.c
@@ -25,6 +25,49 @@
@ -128,7 +128,7 @@ index 9e2fdb795..f03eeab2f 100644
grub_cmd_dhcpopt (struct grub_command *cmd __attribute__ ((unused)),
int argc, char **args)
diff --git a/include/grub/net.h b/include/grub/net.h
index 1096b2432..e266bae23 100644
index 1096b24322e..e266bae23f4 100644
--- a/include/grub/net.h
+++ b/include/grub/net.h
@@ -457,6 +457,8 @@ enum
@ -141,5 +141,5 @@ index 1096b2432..e266bae23 100644
};
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From c0fa21c8898437747ce093884e6aba48d45ac329 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Wed, 5 Feb 2014 09:42:42 -0200
Subject: [PATCH 078/198] trim arp packets with abnormal size
Subject: [PATCH 078/206] trim arp packets with abnormal size
GRUB uses arp request to create the arp response. If the incoming packet
is foobared, GRUB needs to trim the arp response packet before sending it.
@ -10,7 +10,7 @@ is foobared, GRUB needs to trim the arp response packet before sending it.
1 file changed, 6 insertions(+)
diff --git a/grub-core/net/arp.c b/grub-core/net/arp.c
index 54306e3b1..2083b5a4b 100644
index 54306e3b16d..2083b5a4b91 100644
--- a/grub-core/net/arp.c
+++ b/grub-core/net/arp.c
@@ -150,6 +150,12 @@ grub_net_arp_receive (struct grub_net_buff *nb, struct grub_net_card *card,
@ -27,5 +27,5 @@ index 54306e3b1..2083b5a4b 100644
struct grub_net_buff nb_reply;
struct arppkt *arp_reply;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 60262dc77512d017974f38768d7492b4588d54f0 Mon Sep 17 00:00:00 2001
From: Prarit Bhargava <prarit@redhat.com>
Date: Wed, 12 Mar 2014 10:58:16 -0400
Subject: [PATCH 079/198] Fix bad test on GRUB_DISABLE_SUBMENU.
Subject: [PATCH 079/206] Fix bad test on GRUB_DISABLE_SUBMENU.
The file /etc/grub.d/10_linux does
@ -20,7 +20,7 @@ Resolves: rhbz#1063414
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index de9044c7f..cf6331f2a 100644
index de9044c7f28..cf6331f2a51 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -224,7 +224,11 @@ while [ "x$list" != "x" ] ; do
@ -37,5 +37,5 @@ index de9044c7f..cf6331f2a 100644
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 699b7db9cabfe5e2dd48e61fcb079a91df3af4a7 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Wed, 12 Jun 2013 11:51:49 -0400
Subject: [PATCH 080/198] Add support for UEFI operating systems returned by
Subject: [PATCH 080/206] Add support for UEFI operating systems returned by
os-prober
os-prober returns UEFI operating systems in the form:
@ -15,7 +15,7 @@ contrast to legacy OSes, where path is the device string. Handle this case.
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
index 515a68c7a..9b8f5968e 100644
index 515a68c7aa0..9b8f5968e2d 100644
--- a/util/grub.d/30_os-prober.in
+++ b/util/grub.d/30_os-prober.in
@@ -328,8 +328,23 @@ EOF
@ -46,5 +46,5 @@ index 515a68c7a..9b8f5968e 100644
esac
done
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 91b2efdd5e9c3b0784d0a70282407324f07a30b8 Mon Sep 17 00:00:00 2001
From: Mark Hamzy <hamzy@us.ibm.com>
Date: Wed, 28 Mar 2012 14:46:41 -0500
Subject: [PATCH 081/198] Migrate PPC from Yaboot to Grub2
Subject: [PATCH 081/206] Migrate PPC from Yaboot to Grub2
Add configuration support for serial terminal consoles. This will set the
maximum screen size so that text is not overwritten.
@ -12,7 +12,7 @@ maximum screen size so that text is not overwritten.
create mode 100644 util/grub.d/20_ppc_terminfo.in
diff --git a/Makefile.util.def b/Makefile.util.def
index f9caccb97..6d452da02 100644
index f9caccb9780..6d452da029f 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -486,6 +486,13 @@ script = {
@ -31,7 +31,7 @@ index f9caccb97..6d452da02 100644
common = util/grub.d/30_os-prober.in;
diff --git a/util/grub.d/20_ppc_terminfo.in b/util/grub.d/20_ppc_terminfo.in
new file mode 100644
index 000000000..10d665868
index 00000000000..10d66586820
--- /dev/null
+++ b/util/grub.d/20_ppc_terminfo.in
@@ -0,0 +1,114 @@
@ -150,5 +150,5 @@ index 000000000..10d665868
+ terminfo -g ${X}x${Y} ${TERMINAL}
+EOF
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From bcb1f1a6a5530ecbc4b674e61acbb406592714c6 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Wed, 19 Sep 2012 21:22:55 -0300
Subject: [PATCH 082/198] Add fw_path variable (revised)
Subject: [PATCH 082/206] Add fw_path variable (revised)
This patch makes grub look for its config file on efi where the app was
found. It was originally written by Matthew Garrett, and adapted to fix the
@ -14,7 +14,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=857936
2 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c
index 9cad0c448..8ab7794c4 100644
index 9cad0c4485c..8ab7794c47b 100644
--- a/grub-core/kern/main.c
+++ b/grub-core/kern/main.c
@@ -127,16 +127,15 @@ grub_set_prefix_and_root (void)
@ -41,7 +41,7 @@ index 9cad0c448..8ab7794c4 100644
}
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 249e19bc7..759c475c4 100644
index 249e19bc788..759c475c4d9 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -338,7 +338,30 @@ grub_cmd_normal (struct grub_command *cmd __attribute__ ((unused)),
@ -77,5 +77,5 @@ index 249e19bc7..759c475c4 100644
prefix = grub_env_get ("prefix");
if (prefix)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 28136df7d90f865a8030a0ff6513dacb3096dc10 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg@redhat.com>
Date: Tue, 10 Jul 2012 11:58:52 -0400
Subject: [PATCH 083/198] Add support for linuxefi
Subject: [PATCH 083/206] Add support for linuxefi
---
grub-core/Makefile.core.def | 8 +
@ -13,7 +13,7 @@ Subject: [PATCH 083/198] Add support for linuxefi
create mode 100644 grub-core/loader/i386/efi/linux.c
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 1eb86bed3..c653c71c5 100644
index 1eb86bed33b..c653c71c594 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -1764,6 +1764,14 @@ module = {
@ -32,7 +32,7 @@ index 1eb86bed3..c653c71c5 100644
name = chain;
efi = loader/efi/chainloader.c;
diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index ac2a4c556..f5440cb1d 100644
index ac2a4c556b8..f5440cb1df9 100644
--- a/grub-core/kern/efi/mm.c
+++ b/grub-core/kern/efi/mm.c
@@ -49,6 +49,38 @@ static grub_efi_uintn_t finish_desc_size;
@ -76,7 +76,7 @@ index ac2a4c556..f5440cb1d 100644
grub_efi_allocate_pages_real (grub_efi_physical_address_t address,
diff --git a/grub-core/loader/i386/efi/linux.c b/grub-core/loader/i386/efi/linux.c
new file mode 100644
index 000000000..b79e6320b
index 00000000000..b79e6320ba9
--- /dev/null
+++ b/grub-core/loader/i386/efi/linux.c
@@ -0,0 +1,371 @@
@ -452,7 +452,7 @@ index 000000000..b79e6320b
+ grub_unregister_command (cmd_initrd);
+}
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index 3fa082816..91e29ce66 100644
index 3fa082816ca..91e29ce66f1 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -47,6 +47,9 @@ EXPORT_FUNC(grub_efi_allocate_fixed) (grub_efi_physical_address_t address,
@ -466,7 +466,7 @@ index 3fa082816..91e29ce66 100644
grub_efi_uintn_t pages);
int
diff --git a/include/grub/i386/linux.h b/include/grub/i386/linux.h
index da0ca3b83..fc36bdaf3 100644
index da0ca3b83cd..fc36bdaf367 100644
--- a/include/grub/i386/linux.h
+++ b/include/grub/i386/linux.h
@@ -139,6 +139,7 @@ struct linux_kernel_header
@ -478,5 +478,5 @@ index da0ca3b83..fc36bdaf3 100644
/* Boot parameters for Linux based on 2.6.12. This is used by the setup
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From e915644108ed022ad0cc5d2d987f116d2605bcf2 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 16 Jul 2012 18:57:11 -0400
Subject: [PATCH 084/198] Use "linuxefi" and "initrdefi" where appropriate.
Subject: [PATCH 084/206] Use "linuxefi" and "initrdefi" where appropriate.
---
util/grub.d/10_linux.in | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index cf6331f2a..8ccf012f7 100644
index cf6331f2a51..8ccf012f747 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -129,17 +129,31 @@ linux_entry ()
@ -46,5 +46,5 @@ index cf6331f2a..8ccf012f7 100644
sed "s/^/$submenu_indentation/" << EOF
}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From b1eb9a8b9aa961bf6b6f40d6b4d22a5741f29ae4 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@ubuntu.com>
Date: Tue, 23 Oct 2012 10:40:49 -0400
Subject: [PATCH 085/198] Don't allow insmod when secure boot is enabled.
Subject: [PATCH 085/206] Don't allow insmod when secure boot is enabled.
Hi,
@ -23,7 +23,7 @@ moves the check into grub_dl_load_file.
3 files changed, 51 insertions(+)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
index e394cd96f..621070918 100644
index e394cd96f8c..621070918d4 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
@@ -32,12 +32,21 @@
@ -69,7 +69,7 @@ index e394cd96f..621070918 100644
file = grub_file_open (filename);
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index 684ca93f8..2588b481e 100644
index 684ca93f8f4..2588b481e76 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -269,6 +269,34 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
@ -108,7 +108,7 @@ index 684ca93f8..2588b481e 100644
/* Search the mods section from the PE32/PE32+ image. This code uses
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index 91e29ce66..bb3ab7dfd 100644
index 91e29ce66f1..bb3ab7dfdeb 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -83,6 +83,7 @@ EXPORT_FUNC (grub_efi_set_variable) (const char *var,
@ -120,5 +120,5 @@ index 91e29ce66..bb3ab7dfd 100644
EXPORT_FUNC (grub_efi_compare_device_paths) (const grub_efi_device_path_t *dp1,
const grub_efi_device_path_t *dp2);
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From cc8be4cafeb5a0af779afe5d2856da434c165612 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 1 Oct 2012 13:24:37 -0400
Subject: [PATCH 086/198] Pass "\x[[:hex:]][[:hex:]]" straight through
Subject: [PATCH 086/206] Pass "\x[[:hex:]][[:hex:]]" straight through
unmolested.
---
@ -11,7 +11,7 @@ Subject: [PATCH 086/198] Pass "\x[[:hex:]][[:hex:]]" straight through
3 files changed, 84 insertions(+), 9 deletions(-)
diff --git a/grub-core/commands/wildcard.c b/grub-core/commands/wildcard.c
index 9b4e72766..02c46f9fd 100644
index 9b4e72766ff..02c46f9fdfa 100644
--- a/grub-core/commands/wildcard.c
+++ b/grub-core/commands/wildcard.c
@@ -462,6 +462,12 @@ check_file (const char *dir, const char *basename)
@ -45,7 +45,7 @@ index 9b4e72766..02c46f9fd 100644
*optr++ = iptr[1];
iptr += 2;
diff --git a/grub-core/lib/cmdline.c b/grub-core/lib/cmdline.c
index d5e10ee87..0a5b2afb9 100644
index d5e10ee8798..0a5b2afb94b 100644
--- a/grub-core/lib/cmdline.c
+++ b/grub-core/lib/cmdline.c
@@ -20,6 +20,12 @@
@ -104,7 +104,7 @@ index d5e10ee87..0a5b2afb9 100644
*buf++ = *c;
diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
index ab78ca87f..cf6cd6601 100644
index ab78ca87f90..cf6cd6601d6 100644
--- a/grub-core/script/execute.c
+++ b/grub-core/script/execute.c
@@ -55,6 +55,12 @@ static struct grub_script_scope *scope = 0;
@ -179,5 +179,5 @@ index ab78ca87f..cf6cd6601 100644
case '$':
if (escaped)
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From d3e9800ae2fe7c0ed2d7795eae2be17a66e625ff Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Tue, 27 Nov 2012 16:58:39 -0200
Subject: [PATCH 087/198] Add %X option to printf functions.
Subject: [PATCH 087/206] Add %X option to printf functions.
---
grub-core/kern/misc.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
index 952411d5d..8344526be 100644
index 952411d5dc6..8344526be7f 100644
--- a/grub-core/kern/misc.c
+++ b/grub-core/kern/misc.c
@@ -588,7 +588,7 @@ grub_divmod64 (grub_uint64_t n, grub_uint64_t d, grub_uint64_t *r)
@ -54,5 +54,5 @@ index 952411d5d..8344526be 100644
case 'd':
{
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 30c15e39be47d60f6a4a45628a687911a9f11091 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Date: Tue, 27 Nov 2012 17:22:07 -0200
Subject: [PATCH 088/198] Search for specific config file for netboot
Subject: [PATCH 088/206] Search for specific config file for netboot
This patch implements a search for a specific configuration when the config
file is on a remoteserver. It uses the following order:
@ -22,7 +22,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=873406
3 files changed, 135 insertions(+), 4 deletions(-)
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
index 10773fc34..0769bf850 100644
index 10773fc3435..0769bf850d3 100644
--- a/grub-core/net/net.c
+++ b/grub-core/net/net.c
@@ -1735,6 +1735,124 @@ grub_net_restore_hw (void)
@ -151,7 +151,7 @@ index 10773fc34..0769bf850 100644
static grub_command_t cmd_addaddr, cmd_deladdr, cmd_addroute, cmd_delroute;
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 759c475c4..b2654ef62 100644
index 759c475c4d9..b2654ef62e8 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -33,6 +33,7 @@
@ -187,7 +187,7 @@ index 759c475c4..b2654ef62 100644
grub_enter_normal_mode (config);
grub_free (config);
diff --git a/include/grub/net.h b/include/grub/net.h
index e266bae23..50d62ab0c 100644
index e266bae23f4..50d62ab0c8c 100644
--- a/include/grub/net.h
+++ b/include/grub/net.h
@@ -566,4 +566,7 @@ extern char *grub_net_default_server;
@ -199,5 +199,5 @@ index e266bae23..50d62ab0c 100644
+
#endif /* ! GRUB_NET_HEADER */
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 266c7e797971879dc229594556a687a79c92d3b6 Mon Sep 17 00:00:00 2001
From: Fedora Ninjas <grub2-owner@fedoraproject.org>
Date: Tue, 22 Jan 2013 06:31:38 +0100
Subject: [PATCH 089/198] blscfg: add blscfg module to parse Boot Loader
Subject: [PATCH 089/206] blscfg: add blscfg module to parse Boot Loader
Specification snippets
http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
@ -21,7 +21,7 @@ Signed-off-by: Peter Jones <grub2-owner@fedoraproject.org>
create mode 100644 grub-core/commands/blscfg.c
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index c653c71c5..7f3d5a2bf 100644
index c653c71c594..7f3d5a2bfe6 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -768,6 +768,14 @@ module = {
@ -41,7 +41,7 @@ index c653c71c5..7f3d5a2bf 100644
common = commands/boot.c;
diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c
new file mode 100644
index 000000000..4274aca5a
index 00000000000..4274aca5a9d
--- /dev/null
+++ b/grub-core/commands/blscfg.c
@@ -0,0 +1,201 @@
@ -247,5 +247,5 @@ index 000000000..4274aca5a
+ grub_unregister_extcmd (cmd);
+}
--
2.14.3
2.15.0

View File

@ -1,51 +1,21 @@
From 6609ba848331d9153c554bb52f2ef0a33531cf55 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 13:30:20 -0400
Subject: [PATCH 090/198] Don't write messages to the screen
Subject: [PATCH 090/206] Don't write messages to the screen
Writing messages to the screen before the menus or boot splash
happens so quickly it looks like something is wrong and isn't
very appealing.
---
grub-core/boot/i386/pc/boot.S | 3 ---
grub-core/boot/i386/pc/diskboot.S | 5 -----
grub-core/gettext/gettext.c | 25 +++++--------------------
grub-core/kern/main.c | 5 -----
grub-core/boot/i386/pc/boot.S | 3 ---
grub-core/boot/i386/pc/diskboot.S | 5 -----
util/grub.d/10_linux.in | 7 -------
5 files changed, 5 insertions(+), 40 deletions(-)
diff --git a/grub-core/boot/i386/pc/boot.S b/grub-core/boot/i386/pc/boot.S
index 2bd0b2d28..ea167fe12 100644
--- a/grub-core/boot/i386/pc/boot.S
+++ b/grub-core/boot/i386/pc/boot.S
@@ -249,9 +249,6 @@ real_start:
/* save drive reference first thing! */
pushw %dx
- /* print a notification message on the screen */
- MSG(notification_string)
-
/* set %si to the disk address packet */
movw $disk_address_packet, %si
diff --git a/grub-core/boot/i386/pc/diskboot.S b/grub-core/boot/i386/pc/diskboot.S
index 1ee4cf5b2..c8b87ed29 100644
--- a/grub-core/boot/i386/pc/diskboot.S
+++ b/grub-core/boot/i386/pc/diskboot.S
@@ -50,11 +50,6 @@ _start:
/* save drive reference first thing! */
pushw %dx
- /* print a notification message on the screen */
- pushw %si
- MSG(notification_string)
- popw %si
-
/* this sets up for the first run through "bootloop" */
movw $LOCAL(firstlist), %di
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
index 4880cefe3..b22e1bcc9 100644
index 4880cefe3f8..b22e1bcc94b 100644
--- a/grub-core/gettext/gettext.c
+++ b/grub-core/gettext/gettext.c
@@ -434,16 +434,12 @@ static char *
@ -127,7 +97,7 @@ index 4880cefe3..b22e1bcc9 100644
grub_register_variable_hook ("locale_dir", NULL, read_main);
grub_register_variable_hook ("secondary_locale_dir", NULL, read_secondary);
diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c
index 8ab7794c4..da47b18b5 100644
index 8ab7794c47b..da47b18b50e 100644
--- a/grub-core/kern/main.c
+++ b/grub-core/kern/main.c
@@ -268,11 +268,6 @@ grub_main (void)
@ -142,8 +112,38 @@ index 8ab7794c4..da47b18b5 100644
grub_load_config ();
grub_boot_time ("Before loading embedded modules.");
diff --git a/grub-core/boot/i386/pc/boot.S b/grub-core/boot/i386/pc/boot.S
index 2bd0b2d2866..ea167fe1206 100644
--- a/grub-core/boot/i386/pc/boot.S
+++ b/grub-core/boot/i386/pc/boot.S
@@ -249,9 +249,6 @@ real_start:
/* save drive reference first thing! */
pushw %dx
- /* print a notification message on the screen */
- MSG(notification_string)
-
/* set %si to the disk address packet */
movw $disk_address_packet, %si
diff --git a/grub-core/boot/i386/pc/diskboot.S b/grub-core/boot/i386/pc/diskboot.S
index 1ee4cf5b2e0..c8b87ed293c 100644
--- a/grub-core/boot/i386/pc/diskboot.S
+++ b/grub-core/boot/i386/pc/diskboot.S
@@ -50,11 +50,6 @@ _start:
/* save drive reference first thing! */
pushw %dx
- /* print a notification message on the screen */
- pushw %si
- MSG(notification_string)
- popw %si
-
/* this sets up for the first run through "bootloop" */
movw $LOCAL(firstlist), %di
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index 8ccf012f7..a3d9711d6 100644
index 8ccf012f747..a3d9711d607 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -128,29 +128,22 @@ linux_entry ()
@ -177,5 +177,5 @@ index 8ccf012f7..a3d9711d6 100644
EOF
fi
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 95aeba5fe67ad11a995eb8e583708a722b8bdeb9 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 13:53:48 -0400
Subject: [PATCH 091/198] Don't print GNU GRUB header
Subject: [PATCH 091/206] Don't print GNU GRUB header
No one cares.
---
@ -9,7 +9,7 @@ No one cares.
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index b2654ef62..f57b7508a 100644
index b2654ef62e8..f57b7508a76 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -202,15 +202,16 @@ read_config_file (const char *config)
@ -41,5 +41,5 @@ index b2654ef62..f57b7508a 100644
static void
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From aca25c56911ece3e4d82ae9edbde6c705c1eaacc Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 17:49:45 -0400
Subject: [PATCH 092/198] Don't add '*' to highlighted row
Subject: [PATCH 092/206] Don't add '*' to highlighted row
It is already highlighted.
---
@ -9,7 +9,7 @@ It is already highlighted.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index e22bb91f6..a3d1f23f6 100644
index e22bb91f6e8..a3d1f23f68f 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -242,7 +242,7 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
@ -22,5 +22,5 @@ index e22bb91f6..a3d1f23f6 100644
grub_print_ucs4_menu (unicode_title,
unicode_title + len,
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From eef343ff642b42f0e46eb5e8ff5d89fef375f4a2 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Fri, 7 Jun 2013 11:09:04 -0400
Subject: [PATCH 093/198] Message string cleanups
Subject: [PATCH 093/206] Message string cleanups
Make use of terminology consistent. Remove jargon.
---
@ -9,7 +9,7 @@ Make use of terminology consistent. Remove jargon.
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index a3d1f23f6..64a83862f 100644
index a3d1f23f68f..64a83862f66 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -157,9 +157,8 @@ print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
@ -67,5 +67,5 @@ index a3d1f23f6..64a83862f 100644
{
grub_print_error ();
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From c2e1e09485a5773dc3639d34eadc3a07ebce8fe5 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Fri, 7 Jun 2013 14:08:23 -0400
Subject: [PATCH 094/198] Fix border spacing now that we aren't displaying it
Subject: [PATCH 094/206] Fix border spacing now that we aren't displaying it
---
grub-core/normal/menu_text.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index 64a83862f..1062d64ee 100644
index 64a83862f66..1062d64ee29 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -331,12 +331,12 @@ grub_menu_init_page (int nested, int edit,
@ -28,5 +28,5 @@ index 64a83862f..1062d64ee 100644
geo->timeout_lines = 2;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From e29b4dd346fa10dc6a073239ef1ed8fb32a0c838 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Fri, 7 Jun 2013 14:08:49 -0400
Subject: [PATCH 095/198] Use the correct indentation for the term help text
Subject: [PATCH 095/206] Use the correct indentation for the term help text
That is consistent with the menu help text
---
@ -9,7 +9,7 @@ That is consistent with the menu help text
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index f57b7508a..0ce59fdc3 100644
index f57b7508a76..0ce59fdc3f0 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -426,8 +426,8 @@ grub_normal_reader_init (int nested)
@ -24,5 +24,5 @@ index f57b7508a..0ce59fdc3 100644
grub_print_message_indented (msg_formatted, 0, 0, term);
grub_putcode ('\n', term);
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From a67be6e17cd318ad3d4a669efb2b8c5f6e76c003 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Fri, 7 Jun 2013 14:30:55 -0400
Subject: [PATCH 096/198] Indent menu entries
Subject: [PATCH 096/206] Indent menu entries
---
grub-core/normal/menu_text.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index 1062d64ee..ecc60f99f 100644
index 1062d64ee29..ecc60f99fc3 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -239,7 +239,8 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
@ -22,5 +22,5 @@ index 1062d64ee..ecc60f99f 100644
grub_print_ucs4_menu (unicode_title,
unicode_title + len,
--
2.14.3
2.15.0

View File

@ -1,14 +1,14 @@
From 8e5a006c6c48002f3debd99f4c377b443f9f8369 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Fri, 7 Jun 2013 14:59:36 -0400
Subject: [PATCH 097/198] Fix margins
Subject: [PATCH 097/206] Fix margins
---
grub-core/normal/menu_text.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index ecc60f99f..0e43f2c10 100644
index ecc60f99fc3..0e43f2c10cc 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -333,17 +333,15 @@ grub_menu_init_page (int nested, int edit,
@ -33,5 +33,5 @@ index ecc60f99f..0e43f2c10 100644
- geo->timeout_lines /* timeout */
- 1 /* empty final line */;
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 01757871cb2a7355a7f67e80f77a57fecba26f54 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 21 Jun 2013 14:44:08 -0400
Subject: [PATCH 098/198] Use -2 instead of -1 for our right-hand margin, so
Subject: [PATCH 098/206] Use -2 instead of -1 for our right-hand margin, so
linewrapping works (#976643).
Signed-off-by: Peter Jones <grub2-owner@fedoraproject.org>
@ -10,7 +10,7 @@ Signed-off-by: Peter Jones <grub2-owner@fedoraproject.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index 0e43f2c10..537d4bf86 100644
index 0e43f2c10cc..537d4bf86ff 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -334,7 +334,7 @@ grub_menu_init_page (int nested, int edit,
@ -23,5 +23,5 @@ index 0e43f2c10..537d4bf86 100644
geo->first_entry_y = 3; /* three empty lines*/
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From ac001b7b4cc1819186fbe2bc695cbe58d2077d0f Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 28 Oct 2013 10:05:07 -0400
Subject: [PATCH 099/198] Use linux16 when appropriate (#880840)
Subject: [PATCH 099/206] Use linux16 when appropriate (#880840)
The kernel group really would prefer that we use the 16 bit entry point
on x86 bios machines.
@ -14,7 +14,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index a3d9711d6..f3bf6acd8 100644
index a3d9711d607..f3bf6acd856 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -76,6 +76,11 @@ linux_entry ()
@ -48,5 +48,5 @@ index a3d9711d6..f3bf6acd8 100644
fi
fi
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From cc60fb5b7693dabcf100c910d42b3ffe1816597f Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 28 Oct 2013 10:09:27 -0400
Subject: [PATCH 100/198] Enable pager by default. (#985860)
Subject: [PATCH 100/206] Enable pager by default. (#985860)
Signed-off-by: Peter Jones <pjones@redhat.com>
---
@ -9,7 +9,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 2 insertions(+)
diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
index 93a90233e..858b526c9 100644
index 93a90233ead..858b526c925 100644
--- a/util/grub.d/00_header.in
+++ b/util/grub.d/00_header.in
@@ -43,6 +43,8 @@ if [ "x${GRUB_DEFAULT_BUTTON}" = "xsaved" ] ; then GRUB_DEFAULT_BUTTON='${saved_
@ -22,5 +22,5 @@ index 93a90233e..858b526c9 100644
load_env
fi
--
2.14.3
2.15.0

Some files were not shown because too many files have changed in this diff Show More