
CONFIG_NONLINEAR differentiates between the layout during early boot-time,
and later at runtime.  During early boot, before the nonlinear tables
are initialized, the layout is assumed to be flat, and the __boot variants
are used.

Create these macros now, so that the nonlinear patch can use them, but use
the default linear implementation for now.

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 memhotplug-dave/arch/i386/Kconfig       |    3 +++
 memhotplug-dave/include/asm-i386/page.h |    6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff -puN include/asm-i386/page.h~D0-create-__boot-i386 include/asm-i386/page.h
--- memhotplug/include/asm-i386/page.h~D0-create-__boot-i386	2005-04-13 14:20:40.000000000 -0700
+++ memhotplug-dave/include/asm-i386/page.h	2005-04-13 14:20:40.000000000 -0700
@@ -133,8 +133,10 @@ extern int page_is_ram(unsigned long pag
 #define PAGE_OFFSET		((unsigned long)__PAGE_OFFSET)
 #define VMALLOC_RESERVE		((unsigned long)__VMALLOC_RESERVE)
 #define MAXMEM			(-__PAGE_OFFSET-__VMALLOC_RESERVE)
-#define __pa(x)			((unsigned long)(x)-PAGE_OFFSET)
-#define __va(x)			((void *)((unsigned long)(x)+PAGE_OFFSET))
+#define __boot_pa(x)		((unsigned long)(x)-PAGE_OFFSET)
+#define __boot_va(x)		((void *)((unsigned long)(x)+PAGE_OFFSET))
+#define __pa(x)			__boot_pa(x)
+#define __va(x)			__boot_va(x)
 #define pfn_to_kaddr(pfn)      __va((pfn) << PAGE_SHIFT)
 #ifdef CONFIG_FLATMEM
 #define pfn_to_page(pfn)	(mem_map + (pfn))
diff -puN arch/i386/Kconfig~D0-create-__boot-i386 arch/i386/Kconfig
--- memhotplug/arch/i386/Kconfig~D0-create-__boot-i386	2005-04-13 14:20:40.000000000 -0700
+++ memhotplug-dave/arch/i386/Kconfig	2005-04-13 14:20:40.000000000 -0700
@@ -772,6 +772,9 @@ config HAVE_ARCH_BOOTMEM_NODE
 	depends on NUMA
 	default y
 
+config ARCH_HAS_BOOTPA
+	def_bool y
+
 config ARCH_HAVE_MEMORY_PRESENT
 	bool
 	depends on DISCONTIGMEM
_
