All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Auger Eric <eric.auger@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	Christoffer Dall <cdall@linaro.org>,
	drjones@redhat.com, kvm@vger.kernel.org, quintela@redhat.com,
	peter.maydell@linaro.org, andre.przywara@arm.com,
	dgilbert@redhat.com, Vijaya.Kumar@cavium.com,
	vijayak@caviumnetworks.com, pbonzini@redhat.com,
	Prasun.Kapoor@cavium.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org, eric.auger.pro@gmail.com
Subject: Re: [PATCH v5 01/22] KVM: arm/arm64: Add ITS save/restore API documentation
Date: Thu, 27 Apr 2017 10:27:04 -0700	[thread overview]
Message-ID: <20170427172704.GA56467@lvm> (raw)
In-Reply-To: <6227482e-1ef6-bb5f-156c-2a8e522f1a20@redhat.com>

On Thu, Apr 27, 2017 at 07:14:29PM +0200, Auger Eric wrote:
> Hi Marc, Christoffer,
> 
> On 27/04/2017 18:23, Marc Zyngier wrote:
> > On 27/04/17 16:29, Auger Eric wrote:
> >>
> >>
> >> On 27/04/2017 16:45, Christoffer Dall wrote:
> >>> Hi Eric,
> >>>
> >>> On Thu, Apr 27, 2017 at 02:51:00PM +0200, Auger Eric wrote:
> >>>> On 27/04/2017 13:02, Christoffer Dall wrote:
> >>>>> On Thu, Apr 27, 2017 at 11:33:39AM +0200, Auger Eric wrote:
> >>>>>> On 27/04/2017 10:57, Christoffer Dall wrote:
> >>>>>>> On Wed, Apr 26, 2017 at 05:48:32PM +0200, Auger Eric wrote:
> >>>>>>>> On 26/04/2017 14:31, Christoffer Dall wrote:
> >>>>>>>>> On Fri, Apr 14, 2017 at 12:15:13PM +0200, Eric Auger wrote:
> >>>>>>>>>> Add description for how to access ITS registers and how to save/restore
> >>>>>>>>>> ITS tables into/from memory.
> >>>>>>>>>>
> >>>>>>>>>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> >>>>>>>>>>
> >>>>>>>>>> ---
> >>>>>>>>>> v4 -> v5:
> >>>>>>>>>> - take into account Christoffer's comments
> >>>>>>>>>> - pending table save on GICV3 side now
> >>>>>>>>>>
> >>>>>>>>>> v3 -> v4:
> >>>>>>>>>> - take into account Peter's comments:
> >>>>>>>>>>   - typos
> >>>>>>>>>>   - KVM_DEV_ARM_VGIC_GRP_ITS_TABLES kvm_device_attr = 0
> >>>>>>>>>>   - add a validity bit in DTE
> >>>>>>>>>>   - document all fields in CTE and ITE
> >>>>>>>>>>   - document ABI revision
> >>>>>>>>>> - take into account Andre's comments:
> >>>>>>>>>>   - document restrictions about GITS_CREADR writing and GITS_IIDR
> >>>>>>>>>>   - document -EBUSY error if one or more VCPUS are runnning
> >>>>>>>>>>   - document 64b registers only can be accessed with 64b access
> >>>>>>>>>> - itt_addr field matches bits [51:8] of the itt_addr
> >>>>>>>>>>
> >>>>>>>>>> v1 -> v2:
> >>>>>>>>>> - DTE and ITE now are 8 bytes
> >>>>>>>>>> - DTE and ITE now indexed by deviceid/eventid
> >>>>>>>>>> - use ITE name instead of ITTE
> >>>>>>>>>> - mentions ITT_addr matches bits [51:8] of the actual address
> >>>>>>>>>> - mentions LE layout
> >>>>>>>>>> ---
> >>>>>>>>>>  Documentation/virtual/kvm/devices/arm-vgic-its.txt | 99 ++++++++++++++++++++++
> >>>>>>>>>>  1 file changed, 99 insertions(+)
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/Documentation/virtual/kvm/devices/arm-vgic-its.txt b/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> index 6081a5b..b5f010d 100644
> >>>>>>>>>> --- a/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> +++ b/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> @@ -32,7 +32,106 @@ Groups:
> >>>>>>>>>>      KVM_DEV_ARM_VGIC_CTRL_INIT
> >>>>>>>>>>        request the initialization of the ITS, no additional parameter in
> >>>>>>>>>>        kvm_device_attr.addr.
> >>>>>>>>>> +
> >>>>>>>>>> +    KVM_DEV_ARM_ITS_SAVE_TABLES
> >>>>>>>>>> +      save the ITS table data into guest RAM, at the location provisioned
> >>>>>>>>>> +      by the guest in corresponding registers/table entries.
> >>>>>>>>>> +
> >>>>>>>>>> +      The layout of the tables in guest memory defines an ABI. The entries
> >>>>>>>>>> +      are laid out in little endian format as described in the last paragraph.
> >>>>>>>>>> +
> >>>>>>>>>> +    KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>>>>>> +      restore the ITS tables from guest RAM to ITS internal structures.
> >>>>>>>>>> +
> >>>>>>>>>> +      The GICV3 must be restored before the ITS and all ITS registers but
> >>>>>>>>>> +      the GITS_CTLR must be restored before restoring the ITS tables.
> >>>>>>>>>> +
> >>>>>>>>>> +      The GITS_IIDR read-only register must also be restored before
> >>>>>>>>>> +      the table restore as the IIDR revision field encodes the ABI revision.
> >>>>>>>>>> +
> >>>>>>>>>
> >>>>>>>>> what is the expected sequence of operations.  For example, to restore
> >>>>>>>>> the ITS, do I call KVM_DEV_ARM_VGIC_CTRL_INIT first, then restore all
> >>>>>>>>> the memory and registers, and finally call KVM_DEV_ARM_ITS_RESTORE_TABLES?
> >>>>>>>> Yes KVM_DEV_ARM_VGIC_CTRL_INIT comes first, then restore all registers
> >>>>>>>> except GITS_CTLR, then table restore, then GITS_CTLR
> >>>>>>>>>
> >>>>>>>>> Is there any interaction between when you call KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>>>>> and restore GITS_CTLR (which enables the ITS)?
> >>>>>>>>
> >>>>>>>> Yep, when GITS_CTLR is set, LPIs may be enabled and this on that event
> >>>>>>>> that the pending table is read. But the whole pending table is not read
> >>>>>>>> as we only iterate on registered LPIs. So the ITT must have been
> >>>>>>>> restored previously.
> >>>>>>>>
> >>>>>>>> I became aware that the pending table sync is done twice, once in the
> >>>>>>>> pending table restore,  and once in the GITS_CTLR restore. So if we
> >>>>>>>> leave this order specification, I should be able to remove the sync on
> >>>>>>>> table restore. This was the original reason why GITS_CTLR restore has
> >>>>>>>> been done at the very end.
> >>>>>>>
> >>>>>>> I'm sorry, I'm a bit confused.  Do we not need
> >>>>>>> KVM_DEV_ARM_ITS_RESTORE_TABLES at all then?
> >>>>>>
> >>>>>> Yes you do. I was talking about the RDIST pending table sync. The save
> >>>>>> is explicit using GICV3 device KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES.
> >>>>>> However the sync is implicit on GITS_CTLR restore if LPIs are enabled.
> >>>>>> and today I do it also on ITS device KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>> which is not requested I think since GITS_CTLR restore does it already.
> >>>>>
> >>>>> Shouldn't restoring the pending tables happen when restoring some
> >>>>> redeistributor state and not anything related to the ITS?
> >>>>
> >>>> Marc wrote:
> >>>> "
> >>>> I don't think you necessarily need a coarse map. When restoring the ITS
> >>>> tables, you can always read the pending bit when creating the LPI
> >>>> structure (it has been written to RAM at save time). Note that we
> >>>> already do something like this in vgic_enable_lpis().
> >>>> "
> >>>>
> >>>> This is currently what is implemented I think. the pending tables are
> >>>> currently sync'ed on GITS_CTLR set (if LPI are enabled) + erroneously
> >>>> also on on ITS table restore
> >>>>
> >>>> The problematic is: Either you know in advance which LPI INTIDare used
> >>>> or you need to parse the whole pending table (possibly using the 1st kB
> >>>> as coarse mapping).
> >>>>
> >>>> If you don't know the LPI INTIDs in advance it is only possible to
> >>>> restore the pending bit of pending LPIs. At that time you would
> >>>> re-allocate those pending LPI (vgic_add_lpi) and when you restore the
> >>>> ITS ITT you would do the same for those which were not pending. Looks
> >>>> really heavy to me: coarse mapping + dual vgic_add_lpi path.
> >>>>
> >>>> Otherwise we would need to add another dependency between RDIST pending
> >>>> table restore and ITS table restore but this looks even more weird, no?
> >>>>
> >>>>
> >>> So I just sat down with Andre and Marc and we tried to work through this
> >>> and came up with the best scheme.  I apologize in advance for the
> >>> one-way nature of this e-mail, and I am of course open to discussing the
> >>> following proposal again if you do not agree.
> >>>
> >>> What I think this document should say, is that the following ordering
> >>> must be followed when restoring the GIC and the ITS:
> >>>
> >>>   First, restore all guest memory
> >>>
> >>>   Second, restore ALL redistributors
> >>>
> >>>   Third, restore the ITS, in the following order:
> >>>     1. Initialize the ITS (KVM_DEV_ARM_VGIC_CTRL_INIT)
> >>>     2. Restore GITS_CBASER
> >>>     3. Restore all other GITS_ registers, except GITS_CTLR!
> >>>     4. Load the ITS table data (KVM_DEV_ARM_ITS_RESTORE_TABLES)
> >>>     5. Restore GITS_CTLR
> >>>
> >>> The rationale is that we really want the redistributor and the ITS
> >>> restore to be independent and follow the architecture.  This means that
> >>> our ABI for the redistributor should still work without restoring an ITS
> >>> (if we ever decide to support LPIs for KVM without the ITS).
> >>
> >> OK. Note I already mentioned that GICv3 must be restored before the ITS.
> >> To me this comprised the RDIST.
> >>
> >> I understand the above description of the ordering comes in addition to
> >> the existing text, right? in other words I keep the GITS_READR,
> >> GITS_IIDR specific text as well as KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES
> >> section.
> >>
> >>>
> >>> In terms of our current implementation this means that vgic_add_lpi()
> >>> should ask the redistributor what the state of the LPI is (priority,
> >>> enabled, pending).
> >> this practically means I move update_lpi_config call from
> >> vgic_its_restore_ite to vgic_add_lpi(). OK
> >>
> >> However for getting the LPI pending state I must know which RDIST the
> >> LPI is attached to. This is not known at LPI allocation time. Do I
> >> misunderstand something?
> > 
> > Once you have rebuilt the ITS data structures and allocated the IRQ
> > structures, you should have a target_cpu field pointing to the right
> > vcpu. From there, you can surely find the corresponding redistributor
> > and the pending table.
> Yes that's understood but Christoffer said "vgic_add_lpi() should ask
> the redistributor what the state of the LPI is (priority,enabled,
> pending)." Fetching the properties is fine.
> 
> vgic_add_lpi() is called before update_affinity_ite() which uses
> ite->irq and sets the target_vcpu.
> 
> Well at least this requires some function reshape. I will investigate
> though.

Thanks.  If it looks impossible, let me know, and I can help having a
look at the code.

-Christoffer

WARNING: multiple messages have this Message-ID (diff)
From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 01/22] KVM: arm/arm64: Add ITS save/restore API documentation
Date: Thu, 27 Apr 2017 10:27:04 -0700	[thread overview]
Message-ID: <20170427172704.GA56467@lvm> (raw)
In-Reply-To: <6227482e-1ef6-bb5f-156c-2a8e522f1a20@redhat.com>

On Thu, Apr 27, 2017 at 07:14:29PM +0200, Auger Eric wrote:
> Hi Marc, Christoffer,
> 
> On 27/04/2017 18:23, Marc Zyngier wrote:
> > On 27/04/17 16:29, Auger Eric wrote:
> >>
> >>
> >> On 27/04/2017 16:45, Christoffer Dall wrote:
> >>> Hi Eric,
> >>>
> >>> On Thu, Apr 27, 2017 at 02:51:00PM +0200, Auger Eric wrote:
> >>>> On 27/04/2017 13:02, Christoffer Dall wrote:
> >>>>> On Thu, Apr 27, 2017 at 11:33:39AM +0200, Auger Eric wrote:
> >>>>>> On 27/04/2017 10:57, Christoffer Dall wrote:
> >>>>>>> On Wed, Apr 26, 2017 at 05:48:32PM +0200, Auger Eric wrote:
> >>>>>>>> On 26/04/2017 14:31, Christoffer Dall wrote:
> >>>>>>>>> On Fri, Apr 14, 2017 at 12:15:13PM +0200, Eric Auger wrote:
> >>>>>>>>>> Add description for how to access ITS registers and how to save/restore
> >>>>>>>>>> ITS tables into/from memory.
> >>>>>>>>>>
> >>>>>>>>>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> >>>>>>>>>>
> >>>>>>>>>> ---
> >>>>>>>>>> v4 -> v5:
> >>>>>>>>>> - take into account Christoffer's comments
> >>>>>>>>>> - pending table save on GICV3 side now
> >>>>>>>>>>
> >>>>>>>>>> v3 -> v4:
> >>>>>>>>>> - take into account Peter's comments:
> >>>>>>>>>>   - typos
> >>>>>>>>>>   - KVM_DEV_ARM_VGIC_GRP_ITS_TABLES kvm_device_attr = 0
> >>>>>>>>>>   - add a validity bit in DTE
> >>>>>>>>>>   - document all fields in CTE and ITE
> >>>>>>>>>>   - document ABI revision
> >>>>>>>>>> - take into account Andre's comments:
> >>>>>>>>>>   - document restrictions about GITS_CREADR writing and GITS_IIDR
> >>>>>>>>>>   - document -EBUSY error if one or more VCPUS are runnning
> >>>>>>>>>>   - document 64b registers only can be accessed with 64b access
> >>>>>>>>>> - itt_addr field matches bits [51:8] of the itt_addr
> >>>>>>>>>>
> >>>>>>>>>> v1 -> v2:
> >>>>>>>>>> - DTE and ITE now are 8 bytes
> >>>>>>>>>> - DTE and ITE now indexed by deviceid/eventid
> >>>>>>>>>> - use ITE name instead of ITTE
> >>>>>>>>>> - mentions ITT_addr matches bits [51:8] of the actual address
> >>>>>>>>>> - mentions LE layout
> >>>>>>>>>> ---
> >>>>>>>>>>  Documentation/virtual/kvm/devices/arm-vgic-its.txt | 99 ++++++++++++++++++++++
> >>>>>>>>>>  1 file changed, 99 insertions(+)
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/Documentation/virtual/kvm/devices/arm-vgic-its.txt b/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> index 6081a5b..b5f010d 100644
> >>>>>>>>>> --- a/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> +++ b/Documentation/virtual/kvm/devices/arm-vgic-its.txt
> >>>>>>>>>> @@ -32,7 +32,106 @@ Groups:
> >>>>>>>>>>      KVM_DEV_ARM_VGIC_CTRL_INIT
> >>>>>>>>>>        request the initialization of the ITS, no additional parameter in
> >>>>>>>>>>        kvm_device_attr.addr.
> >>>>>>>>>> +
> >>>>>>>>>> +    KVM_DEV_ARM_ITS_SAVE_TABLES
> >>>>>>>>>> +      save the ITS table data into guest RAM, at the location provisioned
> >>>>>>>>>> +      by the guest in corresponding registers/table entries.
> >>>>>>>>>> +
> >>>>>>>>>> +      The layout of the tables in guest memory defines an ABI. The entries
> >>>>>>>>>> +      are laid out in little endian format as described in the last paragraph.
> >>>>>>>>>> +
> >>>>>>>>>> +    KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>>>>>> +      restore the ITS tables from guest RAM to ITS internal structures.
> >>>>>>>>>> +
> >>>>>>>>>> +      The GICV3 must be restored before the ITS and all ITS registers but
> >>>>>>>>>> +      the GITS_CTLR must be restored before restoring the ITS tables.
> >>>>>>>>>> +
> >>>>>>>>>> +      The GITS_IIDR read-only register must also be restored before
> >>>>>>>>>> +      the table restore as the IIDR revision field encodes the ABI revision.
> >>>>>>>>>> +
> >>>>>>>>>
> >>>>>>>>> what is the expected sequence of operations.  For example, to restore
> >>>>>>>>> the ITS, do I call KVM_DEV_ARM_VGIC_CTRL_INIT first, then restore all
> >>>>>>>>> the memory and registers, and finally call KVM_DEV_ARM_ITS_RESTORE_TABLES?
> >>>>>>>> Yes KVM_DEV_ARM_VGIC_CTRL_INIT comes first, then restore all registers
> >>>>>>>> except GITS_CTLR, then table restore, then GITS_CTLR
> >>>>>>>>>
> >>>>>>>>> Is there any interaction between when you call KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>>>>> and restore GITS_CTLR (which enables the ITS)?
> >>>>>>>>
> >>>>>>>> Yep, when GITS_CTLR is set, LPIs may be enabled and this on that event
> >>>>>>>> that the pending table is read. But the whole pending table is not read
> >>>>>>>> as we only iterate on registered LPIs. So the ITT must have been
> >>>>>>>> restored previously.
> >>>>>>>>
> >>>>>>>> I became aware that the pending table sync is done twice, once in the
> >>>>>>>> pending table restore,  and once in the GITS_CTLR restore. So if we
> >>>>>>>> leave this order specification, I should be able to remove the sync on
> >>>>>>>> table restore. This was the original reason why GITS_CTLR restore has
> >>>>>>>> been done at the very end.
> >>>>>>>
> >>>>>>> I'm sorry, I'm a bit confused.  Do we not need
> >>>>>>> KVM_DEV_ARM_ITS_RESTORE_TABLES at all then?
> >>>>>>
> >>>>>> Yes you do. I was talking about the RDIST pending table sync. The save
> >>>>>> is explicit using GICV3 device KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES.
> >>>>>> However the sync is implicit on GITS_CTLR restore if LPIs are enabled.
> >>>>>> and today I do it also on ITS device KVM_DEV_ARM_ITS_RESTORE_TABLES
> >>>>>> which is not requested I think since GITS_CTLR restore does it already.
> >>>>>
> >>>>> Shouldn't restoring the pending tables happen when restoring some
> >>>>> redeistributor state and not anything related to the ITS?
> >>>>
> >>>> Marc wrote:
> >>>> "
> >>>> I don't think you necessarily need a coarse map. When restoring the ITS
> >>>> tables, you can always read the pending bit when creating the LPI
> >>>> structure (it has been written to RAM at save time). Note that we
> >>>> already do something like this in vgic_enable_lpis().
> >>>> "
> >>>>
> >>>> This is currently what is implemented I think. the pending tables are
> >>>> currently sync'ed on GITS_CTLR set (if LPI are enabled) + erroneously
> >>>> also on on ITS table restore
> >>>>
> >>>> The problematic is: Either you know in advance which LPI INTIDare used
> >>>> or you need to parse the whole pending table (possibly using the 1st kB
> >>>> as coarse mapping).
> >>>>
> >>>> If you don't know the LPI INTIDs in advance it is only possible to
> >>>> restore the pending bit of pending LPIs. At that time you would
> >>>> re-allocate those pending LPI (vgic_add_lpi) and when you restore the
> >>>> ITS ITT you would do the same for those which were not pending. Looks
> >>>> really heavy to me: coarse mapping + dual vgic_add_lpi path.
> >>>>
> >>>> Otherwise we would need to add another dependency between RDIST pending
> >>>> table restore and ITS table restore but this looks even more weird, no?
> >>>>
> >>>>
> >>> So I just sat down with Andre and Marc and we tried to work through this
> >>> and came up with the best scheme.  I apologize in advance for the
> >>> one-way nature of this e-mail, and I am of course open to discussing the
> >>> following proposal again if you do not agree.
> >>>
> >>> What I think this document should say, is that the following ordering
> >>> must be followed when restoring the GIC and the ITS:
> >>>
> >>>   First, restore all guest memory
> >>>
> >>>   Second, restore ALL redistributors
> >>>
> >>>   Third, restore the ITS, in the following order:
> >>>     1. Initialize the ITS (KVM_DEV_ARM_VGIC_CTRL_INIT)
> >>>     2. Restore GITS_CBASER
> >>>     3. Restore all other GITS_ registers, except GITS_CTLR!
> >>>     4. Load the ITS table data (KVM_DEV_ARM_ITS_RESTORE_TABLES)
> >>>     5. Restore GITS_CTLR
> >>>
> >>> The rationale is that we really want the redistributor and the ITS
> >>> restore to be independent and follow the architecture.  This means that
> >>> our ABI for the redistributor should still work without restoring an ITS
> >>> (if we ever decide to support LPIs for KVM without the ITS).
> >>
> >> OK. Note I already mentioned that GICv3 must be restored before the ITS.
> >> To me this comprised the RDIST.
> >>
> >> I understand the above description of the ordering comes in addition to
> >> the existing text, right? in other words I keep the GITS_READR,
> >> GITS_IIDR specific text as well as KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES
> >> section.
> >>
> >>>
> >>> In terms of our current implementation this means that vgic_add_lpi()
> >>> should ask the redistributor what the state of the LPI is (priority,
> >>> enabled, pending).
> >> this practically means I move update_lpi_config call from
> >> vgic_its_restore_ite to vgic_add_lpi(). OK
> >>
> >> However for getting the LPI pending state I must know which RDIST the
> >> LPI is attached to. This is not known at LPI allocation time. Do I
> >> misunderstand something?
> > 
> > Once you have rebuilt the ITS data structures and allocated the IRQ
> > structures, you should have a target_cpu field pointing to the right
> > vcpu. From there, you can surely find the corresponding redistributor
> > and the pending table.
> Yes that's understood but Christoffer said "vgic_add_lpi() should ask
> the redistributor what the state of the LPI is (priority,enabled,
> pending)." Fetching the properties is fine.
> 
> vgic_add_lpi() is called before update_affinity_ite() which uses
> ite->irq and sets the target_vcpu.
> 
> Well at least this requires some function reshape. I will investigate
> though.

Thanks.  If it looks impossible, let me know, and I can help having a
look at the code.

-Christoffer

  reply	other threads:[~2017-04-27 17:27 UTC|newest]

Thread overview: 264+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-14 10:15 [PATCH v5 00/22] vITS save/restore Eric Auger
2017-04-14 10:15 ` Eric Auger
2017-04-14 10:15 ` [PATCH v5 01/22] KVM: arm/arm64: Add ITS save/restore API documentation Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-25 10:38   ` Peter Maydell
2017-04-25 10:38     ` Peter Maydell
2017-04-26 12:31   ` Christoffer Dall
2017-04-26 12:31     ` Christoffer Dall
2017-04-26 15:48     ` Auger Eric
2017-04-26 15:48       ` Auger Eric
2017-04-27  8:57       ` Christoffer Dall
2017-04-27  8:57         ` Christoffer Dall
2017-04-27  9:33         ` Auger Eric
2017-04-27  9:33           ` Auger Eric
2017-04-27 11:02           ` Christoffer Dall
2017-04-27 11:02             ` Christoffer Dall
2017-04-27 12:51             ` Auger Eric
2017-04-27 12:51               ` Auger Eric
2017-04-27 14:45               ` Christoffer Dall
2017-04-27 14:45                 ` Christoffer Dall
2017-04-27 15:29                 ` Auger Eric
2017-04-27 15:29                   ` Auger Eric
2017-04-27 16:23                   ` Marc Zyngier
2017-04-27 16:23                     ` Marc Zyngier
2017-04-27 17:14                     ` Auger Eric
2017-04-27 17:14                       ` Auger Eric
2017-04-27 17:27                       ` Christoffer Dall [this message]
2017-04-27 17:27                         ` Christoffer Dall
2017-04-27 16:38                   ` Christoffer Dall
2017-04-27 16:38                     ` Christoffer Dall
2017-04-27 17:27                     ` Auger Eric
2017-04-27 17:27                       ` Auger Eric
2017-04-27 17:54                       ` Christoffer Dall
2017-04-27 17:54                         ` Christoffer Dall
2017-04-27 19:27                         ` Auger Eric
2017-04-27 19:27                           ` Auger Eric
2017-05-04  7:00                 ` Auger Eric
2017-05-04  7:00                   ` Auger Eric
2017-05-04  7:40                   ` Marc Zyngier
2017-05-04  7:40                     ` Marc Zyngier
2017-05-04  7:54                     ` Auger Eric
2017-05-04  7:54                       ` Auger Eric
2017-05-04  7:46                   ` Christoffer Dall
2017-05-04  7:46                     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 02/22] KVM: arm/arm64: Add GICV3 pending table save " Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-25 10:43   ` Peter Maydell
2017-04-25 10:43     ` Peter Maydell
2017-04-26  8:26     ` Auger Eric
2017-04-26  8:26       ` Auger Eric
2017-04-26  8:44       ` Peter Maydell
2017-04-26  8:44         ` Peter Maydell
2017-04-26  8:48         ` Dr. David Alan Gilbert
2017-04-26  8:48           ` Dr. David Alan Gilbert
2017-04-26  9:57           ` Auger Eric
2017-04-26  9:57             ` Auger Eric
2017-04-26 13:00             ` Christoffer Dall
2017-04-26 13:00               ` Christoffer Dall
2017-04-26 13:01               ` Peter Maydell
2017-04-26 13:01                 ` Peter Maydell
2017-04-26 13:14                 ` Christoffer Dall
2017-04-26 13:14                   ` Christoffer Dall
2017-04-26 13:26                   ` Peter Maydell
2017-04-26 13:26                     ` Peter Maydell
2017-04-26 14:47                     ` Auger Eric
2017-04-26 14:47                       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 03/22] KVM: arm/arm64: vgic-its: rename itte into ite Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:21   ` Prakash B
2017-04-26 11:21     ` Prakash B
2017-04-27  9:05   ` Christoffer Dall
2017-04-27  9:05     ` Christoffer Dall
2017-04-27  9:20     ` Andre Przywara
2017-04-27  9:20       ` Andre Przywara
2017-04-27  9:40       ` Auger Eric
2017-04-27  9:40         ` Auger Eric
2017-04-27 11:09         ` Christoffer Dall
2017-04-27 11:09           ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 04/22] arm/arm64: vgic: turn vgic_find_mmio_region into public Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:22   ` Prakash B
2017-04-26 11:22     ` Prakash B
2017-04-27  9:07   ` Christoffer Dall
2017-04-27  9:07     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 05/22] KVM: arm64: vgic-its: KVM_DEV_ARM_VGIC_GRP_ITS_REGS group Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:23   ` Prakash B
2017-04-26 11:23     ` Prakash B
2017-04-27  9:12   ` Christoffer Dall
2017-04-27  9:12     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 06/22] KVM: arm/arm64: vgic: expose (un)lock_all_vcpus Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:23   ` Prakash B
2017-04-26 11:23     ` Prakash B
2017-04-27  9:18   ` Christoffer Dall
2017-04-27  9:18     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 07/22] KVM: arm64: vgic-its: Implement vgic_its_has_attr_regs and attr_regs_access Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:24   ` Prakash B
2017-04-26 11:24     ` Prakash B
2017-04-27 11:00   ` Christoffer Dall
2017-04-27 11:00     ` Christoffer Dall
2017-04-27 12:22     ` Auger Eric
2017-04-27 12:22       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 08/22] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_creadr Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:24   ` Prakash B
2017-04-26 11:24     ` Prakash B
2017-04-27 11:27   ` Christoffer Dall
2017-04-27 11:27     ` Christoffer Dall
2017-04-27 12:53     ` Auger Eric
2017-04-27 12:53       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 09/22] KVM: arm64: vgic-its: Introduce migration ABI infrastructure Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:27   ` Prakash B
2017-04-26 11:27     ` Prakash B
2017-04-27 13:14   ` Christoffer Dall
2017-04-27 13:14     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 10/22] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_iidr Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:27   ` Prakash B
2017-04-26 11:27     ` Prakash B
2017-04-27 14:57   ` Christoffer Dall
2017-04-27 14:57     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 11/22] KVM: arm64: vgic-its: Interpret MAPD Size field and check related errors Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:28   ` Prakash B
2017-04-26 11:28     ` Prakash B
2017-04-27 16:25   ` Christoffer Dall
2017-04-27 16:25     ` Christoffer Dall
2017-04-27 17:15     ` Auger Eric
2017-04-27 17:15       ` Auger Eric
2017-04-27 17:28       ` Christoffer Dall
2017-04-27 17:28         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 12/22] KVM: arm64: vgic-its: Interpret MAPD ITT_addr field Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:29   ` Prakash B
2017-04-26 11:29     ` Prakash B
2017-04-27 16:43   ` Christoffer Dall
2017-04-27 16:43     ` Christoffer Dall
2017-04-27 17:44     ` Auger Eric
2017-04-27 17:44       ` Auger Eric
2017-04-27 18:09       ` Christoffer Dall
2017-04-27 18:09         ` Christoffer Dall
2017-04-27 19:18         ` Auger Eric
2017-04-27 19:18           ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 13/22] KVM: arm64: vgic-its: Check the device id matches TYPER DEVBITS range Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:29   ` Prakash B
2017-04-26 11:29     ` Prakash B
2017-04-27 16:48   ` Christoffer Dall
2017-04-27 16:48     ` Christoffer Dall
2017-04-27 17:24     ` Auger Eric
2017-04-27 17:24       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 14/22] KVM: arm64: vgic-its: KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:31   ` Prakash B
2017-04-26 11:31     ` Prakash B
2017-04-27 17:24   ` Christoffer Dall
2017-04-27 17:24     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 15/22] KVM: arm64: vgic-its: vgic_its_alloc_ite/device Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:31   ` Prakash B
2017-04-26 11:31     ` Prakash B
2017-04-27 17:31   ` Christoffer Dall
2017-04-27 17:31     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 16/22] KVM: arm64: vgic-its: Add infrastructure for table lookup Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:32   ` Prakash B
2017-04-26 11:32     ` Prakash B
2017-04-27 18:06   ` Christoffer Dall
2017-04-27 18:06     ` Christoffer Dall
2017-04-27 19:24     ` Auger Eric
2017-04-27 19:24       ` Auger Eric
2017-04-28  9:47       ` Christoffer Dall
2017-04-28  9:47         ` Christoffer Dall
2017-04-30 19:33   ` Christoffer Dall
2017-04-30 19:33     ` Christoffer Dall
2017-05-03 13:40     ` Auger Eric
2017-05-03 13:40       ` Auger Eric
2017-05-03 14:38       ` Christoffer Dall
2017-05-03 14:38         ` Christoffer Dall
2017-04-30 19:35   ` Christoffer Dall
2017-04-30 19:35     ` Christoffer Dall
2017-05-03  6:53     ` Auger Eric
2017-05-03  6:53       ` Auger Eric
2017-05-03  8:01       ` Christoffer Dall
2017-05-03  8:01         ` Christoffer Dall
2017-05-03 10:22         ` Auger Eric
2017-05-03 10:22           ` Auger Eric
2017-04-30 20:13   ` Christoffer Dall
2017-04-30 20:13     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 17/22] KVM: arm64: vgic-its: Collection table save/restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:33   ` Prakash B
2017-04-26 11:33     ` Prakash B
2017-04-28 10:44   ` Christoffer Dall
2017-04-28 10:44     ` Christoffer Dall
2017-04-28 11:05     ` Auger Eric
2017-04-28 11:05       ` Auger Eric
2017-04-28 17:42       ` Christoffer Dall
2017-04-28 17:42         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 18/22] KVM: arm64: vgic-its: vgic_its_check_id returns the entry's GPA Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:33   ` Prakash B
2017-04-26 11:33     ` Prakash B
2017-05-02  8:29   ` Christoffer Dall
2017-05-02  8:29     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 19/22] KVM: arm64: vgic-its: ITT save and restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:34   ` Prakash B
2017-04-26 11:34     ` Prakash B
2017-04-30 20:14   ` Christoffer Dall
2017-04-30 20:14     ` Christoffer Dall
2017-05-03 16:08     ` Auger Eric
2017-05-03 16:08       ` Auger Eric
2017-05-03 16:37       ` Christoffer Dall
2017-05-03 16:37         ` Christoffer Dall
2017-05-03 21:55         ` Auger Eric
2017-05-03 21:55           ` Auger Eric
2017-05-04  7:31           ` Christoffer Dall
2017-05-04  7:31             ` Christoffer Dall
2017-05-04  7:40             ` Auger Eric
2017-05-04  7:40               ` Auger Eric
2017-05-04  8:23               ` Christoffer Dall
2017-05-04  8:23                 ` Christoffer Dall
2017-05-04  8:44                 ` Auger Eric
2017-05-04  8:44                   ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 20/22] KVM: arm64: vgic-its: Device table save/restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:34   ` Prakash B
2017-04-26 11:34     ` Prakash B
2017-04-30 20:55   ` Christoffer Dall
2017-04-30 20:55     ` Christoffer Dall
2017-05-03 14:07     ` Auger Eric
2017-05-03 14:07       ` Auger Eric
2017-05-03 15:29       ` Christoffer Dall
2017-05-03 15:29         ` Christoffer Dall
2017-05-03 21:38         ` Auger Eric
2017-05-03 21:38           ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 21/22] KVM: arm64: vgic-its: Fix pending table sync Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:35   ` Prakash B
2017-04-26 11:35     ` Prakash B
2017-04-30 21:10   ` Christoffer Dall
2017-04-30 21:10     ` Christoffer Dall
2017-05-03 22:20     ` Auger Eric
2017-05-03 22:20       ` Auger Eric
2017-05-04  7:32       ` Christoffer Dall
2017-05-04  7:32         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 22/22] KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:35   ` Prakash B
2017-04-26 11:35     ` Prakash B
2017-04-30 21:32   ` Christoffer Dall
2017-04-30 21:32     ` Christoffer Dall
2017-05-03 22:22     ` Auger Eric
2017-05-03 22:22       ` Auger Eric
2017-04-26 11:38 ` [PATCH v5 00/22] vITS save/restore Prakash B
2017-04-26 11:38   ` Prakash B
2017-04-26 13:02   ` Christoffer Dall
2017-04-26 13:02     ` Christoffer Dall
2017-04-27  6:55   ` Auger Eric
2017-04-27  6:55     ` Auger Eric

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=20170427172704.GA56467@lvm \
    --to=christoffer.dall@linaro.org \
    --cc=Prasun.Kapoor@cavium.com \
    --cc=Vijaya.Kumar@cavium.com \
    --cc=andre.przywara@arm.com \
    --cc=cdall@linaro.org \
    --cc=dgilbert@redhat.com \
    --cc=drjones@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=eric.auger@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=quintela@redhat.com \
    --cc=vijayak@caviumnetworks.com \
    /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.