
18 Jul
2006
18 Jul
'06
8:54 p.m.
I'm working on adding support for a new 8349 board to U-Boot, and the processor resets if I turn on the IR bit in the MSR. This happens in function enable_addr_trans() in start.S.
enable_addr_trans: /* enable address translation */ mfmsr r5 ori r5, r5, (MSR_IR | MSR_DR) mtmsr r5 isync blr
with this code, when the "mtmsr" instruction is executed, the processor resets (or hangs - I can't tell). If I change the 4th line to:
ori r5, r5, MSR_DR
It works and U-Boot boots to a command prompt.
Since the BATs are configured the same for data and instruction, I presume the mapping is correct, but there's something wrong with turning on instruction address translation. Anyone have any ideas?
--
Timur Tabi
Linux Kernel Developer @ Freescale