[PATCH v4 1/3] KVM/arm/arm64: add hooks for armv7 fp/simd lazy switch support
Mario Smarduch
m.smarduch at samsung.com
Thu Dec 3 12:10:54 PST 2015
On 12/3/2015 11:24 AM, Marc Zyngier wrote:
> On 03/12/15 19:21, Mario Smarduch wrote:
>>
>>
>> On 12/3/2015 7:46 AM, Marc Zyngier wrote:
>>> On 14/11/15 22:12, Mario Smarduch wrote:
>>>> This patch adds vcpu fields to track lazy state, save host FPEXC, and
>>>> offsets to fields.
>>>>
>>>> Signed-off-by: Mario Smarduch <m.smarduch at samsung.com>
>>>> ---
>>>> arch/arm/include/asm/kvm_host.h | 6 ++++++
>>>> arch/arm/kernel/asm-offsets.c | 2 ++
>>>> 2 files changed, 8 insertions(+)
>>>>
>>>> diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h
>>>> index 3df1e97..f1bf551 100644
>>>> --- a/arch/arm/include/asm/kvm_host.h
>>>> +++ b/arch/arm/include/asm/kvm_host.h
>>>> @@ -107,6 +107,12 @@ struct kvm_vcpu_arch {
>>>> /* Interrupt related fields */
>>>> u32 irq_lines; /* IRQ and FIQ levels */
>>>>
>>>> + /* fp/simd dirty flag true if guest accessed register file */
>>>> + bool vfp_dirty;
>>>
>>> I think we do not need this bool, because it is already represented by
>>> the state of the trapping bits.
>>
>> The trapping bit state is lost on exit since they're cleared, no?
>
> But that's what should actually be preserved, no? At the moment, you
> maintain some side state to reflect what the trapping state is. You
> might as well keep it around all the time.
Ok I see, you should be able to preserve and use the trap registers. I'll rework
it.
>
> Thanks,
>
> M.
>
More information about the linux-arm-kernel
mailing list