with kernel 2.6.35, on beagle xm rev C, I found a situation that hangs the 
kernel here:

if I do nothing in map_io, which be called just before local_flush_tlb_all, 
kernel will hang up there.

setup_arch->paging_init->devicemaps_init last two lines

static inline void local_flush_tlb_all(void)
{
        const int zero = 0;
        const unsigned int __tlb_flag = __cpu_tlb_flags;

        if (tlb_flag(TLB_WB))
                dsb();

        if (tlb_flag(TLB_V3_FULL))
                asm("mcr p15, 0, %0, c6, c0, 0" : : "r" (zero) : "cc");
        if (tlb_flag(TLB_V4_U_FULL | TLB_V6_U_FULL))
                asm("mcr p15, 0, %0, c8, c7, 0" : : "r" (zero) : "cc"); // 
kernel hangs at this line
        if (tlb_flag(TLB_V4_D_FULL | TLB_V6_D_FULL))
                asm("mcr p15, 0, %0, c8, c6, 0" : : "r" (zero) : "cc");
        if (tlb_flag(TLB_V4_I_FULL | TLB_V6_I_FULL))
                asm("mcr p15, 0, %0, c8, c5, 0" : : "r" (zero) : "cc");
        if (tlb_flag(TLB_V7_UIS_FULL))
                asm("mcr p15, 0, %0, c8, c3, 0" : : "r" (zero) : "cc");

        if (tlb_flag(TLB_BTB)) {
                /* flush the branch target cache */
                asm("mcr p15, 0, %0, c7, c5, 6" : : "r" (zero) : "cc");
                dsb();
                isb();
        }
        if (tlb_flag(TLB_V7_IS_BTB)) {
                /* flush the branch target cache */
                asm("mcr p15, 0, %0, c7, c1, 6" : : "r" (zero) : "cc");
                dsb();
                isb();
        }
}

but if I mapped CPU L4 peripheral to some virtual address in map_io, this 
local_flush_tlb_all 
call will run correctly.
I have enabled early printk in kernel which I use it to locate where kernel 
stopped.

so my question is what effect will mapping L4 peripheral do to 
local_flush_tlb_all?

thanks

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to