diff options
| author | Wolfgang Denk <wd@denx.de> | 2010-08-07 22:33:06 +0200 |
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-08-07 22:33:06 +0200 |
| commit | 3df4f46f3209c067dcadc969ed02d27c97fa3632 (patch) | |
| tree | 4639307e5e9120b0c80c62da8376be3e406e84fb /arch/powerpc/cpu/mpc8xxx/cpu.c | |
| parent | 9efac4a1eb99d9c5539aa6992025eeacab7980c6 (diff) | |
| parent | c519facc645812c6d174c2d5b60241d23e285642 (diff) | |
| download | olio-uboot-2014.01-3df4f46f3209c067dcadc969ed02d27c97fa3632.tar.xz olio-uboot-2014.01-3df4f46f3209c067dcadc969ed02d27c97fa3632.zip | |
Merge branch 'master' of /home/wd/git/u-boot/master
Diffstat (limited to 'arch/powerpc/cpu/mpc8xxx/cpu.c')
| -rw-r--r-- | arch/powerpc/cpu/mpc8xxx/cpu.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c index dc3da1689..97a94f4cd 100644 --- a/arch/powerpc/cpu/mpc8xxx/cpu.c +++ b/arch/powerpc/cpu/mpc8xxx/cpu.c @@ -110,8 +110,14 @@ struct cpu_type *identify_cpu(u32 ver) } int cpu_numcores() { - struct cpu_type *cpu; - cpu = gd->cpu; + ccsr_pic_t __iomem *pic = (void *)CONFIG_SYS_MPC85xx_PIC_ADDR; + struct cpu_type *cpu = gd->cpu; + + /* better to query feature reporting register than just assume 1 */ + if (cpu == &cpu_type_unknown) + return ((in_be32(&pic->frr) & MPC85xx_PICFRR_NCPU_MASK) >> + MPC85xx_PICFRR_NCPU_SHIFT) + 1; + return cpu->num_cores; } |