qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/3] kvm: ppc: booke206: use MMU API


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH 1/3] kvm: ppc: booke206: use MMU API
Date: Mon, 20 Jun 2011 09:41:06 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-06-18 01:28, Alexander Graf wrote:
> 
> On 17.06.2011, at 22:39, Scott Wood wrote:
> 
>> Share the TLB array with KVM.  This allows us to set the initial TLB
>> both on initial boot and reset, is useful for debugging, and could
>> eventually be used to support migration.
>>
>> Signed-off-by: Scott Wood <address@hidden>
>> ---
>> hw/ppce500_mpc8544ds.c |    2 +
>> target-ppc/cpu.h       |    2 +
>> target-ppc/kvm.c       |   85 
>> ++++++++++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 89 insertions(+), 0 deletions(-)
>>
>> diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c
>> index 5ac8843..3cdeb43 100644
>> --- a/hw/ppce500_mpc8544ds.c
>> +++ b/hw/ppce500_mpc8544ds.c
>> @@ -192,6 +192,8 @@ static void mmubooke_create_initial_mapping(CPUState 
>> *env,
>>     tlb->mas2 = va & TARGET_PAGE_MASK;
>>     tlb->mas7_3 = pa & TARGET_PAGE_MASK;
>>     tlb->mas7_3 |= MAS3_UR | MAS3_UW | MAS3_UX | MAS3_SR | MAS3_SW | MAS3_SX;
>> +
>> +    env->tlb_dirty = true;
>> }
>>
>> static void mpc8544ds_cpu_reset(void *opaque)
>> diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
>> index 46d86be..8191ed2 100644
>> --- a/target-ppc/cpu.h
>> +++ b/target-ppc/cpu.h
>> @@ -921,6 +921,8 @@ struct CPUPPCState {
>>     ppc_tlb_t tlb;   /* TLB is optional. Allocate them only if needed        
>> */
>>     /* 403 dedicated access protection registers */
>>     target_ulong pb[4];
>> +    bool tlb_dirty;   /* Set to non-zero when modifying TLB                 
>>  */
>> +    bool kvm_sw_tlb;  /* non-zero if KVM SW TLB API is active               
>>  */
>> #endif
>>
>>     /* Other registers */
>> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
>> index e7b1b10..9a88fc9 100644
>> --- a/target-ppc/kvm.c
>> +++ b/target-ppc/kvm.c
>> @@ -122,6 +122,51 @@ static int kvm_arch_sync_sregs(CPUState *cenv)
>>     return kvm_vcpu_ioctl(cenv, KVM_SET_SREGS, &sregs);
>> }
>>
>> +static int kvm_booke206_tlb_init(CPUState *env)
>> +{
>> +#if defined(KVM_CAP_SW_TLB) && defined(KVM_MMU_FSL_BOOKE_NOHV)
> 
> Those hopefully shouldn't be required anymore soon - when Jan's patches make 
> it upstream. Jan, how's progress on that front?

I can only forward this question: Avi, what are the plans for
http://thread.gmane.org/gmane.comp.emulators.kvm.devel/73917?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

[Prev in Thread] Current Thread [Next in Thread]