[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
openbios wrongly considers e300 core as a 64 bits CPU
From: |
Christophe Leroy |
Subject: |
openbios wrongly considers e300 core as a 64 bits CPU |
Date: |
Thu, 20 Jan 2022 08:23:53 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 |
Hello,
I have encountered a problem with Openbios while trying to run it under
QEMU for a e300 CPU.
openbios replaces rfi by rfid on e300 processors, leading to program
check exception.
Following function seems wrong, the pvr for CPUs with e300 core are
inside the range
static int is_ppc64(void)
{
#ifdef __powerpc64__
return 1;
#elif defined(CONFIG_PPC_64BITSUPPORT)
unsigned int pvr = mfpvr();
return ((pvr >= 0x330000) && (pvr < 0x70330000));
#else
return 0;
#endif
}
$ qemu-system-ppc -cpu help | grep -e mpc83 -e e300
PowerPC mpc8343 PVR 00830010
PowerPC mpc8349a PVR 00830010
PowerPC mpc8347at PVR 00830010
PowerPC mpc8347a (alias for mpc8347at)
PowerPC e300c1 PVR 00830010
PowerPC mpc8343ea PVR 00830010
PowerPC mpc8349e PVR 00830010
PowerPC mpc8347ep PVR 00830010
PowerPC mpc8347p PVR 00830010
PowerPC mpc8347eap PVR 00830010
PowerPC mpc8349 PVR 00830010
PowerPC mpc8347et PVR 00830010
PowerPC mpc8347e (alias for mpc8347et)
PowerPC mpc8347t PVR 00830010
PowerPC mpc8347 (alias for mpc8347t)
PowerPC mpc8343a PVR 00830010
PowerPC mpc8347eat PVR 00830010
PowerPC mpc8347ea (alias for mpc8347eat)
PowerPC mpc8347ap PVR 00830010
PowerPC mpc8349ea PVR 00830010
PowerPC mpc8343e PVR 00830010
PowerPC e300c2 PVR 00840010
PowerPC e300c3 PVR 00850010
PowerPC e300 (alias for e300c3)
PowerPC mpc8379e PVR 00860010
PowerPC e300c4 PVR 00860010
PowerPC mpc8377e PVR 00860010
PowerPC mpc8377 PVR 00860010
PowerPC mpc8378 PVR 00860010
PowerPC mpc8379 PVR 00860010
PowerPC mpc8378e PVR 00860010
Christophe
- openbios wrongly considers e300 core as a 64 bits CPU,
Christophe Leroy <=