Re: Architected timer support

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

 



On 11/12/12 18:39, Marc Zyngier wrote:
> On 11/12/12 18:27, Andreas Sandberg wrote:
>> On 11/12/12 15:46, Christoffer Dall wrote:
>>> On Tue, Dec 11, 2012 at 12:41 AM, Simon Baines
>>> <simonbaines2012@xxxxxxxxxxx> wrote:
>>>> someone can briefly explain what would be the drawback of not using the
>>>> architected timer support when running KVM on ARM?
>>>> Is it possible to run guests without that architected timer configuration
>>>> enabled?
>>> It's possible, in which case you need to use an emulated piece of
>>> timer hardware, which will cause you a lot more vmexits to interact
>>> with the timer to program it, for example.
>> Is this really the case? I was under the impression that this would
>> require qemu (or gem5 in my case) to emulate CP15 accesses to registers
>> which aren't normally exposed to user space. I tried to boot a recent
>> Linux kernel using KVM last week and I'm pretty sure the host kernel
>> sent an illegal instruction trap to the guest when it tried to enable
>> the timers using the co-processor interface. What makes matters more
>> complicated is that the timer can't be hidden from the guest since
>> ID_PFR1 is invariant.
> You probably tried to use the physical timers, which we reserve for the
> host. If you use a recent enough guest, it will default to use virtual
> timers, which is always available. No traps involved in this case.

That seems to have been the case. I was using the officially supported 
kernel version for gem5 simulating a Versatile Express system, which 
based on an ancient version Catalin's vexpress branch. I know, we 
shouldn't use an ancient versions like that...

However, I still find it a bit odd that unsupported features aren't 
masked from the ID registers. I think it would be a reasonable 
assumption that architected timers can be masked if they aren't emulated 
by the host kernel.

//Andreas



_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[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