Hi Pavel,
On 02/10/15 13:39, Pavel Fedin wrote:
> Hello!
>
>> Can't you use the ELRSR bitmap instead? The idea of lr_used sounds like
>> a moot optimization to me.
>
> This perfectly works on 4.2, but will break HW interrupt forwarding on 4.3.
> If you look at 4.3
>
Hello! One more concern.
> Currently we track which IRQ has been mapped to which VGIC list
> register and also have to synchronize both. We used to do this
> to hold some extra state (for instance the active bit).
> It turns out that this extra state in the LRs is no longer needed and
> this
Hello!
> For instance how did you come up with that 16384? LPIs could actually be
> much bigger (in fact the emulation currently support up to 64k).
Well, read "at least 16384". I actually don't remember the exact value you've
put in.
> > Since the map itself is actually used only for
Hello!
> Can't you use the ELRSR bitmap instead? The idea of lr_used sounds like
> a moot optimization to me.
This perfectly works on 4.2, but will break HW interrupt forwarding on 4.3. If
you look at 4.3
__kvm_vgic_sync_hwstate(), you'll notice that for HW interrupts lr_used and
elrsr_ptr
Hi Pavel,
On 02/10/15 10:55, Pavel Fedin wrote:
> Hello! One more concern.
>
>> Currently we track which IRQ has been mapped to which VGIC list
>> register and also have to synchronize both. We used to do this
>> to hold some extra state (for instance the active bit).
>> It turns out that this
On 31/08/15 09:42, Eric Auger wrote:
> On 08/24/2015 06:33 PM, Andre Przywara wrote:
Salut Eric,
...
@@ -1126,9 +1124,9 @@ static void vgic_queue_irq_to_lr(struct kvm_vcpu
*vcpu, int irq,
*/
bool vgic_queue_irq(struct kvm_vcpu *vcpu, u8 sgi_source_id, int irq)
{
On 08/24/2015 06:33 PM, Andre Przywara wrote:
> Hi Eric,
>
> On 12/08/15 10:01, Eric Auger wrote:
>
>>> diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
>>> index bc40137..394622c 100644
>>> --- a/virt/kvm/arm/vgic.c
>>> +++ b/virt/kvm/arm/vgic.c
>>> @@ -79,7 +79,6 @@
>>> #include
Hi Eric,
On 12/08/15 10:01, Eric Auger wrote:
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
index bc40137..394622c 100644
--- a/virt/kvm/arm/vgic.c
+++ b/virt/kvm/arm/vgic.c
@@ -79,7 +79,6 @@
#include vgic.h
static void vgic_retire_disabled_irqs(struct kvm_vcpu *vcpu);
Hi Andre,
On 07/10/2015 04:21 PM, Andre Przywara wrote:
Currently we track which IRQ has been mapped to which VGIC list
register and also have to synchronize both. We used to do this
to hold some extra state (for instance the active bit).
It turns out that this extra state in the LRs is no
Currently we track which IRQ has been mapped to which VGIC list
register and also have to synchronize both. We used to do this
to hold some extra state (for instance the active bit).
It turns out that this extra state in the LRs is no longer needed and
this extra tracking causes some pain later.
10 matches
Mail list logo