[kvmarm] [PATCH v2] ARM: KVM: lazy save/restore of vfp/neon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25 July 2012 22:52, Michael Hope <michael.hope at linaro.org> wrote:
> On 25 July 2012 20:34, Antonios Motakis
> <a.motakis at virtualopensystems.com> wrote:
>> Hm... So if VFPv3 is not enabled in the host, disable VFP in KVM as well? We
>> would have to require at least v3 from the host, otherwise we will have to
>> add extra emulation to lie to the guest about the number of registers to the
>> guest. Which would be a pity. But maybe depending on VFPv3 is not too much
>> to ask for... I'll go ahead and give this a shot then.
>
> Is this needed?  The Cortex-A15 and A7 are VFPv4-D32 and, from what I
> can tell, required to have the FPU.

Architecturally, the Virtualization Extensions aren't dependent on either
VFP or Neon.

For the specific implementations we're interested in, VFP-no-Neon and
no-VFP-no-Neon are both permitted configurations  for the A15:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438f/CDEDAFBD.html
(A7 is probably similar but I can't find the reference right now)

However I would be surprised to find a core intended to run Linux
and with virt support which had a no-Neon configuration.

Also, as Antonios points out, you can configure a kernel without the
support. I agree with Alex that in that case the best thing to do
is to nuke the guest as soon as it tries anything VFP related.
(Among other things, one genuine reason I've seen for disabling
VFP in the kernel is so you can run on buggy early silicon with VFP
errata, in which case you definitely don't want the guest messing
with it either.)

The potentially awkward case would be where the h/w supports 32
double registers but somebody has for some reason disabled the
CONFIG_VFPv3 flag so the kernel thinks there are only 16. I'd
like to make that an illegal config if we can...

-- PMM


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux