On 06/27/2013 06:39 AM, Kevin Hao wrote:
For an unknown relocation type since the value of r4 is just the 8bit
relocation type, the sum of r4 and r7 may yield an invalid memory
address. For example:
     In normal case:
              r4 = c00xxxxx
              r7 = 40000000
              r4 + r7 = 000xxxxx

     For an unknown relocation type:
              r4 = 000000xx
              r7 = 40000000
              r4 + r7 = 400000xx
    400000xx is an invalid memory address for a board which has just
    512M memory.

And for operations such as dcbst or icbi may cause bus error for an
invalid memory address on some platforms and then cause the board
reset. So we should skip the flush/invalidate the d/icache for
an unknown relocation type.


Good catch. Thanks for the fix.

Acked-by: Suzuki K. Poulose <suz...@in.ibm.com>

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to