<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
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 &lt;haveblue@us.ibm.com&gt;


---

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

diff -puN include/asm-ppc64/page.h~D1-create-__boot-ppc64 include/asm-ppc64/page.h
--- memhotplug/include/asm-ppc64/page.h~D1-create-__boot-ppc64	2004-08-13 12:38:32.000000000 -0700
+++ memhotplug-dave/include/asm-ppc64/page.h	2004-08-13 12:38:32.000000000 -0700
@@ -179,7 +179,10 @@ static inline int get_order(unsigned lon
 	return order;
 }
 
-#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)
+#define __boot_pa(x)   ((unsigned long)(x)-PAGE_OFFSET)
+#define __boot_va(x)   ((void *)((unsigned long)(x) + KERNELBASE))
+#define __pa(x)		__boot_pa(x)
+#define __va(x)		__boot_va(x)
 
 /* Not 100% correct, for use by /dev/mem only */
 extern int page_is_ram(unsigned long physaddr);
@@ -227,8 +230,6 @@ extern int page_is_ram(unsigned long phy
 #define __bpn_to_ba(x) ((((unsigned long)(x))&lt;&lt;PAGE_SHIFT) + KERNELBASE)
 #define __ba_to_bpn(x) ((((unsigned long)(x)) &amp; ~REGION_MASK) &gt;&gt; PAGE_SHIFT)
 
-#define __va(x) ((void *)((unsigned long)(x) + KERNELBASE))
-
 #ifdef CONFIG_DISCONTIGMEM
 #define page_to_pfn(page)	discontigmem_page_to_pfn(page)
 #define pfn_to_page(pfn)	discontigmem_pfn_to_page(pfn)
diff -puN arch/ppc64/Kconfig~D1-create-__boot-ppc64 arch/ppc64/Kconfig
--- memhotplug/arch/ppc64/Kconfig~D1-create-__boot-ppc64	2004-08-13 12:38:32.000000000 -0700
+++ memhotplug-dave/arch/ppc64/Kconfig	2004-08-13 12:38:32.000000000 -0700
@@ -179,6 +179,10 @@ config HMT
 	bool "Hardware multithreading"
 	depends on SMP &amp;&amp; PPC_PSERIES
 
+config ARCH_HAS_BOOTPA
+	bool
+	default y
+
 config DISCONTIGMEM
 	bool "Discontiguous Memory Support"
 	depends on SMP &amp;&amp; PPC_PSERIES

_
</pre></body></html>