Re: flush_tlb_all

From: Fisherss <fisherss_at_gmail.com>
Date: Wed, 1 Jun 2005 10:26:17 +0800

I have tried all of the instructions in the flush_tlb_all function, so
it won't work whatever the __tlb_flag is. Unless the same instruction
will fail or succedd with different __tlb_flag value. Did you mean
that ?

>maybe it sounds too newbie but...
>perhaps the "const unsigned int __tlb_flag = __cpu_tlb_flags;"
>assignment is different using haret, try to print both and compare it.
>
>
>PD:is there any way this list can be 'optimized'? i don't receive my own
>mails and the reply address is not the list one.
>
>
>Fisherss wrote:
>> I found that kernel stops at this
>> function: flush_tlb_all.
>> It is in file include/asm-arm/tlbflush.h :
>>
>> static inline void flush_tlb_all(void)
>> {
>> const int zero = 0;
>> const unsigned int __tlb_flag = __cpu_tlb_flags;
>>
>> if (tlb_flag(TLB_WB))
>> printk("flush 1");
>> asm("mcr%? p15, 0, %0, c7, c10, 4" : : "r" (zero));
>>
>> if (tlb_flag(TLB_V3_FULL))
>> printk("flush 2");
>> asm("mcr%? p15, 0, %0, c6, c0, 0" : : "r" (zero));
>> if (tlb_flag(TLB_V4_U_FULL | TLB_V6_U_FULL))
>> printk("flush 3");
>> asm("mcr%? p15, 0, %0, c8, c7, 0" : : "r" (zero));
>> if (tlb_flag(TLB_V4_D_FULL | TLB_V6_D_FULL))
>> printk("flush 4");
>> asm("mcr%? p15, 0, %0, c8, c6, 0" : : "r" (zero));
>> if (tlb_flag(TLB_V4_I_FULL | TLB_V6_I_FULL))
>> printk("flush 5");
>> asm("mcr%? p15, 0, %0, c8, c5, 0" : : "r" (zero));
>> }
>>
>> and it actually execute the first part :
>> if (tlb_flag(TLB_WB))
>> printk("flush 1");
>> asm("mcr%? p15, 0, %0, c7, c10, 4" : : "r" (zero));
>>
>> The same line in haret's source works fine, but it doesn't work here.
>> MMU is turned on here.
>> I saw someone has the same question in a mailing list, but the
>> solution given by another people is "there must be something wrong in
>> you memory settings", I really can't understand what he mean.
>>
>> any idea?
>
>_______________________________________________
>Aximx30-port mailing list
>Aximx30-port_at_handhelds.org
>https://www.handhelds.org/mailman/listinfo/aximx30-port
>

-- 
Fisherss
fisherss_at_gmail.com
Received on Tue May 31 2005 - 22:30:41 EDT

This archive was generated by hypermail 2.2.0 : Mon Jul 25 2005 - 18:10:03 EDT