Commit ed44a565 authored by Martin J. Bligh's avatar Martin J. Bligh Committed by Linus Torvalds

[PATCH] NUMA-Q relocate early ioremap

This moves the early ioremap call to after cpu_online_map is initialized.
Note everything is wrapped in clustered_apic_mode, so should be safe.
parent a3fa31f1
...@@ -968,16 +968,6 @@ static void __init smp_boot_cpus(unsigned int max_cpus) ...@@ -968,16 +968,6 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
{ {
int apicid, cpu, bit; int apicid, cpu, bit;
if (clustered_apic_mode && (numnodes > 1)) {
printk("Remapping cross-quad port I/O for %d quads\n",
numnodes);
printk("xquad_portio vaddr 0x%08lx, len %08lx\n",
(u_long) xquad_portio,
(u_long) numnodes * XQUAD_PORTIO_LEN);
xquad_portio = ioremap (XQUAD_PORTIO_BASE,
numnodes * XQUAD_PORTIO_LEN);
}
#ifdef CONFIG_MTRR #ifdef CONFIG_MTRR
/* Must be done before other processors booted */ /* Must be done before other processors booted */
mtrr_init_boot_cpu (); mtrr_init_boot_cpu ();
...@@ -1076,6 +1066,16 @@ static void __init smp_boot_cpus(unsigned int max_cpus) ...@@ -1076,6 +1066,16 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
if (GET_APIC_ID(apic_read(APIC_ID)) != boot_cpu_physical_apicid) if (GET_APIC_ID(apic_read(APIC_ID)) != boot_cpu_physical_apicid)
BUG(); BUG();
if (clustered_apic_mode && (numnodes > 1)) {
printk("Remapping cross-quad port I/O for %d quads\n",
numnodes);
printk("xquad_portio vaddr 0x%08lx, len %08lx\n",
(u_long) xquad_portio,
(u_long) numnodes * XQUAD_PORTIO_LEN);
xquad_portio = ioremap (XQUAD_PORTIO_BASE,
numnodes * XQUAD_PORTIO_LEN);
}
/* /*
* Scan the CPU present map and fire up the other CPUs via do_boot_cpu * Scan the CPU present map and fire up the other CPUs via do_boot_cpu
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment