diff options
author | Mark Salter <msalter@redhat.com> | 2014-04-07 18:39:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-07 19:36:15 -0400 |
commit | 5b7c73e00968c7fdf908c3ced31e1cc83c01ba14 (patch) | |
tree | 5d733047855bc22d40e022ea27a11ba7b52b03e4 /arch/x86/include | |
parent | 9e5c33d7aeeef62e5fa7e74f94432685bd03026b (diff) |
x86: use generic early_ioremap
Move x86 over to the generic early ioremap implementation.
Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/Kbuild | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/fixmap.h | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/io.h | 15 |
3 files changed, 8 insertions, 14 deletions
diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild index 4acddc43ee0c..3ca9762e1649 100644 --- a/arch/x86/include/asm/Kbuild +++ b/arch/x86/include/asm/Kbuild | |||
@@ -5,5 +5,6 @@ genhdr-y += unistd_64.h | |||
5 | genhdr-y += unistd_x32.h | 5 | genhdr-y += unistd_x32.h |
6 | 6 | ||
7 | generic-y += clkdev.h | 7 | generic-y += clkdev.h |
8 | generic-y += early_ioremap.h | ||
8 | generic-y += cputime.h | 9 | generic-y += cputime.h |
9 | generic-y += mcs_spinlock.h | 10 | generic-y += mcs_spinlock.h |
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index 8dcd35c4c787..43f482a0db37 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h | |||
@@ -163,5 +163,11 @@ static inline void __set_fixmap(enum fixed_addresses idx, | |||
163 | 163 | ||
164 | #include <asm-generic/fixmap.h> | 164 | #include <asm-generic/fixmap.h> |
165 | 165 | ||
166 | #define __late_set_fixmap(idx, phys, flags) __set_fixmap(idx, phys, flags) | ||
167 | #define __late_clear_fixmap(idx) __set_fixmap(idx, 0, __pgprot(0)) | ||
168 | |||
169 | void __early_set_fixmap(enum fixed_addresses idx, | ||
170 | phys_addr_t phys, pgprot_t flags); | ||
171 | |||
166 | #endif /* !__ASSEMBLY__ */ | 172 | #endif /* !__ASSEMBLY__ */ |
167 | #endif /* _ASM_X86_FIXMAP_H */ | 173 | #endif /* _ASM_X86_FIXMAP_H */ |
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index 7cec9ef3a73a..b8237d8a1e0c 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/string.h> | 39 | #include <linux/string.h> |
40 | #include <linux/compiler.h> | 40 | #include <linux/compiler.h> |
41 | #include <asm/page.h> | 41 | #include <asm/page.h> |
42 | #include <asm/early_ioremap.h> | ||
42 | 43 | ||
43 | #define build_mmio_read(name, size, type, reg, barrier) \ | 44 | #define build_mmio_read(name, size, type, reg, barrier) \ |
44 | static inline type name(const volatile void __iomem *addr) \ | 45 | static inline type name(const volatile void __iomem *addr) \ |
@@ -316,20 +317,6 @@ extern int ioremap_change_attr(unsigned long vaddr, unsigned long size, | |||
316 | unsigned long prot_val); | 317 | unsigned long prot_val); |
317 | extern void __iomem *ioremap_wc(resource_size_t offset, unsigned long size); | 318 | extern void __iomem *ioremap_wc(resource_size_t offset, unsigned long size); |
318 | 319 | ||
319 | /* | ||
320 | * early_ioremap() and early_iounmap() are for temporary early boot-time | ||
321 | * mappings, before the real ioremap() is functional. | ||
322 | * A boot-time mapping is currently limited to at most 16 pages. | ||
323 | */ | ||
324 | extern void early_ioremap_init(void); | ||
325 | extern void early_ioremap_reset(void); | ||
326 | extern void __iomem *early_ioremap(resource_size_t phys_addr, | ||
327 | unsigned long size); | ||
328 | extern void *early_memremap(resource_size_t phys_addr, | ||
329 | unsigned long size); | ||
330 | extern void early_iounmap(void __iomem *addr, unsigned long size); | ||
331 | extern void early_memunmap(void *addr, unsigned long size); | ||
332 | extern void fixup_early_ioremap(void); | ||
333 | extern bool is_early_ioremap_ptep(pte_t *ptep); | 320 | extern bool is_early_ioremap_ptep(pte_t *ptep); |
334 | 321 | ||
335 | #ifdef CONFIG_XEN | 322 | #ifdef CONFIG_XEN |