[PATCH 1/2] powerpc: add kexec support on FSL-Book-E

wilbur.chan wilbur512 at gmail.com
Sun Aug 2 11:25:43 EST 2009


Hi, Sebastian,

>From: Sebastian Andrzej Siewior <bigeasy at linutronix.de>

>The relocate_new_kernel() code usually disables the MMU and the small code
>operates on physicall pages while moving the kernel to its final position.
>Book-E doesn't support this so a 1:1 mapping must be created.
>This patch adds support for FSL-BOOK-E implementation.

>Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>




>+      xori    r6,r4,1                 /* Setup TMP mapping in the other Address space */
>+      slwi    r6,r6,12
>+      oris    r6,r6,(MAS1_VALID|MAS1_IPROT)@h
>+      ori     r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_1GB))@l
>+      mtspr   SPRN_MAS1,r6

>.........

>+      /* find our address */
>+      addi    r7, r30, final_copy_code - relocate_new_kernel
>+
>+      mtspr   SPRN_SRR0,r7
>+      mtspr   SPRN_SRR1,r6
>+      rfi

............................................................................................................................................

In your patch of Booke support for kexec , it setup a 1GB TMP mapping
and jump to it.

But I saw that, the max size for an e500 entry is 256M,so I changed
your code to setup 4*256M entries, and it works well on mpc8541.

Howerver,it didn't work on mpc8548(e500 v2)  and
P2020ds(SMP,e500 v2) , and  'rfi' to final_copy_code failed.(I also
setup a 1:1 mapping for serial ,so I can trap the flowchart in
relocate_new_kernel)


Any suggestions about this ?   Thank you very much.


regards,

wilbur


More information about the Linuxppc-dev mailing list