From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Gavin Shan <gwshan@linux.vnet.ibm.com>,
David Gibson <david@gibson.dropbear.id.au>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 2/3] sPAPR: Support RTAS call ibm, {open, close}-errinjct
Date: Tue, 11 Aug 2015 11:54:08 +1000 [thread overview]
Message-ID: <55C955C0.4070709@ozlabs.ru> (raw)
In-Reply-To: <20150811005713.GA21087@gwshan>
On 08/11/2015 10:57 AM, Gavin Shan wrote:
> On Mon, Aug 10, 2015 at 10:24:56PM +1000, David Gibson wrote:
>> On Fri, Aug 07, 2015 at 01:33:32PM +1000, Gavin Shan wrote:
>>> The patch supports RTAS calls "ibm,{open,close}-errinjct" to
>>> manupliate the token, which is passed to RTAS call "ibm,errinjct"
>>> to indicate the valid context for error injection. Each VM is
>>> permitted to have only one token at once and we simply have one
>>> random number for that.
>>>
>>> Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
>>> ---
>>> hw/ppc/spapr.c | 5 ++++
>>> hw/ppc/spapr_rtas.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
>>> include/hw/ppc/spapr.h | 10 +++++++-
>>> 3 files changed, 80 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>>> index dfd808f..1ebd0b2 100644
>>> --- a/hw/ppc/spapr.c
>>> +++ b/hw/ppc/spapr.c
>>> @@ -1225,6 +1225,11 @@ static const VMStateDescription vmstate_spapr = {
>>> VMSTATE_UINT64_TEST(rtc_offset, sPAPRMachineState, version_before_3),
>>>
>>> VMSTATE_PPC_TIMEBASE_V(tb, sPAPRMachineState, 2),
>>> +
>>> + /* Error injection token */
>>> + VMSTATE_BOOL(is_errinjct_opened, sPAPRMachineState),
>>> + VMSTATE_UINT32(errinjct_next_token, sPAPRMachineState),
>>
>> Because you're adding fields to the vmstate you'll need to define a
>> new version number and make these fields only considered in the new
>> version.
>>
>
> Agree, do we have an example for me to refer to?
Technically it is enough to send a token which is "not opened" when it is
zero. The chunk below demonstrates versions use.
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index e046265..e568d41 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1213,17 +1213,21 @@ static bool version_before_3(void *opaque, int
version_id)
static const VMStateDescription vmstate_spapr = {
.name = "spapr",
- .version_id = 3,
+ .version_id = 4,
.minimum_version_id = 1,
.post_load = spapr_post_load,
.fields = (VMStateField[]) {
/* used to be @next_irq */
VMSTATE_UNUSED_BUFFER(version_before_3, 0, 4),
+
/* RTC offset */
VMSTATE_UINT64_TEST(rtc_offset, sPAPRMachineState, version_before_3),
VMSTATE_PPC_TIMEBASE_V(tb, sPAPRMachineState, 2),
+
+ /* Error injection token */
+ VMSTATE_UINT32_V(errinjct_next_token, sPAPRMachineState, 4),
VMSTATE_END_OF_LIST()
},
};
>> Technically you only need to transfer whether the token is open, and
>> *if* it is open the current token value. Not sure if it's worth
>> restricting to that though.
>>
>
> It would be fine to transfer the token even it's closed, I think.
--
Alexey
next prev parent reply other threads:[~2015-08-11 1:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 3:33 [Qemu-devel] [PATCH v3 0/3] sPAPR: Support EEH Error Injection Gavin Shan
2015-08-07 3:33 ` [Qemu-devel] [PATCH v3 1/3] linux-headers: Add eeh.h Gavin Shan
2015-08-07 3:33 ` [Qemu-devel] [PATCH v3 2/3] sPAPR: Support RTAS call ibm, {open, close}-errinjct Gavin Shan
2015-08-07 16:04 ` Alexey Kardashevskiy
2015-08-09 12:08 ` Gavin Shan
2015-08-10 12:24 ` David Gibson
2015-08-11 0:57 ` Gavin Shan
2015-08-11 1:54 ` Alexey Kardashevskiy [this message]
2015-08-13 1:00 ` Gavin Shan
2015-08-07 3:33 ` [Qemu-devel] [PATCH v3 3/3] sPAPR: Support RTAS call ibm,errinjct Gavin Shan
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=55C955C0.4070709@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=gwshan@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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.