xics: Explicitely call KVM ICS methods from the common code

The pre_save(), post_load() and synchronize_state() methods of the
ICSStateClass type are really KVM only things. Make that obvious
by dropping the indirections and directly calling the KVM functions
instead.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <155023081817.1011724.14078777320394028836.stgit@bahia.lan>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Greg Kurz 2019-02-15 12:40:18 +01:00 committed by David Gibson
parent 8c1ced677d
commit d80b2ccfa7
3 changed files with 18 additions and 24 deletions

View file

@ -109,12 +109,9 @@ struct ICSStateClass {
DeviceRealize parent_realize;
DeviceReset parent_reset;
void (*pre_save)(ICSState *s);
int (*post_load)(ICSState *s, int version_id);
void (*reject)(ICSState *s, uint32_t irq);
void (*resend)(ICSState *s);
void (*eoi)(ICSState *s, uint32_t irq);
void (*synchronize_state)(ICSState *s);
};
struct ICSState {
@ -201,4 +198,8 @@ int icp_set_kvm_state(ICPState *icp);
void icp_synchronize_state(ICPState *icp);
void icp_kvm_realize(DeviceState *dev, Error **errp);
void ics_get_kvm_state(ICSState *ics);
int ics_set_kvm_state(ICSState *ics);
void ics_synchronize_state(ICSState *ics);
#endif /* XICS_H */