mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
migration: Hack to maintain backwards compatibility for ppc
Current code does: - register pre_2_10_vmstate_dummy_icp with "icp/server" and instance dependinfg on cpu number - for newer machines, it register vmstate_icp with "icp/server" name and instance 0 - now it unregisters "icp/server" for the 1st instance. This is wrong at many levels: - we shouldn't have two VMSTATEDescriptions with the same name - In case this is the only solution that we can came with, it needs to be: * register pre_2_10_vmstate_dummy_icp * unregister pre_2_10_vmstate_dummy_icp * register real vmstate_icp Created vmstate_replace_hack_for_ppc() with warnings left and right that it is a hack. CC: Cedric Le Goater <clg@kaod.org> CC: Daniel Henrique Barboza <danielhb413@gmail.com> CC: David Gibson <david@gibson.dropbear.id.au> CC: Greg Kurz <groug@kaod.org> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231020090731.28701-8-quintela@redhat.com>
This commit is contained in:
parent
b23db4cd82
commit
485fb95546
4 changed files with 68 additions and 4 deletions
|
@ -846,6 +846,24 @@ static void vmstate_check(const VMStateDescription *vmsd)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* See comment in hw/intc/xics.c:icp_realize()
|
||||
*
|
||||
* This function can be removed when
|
||||
* pre_2_10_vmstate_register_dummy_icp() is removed.
|
||||
*/
|
||||
int vmstate_replace_hack_for_ppc(VMStateIf *obj, int instance_id,
|
||||
const VMStateDescription *vmsd,
|
||||
void *opaque)
|
||||
{
|
||||
SaveStateEntry *se = find_se(vmsd->name, instance_id);
|
||||
|
||||
if (se) {
|
||||
savevm_state_handler_remove(se);
|
||||
}
|
||||
return vmstate_register(obj, instance_id, vmsd, opaque);
|
||||
}
|
||||
|
||||
int vmstate_register_with_alias_id(VMStateIf *obj, uint32_t instance_id,
|
||||
const VMStateDescription *vmsd,
|
||||
void *opaque, int alias_id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue