Skip to content

Commit 081c0cc

Browse files
Fix ia64 build for linux-5.10.y with extra patch for now
See #1.
1 parent 18b9e8f commit 081c0cc

File tree

1 file changed

+189
-0
lines changed

1 file changed

+189
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
From 8ff059b8531f3b98e14f0461859fc7cdd95823e4 Mon Sep 17 00:00:00 2001
2+
From: Ard Biesheuvel <ardb@kernel.org>
3+
Date: Mon, 18 Jan 2021 13:38:42 +0100
4+
Subject: [PATCH] efi: ia64: move IA64-only declarations to new asm/efi.h
5+
header
6+
7+
Move some EFI related declarations that are only referenced on IA64 to
8+
a new asm/efi.h arch header.
9+
10+
Cc: Tony Luck <tony.luck@intel.com>
11+
Cc: Fenghua Yu <fenghua.yu@intel.com>
12+
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
13+
---
14+
arch/ia64/include/asm/efi.h | 13 +++++++++++++
15+
arch/ia64/kernel/efi.c | 1 +
16+
arch/ia64/kernel/machine_kexec.c | 1 +
17+
arch/ia64/kernel/mca.c | 1 +
18+
arch/ia64/kernel/smpboot.c | 1 +
19+
arch/ia64/kernel/time.c | 1 +
20+
arch/ia64/kernel/uncached.c | 4 +---
21+
arch/ia64/mm/contig.c | 1 +
22+
arch/ia64/mm/discontig.c | 1 +
23+
arch/ia64/mm/init.c | 1 +
24+
include/linux/efi.h | 6 ------
25+
11 files changed, 22 insertions(+), 9 deletions(-)
26+
create mode 100644 arch/ia64/include/asm/efi.h
27+
28+
diff --git a/arch/ia64/include/asm/efi.h b/arch/ia64/include/asm/efi.h
29+
new file mode 100644
30+
index 000000000000..6a4a50d8f19a
31+
--- /dev/null
32+
+++ b/arch/ia64/include/asm/efi.h
33+
@@ -0,0 +1,13 @@
34+
+/* SPDX-License-Identifier: GPL-2.0 */
35+
+#ifndef _ASM_EFI_H
36+
+#define _ASM_EFI_H
37+
+
38+
+typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg);
39+
+
40+
+void *efi_get_pal_addr(void);
41+
+void efi_map_pal_code(void);
42+
+void efi_memmap_walk(efi_freemem_callback_t, void *);
43+
+void efi_memmap_walk_uc(efi_freemem_callback_t, void *);
44+
+void efi_gettimeofday(struct timespec64 *ts);
45+
+
46+
+#endif
47+
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
48+
index f932b25fb817..dd7fd750bb93 100644
49+
--- a/arch/ia64/kernel/efi.c
50+
+++ b/arch/ia64/kernel/efi.c
51+
@@ -34,6 +34,7 @@
52+
#include <linux/kexec.h>
53+
#include <linux/mm.h>
54+
55+
+#include <asm/efi.h>
56+
#include <asm/io.h>
57+
#include <asm/kregs.h>
58+
#include <asm/meminit.h>
59+
diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c
60+
index efc9b568401c..af310dc8a356 100644
61+
--- a/arch/ia64/kernel/machine_kexec.c
62+
+++ b/arch/ia64/kernel/machine_kexec.c
63+
@@ -16,6 +16,7 @@
64+
#include <linux/numa.h>
65+
#include <linux/mmzone.h>
66+
67+
+#include <asm/efi.h>
68+
#include <asm/numa.h>
69+
#include <asm/mmu_context.h>
70+
#include <asm/setup.h>
71+
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
72+
index 2703f7795672..0fea266b4d39 100644
73+
--- a/arch/ia64/kernel/mca.c
74+
+++ b/arch/ia64/kernel/mca.c
75+
@@ -91,6 +91,7 @@
76+
#include <linux/gfp.h>
77+
78+
#include <asm/delay.h>
79+
+#include <asm/efi.h>
80+
#include <asm/meminit.h>
81+
#include <asm/page.h>
82+
#include <asm/ptrace.h>
83+
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
84+
index 093040f7e626..49b488580939 100644
85+
--- a/arch/ia64/kernel/smpboot.c
86+
+++ b/arch/ia64/kernel/smpboot.c
87+
@@ -45,6 +45,7 @@
88+
#include <asm/cache.h>
89+
#include <asm/current.h>
90+
#include <asm/delay.h>
91+
+#include <asm/efi.h>
92+
#include <asm/io.h>
93+
#include <asm/irq.h>
94+
#include <asm/mca.h>
95+
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
96+
index ed9fc3d057a6..a37f161a66b1 100644
97+
--- a/arch/ia64/kernel/time.c
98+
+++ b/arch/ia64/kernel/time.c
99+
@@ -26,6 +26,7 @@
100+
#include <linux/sched/cputime.h>
101+
102+
#include <asm/delay.h>
103+
+#include <asm/efi.h>
104+
#include <asm/hw_irq.h>
105+
#include <asm/ptrace.h>
106+
#include <asm/sal.h>
107+
diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c
108+
index 0750f367837d..51883a66aeb5 100644
109+
--- a/arch/ia64/kernel/uncached.c
110+
+++ b/arch/ia64/kernel/uncached.c
111+
@@ -20,14 +20,12 @@
112+
#include <linux/genalloc.h>
113+
#include <linux/gfp.h>
114+
#include <linux/pgtable.h>
115+
+#include <asm/efi.h>
116+
#include <asm/page.h>
117+
#include <asm/pal.h>
118+
#include <linux/atomic.h>
119+
#include <asm/tlbflush.h>
120+
121+
-
122+
-extern void __init efi_memmap_walk_uc(efi_freemem_callback_t, void *);
123+
-
124+
struct uncached_pool {
125+
struct gen_pool *pool;
126+
struct mutex add_chunk_mutex; /* serialize adding a converted chunk */
127+
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c
128+
index bfc4ecd0a2ab..62fe80a16f42 100644
129+
--- a/arch/ia64/mm/contig.c
130+
+++ b/arch/ia64/mm/contig.c
131+
@@ -21,6 +21,7 @@
132+
#include <linux/swap.h>
133+
#include <linux/sizes.h>
134+
135+
+#include <asm/efi.h>
136+
#include <asm/meminit.h>
137+
#include <asm/sections.h>
138+
#include <asm/mca.h>
139+
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
140+
index c7311131156e..03b3a02375ff 100644
141+
--- a/arch/ia64/mm/discontig.c
142+
+++ b/arch/ia64/mm/discontig.c
143+
@@ -24,6 +24,7 @@
144+
#include <linux/efi.h>
145+
#include <linux/nodemask.h>
146+
#include <linux/slab.h>
147+
+#include <asm/efi.h>
148+
#include <asm/tlb.h>
149+
#include <asm/meminit.h>
150+
#include <asm/numa.h>
151+
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
152+
index 9b5acf8fb092..24583a39fa1b 100644
153+
--- a/arch/ia64/mm/init.c
154+
+++ b/arch/ia64/mm/init.c
155+
@@ -27,6 +27,7 @@
156+
#include <linux/swiotlb.h>
157+
158+
#include <asm/dma.h>
159+
+#include <asm/efi.h>
160+
#include <asm/io.h>
161+
#include <asm/numa.h>
162+
#include <asm/patch.h>
163+
diff --git a/include/linux/efi.h b/include/linux/efi.h
164+
index 763b816ba19c..0c31af36697c 100644
165+
--- a/include/linux/efi.h
166+
+++ b/include/linux/efi.h
167+
@@ -167,8 +167,6 @@ struct capsule_info {
168+
169+
int __efi_capsule_setup_info(struct capsule_info *cap_info);
170+
171+
-typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg);
172+
-
173+
/*
174+
* Types and defines for Time Services
175+
*/
176+
@@ -605,10 +603,6 @@ efi_guid_to_str(efi_guid_t *guid, char *out)
177+
}
178+
179+
extern void efi_init (void);
180+
-extern void *efi_get_pal_addr (void);
181+
-extern void efi_map_pal_code (void);
182+
-extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg);
183+
-extern void efi_gettimeofday (struct timespec64 *ts);
184+
#ifdef CONFIG_EFI
185+
extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */
186+
#else
187+
--
188+
2.25.1
189+

0 commit comments

Comments
 (0)