From: Juan Quintela <quintela@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Igor Mitsyanko" <i.mitsyanko@samsung.com>,
e.voevodin@samsung.com, qemu-devel@nongnu.org,
kyungmin.park@samsung.com, d.solodkiy@samsung.com,
anthony@codemonkey.ws, m.kozlov@samsung.com,
"Andreas Färber" <afaerber@suse.de>,
"Paul Brook" <paul@codesourcery.com>
Subject: Re: [Qemu-devel] [PATCH 0/5] VMState cleanups
Date: Thu, 23 Feb 2012 14:52:42 +0100 [thread overview]
Message-ID: <87d395u05x.fsf@elfo.elfo> (raw)
In-Reply-To: <5AC8EC71-6172-4A54-8A8D-F84E2771DD1E@suse.de> (Alexander Graf's message of "Thu, 23 Feb 2012 00:41:22 +0100")
Alexander Graf <agraf@suse.de> wrote:
> On 22.02.2012, at 17:09, Peter Maydell wrote:
>
>> On 22 February 2012 16:04, Andreas Färber <afaerber@suse.de> wrote:
>>> Am 22.02.2012 16:42, schrieb Peter Maydell:
>>>> On 22 February 2012 15:37, Andreas Färber <afaerber@suse.de> wrote:
>>>>> NB: Your cpu-vmstate patches were not applied so far and they appear to
>>>>> conflict with the plans we've made for redesigning cp15 on ARM: We want
>>>>> to convert today's static fields to some list and were hoping to have a
>>>>> mapping function for backwards compatibility. That works easiest in
>>>>> imperative code.
>>>>
>>>> I thought the idea for cp15 for vmstate was (like ppc) to basically
>>>> have a uint32_t cp15_regs[512] which we save/load the whole of, and
>>>> then the mapping function just assigns semantics to some subset
>>>> of that array? vmstate can do a plain array without problems.
>>>
>>> I thought we had concluded that the (3+3+4+4)² or so registers were too
>>> large for that so that Alex suggested to leave the old load/save in
>>> place (but getting/setting through a mapping function) and dynamically
>>> appending only the new cp15 registers we don't have fields for yet when
>>> some arrive. Or so I've understood.
>>
>> So what I thought Alex was suggesting was to nuke the existing
>> save/load, and instead we have this generic array. All the
>> current env->cp15.c1_scr &co turn from being uint32_t to uint32_t*,
>> and there's an init function per CPU which maps those to point at
>> slots in the cp15_regs[] array. Indexes into cp15_regs[] are
>> just arbitrary (though they can't change for a particular CPU
>> variant or you'd break migration).
>
> Yup. A nice side effect of this is that you have a known-small size of
> cp15_regs[]. But I suggested a lot of things during that discussion,
> so I quite frankly don't remember if that was the conclusion or just
> one idea ;)
I have to search that discussion, but I would like to send things as:
{ register_name, register value} array, otherwise inter-version
migration is just impossible (or very painful, that is similar).
Notice that this would also be very useful for x86 and MSR's. Just now
we send every MSR ad-hock with a new position.
Later, Juan.
next prev parent reply other threads:[~2012-02-23 13:53 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-22 10:15 [Qemu-devel] [PATCH 0/5] VMState cleanups Igor Mitsyanko
2012-02-22 10:15 ` [Qemu-devel] [PATCH 1/5] target-alpha/machine.c: use VMSTATE_UINT64* instead of VMSTATE_UINTTL* Igor Mitsyanko
2012-02-22 11:19 ` Peter Maydell
2012-02-22 13:49 ` Juan Quintela
2012-02-22 10:15 ` [Qemu-devel] [PATCH 2/5] hw/pxa2xx_dma.c: drop VMSTATE_UINTTL usage Igor Mitsyanko
2012-02-22 11:06 ` Peter Maydell
2012-02-22 13:47 ` Juan Quintela
2012-02-22 13:52 ` Peter Maydell
2012-02-22 14:05 ` Juan Quintela
2012-02-22 10:15 ` [Qemu-devel] [PATCH 3/5] hw/pxa2xx_lcd.c: " Igor Mitsyanko
2012-02-22 11:07 ` Peter Maydell
2012-02-22 11:36 ` andrzej zaborowski
2012-02-22 12:00 ` Peter Maydell
2012-02-22 12:13 ` andrzej zaborowski
2012-02-22 12:48 ` Peter Maydell
2012-02-22 12:56 ` andrzej zaborowski
2012-02-22 13:32 ` Mitsyanko Igor
2012-02-22 13:56 ` Juan Quintela
2012-02-22 12:26 ` Mitsyanko Igor
2012-02-22 12:48 ` andrzej zaborowski
2012-02-22 13:30 ` Mitsyanko Igor
2012-02-22 10:15 ` [Qemu-devel] [PATCH 4/5] vmstate: refactor and move VMSTATE_UINTTL* macro Igor Mitsyanko
2012-02-22 14:00 ` Juan Quintela
2012-02-22 10:15 ` [Qemu-devel] [PATCH 5/5] vmstate: introduce get_bufsize entry in VMStateField Igor Mitsyanko
2012-02-22 11:26 ` [Qemu-devel] [PATCH 0/5] VMState cleanups Peter Maydell
2012-02-22 12:01 ` Mitsyanko Igor
2012-02-22 12:49 ` Andreas Färber
2012-02-22 12:50 ` Peter Maydell
2012-02-22 14:02 ` Juan Quintela
2012-02-22 15:37 ` Andreas Färber
2012-02-22 15:42 ` Peter Maydell
2012-02-22 16:04 ` Andreas Färber
2012-02-22 16:09 ` Peter Maydell
2012-02-22 23:41 ` Alexander Graf
2012-02-23 13:52 ` Juan Quintela [this message]
2012-02-22 12:06 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d395u05x.fsf@elfo.elfo \
--to=quintela@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=anthony@codemonkey.ws \
--cc=d.solodkiy@samsung.com \
--cc=e.voevodin@samsung.com \
--cc=i.mitsyanko@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=m.kozlov@samsung.com \
--cc=paul@codesourcery.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.