pseries: Add cleanup hook for PAPR virtual LAN device

Currently the spapr-vlan device does not supply a cleanup call for its
NetClientInfo structure.  With current qemu versions, that leads to a SEGV
on exit, when net_cleanup() attempts to call the cleanup handlers on all
net clients.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
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>
Signed-off-by: Alexander Graf <agraf@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: 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 MGT823/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: Turn "ppc32" and "ppc64" CPUs into 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 7450 alias

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: Extract 7400 alias

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

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

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