patch-2.3.25 linux/arch/i386/kernel/smpboot.c

Next file: linux/arch/i386/lib/mmx.c
Previous file: linux/arch/i386/kernel/process.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.24/linux/arch/i386/kernel/smpboot.c linux/arch/i386/kernel/smpboot.c
@@ -821,8 +821,9 @@
 		 * could use the real zero-page, but it's safer
 		 * this way if some buggy code writes to this page ...
 		 */
-		apic_phys = __pa(alloc_bootmem_pages(PAGE_SIZE));
+		apic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE);
 		memset((void *)apic_phys, 0, PAGE_SIZE);
+		apic_phys = __pa(apic_phys);
 	}
 	set_fixmap(FIX_APIC_BASE, apic_phys);
 	dprintk("mapped APIC to %08lx (%08lx)\n", APIC_BASE, apic_phys);
@@ -836,8 +837,9 @@
 			if (smp_found_config) {
 				ioapic_phys = mp_ioapics[i].mpc_apicaddr;
 			} else {
-				ioapic_phys = __pa(alloc_bootmem_pages(PAGE_SIZE));
+				ioapic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE);
 				memset((void *)ioapic_phys, 0, PAGE_SIZE);
+				ioapic_phys = __pa(ioapic_phys);
 			}
 			set_fixmap(idx,ioapic_phys);
 			dprintk("mapped IOAPIC to %08lx (%08lx)\n",

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)