mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-17 09:43:59 +08:00
[POWERPC] 4xx: Use virtual PVR value to init FPU on arch/ppc 440EP
This fixes arch/ppc 440EP platforms to setup the FPU correctly. A virtual PVR is used, as 440GR platforms share an identical hardware PVR value and do not have an FPU. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
This commit is contained in:
parent
b8b799a497
commit
3d1d662ef4
@ -312,7 +312,14 @@ early_init(int r3, int r4, int r5)
|
|||||||
* Identify the CPU type and fix up code sections
|
* Identify the CPU type and fix up code sections
|
||||||
* that depend on which cpu we have.
|
* that depend on which cpu we have.
|
||||||
*/
|
*/
|
||||||
|
#if defined(CONFIG_440EP) && defined(CONFIG_PPC_FPU)
|
||||||
|
/* We pass the virtual PVR here for 440EP as 440EP and 440GR have
|
||||||
|
* identical PVRs and there is no reliable way to check for the FPU
|
||||||
|
*/
|
||||||
|
spec = identify_cpu(offset, (mfspr(SPRN_PVR) | 0x8));
|
||||||
|
#else
|
||||||
spec = identify_cpu(offset, mfspr(SPRN_PVR));
|
spec = identify_cpu(offset, mfspr(SPRN_PVR));
|
||||||
|
#endif
|
||||||
do_feature_fixups(spec->cpu_features,
|
do_feature_fixups(spec->cpu_features,
|
||||||
PTRRELOC(&__start___ftr_fixup),
|
PTRRELOC(&__start___ftr_fixup),
|
||||||
PTRRELOC(&__stop___ftr_fixup));
|
PTRRELOC(&__stop___ftr_fixup));
|
||||||
|
Loading…
Reference in New Issue
Block a user