• Valentine Barshak's avatar
    [POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue. · d1dfc35d
    Valentine Barshak authored
    PowerPC 440EP(x) 440GR(x) processors have the same PVR values, since
    they have identical cores. However, FPU is not supported on GR(x) and
    enabling APU instruction broadcast in the CCR0 register (to enable FPU)
    may cause unpredictable results. There's no safe way to detect FPU
    support at runtime. This patch provides a workarund for the issue.
    
    We use a POWER6 "logical PVR approach". First, we identify all EP(x)
    and GR(x) processors as GR(x) ones (which is safe). Then we check
    the device tree cpu path. If we have a EP(x) processor entry,
    we call identify_cpu again with PVR | 0x8. This bit is always 0
    in the real PVR. This way we enable FPU only for 440EP(x).
    Signed-off-by: default avatarValentine Barshak <vbarshak@ru.mvista.com>
    Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
    d1dfc35d
cputable.c 39.7 KB