target-ppc: Fix CPU_POWERPC_MPC8547E

It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21.
Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show.

Fixing this nontheless helps with QOM'ifying CPU aliases.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Fix "G2leGP3" PVR

Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the
"G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR.

Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to
"G2leGP3".

Cc: qemu-stable@nongnu.org
Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Introduce unrealizefn for PowerPCCPU

Use it to clean up the opcode table, resolving a former TODO from Jocelyn.
Also switch from malloc() to g_malloc().

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Inline comma into POWERPC_DEF_SVR() macro

To repurpose the POWERPC_DEF_SVR() macro outside of an array,
move the comma into the macro. No functional change.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract aliases from definitions list

Move definitions that were 100% identical except for the name into a
list of aliases so that we don't register duplicate CPU types.

We need to support recursive lookup due to code names referencing a
generic name referencing a specific model revision.

List aliases separately for -cpu ?.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Make -cpu "ppc" an alias to "ppc32"

Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64.
If we ever want to change it, we can more easily do so now.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract MPC5xx aliases

Their PVR differed but was defined to MPC5xx.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract MPC8xx as aliases

They used different PVRs but were defined to MPC8xx.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 40x aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 440 aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract ppc32 and ppc64 CPUs as aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x7[A] aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x5 as aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x1 aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract alias for 7450

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 7448 alias

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 7410 alias

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: 7400

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: 7x5

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: 750L

Signed-off-by: Andreas Färber <afaerber@suse.de>