--- Signed-off-by: Joel Schopp --- diff -puN arch/ppc64/kernel/smp.c~p00022_G2-nonlinear-ppc64-dave-hmore arch/ppc64/kernel/smp.c --- 2.6.9-rc3/arch/ppc64/kernel/smp.c~p00022_G2-nonlinear-ppc64-dave-hmore 2004-10-01 14:45:11.000000000 -0500 +++ 2.6.9-rc3-jschopp/arch/ppc64/kernel/smp.c 2004-10-01 14:45:11.000000000 -0500 @@ -390,7 +390,7 @@ out: static inline int __devinit smp_startup_cpu(unsigned int lcpu) { int status; - unsigned long start_here = __pa(pseries_secondary_smp_init); + unsigned long start_here; unsigned int pcpu; /* At boot time the cpus are already spinning in hold @@ -410,6 +410,7 @@ static inline int __devinit smp_startup_ /* At boot this is done in prom.c. */ paca[lcpu].hw_cpu_id = pcpu; + start_here = __pa(pseries_secondary_smp_init); status = rtas_call(rtas_token("start-cpu"), 3, 1, NULL, pcpu, start_here, lcpu); if (status != 0) { diff -puN arch/ppc64/kernel/vio.c~p00022_G2-nonlinear-ppc64-dave-hmore arch/ppc64/kernel/vio.c --- 2.6.9-rc3/arch/ppc64/kernel/vio.c~p00022_G2-nonlinear-ppc64-dave-hmore 2004-10-01 14:45:11.000000000 -0500 +++ 2.6.9-rc3-jschopp/arch/ppc64/kernel/vio.c 2004-10-01 14:45:11.000000000 -0500 @@ -162,7 +162,7 @@ void __init iommu_vio_init(void) cb.itc_busno = 255; /* Bus 255 is the virtual bus */ cb.itc_virtbus = 0xff; /* Ask for virtual bus */ - cbp = virt_to_abs(&cb); + cbp = boot_virt_to_abs(&cb); HvCallXm_getTceTableParms(cbp); veth_iommu_table.it_size = cb.itc_size / 2; diff -puN arch/ppc64/mm/hash_utils.c~p00022_G2-nonlinear-ppc64-dave-hmore arch/ppc64/mm/hash_utils.c --- 2.6.9-rc3/arch/ppc64/mm/hash_utils.c~p00022_G2-nonlinear-ppc64-dave-hmore 2004-10-01 14:45:11.000000000 -0500 +++ 2.6.9-rc3-jschopp/arch/ppc64/mm/hash_utils.c 2004-10-01 14:45:11.000000000 -0500 @@ -90,7 +90,7 @@ static inline void loop_forever(void) } #ifdef CONFIG_PPC_MULTIPLATFORM -static inline void create_pte_mapping(unsigned long start, unsigned long end, +inline void create_pte_mapping(unsigned long start, unsigned long end, unsigned long mode, int large) { unsigned long addr; @@ -126,12 +126,12 @@ static inline void create_pte_mapping(un #ifdef CONFIG_PPC_PSERIES if (systemcfg->platform & PLATFORM_LPAR) ret = pSeries_lpar_hpte_insert(hpteg, va, - virt_to_abs(addr) >> PAGE_SHIFT, + virt_to_abs((void*)addr) >> PAGE_SHIFT, abs_page_nr, mode, 1, large); else #endif /* CONFIG_PPC_PSERIES */ ret = native_hpte_insert(hpteg, va, - virt_to_abs(addr) >> PAGE_SHIFT, + virt_to_abs((void*)addr) >> PAGE_SHIFT, abs_page_nr, mode, 1, large); if (ret == -1) { diff -puN arch/ppc64/xmon/xmon.c~p00022_G2-nonlinear-ppc64-dave-hmore arch/ppc64/xmon/xmon.c --- 2.6.9-rc3/arch/ppc64/xmon/xmon.c~p00022_G2-nonlinear-ppc64-dave-hmore 2004-10-01 14:45:11.000000000 -0500 +++ 2.6.9-rc3-jschopp/arch/ppc64/xmon/xmon.c 2004-10-01 14:45:11.000000000 -0500 @@ -272,7 +272,7 @@ static inline void disable_surveillance( args.args[0] = SURVEILLANCE_TOKEN; args.args[1] = 0; args.args[2] = 0; - enter_rtas(__pa(&args)); + enter_rtas(__boot_pa(&args)); #endif /* CONFIG_PPC_PSERIES */ } diff -puN arch/ppc64/kernel/u3_iommu.c~p00022_G2-nonlinear-ppc64-dave-hmore arch/ppc64/kernel/u3_iommu.c --- 2.6.9-rc3/arch/ppc64/kernel/u3_iommu.c~p00022_G2-nonlinear-ppc64-dave-hmore 2004-10-01 14:45:11.000000000 -0500 +++ 2.6.9-rc3-jschopp/arch/ppc64/kernel/u3_iommu.c 2004-10-01 14:45:11.000000000 -0500 @@ -315,7 +315,6 @@ void __init alloc_u3_dart_table(void) * will blow up an entire large page anyway in the kernel mapping */ dart_tablebase = (unsigned long) - abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); - + boot_abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); printk(KERN_INFO "U3-DART allocated at: %lx\n", dart_tablebase); } _