[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 08/22] ppc/xics: use the QOM inter
From: |
Cédric Le Goater |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 08/22] ppc/xics: use the QOM interface to resend irqs |
Date: |
Fri, 24 Feb 2017 18:34:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
>>> @@ -592,10 +593,11 @@ static void ics_simple_reset(DeviceState *dev)
>>>
>>> static int ics_simple_post_load(ICSState *ics, int version_id)
>>> {
>>> + XICSInterface *xi = XICS_INTERFACE(qdev_get_machine());
>>> int i;
>>>
>>> for (i = 0; i < ics->xics->nr_servers; i++) {
>>> - icp_resend(&ics->xics->ss[i]);
>>> + icp_resend(xi, &ics->xics->ss[i]);
>>> }
>>
>> This resend triggering needs to get moved to the xics interface
>> implementor - i.e. the machine. It's actually already broken right
>> now, since it incorrectly relies on the ordering of the ics and icp
>> restore during migration.
>
> I'm adding a icp_resend() handler in patch 12 and using it patch 14.
> Maybe we can move the post_load() handler out of ICS simple now ?
Could you give me a little more info on what should be done ? I lack
context on this problem.
So should we call :
ICPState *ss = opaque;
ICPStateClass *info = ICP_GET_CLASS(ss);
if (info->post_load) {
return info->post_load(ss, version_id);
}
and then
ICSState *ics = opaque;
ICSStateClass *info = ICS_BASE_GET_CLASS(ics);
if (info->post_load) {
return info->post_load(ics, version_id);
}
from spapr_post_load() ?
Thanks,
C.
- [Qemu-devel] [PATCH v2 05/22] ppc/xics: introduce a QOM interface to handle ICSs, (continued)
[Qemu-devel] [PATCH v2 09/22] ppc/xics: remove xics_find_source(), Cédric Le Goater, 2017/02/16
[Qemu-devel] [PATCH v2 10/22] ppc/xics: register the reset handler of ICS objects, Cédric Le Goater, 2017/02/16
[Qemu-devel] [PATCH v2 11/22] ppc/xics: remove the XICS list of ICS, Cédric Le Goater, 2017/02/16