[Android-virt] [PATCH 05/10] ARM: KVM: Allow the host to use the physical timer from PL1

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

 



On Tue, Jun 26, 2012 at 8:37 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> On 25/06/12 22:14, Christoffer Dall wrote:
>> On Mon, May 14, 2012 at 9:07 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
>>> As the host kernel has to move its timer from virtual to physical,
>>> let's make sure it has access to it. Otherwise, it would blow
>>> at a very early stage.
>>>
>>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
>>> ---
>>> ?arch/arm/kvm/init.S | ? ?5 +++++
>>> ?1 files changed, 5 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/kvm/init.S b/arch/arm/kvm/init.S
>>> index 0bcc739..ce477ba 100644
>>> --- a/arch/arm/kvm/init.S
>>> +++ b/arch/arm/kvm/init.S
>>> @@ -101,6 +101,11 @@ __do_hyp_init:
>>> ? ? ? ?mcr ? ? p15, 4, r0, c1, c0, 0 ? @ HSCR
>>> ? ? ? ?isb
>>>
>>> + ? ? ? @ make CNTP_* and CNTPCT accessible from PL1
>>> + ? ? ? mrc ? ? p15, 4, r0, c14, c1, 0 ?@ CNTHCTL
>>> + ? ? ? orr ? ? r0, r0, #3 ? ? ? ? ? ? ?@ PL1PCEN | PL1PCTEN
>>> + ? ? ? mcr ? ? p15, 4, r0, c14, c1, 0 ?@ CNTHCTL
>>> +
>>> ? ? ? ?@ Set stack pointer and return to the kernel
>>> ? ? ? ?pop ? ? {r0, r1, r2, r12}
>>> ? ? ? ?mov ? ? sp, r1
>>> --
>>> 1.7.7.1
>>>
>> I'm not reviewing patches 1 through 4 as I am not experienced with the
>> workings of architected timers in the kernel in general.
>>
>> I suggest sending that preparatory patch sequence separately to the
>> arm-kernel mailing list or somewhere appropriate for this purpose?
>
> This is on my queue of things I want to send to LAKML, but thought I'd
> post them here first.
>
> Patches 1 to 3 are good to go, I think. Patch 4 needs some wider
> agreement, and to be honest, I really hate it.
>
>> These bits should be 1 at reset anyway right? Why do we need to set them again?
>
> Remember we may have some firmware between reset and the kernel boot.
> These bits can (and probably will) be set to 0, preventing the kernel
> from using the physical timers.
>
ok, thanks.



[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