Browse code

grub2: fix arm64 build

Added one more fc30 patch to fix arm64 build issue.

Change-Id: I139e7a90ac609919b91aad373e75c4d312ab2fba
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/7779
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Bo Gan <ganb@vmware.com>

Alexey Makhalov authored on 2019/08/15 08:42:16
Showing 2 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,118 @@
0
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
1
+From: Peter Jones <pjones@redhat.com>
2
+Date: Thu, 12 Jul 2018 11:00:45 -0400
3
+Subject: [PATCH] Rework how the fdt command builds.
4
+
5
+Trying to avoid all variants of:
6
+cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1)
7
+grub_fdt_install in linux is not defined
8
+grub_fdt_load in linux is not defined
9
+grub_fdt_unload in linux is not defined
10
+grub_fdt_install in xen_boot is not defined
11
+grub_fdt_load in xen_boot is not defined
12
+grub_fdt_unload in xen_boot is not defined
13
+
14
+Signed-off-by: Peter Jones <pjones@redhat.com>
15
+---
16
+ grub-core/Makefile.core.def | 5 ++---
17
+ grub-core/lib/fdt.c         | 2 --
18
+ grub-core/loader/efi/fdt.c  | 2 ++
19
+ include/grub/fdt.h          | 4 ++++
20
+ grub-core/Makefile.am       | 1 +
21
+ 5 files changed, 9 insertions(+), 5 deletions(-)
22
+
23
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
24
+index 715d3a3ec02..203584fb00b 100644
25
+--- a/grub-core/Makefile.core.def
26
+@@ -166,7 +166,6 @@ kernel = {
27
+   arm_coreboot = kern/arm/coreboot/init.c;
28
+   arm_coreboot = kern/arm/coreboot/timer.c;
29
+   arm_coreboot = kern/arm/coreboot/coreboot.S;
30
+-  arm_coreboot = lib/fdt.c;
31
+   arm_coreboot = bus/fdt.c;
32
+   arm_coreboot = term/ps2.c;
33
+   arm_coreboot = term/arm/pl050.c;
34
+@@ -317,6 +316,8 @@ kernel = {
35
+   arm64 = kern/arm64/dl.c;
36
+   arm64 = kern/arm64/dl_helper.c;
37
+ 
38
++  fdt = lib/fdt.c;
39
++
40
+   emu = disk/host.c;
41
+   emu = kern/emu/cache_s.S;
42
+   emu = kern/emu/hostdisk.c;
43
+@@ -1714,7 +1715,6 @@ module = {
44
+   arm_uboot = loader/arm/linux.c;
45
+   arm64 = loader/arm64/linux.c;
46
+   emu = loader/emu/linux.c;
47
+-  fdt = lib/fdt.c;
48
+ 
49
+   common = loader/linux.c;
50
+   common = lib/cmdline.c;
51
+@@ -1725,7 +1725,6 @@ module = {
52
+ module = {
53
+   name = fdt;
54
+   efi = loader/efi/fdt.c;
55
+-  common = lib/fdt.c;
56
+   enable = fdt;
57
+ };
58
+ 
59
+diff --git a/grub-core/lib/fdt.c b/grub-core/lib/fdt.c
60
+index 0d371c5633e..37e04bd69e7 100644
61
+--- a/grub-core/lib/fdt.c
62
+@@ -21,8 +21,6 @@
63
+ #include <grub/mm.h>
64
+ #include <grub/dl.h>
65
+ 
66
+-GRUB_MOD_LICENSE ("GPLv3+");
67
+-
68
+ #define FDT_SUPPORTED_VERSION	17
69
+ 
70
+ #define FDT_BEGIN_NODE	0x00000001
71
+diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
72
+index a4c6e803645..a9dbcfdfeaf 100644
73
+--- a/grub-core/loader/efi/fdt.c
74
+@@ -26,6 +26,8 @@
75
+ #include <grub/efi/fdtload.h>
76
+ #include <grub/efi/memory.h>
77
+ 
78
++GRUB_MOD_LICENSE ("GPLv3+");
79
++
80
+ static void *loaded_fdt;
81
+ static void *fdt;
82
+ 
83
+diff --git a/include/grub/fdt.h b/include/grub/fdt.h
84
+index 158b1bc4b3a..6ee57e11ab3 100644
85
+--- a/include/grub/fdt.h
86
+@@ -19,6 +19,8 @@
87
+ #ifndef GRUB_FDT_HEADER
88
+ #define GRUB_FDT_HEADER	1
89
+ 
90
++#if defined(__arm__) || defined(__aarch64__)
91
++
92
+ #include <grub/types.h>
93
+ #include <grub/symbol.h>
94
+ 
95
+@@ -141,4 +143,6 @@ int EXPORT_FUNC(grub_fdt_set_prop) (void *fdt, unsigned int nodeoffset, const ch
96
+   grub_fdt_set_prop ((fdt), (nodeoffset), "reg", reg_64, 16);  \
97
+ })
98
+ 
99
++#endif /* defined(__arm__) || defined(__aarch64__) */
100
++
101
+ #endif	/* ! GRUB_FDT_HEADER */
102
+diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
103
+index 3781bb9cbb9..4062652506d 100644
104
+--- a/grub-core/Makefile.am
105
+@@ -76,6 +76,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/sb.h
106
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h
107
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h
108
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h
109
++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdt.h
110
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/file.h
111
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h
112
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i18n.h
... ...
@@ -3,7 +3,7 @@
3 3
 Summary:    GRand Unified Bootloader
4 4
 Name:       grub2
5 5
 Version:    2.02
6
-Release:    12%{?dist}
6
+Release:    13%{?dist}
7 7
 License:    GPLv3+
8 8
 URL:        http://www.gnu.org/software/grub
9 9
 Group:      Applications/System
... ...
@@ -30,6 +30,7 @@ Patch15:    0139-Make-TPM-errors-less-fatal.patch
30 30
 Patch16:    0156-TPM-Fix-hash_log_extend_event-function-prototype.patch
31 31
 Patch17:    0157-TPM-Fix-compiler-warnings.patch
32 32
 Patch18:    0216-Disable-multiboot-multiboot2-and-linux16-modules-on-.patch
33
+Patch19:    0224-Rework-how-the-fdt-command-builds.patch
33 34
 %ifarch aarch64
34 35
 Patch100:   0001-efinet-do-not-start-EFI-networking-at-module-init-ti.patch
35 36
 %endif
... ...
@@ -85,6 +86,7 @@ Additional library files for grub
85 85
 %patch16 -p1
86 86
 %patch17 -p1
87 87
 %patch18 -p1
88
+%patch19 -p1
88 89
 %ifarch aarch64
89 90
 %patch100 -p1
90 91
 %endif
... ...
@@ -187,6 +189,8 @@ rm -rf %{buildroot}%{_infodir}
187 187
 %{_datarootdir}/locale/*
188 188
 
189 189
 %changelog
190
+*   Wed Aug 14 2019 Alexey Makhalov <amakhalov@vmware.com> 2.02-13
191
+-   Add one more patch from fc30 to fix arm64 build.
190 192
 *   Thu Feb 21 2019 Alexey Makhalov <amakhalov@vmware.com> 2.02-12
191 193
 -   Update grub version from ~rc3 to release.
192 194
 -   Enhance SB + TPM support (19 patches from grub2-2.02-70.fc30)