[Android-virt] [PATCH] Handle SCTLR & CPACR read/write in KVM ARM.

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

 



Can you give an example of kernel work arounds which are "not*ISA related
in context of Cortex-A8 or Cortex-A9 ?

--Anup

On Wed, May 16, 2012 at 3:42 PM, Marc Zyngier <marc.zyngier at arm.com> wrote:

> On 16/05/12 10:49, Anup Patel wrote:
> > Guest OSes are only concerned with the underlying ISA.
>
> I think you're living in an idealized world where you never have any
> erratum. Look at the list of things the kernel works around. See how
> many of them are *not* ISA related.
>
> > If we are providing ARMv7a Cortext-A8 with additional features as Guest
> VCPU then there is no harm because the Guest OS will simply ignore the
> additional features.
> >
> > Regarding the Cache operations the Guest OS is supossed to read the
> CacheType register to determine parameters required in doing Cache
> operations.
> > Regarding the TLB Set/Way operations the SWIO bit of HCR helps Guest OS
> do Set/Way maintenance correctly.
> >
> > I dont see any *technical* issue here. If you still believe it will be
> problem for KVM ARM then do whatever feels right.
>
> Amen.
>
>        M.
>
> > --Anup
> >
> > On Wed, May 16, 2012 at 3:09 PM, Marc Zyngier <marc.zyngier at arm.com
> <mailto:marc.zyngier at arm.com>> wrote:
> > [List added back, please don't drop it]
> >
> > On 16/05/12 10:30, Anup Patel wrote:
> >> There are difference between Cortex-A9 and Cortex-A15 too. I dont
> understand then when have you got VExpress-A9 guest working a Cortex-A15 ?
> >
> > Well, KVM/ARM started emulating an A9 indeed, but it doesn't mean this
> > is the right thing, and it should be removed. Just think of how you
> > manage processor errata. Are you going to apply A9 workarounds on an
> > A15? How are you going to handle the A15 errata when your kernel
> > believes this is an A9?
> >
> >> Its your choice to accept it or reject it. I really dont care about KVM
> ARM. Just had some finding which I thought might interest KVM ARM folks.
> >
> > Your collaboration is very much appreciated. Really. But I believe there
> > are *technical* issues with this approach.
> >
> >> We are able to emulate Realview-PB-A8 and VExpress-A9 guest (UP & SMP)
> on Xvisor ARM running on Cortex-A15. We will be soon have VExpress-A15
> guest too.
> >
> > I do not doubt that for a second. You still may want to consider the
> > above point if you're aiming for reliable operation of the guest.
> >
> > Cheers,
> >
> >        M.
> >
> >> --Anup
> >>
> >> On Wed, May 16, 2012 at 2:39 PM, Marc Zyngier <marc.zyngier at arm.com
> <mailto:marc.zyngier at arm.com><mailto:marc.zyngier at arm.com<mailto:
> marc.zyngier at arm.com>>> wrote:
> >> On 16/05/12 08:54, Peter Maydell wrote:
> >>> On 16 May 2012 05:05, Anup Patel <anup at brainfault.org<mailto:
> anup at brainfault.org><mailto:anup at brainfault.org<mailto:anup at brainfault.org>>>
> wrote:
> >>>> Realview-PB-A8 kernel boots fine on QEMU Emulator. The kernel gets
> alignment
> >>>> faults only when we try to use KVM ARM.
> >>>
> >>> TCG QEMU doesn't emulate alignment faults, so you'll never see them.
> >>> (This is really a bug in TCG QEMU.)
> >>>
> >>>> Although, I did not see this issue with VExpress-A9 kernel, so have
> >>>> mentioned it explicitly in my patch. Making this change CPUID
> specific would
> >>>> be even more correct way of doing it.
> >>>
> >>> What I mean is that we should be checking CPUID and saying "no,
> >>> you cannot emulate an A8 or A9 with KVM".
> >>
> >> I strongly agree with that. We should certainly push back on anything
> >> that pretends to expose a different CPU than the one we actually run on.
> >>
> >> This is fundamentally broken because we're actually running on the
> >> physical CPU. Think errata workaround, cache behavior, all the subtle
> >> things that make A8/A9 vastly different from A15.
> >>
> >> It you want to emulate an A8, use TCG QEMU.
> >>
> >>        M.
> >> --
> >> Jazz is not dead. It just smells funny...
> >>
> >>
> >>
> >
> >
> > --
> > Jazz is not dead. It just smells funny...
> >
> >
> >
>
>
> --
> Jazz is not dead. It just smells funny...
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.cs.columbia.edu/pipermail/android-virt/attachments/20120516/81cba0d2/attachment-0001.html


[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