* Re: [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation
[not found] ` <20150629125213.GK11332@cbox>
@ 2015-06-29 14:11 ` Andre Przywara
2015-06-29 14:15 ` Christoffer Dall
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Andre Przywara @ 2015-06-29 14:11 UTC (permalink / raw)
To: Christoffer Dall, Pavel Fedin
Cc: kvm@vger.kernel.org, Marc Zyngier, kvmarm@lists.cs.columbia.edu
Hi,
On 29/06/15 13:52, Christoffer Dall wrote:
> Hi Pavel,
>
> [Please cc the kvm/arm list for such patches according to the
> MAINTAINERS file in the future]
>
> On Mon, Jun 29, 2015 at 12:53:46PM +0300, Pavel Fedin wrote:
>> Some hardware (like Raspberry Pi 2) is capable of running KVM, however lacks
>> functional vGIC registers. This series introduces software vGIC emulation for
>> such machines, allowing to fully use virtualization capabilities
>
> Is this rather esoteric use case really worth the extra code in the
> kernel?
I wonder if these patches would pave the way to support running GICv2
guests on GICv3s without compat support? Admittedly not a really
compelling use case either, but at least worth discussing, I think.
Also if this will make the hack needed to enable KVM on RPi2 smaller,
I'd rather embrace this one than letting any random hacks appear on that
RPi kernel tree (patches which I have seen already on some other repo).
If I get this correctly, there are some efforts currently to get closer
to mainline with the RPi tree.
Pavel, is this "broken" GIC you are talking about going to appear in a
publicly available SoC? If yes, you could either state this right now or
send it later once you can talk publicly.
Marc, Christoffer:
So is this GICv2 CPU interface emulation totally out of question for us
or is it worth at least commenting on the patches?
Cheers,
Andre.
> I really feel that pure emulation should happen in userspace
> unless there's a very good reason for doing it in the kernel, such as a
> clearly measureable difference in performance, etc.
>
> I would much rather see a version of this where a userspace provided GIC
> works with the in-kernel arch timers support.
>
> -Christoffer
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation
2015-06-29 14:11 ` [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation Andre Przywara
@ 2015-06-29 14:15 ` Christoffer Dall
2015-06-29 15:29 ` Marc Zyngier
2015-06-30 8:16 ` Pavel Fedin
2 siblings, 0 replies; 4+ messages in thread
From: Christoffer Dall @ 2015-06-29 14:15 UTC (permalink / raw)
To: Andre Przywara
Cc: Pavel Fedin, kvm@vger.kernel.org, Marc Zyngier,
kvmarm@lists.cs.columbia.edu
On Mon, Jun 29, 2015 at 4:11 PM, Andre Przywara <andre.przywara@arm.com> wrote:
> Hi,
>
> On 29/06/15 13:52, Christoffer Dall wrote:
>> Hi Pavel,
>>
>> [Please cc the kvm/arm list for such patches according to the
>> MAINTAINERS file in the future]
>>
>> On Mon, Jun 29, 2015 at 12:53:46PM +0300, Pavel Fedin wrote:
>>> Some hardware (like Raspberry Pi 2) is capable of running KVM, however lacks
>>> functional vGIC registers. This series introduces software vGIC emulation for
>>> such machines, allowing to fully use virtualization capabilities
>>
>> Is this rather esoteric use case really worth the extra code in the
>> kernel?
>
> I wonder if these patches would pave the way to support running GICv2
> guests on GICv3s without compat support? Admittedly not a really
> compelling use case either, but at least worth discussing, I think.
>
> Also if this will make the hack needed to enable KVM on RPi2 smaller,
> I'd rather embrace this one than letting any random hacks appear on that
> RPi kernel tree (patches which I have seen already on some other repo).
> If I get this correctly, there are some efforts currently to get closer
> to mainline with the RPi tree.
>
> Pavel, is this "broken" GIC you are talking about going to appear in a
> publicly available SoC? If yes, you could either state this right now or
> send it later once you can talk publicly.
>
> Marc, Christoffer:
> So is this GICv2 CPU interface emulation totally out of question for us
> or is it worth at least commenting on the patches?
>
Well, I certainly have a lot of seemingly higher-priority things to
look at currently.
I'd like some numbers for the performance benefit of putting this in
the kernel before I entertain the idea.
-Christoffer
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation
2015-06-29 14:11 ` [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation Andre Przywara
2015-06-29 14:15 ` Christoffer Dall
@ 2015-06-29 15:29 ` Marc Zyngier
2015-06-30 8:16 ` Pavel Fedin
2 siblings, 0 replies; 4+ messages in thread
From: Marc Zyngier @ 2015-06-29 15:29 UTC (permalink / raw)
To: Andre Przywara, Christoffer Dall, Pavel Fedin
Cc: kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu
On 29/06/15 15:11, Andre Przywara wrote:
> Hi,
>
> On 29/06/15 13:52, Christoffer Dall wrote:
>> Hi Pavel,
>>
>> [Please cc the kvm/arm list for such patches according to the
>> MAINTAINERS file in the future]
>>
>> On Mon, Jun 29, 2015 at 12:53:46PM +0300, Pavel Fedin wrote:
>>> Some hardware (like Raspberry Pi 2) is capable of running KVM, however lacks
>>> functional vGIC registers. This series introduces software vGIC emulation for
>>> such machines, allowing to fully use virtualization capabilities
>>
>> Is this rather esoteric use case really worth the extra code in the
>> kernel?
>
> I wonder if these patches would pave the way to support running GICv2
> guests on GICv3s without compat support? Admittedly not a really
> compelling use case either, but at least worth discussing, I think.
Let's face it: arm64 has no legacy to support. So if you're on a pure
GICv3 system, you run a GICv3 guest (oddly enough, pure GICv3 systems
are also pure AArch64 systems - see a pattern?). We've made sure the
software was available in a timely manner.
> Also if this will make the hack needed to enable KVM on RPi2 smaller,
> I'd rather embrace this one than letting any random hacks appear on that
> RPi kernel tree (patches which I have seen already on some other repo).
> If I get this correctly, there are some efforts currently to get closer
> to mainline with the RPi tree.
Whatever the RPi people do in their tree is their problem. I don't care.
I'm interested in supporting *compliant hardware*, and not doing a quick
hack on the side.
Even if RPi-2 was fully supported in mainline, this code would actively
prevent us from supporting proper timer deactivation, for example.
> Pavel, is this "broken" GIC you are talking about going to appear in a
> publicly available SoC? If yes, you could either state this right now or
> send it later once you can talk publicly.
>
> Marc, Christoffer:
> So is this GICv2 CPU interface emulation totally out of question for us
> or is it worth at least commenting on the patches?
As long as this code is there to support a platform that doesn't exist
in a mainline tree, I'm not interested. We have much bigger fish to fry,
and supporting what is effectively a broken platform is not exactly high
on the agenda.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation
2015-06-29 14:11 ` [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation Andre Przywara
2015-06-29 14:15 ` Christoffer Dall
2015-06-29 15:29 ` Marc Zyngier
@ 2015-06-30 8:16 ` Pavel Fedin
2 siblings, 0 replies; 4+ messages in thread
From: Pavel Fedin @ 2015-06-30 8:16 UTC (permalink / raw)
To: 'Andre Przywara', 'Christoffer Dall'
Cc: 'Marc Zyngier', kvmarm, kvm
Hello!
> I wonder if these patches would pave the way to support running GICv2
> guests on GICv3s without compat support?
Yes, it does. I haven't implemented GICv3 bit for this time, but - yes. And it will be a very small
addition.
> Pavel, is this "broken" GIC you are talking about going to appear in a
> publicly available SoC?
In kernel documentation it's known as "FrankenGIC".
First of all, it's Exynos 4 (however i don't know whether it implements virtualization extensions).
Second, it is present in many consumer electronics products (does this count as "publicly
available"? But you can learn this fact from Samsung's opensource releases). I use one of these
boards for my tests because we have lots of them here :)
Third, this code doesn't really depend on hardware GIC, and can be reused on RPi-2 with a little
more hacking.
Fourth, there is at least of one ARM64 machine with broken vGICv3. And you can buy it. I have it
here. And it would also benefit from this code (yes, with GICv3 CPU interface emulation added, which
becomes trivial).
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-30 8:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1435567226.git.p.fedin@samsung.com>
[not found] ` <20150629125213.GK11332@cbox>
2015-06-29 14:11 ` [PATCH 0/3] KVM: arm: Implement software vGICv2 emulation Andre Przywara
2015-06-29 14:15 ` Christoffer Dall
2015-06-29 15:29 ` Marc Zyngier
2015-06-30 8:16 ` Pavel Fedin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox