In transfer_to_handler() (entry_32.S), we have: #if defined(CONFIG_40x) || defined(CONFIG_BOOKE) ... #ifdef CONFIG_SMP CURRENT_THREAD_INFO(r9, r1) lwz r9,TI_CPU(r9) slwi r9,r9,3 add r11,r11,r9 #endif #endif
When running this piece of code, MMU translation is off. But r9 contains the virtual addr of current_thread_info, so unless I miss something, this cannot work on the 40x, can it ?
On CONFIG_BOOKE it works because phys addr = virt addr Christophe