[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] cpu_possible_map
This hasn't hit us in xenppc-unstable because we're downlevel, but here's what I committed in the merge tree: diff -r 030a041bbe90 xen/arch/powerpc/boot_of.c --- a/xen/arch/powerpc/boot_of.c Tue Aug 29 06:53:58 2006 -0400 +++ b/xen/arch/powerpc/boot_of.c Tue Aug 29 17:45:56 2006 -0500 @@ -993,6 +993,7 @@ static int __init boot_of_cpus(void) /* We want a continuous logical cpu number space. */ cpu_set(0, cpu_present_map); cpu_set(0, cpu_online_map); + cpu_set(0, cpu_possible_map); /* Spin up all CPUS, even if there are more than NR_CPUS, because * Open Firmware has them spinning on cache lines which will @@ -1039,8 +1040,10 @@ static int __init boot_of_cpus(void) } while (pong == ping); of_printf("pong = 0x%x\n", pong); - if (pong != ping) + if (pong != ping) { cpu_set(logical, cpu_present_map); + cpu_set(logical, cpu_possible_map); + } cpu = of_getpeer(cpu); } diff -r 030a041bbe90 xen/arch/powerpc/setup.c --- a/xen/arch/powerpc/setup.c Tue Aug 29 06:53:58 2006 -0400 +++ b/xen/arch/powerpc/setup.c Tue Aug 29 17:45:37 2006 -0500 @@ -74,6 +74,7 @@ cpumask_t cpu_sibling_map[NR_CPUS] __rea cpumask_t cpu_sibling_map[NR_CPUS] __read_mostly; cpumask_t cpu_online_map; /* missing ifdef in schedule.c */ cpumask_t cpu_present_map; +cpumask_t cpu_possible_map; /* XXX get this from ISA node in device tree */ ulong isa_io_base; @@ -254,6 +255,7 @@ static int kick_secondary_cpus(int maxcp break; init_parea(cpuid); cpu_set(cpuid, cpu_online_map); + cpu_set(cpuid, cpu_possible_map); } return 0; I'm actually not sure why we need to set secondary cpus in 'possible' in both kick_secondary_cpus() and boot_of_cpus(), but this gets me booting. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |