diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-06-25 00:19:03 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 07:10:28 -0400 |
commit | 4583ed514ea9ac844a6eb02d33120beaedf6837f (patch) | |
tree | 9df2d1e1a5d1726303f761954593defc483e2d20 /include | |
parent | bb23e403e5162765dabe3dc78646724753d6359b (diff) |
x86, 64-bit: unify early_ioremap
The 32-bit early_ioremap will work equally well for 64-bit, so just use it.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/fixmap_64.h | 13 | ||||
-rw-r--r-- | include/asm-x86/io.h | 13 | ||||
-rw-r--r-- | include/asm-x86/io_32.h | 12 |
3 files changed, 26 insertions, 12 deletions
diff --git a/include/asm-x86/fixmap_64.h b/include/asm-x86/fixmap_64.h index 626098823a0c..c7dcc365f470 100644 --- a/include/asm-x86/fixmap_64.h +++ b/include/asm-x86/fixmap_64.h | |||
@@ -49,6 +49,19 @@ enum fixed_addresses { | |||
49 | #ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT | 49 | #ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT |
50 | FIX_OHCI1394_BASE, | 50 | FIX_OHCI1394_BASE, |
51 | #endif | 51 | #endif |
52 | __end_of_permanent_fixed_addresses, | ||
53 | /* | ||
54 | * 256 temporary boot-time mappings, used by early_ioremap(), | ||
55 | * before ioremap() is functional. | ||
56 | * | ||
57 | * We round it up to the next 512 pages boundary so that we | ||
58 | * can have a single pgd entry and a single pte table: | ||
59 | */ | ||
60 | #define NR_FIX_BTMAPS 64 | ||
61 | #define FIX_BTMAPS_NESTING 4 | ||
62 | FIX_BTMAP_END = __end_of_permanent_fixed_addresses + 512 - | ||
63 | (__end_of_permanent_fixed_addresses & 511), | ||
64 | FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS*FIX_BTMAPS_NESTING - 1, | ||
52 | __end_of_fixed_addresses | 65 | __end_of_fixed_addresses |
53 | }; | 66 | }; |
54 | 67 | ||
diff --git a/include/asm-x86/io.h b/include/asm-x86/io.h index 8e9eca93f9b9..c63563df4ac8 100644 --- a/include/asm-x86/io.h +++ b/include/asm-x86/io.h | |||
@@ -72,4 +72,17 @@ extern int ioremap_change_attr(unsigned long vaddr, unsigned long size, | |||
72 | unsigned long prot_val); | 72 | unsigned long prot_val); |
73 | extern void __iomem *ioremap_wc(unsigned long offset, unsigned long size); | 73 | extern void __iomem *ioremap_wc(unsigned long offset, unsigned long size); |
74 | 74 | ||
75 | /* | ||
76 | * early_ioremap() and early_iounmap() are for temporary early boot-time | ||
77 | * mappings, before the real ioremap() is functional. | ||
78 | * A boot-time mapping is currently limited to at most 16 pages. | ||
79 | */ | ||
80 | extern void early_ioremap_init(void); | ||
81 | extern void early_ioremap_clear(void); | ||
82 | extern void early_ioremap_reset(void); | ||
83 | extern void *early_ioremap(unsigned long offset, unsigned long size); | ||
84 | extern void early_iounmap(void *addr, unsigned long size); | ||
85 | extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys); | ||
86 | |||
87 | |||
75 | #endif /* _ASM_X86_IO_H */ | 88 | #endif /* _ASM_X86_IO_H */ |
diff --git a/include/asm-x86/io_32.h b/include/asm-x86/io_32.h index d71be8df9797..4df44ed54077 100644 --- a/include/asm-x86/io_32.h +++ b/include/asm-x86/io_32.h | |||
@@ -122,18 +122,6 @@ static inline void __iomem *ioremap(resource_size_t offset, unsigned long size) | |||
122 | extern void iounmap(volatile void __iomem *addr); | 122 | extern void iounmap(volatile void __iomem *addr); |
123 | 123 | ||
124 | /* | 124 | /* |
125 | * early_ioremap() and early_iounmap() are for temporary early boot-time | ||
126 | * mappings, before the real ioremap() is functional. | ||
127 | * A boot-time mapping is currently limited to at most 16 pages. | ||
128 | */ | ||
129 | extern void early_ioremap_init(void); | ||
130 | extern void early_ioremap_clear(void); | ||
131 | extern void early_ioremap_reset(void); | ||
132 | extern void *early_ioremap(unsigned long offset, unsigned long size); | ||
133 | extern void early_iounmap(void *addr, unsigned long size); | ||
134 | extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys); | ||
135 | |||
136 | /* | ||
137 | * ISA I/O bus memory addresses are 1:1 with the physical address. | 125 | * ISA I/O bus memory addresses are 1:1 with the physical address. |
138 | */ | 126 | */ |
139 | #define isa_virt_to_bus virt_to_phys | 127 | #define isa_virt_to_bus virt_to_phys |