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.
winopt0515.patch
Description: winopt0515.patch
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|