[Android-virt] [RFC PATCH 5/6] fixup! ARM: KVM: World-switch implementation

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

 



On 27/06/12 15:54, Christoffer Dall wrote:
> On Wed, Jun 27, 2012 at 6:04 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
>> On 27/06/12 10:47, Alexander Graf wrote:
>>>
>>>
>>> On 27.06.2012, at 11:23, Marc Zyngier <marc.zyngier at arm.com> wrote:
>>>
>>>> Hi Christoffer,
>>>>
>>>> On 26/06/12 23:24, Christoffer Dall wrote:
>>>>> Signed-off-by: Christoffer Dall <c.dall at virtualopensystems.com>
>>>>> ---
>>>>> arch/arm/kvm/interrupts.S |    6 +++---
>>>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/kvm/interrupts.S b/arch/arm/kvm/interrupts.S
>>>>> index 625ba6c..d1a9b75 100644
>>>>> --- a/arch/arm/kvm/interrupts.S
>>>>> +++ b/arch/arm/kvm/interrupts.S
>>>>> @@ -271,9 +271,9 @@ ENDPROC(__kvm_flush_vm_context)
>>>>>  * (hardware reset value is 0) */
>>>>> .macro set_hstr entry
>>>>>    mrc    p15, 4, r2, c1, c1, 3
>>>>> -    ldr    r3, =0x8e00
>>>>> +    ldr    r3, =0x00108e00
>>>>
>>>> Where does this value comes from? In my copy of the ARM ARM, bits
>>>> 31:18,14,4 of HSTR are reserved.
> 
> yes, complete brain damage, thanks for pointing this out.
> 
>>>
>>> Speaking of which, any reason to not use proper constant #defines here, so that this number makes any sense at all? :)
>>
>> So you really want maintainable code? Heretic! ;-)
>>
> 
> a little unsure what we should do with the CPACR (are there
> potentially other coprocessors that we need to take care of and
> switch, or...?) and correspondingly what to do with TCPAC, TASE, and
> TCPn (except for the VFP patch already in the works). If we trap all
> the coproc accesses, TASE, or TCPAC the guest dies on undefined
> exceptions (after the latest patch). Marc?

I don't see why we should trap the access to CPACR, unless we want to
lie to the guest about which coprocessors are implemented, so I would be
inclined to leave TCPAC to 0.

I don't immediately see why you'd die on an UNDEF, though. You should
end up in handle_exit() and hit the BUG() there...

> what I really meant was, of course, this:

Looks much better to me.

	M.
-- 
Jazz is not dead. It just smells funny...




[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