[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1200375916.3505.32.camel@caritas-dev.intel.com>
Date: Tue, 15 Jan 2008 13:45:16 +0800
From: "Huang, Ying" <ying.huang@...el.com>
To: akpm@...ux-foundation.org, "H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Andi Kleen <ak@...e.de>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH -mm 3/3] i386 boot: replace boot_ioremap with enhanced
bt_ioremap - rename bt_ioremap to early_ioremap
This patch renames bt_ioremap to early_ioremap, which is used in
x86_64. This makes it easier to merge i386 and x86_64 usage.
Signed-off-by: Huang Ying <ying.huang@...el.com>
---
arch/x86/kernel/efi.c | 16 ++++++++--------
arch/x86/kernel/efi_32.c | 2 +-
arch/x86/kernel/efi_tables.c | 12 ++++++------
arch/x86/kernel/setup_32.c | 2 +-
arch/x86/kernel/srat_32.c | 6 +++---
arch/x86/mm/init_32.c | 4 ++--
arch/x86/mm/ioremap_32.c | 38 +++++++++++++++++++-------------------
include/asm-x86/dmi.h | 7 ++-----
include/asm-x86/efi.h | 8 --------
include/asm-x86/io_32.h | 16 ++++++++--------
10 files changed, 50 insertions(+), 61 deletions(-)
--- a/arch/x86/mm/ioremap_32.c
+++ b/arch/x86/mm/ioremap_32.c
@@ -212,36 +212,36 @@ static __initdata int after_paging_init;
static __initdata unsigned long bm_pte[1024]
__attribute__((aligned(PAGE_SIZE)));
-static inline unsigned long * __init bt_ioremap_pgd(unsigned long addr)
+static inline unsigned long * __init early_ioremap_pgd(unsigned long addr)
{
return (unsigned long *)swapper_pg_dir + ((addr >> 22) & 1023);
}
-static inline unsigned long * __init bt_ioremap_pte(unsigned long addr)
+static inline unsigned long * __init early_ioremap_pte(unsigned long addr)
{
return bm_pte + ((addr >> PAGE_SHIFT) & 1023);
}
-void __init bt_ioremap_init(void)
+void __init early_ioremap_init(void)
{
unsigned long *pgd;
- pgd = bt_ioremap_pgd(fix_to_virt(FIX_BTMAP_BEGIN));
+ pgd = early_ioremap_pgd(fix_to_virt(FIX_BTMAP_BEGIN));
*pgd = __pa(bm_pte) | _PAGE_TABLE;
memset(bm_pte, 0, sizeof(bm_pte));
- BUG_ON(pgd != bt_ioremap_pgd(fix_to_virt(FIX_BTMAP_END)));
+ BUG_ON(pgd != early_ioremap_pgd(fix_to_virt(FIX_BTMAP_END)));
}
-void __init bt_ioremap_clear(void)
+void __init early_ioremap_clear(void)
{
unsigned long *pgd;
- pgd = bt_ioremap_pgd(fix_to_virt(FIX_BTMAP_BEGIN));
+ pgd = early_ioremap_pgd(fix_to_virt(FIX_BTMAP_BEGIN));
*pgd = 0;
__flush_tlb_all();
}
-void __init bt_ioremap_reset(void)
+void __init early_ioremap_reset(void)
{
enum fixed_addresses idx;
unsigned long *pte, phys, addr;
@@ -249,7 +249,7 @@ void __init bt_ioremap_reset(void)
after_paging_init = 1;
for (idx = FIX_BTMAP_BEGIN; idx <= FIX_BTMAP_END; idx--) {
addr = fix_to_virt(idx);
- pte = bt_ioremap_pte(addr);
+ pte = early_ioremap_pte(addr);
if (!*pte & _PAGE_PRESENT) {
phys = *pte & PAGE_MASK;
set_fixmap(idx, phys);
@@ -257,7 +257,7 @@ void __init bt_ioremap_reset(void)
}
}
-static void __init __bt_set_fixmap(enum fixed_addresses idx,
+static void __init __early_set_fixmap(enum fixed_addresses idx,
unsigned long phys, pgprot_t flags)
{
unsigned long *pte, addr = __fix_to_virt(idx);
@@ -266,7 +266,7 @@ static void __init __bt_set_fixmap(enum
BUG();
return;
}
- pte = bt_ioremap_pte(addr);
+ pte = early_ioremap_pte(addr);
if (pgprot_val(flags))
*pte = (phys & PAGE_MASK) | pgprot_val(flags);
else
@@ -274,24 +274,24 @@ static void __init __bt_set_fixmap(enum
__flush_tlb_one(addr);
}
-static inline void __init bt_set_fixmap(enum fixed_addresses idx,
+static inline void __init early_set_fixmap(enum fixed_addresses idx,
unsigned long phys)
{
if (after_paging_init)
set_fixmap(idx, phys);
else
- __bt_set_fixmap(idx, phys, PAGE_KERNEL);
+ __early_set_fixmap(idx, phys, PAGE_KERNEL);
}
-static inline void __init bt_clear_fixmap(enum fixed_addresses idx)
+static inline void __init early_clear_fixmap(enum fixed_addresses idx)
{
if (after_paging_init)
clear_fixmap(idx);
else
- __bt_set_fixmap(idx, 0, __pgprot(0));
+ __early_set_fixmap(idx, 0, __pgprot(0));
}
-void __init *bt_ioremap(unsigned long phys_addr, unsigned long size)
+void __init *early_ioremap(unsigned long phys_addr, unsigned long size)
{
unsigned long offset, last_addr;
unsigned int nrpages;
@@ -327,7 +327,7 @@ void __init *bt_ioremap(unsigned long ph
*/
idx = FIX_BTMAP_BEGIN;
while (nrpages > 0) {
- bt_set_fixmap(idx, phys_addr);
+ early_set_fixmap(idx, phys_addr);
phys_addr += PAGE_SIZE;
--idx;
--nrpages;
@@ -335,7 +335,7 @@ void __init *bt_ioremap(unsigned long ph
return (void*) (offset + fix_to_virt(FIX_BTMAP_BEGIN));
}
-void __init bt_iounmap(void *addr, unsigned long size)
+void __init early_iounmap(void *addr, unsigned long size)
{
unsigned long virt_addr;
unsigned long offset;
@@ -350,7 +350,7 @@ void __init bt_iounmap(void *addr, unsig
idx = FIX_BTMAP_BEGIN;
while (nrpages > 0) {
- bt_clear_fixmap(idx);
+ early_clear_fixmap(idx);
--idx;
--nrpages;
}
--- a/include/asm-x86/efi.h
+++ b/include/asm-x86/efi.h
@@ -33,9 +33,6 @@ extern unsigned long asmlinkage efi_call
#define efi_call_virt6(f, a1, a2, a3, a4, a5, a6) \
efi_call_virt(f, a1, a2, a3, a4, a5, a6)
-#define efi_early_ioremap(addr, size) bt_ioremap(addr, size)
-#define efi_early_iounmap(vaddr, size) bt_iounmap(vaddr, size)
-
#define efi_ioremap(addr, size) ioremap(addr, size)
#define end_pfn_map max_low_pfn
@@ -93,13 +90,8 @@ extern u64 efi_call6(void *fp, u64 arg1,
efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
(u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
-#define efi_early_ioremap(addr, size) early_ioremap(addr, size)
-#define efi_early_iounmap(vaddr, size) early_iounmap(vaddr, size)
-
extern void *efi_ioremap(unsigned long offset, unsigned long size);
-extern int efi_time;
-
#define EFI_CHECK_ADDR(addr) 1
#endif /* CONFIG_X86_32 */
--- a/include/asm-x86/io_32.h
+++ b/include/asm-x86/io_32.h
@@ -126,20 +126,20 @@ extern void __iomem * ioremap_nocache(un
extern void iounmap(volatile void __iomem *addr);
/*
- * bt_ioremap() and bt_iounmap() are for temporary early boot-time
+ * early_ioremap() and early_iounmap() are for temporary early boot-time
* mappings, before the real ioremap() is functional.
* A boot-time mapping is currently limited to at most 16 pages.
*/
-extern void bt_ioremap_init(void);
-extern void bt_ioremap_clear(void);
-extern void bt_ioremap_reset(void);
-extern void *bt_ioremap(unsigned long offset, unsigned long size);
-extern void bt_iounmap(void *addr, unsigned long size);
+extern void early_ioremap_init(void);
+extern void early_ioremap_clear(void);
+extern void early_ioremap_reset(void);
+extern void *early_ioremap(unsigned long offset, unsigned long size);
+extern void early_iounmap(void *addr, unsigned long size);
extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
/* Use early IO mappings for DMI because it's initialized early */
-#define dmi_ioremap bt_ioremap
-#define dmi_iounmap bt_iounmap
+#define dmi_ioremap early_ioremap
+#define dmi_iounmap early_iounmap
#define dmi_alloc alloc_bootmem
/*
--- a/arch/x86/kernel/efi.c
+++ b/arch/x86/kernel/efi.c
@@ -251,14 +251,14 @@ void __init efi_init(void)
memmap.desc_version = boot_params.efi_info.efi_memdesc_version;
memmap.desc_size = boot_params.efi_info.efi_memdesc_size;
- efi.systab = efi_early_ioremap((unsigned long)efi_phys.systab,
- sizeof(efi_system_table_t));
+ efi.systab = early_ioremap((unsigned long)efi_phys.systab,
+ sizeof(efi_system_table_t));
if (efi.systab == NULL) {
printk(KERN_ERR "Couldn't map the EFI system table!\n");
goto error;
}
memcpy(&efi_systab, efi.systab, sizeof(efi_system_table_t));
- efi_early_iounmap(efi.systab, sizeof(efi_system_table_t));
+ early_iounmap(efi.systab, sizeof(efi_system_table_t));
efi.systab = &efi_systab;
/*
@@ -275,8 +275,8 @@ void __init efi_init(void)
* address of several of the EFI runtime functions, needed to
* set the firmware into virtual mode.
*/
- runtime = efi_early_ioremap((unsigned long)efi.systab->runtime,
- sizeof(efi_runtime_services_t));
+ runtime = early_ioremap((unsigned long)efi.systab->runtime,
+ sizeof(efi_runtime_services_t));
if (runtime == NULL) {
printk(KERN_ERR "Could not map the EFI runtime service "
"table!\n");
@@ -293,11 +293,11 @@ void __init efi_init(void)
* Make efi_get_time can be called before entering virtual mode.
*/
efi.get_time = phys_efi_get_time;
- efi_early_iounmap(runtime, sizeof(efi_runtime_services_t));
+ early_iounmap(runtime, sizeof(efi_runtime_services_t));
/* Map the EFI memory map */
- memmap.map = efi_early_ioremap((unsigned long)memmap.phys_map,
- memmap.nr_map * memmap.desc_size);
+ memmap.map = early_ioremap((unsigned long)memmap.phys_map,
+ memmap.nr_map * memmap.desc_size);
if (memmap.map == NULL) {
printk(KERN_ERR "Could not map the EFI memory map!\n");
goto error;
--- a/arch/x86/kernel/efi_tables.c
+++ b/arch/x86/kernel/efi_tables.c
@@ -34,13 +34,13 @@ static void __init efi_tables_parse ## b
n |= ((u64)boot_params.efi_info.efi_systab_hi<<32); \
if (!EFI_CHECK_ADDR(n)) \
return; \
- psystab = efi_early_ioremap(n, sizeof(systab)); \
+ psystab = early_ioremap(n, sizeof(systab)); \
if (psystab == NULL) { \
printk(KERN_ERR "Could not map the EFI system table!\n"); \
return; \
} \
memcpy(&systab, psystab, sizeof(systab)); \
- efi_early_iounmap(psystab, sizeof(systab)); \
+ early_iounmap(psystab, sizeof(systab)); \
\
if (systab.hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) { \
printk(KERN_ERR "EFI system table signature " \
@@ -56,7 +56,7 @@ static void __init efi_tables_parse ## b
} \
\
if (EFI_CHECK_ADDR(systab.fw_vendor)) { \
- c16 = tmp = efi_early_ioremap(systab.fw_vendor, 2); \
+ c16 = tmp = early_ioremap(systab.fw_vendor, 2); \
if (c16 == NULL) { \
printk(KERN_ERR "Could not map the EFI " \
"firmware vendor!\n"); \
@@ -65,7 +65,7 @@ static void __init efi_tables_parse ## b
for (i = 0; i < sizeof(vendor) && *c16; ++i) \
vendor[i] = *c16++; \
vendor[i] = '\0'; \
- efi_early_iounmap(tmp, 2); \
+ early_iounmap(tmp, 2); \
} \
\
printk(KERN_INFO "EFI %u v%u.%.02u by %s \n", \
@@ -75,7 +75,7 @@ static void __init efi_tables_parse ## b
if (!EFI_CHECK_ADDR(systab.tables)) \
return; \
\
- config_tables = efi_early_ioremap( \
+ config_tables = early_ioremap( \
systab.tables, \
systab.nr_tables * sizeof(struct efi_config_table ## bt)); \
if (config_tables == NULL) { \
@@ -111,7 +111,7 @@ static void __init efi_tables_parse ## b
} \
} \
printk("\n"); \
- efi_early_iounmap( \
+ early_iounmap( \
config_tables, \
systab.nr_tables * sizeof(struct efi_config_table ## bt)); \
}
--- a/include/asm-x86/dmi.h
+++ b/include/asm-x86/dmi.h
@@ -5,9 +5,6 @@
#ifdef CONFIG_X86_32
-/* Use early IO mappings for DMI because it's initialized early */
-#define dmi_ioremap bt_ioremap
-#define dmi_iounmap bt_iounmap
#define dmi_alloc alloc_bootmem
#else /* CONFIG_X86_32 */
@@ -27,9 +24,9 @@ static inline void *dmi_alloc(unsigned l
return dmi_alloc_data + idx;
}
+#endif
+
#define dmi_ioremap early_ioremap
#define dmi_iounmap early_iounmap
#endif
-
-#endif
--- a/arch/x86/kernel/srat_32.c
+++ b/arch/x86/kernel/srat_32.c
@@ -297,7 +297,7 @@ int __init get_memcfg_from_srat(void)
}
rsdt = (struct acpi_table_rsdt *)
- bt_ioremap(rsdp->rsdt_physical_address, sizeof(struct acpi_table_rsdt));
+ early_ioremap(rsdp->rsdt_physical_address, sizeof(struct acpi_table_rsdt));
if (!rsdt) {
printk(KERN_WARNING
@@ -337,11 +337,11 @@ int __init get_memcfg_from_srat(void)
for (i = 0; i < tables; i++) {
/* Map in header, then map in full table length. */
header = (struct acpi_table_header *)
- bt_ioremap(saved_rsdt.table.table_offset_entry[i], sizeof(struct acpi_table_header));
+ early_ioremap(saved_rsdt.table.table_offset_entry[i], sizeof(struct acpi_table_header));
if (!header)
break;
header = (struct acpi_table_header *)
- bt_ioremap(saved_rsdt.table.table_offset_entry[i], header->length);
+ early_ioremap(saved_rsdt.table.table_offset_entry[i], header->length);
if (!header)
break;
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -423,11 +423,11 @@ static void __init pagetable_init (void)
* Fixed mappings, only the page table structure has to be
* created - mappings will be set by set_fixmap():
*/
- bt_ioremap_clear();
+ early_ioremap_clear();
vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK;
end = (FIXADDR_TOP + PMD_SIZE - 1) & PMD_MASK;
page_table_range_init(vaddr, end, pgd_base);
- bt_ioremap_reset();
+ early_ioremap_reset();
permanent_kmaps_init(pgd_base);
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -624,7 +624,7 @@ void __init setup_arch(char **cmdline_p)
memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
pre_setup_arch_hook();
early_cpu_init();
- bt_ioremap_init();
+ early_ioremap_init();
efi_check_bios_type();
#ifdef CONFIG_EFI
--- a/arch/x86/kernel/efi_32.c
+++ b/arch/x86/kernel/efi_32.c
@@ -117,7 +117,7 @@ void __init efi_map_memmap(void)
{
memmap.map = NULL;
- memmap.map = bt_ioremap((unsigned long) memmap.phys_map,
+ memmap.map = early_ioremap((unsigned long) memmap.phys_map,
(memmap.nr_map * memmap.desc_size));
if (memmap.map == NULL)
printk(KERN_ERR "Could not remap the EFI memmap!\n");
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists