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

Re: [Xen-ia64-devel][PATCH] windows 2003 specific optimization



Hi Anthony,

On Mon, 2007-05-14 at 15:43 +0800, Xu, Anthony wrote:
>  
>          if(!vhpt_enabled(v, vadr, misr.rs?RSE_REF:DATA_REF)){
> +            if(GOS_WINDOWS(v)){
> +                //windows use region 4 and 5 for identity mapping
> +                if(REGION_NUMBER(vadr)==4 && !(regs->cr_ipsr & IA64_PSR_CPL)
> +                  && (REGION_OFFSET(vadr)<= _PAGE_PPN_MASK)){
> +                    pteval = PAGEALIGN(REGION_OFFSET(vadr),13)| 0x461;
                                                                   ^^^^^
> +                    if(thash_purge_and_insert(v, pteval, 13<<2, vadr, type))
> +                        goto try_again;
> +                    return IA64_NO_FAULT;
> +                }
> +
> +                if(REGION_NUMBER(vadr)==5 && !(regs->cr_ipsr & IA64_PSR_CPL)
> +                  && (REGION_OFFSET(vadr)<= _PAGE_PPN_MASK)){
> +                    pteval = PAGEALIGN(REGION_OFFSET(vadr),13)| 0x471;
                                                                   ^^^^^

   Can you define these bits of magic with macros please?

> +                    if(thash_purge_and_insert(v, pteval, 13<<2, vadr, type))
> +                        goto try_again;
> +                    return IA64_NO_FAULT;
> +                }
> +            }
>              if(vpsr.ic){
>                  vcpu_set_isr(v, misr.val);
>                  alt_dtlb(v, vadr);
> @@ -367,7 +386,7 @@ vmx_hpw_miss(u64 vadr , u64 vec, REGS* r
>          }
>  
>          /* avoid recursively walking (short format) VHPT */
> -        if ((((vadr ^ vpta.val) << 3) >> (vpta.size + 3)) == 0) {
> +        if (GOS_LINUX(v)&&(((vadr^vpta.val)<<3)>>(vpta.size+3)) == 0) {

   Is this truly a Linux path, or maybe a !GOS_WINDOWS() test?  We want
to be sure we run OSes that don't support _OSI too.  Thanks,

        Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.