Hi Yamahata-san --
I think it is necessary to also purge the VHPT.
Dan
> -----Original Message-----
> From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf
> Of Isaku Yamahata
> Sent: Monday, December 05, 2005 8:21 PM
> To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-ia64-devel] [PATCH] implemented vcpu_ptc_l()
>
>
> Hi.
> I implemented vcpu_ptc_l() which is needed to boot dom0 on ski.
> Is there any reason why it hasn't been implemented?
> I didn't see difficulties to implement it. Do I miss anything?
>
> Signed-off-by Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
>
> --
> diff -r c4a86ad93e49 xen/arch/ia64/linux-xen/tlb.c
> --- a/xen/arch/ia64/linux-xen/tlb.c Thu Dec 1 18:21:59 2005 +0900
> +++ b/xen/arch/ia64/linux-xen/tlb.c Tue Dec 6 12:13:48 2005 +0900
> @@ -110,6 +110,15 @@
> }
>
> void
> +ia64_local_tlb_purge (unsigned long start, unsigned long
> end, unsigned long nbits)
> +{
> + do {
> + ia64_ptcl(start, (nbits << 2));
> + start += (1UL << nbits);
> + } while (start < end);
> +}
> +
> +void
> local_flush_tlb_all (void)
> {
> unsigned long i, j, flags, count0, count1, stride0,
> stride1, addr;
> diff -r c4a86ad93e49 xen/arch/ia64/xen/vcpu.c
> --- a/xen/arch/ia64/xen/vcpu.c Thu Dec 1 18:21:59 2005 +0900
> +++ b/xen/arch/ia64/xen/vcpu.c Tue Dec 6 12:13:48 2005 +0900
> @@ -1827,8 +1827,20 @@
>
> IA64FAULT vcpu_ptc_l(VCPU *vcpu, UINT64 vadr, UINT64 addr_range)
> {
> - printk("vcpu_ptc_l: called, not implemented yet\n");
> - return IA64_ILLOP_FAULT;
> + extern void ia64_local_tlb_purge (unsigned long start,
> unsigned long end, unsigned long nbits);
> +
> + //XXX FIXME: validate not flushing Xen addresses
> + if (IS_VMM_ADDRESS(vadr)) {
> + return IA64_ILLOP_FAULT;
> + }
> +
> +#ifdef VHPT_GLOBAL
> + vhpt_flush_address(vadr, addr_range);
> +#endif
> + ia64_local_tlb_purge(vadr, vadr + addr_range, PAGE_SHIFT);
> + vcpu_purge_tr_entry(&PSCBX(vcpu,dtlb));
> + vcpu_purge_tr_entry(&PSCBX(vcpu,itlb));
> + return IA64_NO_FAULT;
> }
>
> // At privlvl=0, fc performs no access rights or protection
> key checks, while
>
>
>
> --
> yamahata
>
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel
>
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|