Skip to content

Commit

Permalink
[PATCH] ppc32: Fix some minor issues related to FSL Book-E KGDB support
Browse files Browse the repository at this point in the history
Some debug registers needed to be initialized early on to allow proper
support for KGDB.  Additionally, we need to setup the
ppc.md_early_serial_map function pointer on boards that have serial support
for KGDB.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Kumar Gala authored and Linus Torvalds committed May 28, 2005
1 parent 94b9f46 commit 252fcae
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 1 deletion.
15 changes: 14 additions & 1 deletion arch/ppc/kernel/head_fsl_booke.S
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,8 @@ skpinv: addi r6,r6,1 /* Increment */
tlbwe

/* 7. Jump to KERNELBASE mapping */
li r7,0
lis r7,MSR_KERNEL@h
ori r7,r7,MSR_KERNEL@l
bl 1f /* Find our address */
1: mflr r9
rlwimi r6,r9,0,20,31
Expand Down Expand Up @@ -293,6 +294,18 @@ skpinv: addi r6,r6,1 /* Increment */
mtspr SPRN_HID0, r2
#endif

#if !defined(CONFIG_BDI_SWITCH)
/*
* The Abatron BDI JTAG debugger does not tolerate others
* mucking with the debug registers.
*/
lis r2,DBCR0_IDM@h
mtspr SPRN_DBCR0,r2
/* clear any residual debug events */
li r2,-1
mtspr SPRN_DBSR,r2
#endif

/*
* This is where the main kernel code starts.
*/
Expand Down
3 changes: 3 additions & 0 deletions arch/ppc/platforms/85xx/mpc8540_ads.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,9 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
ppc_md.early_serial_map = mpc85xx_early_serial_map;
#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */

if (ppc_md.progress)
ppc_md.progress("mpc8540ads_init(): exit", 0);
Expand Down
3 changes: 3 additions & 0 deletions arch/ppc/platforms/85xx/mpc85xx_cds_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,9 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
ppc_md.early_serial_map = mpc85xx_early_serial_map;
#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */

if (ppc_md.progress)
ppc_md.progress("mpc85xx_cds_init(): exit", 0);
Expand Down
3 changes: 3 additions & 0 deletions arch/ppc/platforms/85xx/sbc8560.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,9 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
ppc_md.early_serial_map = sbc8560_early_serial_map;
#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */

if (ppc_md.progress)
ppc_md.progress("sbc8560_init(): exit", 0);
Expand Down

0 comments on commit 252fcae

Please sign in to comment.