Re: [PATCH 09/13] KVM: PPC: e500: enable magic page

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

 



On Thu, 19 May 2011 12:43:21 +0200
Alexander Graf <agraf@xxxxxxx> wrote:

> On 05/18/2011 01:42 AM, Scott Wood wrote:
> > +void kvmppc_map_magic(struct kvm_vcpu *vcpu)
> > +{
> > +	struct tlbe magic;
> > +	ulong shared_page = ((ulong)vcpu->arch.shared)&  PAGE_MASK;
> > +	pfn_t pfn;
> > +
> > +	pfn = (pfn_t)virt_to_phys((void *)shared_page)>>  PAGE_SHIFT;
> > +	get_page(pfn_to_page(pfn));
> > +
> > +	magic.mas1 = MAS1_VALID | MAS1_TS |
> > +		     MAS1_TSIZE(BOOK3E_PAGESZ_4K);
> > +	magic.mas2 = vcpu->arch.magic_page_ea | MAS2_M;
> > +	magic.mas3 = (pfn<<  PAGE_SHIFT) |
> > +		     MAS3_SW | MAS3_SR | MAS3_UW | MAS3_UR;
> > +	magic.mas7 = pfn>>  (32 - PAGE_SHIFT);
> > +
> > +	__write_host_tlbe(&magic, MAS0_TLBSEL(1) | MAS0_ESEL(tlbcam_index));
> 
> It's a 4k page, so why use TLB1? 

Seemed useful to keep it more or less pinned.

> Also, you add this as PID0 mapping, no? 
> Shouldn't it be restricted to the guest's kernel?

As of this stage in the patchset, we're still dumping the TLB on guest
privilege switch, and we don't call this function if the guest is in user
mode.

Later when shadow PIDs are added, we use a shadow PID that corresponds to
guest kernel mode.

-Scott

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux