[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel][PATCH] windows 2003 specific optimization
The new one per your comments Thanks, Anthony >-----Original Message----- >From: Alex Williamson [mailto:alex.williamson@xxxxxx] >Sent: 2007年5月15日 2:21 >To: Xu, Anthony >Cc: Xen-ia64-devel >Subject: 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. Attachment:
winopt0515.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |