linuxppc_2_4_devel patch adding KGDB support to ev64260
Subject pretty much says it all.
Please apply if no one objects.
Mark
--
===== arch/ppc/config.in 1.185 vs edited =====
arch/ppc/config.in +4 -0
@@ -212,6 +212,10 @@ endmenu fi +if [ "$CONFIG_EV64260" = "y" ]; then + define_bool CONFIG_GEN550 y +fi + if [ "$CONFIG_FORCE" = "y" -o "$CONFIG_MENF1" = "y" \ -o "$CONFIG_SANDPOINT" = "y" -o "$CONFIG_ZX4500" = "y" ]; then bool 'Enable MPC10x store gathering' CONFIG_MPC10X_STORE_GATHERING
===== arch/ppc/configs/ev64260_defconfig 1.12 vs edited =====
arch/ppc/configs/ev64260_defconfig +10 -0
@@ -34,11 +34,15 @@ # CONFIG_ALL_PPC is not set # CONFIG_APUS is not set # CONFIG_WILLOW is not set +# CONFIG_CPCI690 is not set # CONFIG_PCORE is not set # CONFIG_POWERPMC250 is not set +# CONFIG_PPMC260 is not set CONFIG_EV64260=y # CONFIG_SPRUCE is not set # CONFIG_MENF1 is not set +# CONFIG_PUMA_A is not set +# CONFIG_HXEB100 is not set # CONFIG_LOPEC is not set # CONFIG_MCPN765 is not set # CONFIG_MVME5100 is not set
@@ -62,6 +66,7 @@ CONFIG_GT64260_ORIG_REG_BASE=f1000000 CONFIG_GT64260_NEW_BASE=y CONFIG_GT64260_NEW_REG_BASE=fbe00000 +CONFIG_GEN550=y # CONFIG_SMP is not set CONFIG_ALTIVEC=y CONFIG_TAU=y
@@ -94,6 +99,7 @@ # Parallel port support # # CONFIG_PARPORT is not set +# CONFIG_GEN_RTC is not set CONFIG_PPC_RTC=y CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="console=ttyS0,115200 ip=on gt_mac0=feffff000000 gt_mac1=feffff000001 gt_mac2=feffff000002"
@@ -141,6 +147,9 @@ CONFIG_MTD_PHYSMAP_START=fc000000 CONFIG_MTD_PHYSMAP_LEN=02000000 CONFIG_MTD_PHYSMAP_BUSWIDTH=4 +# CONFIG_MTD_PUMA_A is not set +# CONFIG_MTD_HXEB100 is not set +# CONFIG_MTD_PPMC260 is not set # CONFIG_MTD_PCI is not set # CONFIG_MTD_PCMCIA is not set
@@ -353,6 +362,7 @@ # CONFIG_DGRS is not set # CONFIG_DM9102 is not set CONFIG_EEPRO100=y +# CONFIG_EEPRO100_PIO is not set # CONFIG_E100 is not set # CONFIG_LNE390 is not set # CONFIG_FEALNX is not set
===== arch/ppc/platforms/ev64260.c 1.22 vs edited =====
arch/ppc/platforms/ev64260.c +117 -140
353 lines not on this page · raw message
===== arch/ppc/platforms/ev64260.h 1.13 vs edited =====
arch/ppc/platforms/ev64260.h +16 -12
@@ -77,6 +77,15 @@#define EV64260_UART_END ((EV64260_UART_BASE + \ EV64260_UART_SIZE - 1) & 0xfff00000) +/* +* Board-specific IRQ info +*/ +#define EV64260_UART_0_IRQ 85 +#define EV64260_UART_1_IRQ 86 + +#define EV64260_PCI_0_IRQ 91 +#define EV64260_PCI_1_IRQ 93 +#if !defined(CONFIG_GT64260_CONSOLE )/* * Serial driver setup.
@@ -84,7 +93,7 @@#define EV64260_SERIAL_0 (EV64260_UART_BASE + 0x20)#define EV64260_SERIAL_1 EV64260_UART_BASE -#define BASE_BAUD ( 3686400 / 16 ) +#define BASE_BAUD ( 3686400 / 16 )/* 115200 */ #ifdef CONFIG_SERIAL_MANY_PORTS #define RS_TABLE_SIZE 64
@@ -100,8 +109,12 @@/* Required for bootloader's ns16550.c code */ #define STD_SERIAL_PORT_DFNS \ - { 0, BASE_BAUD, EV64260_SERIAL_0, 85, STD_COM_FLAGS, /* ttyS0 */\ - iomem_base: (u8 *)EV64260_SERIAL_0, \ + { 0, BASE_BAUD, EV64260_SERIAL_0, EV64260_UART_0_IRQ, STD_COM_FLAGS, \ + iomem_base: (u8 *)EV64260_SERIAL_0, /* ttyS0 */ \ + iomem_reg_shift: 2, \ + io_type: SERIAL_IO_MEM }, \ + { 0, BASE_BAUD, EV64260_SERIAL_1, EV64260_UART_1_IRQ, STD_COM_FLAGS, \ + iomem_base: (u8 *)EV64260_SERIAL_1, /* ttyS1 */ \ iomem_reg_shift: 2, \ io_type: SERIAL_IO_MEM },
@@ -110,15 +123,6 @@#else /* if defined(CONFIG_GT64260_CONSOLE) */ #define SERIAL_PORT_DFNS #endif /* !defined(CONFIG_GT64260_CONSOLE) */ - -/* -* Board-specific IRQ info -*/ -#define EV64260_UART_0_IRQ 85 -#define EV64260_UART_1_IRQ 86 - -#define EV64260_PCI_0_IRQ 91 -#define EV64260_PCI_1_IRQ 93#endif /* CONFIG_EV64260 */
Quoted 3 lines · Mark A. Greer
=====
arch/ppc/platforms/ev64260.c1.22 vs edited =====arch/ppc/platforms/ev64260.c +0
-0
[snip]
Quoted 2 lines
arch/ppc/platforms/ev64260.c +2
-0+static void __init +ev64260_setup_arch (void )
[snip]
Quoted 9 lines
arch/ppc/platforms/ev64260.c +0
-5@@ -416,14 +481,10 @@ ppc_md.progress ("ev64260_setup_arch: Enabling L2 cache" ,0 );/* Enable L2 and L3 caches (if 745x) */ - val =_get_L2CR (); - val |=L2CR_L2E ; -_set_L2CR (val); - -if (PVR_VER (mfspr (PVR )) ==PVR_VER (PVR_7450 )) {
arch/ppc/platforms/ev64260.c line 490
Quoted 10 lines
arch/ppc/platforms/ev64260.c +4
-3- val =_get_L3CR (); - val |=L3CR_L3E ; -_set_L3CR (val); +_set_L2CR (_get_L2CR () |L2CR_L2E ); + +if (cur_cpu_spec[0 ]->cpu_features &CPU_FTR_L3CR ) { +_set_L3CR (_get_L3CR () |L3CR_L3E ); }if ( ppc_md.progress )
Redundant check. _{get,set}_L3CR check for the appropriate cpufeature flags.
arch/ppc/platforms/ev64260.c line 795
Quoted 9 lines
arch/ppc/platforms/ev64260.c +1
-1@@ -808,7 +789,7 @@ {extern char cmd_line[]; - cmd_line[0 ]=0 ; + cmd_line[0 ] ='\0' ;#ifdef CONFIG_BLK_DEV_INITRD initrd_start=initrd_end=0 ; initrd_below_start_ok=0 ;
Um, is that really needed? It shouldn't be..
--
Tom Rini
http://gate.crashing.org/~trini/
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Quoted 22 lines · Tom Rini
Quoted 18 lines · Mark A. Greer
(quoted diff) +4
-8@@ -416,14 +481,10 @@ ppc_md.progress("ev64260_setup_arch: Enabling L2 cache", 0); /* Enable L2 and L3 caches (if 745x) */ - val = _get_L2CR(); - val |= L2CR_L2E; - _set_L2CR(val); - - if (PVR_VER(mfspr(PVR)) == PVR_VER(PVR_7450)) { - val = _get_L3CR(); - val |= L3CR_L3E; - _set_L3CR(val); + _set_L2CR(_get_L2CR() | L2CR_L2E); + + if (cur_cpu_spec[0]->cpu_features & CPU_FTR_L3CR) { + _set_L3CR(_get_L3CR() | L3CR_L3E); }
Quoted 7 lines
Review line 490
Quoted 3 lines
(quoted diff) +0
-0if ( ppc_md.progress )Redundant check. _{get,set}_L3CR check for the appropriate cpufeature flags.
Gone.
Quoted 4 lines
Quoted 4 lines
(quoted diff) +0
-0@@ -808,7 +789,7 @@ { extern char cmd_line[];
Quoted 10 lines
Review line 795
Quoted 7 lines
(quoted diff) +1
-1- cmd_line[0]=0; + cmd_line[0] = '\0'; #ifdef CONFIG_BLK_DEV_INITRD initrd_start=initrd_end=0; initrd_below_start_ok=0;Um, is that really needed? It shouldn't be..
Nope. Somehow, that line got injected into the code to I carried it forward. I won't anymore. Its gone.
Attached is the new patch.
Mark
===== arch/ppc/config.in 1.185 vs edited =====
arch/ppc/config.in +4 -0
@@ -212,6 +212,10 @@ endmenu fi +if [ "$CONFIG_EV64260" = "y" ]; then + define_bool CONFIG_GEN550 y +fi + if [ "$CONFIG_FORCE" = "y" -o "$CONFIG_MENF1" = "y" \ -o "$CONFIG_SANDPOINT" = "y" -o "$CONFIG_ZX4500" = "y" ]; then bool 'Enable MPC10x store gathering' CONFIG_MPC10X_STORE_GATHERING
===== arch/ppc/configs/ev64260_defconfig 1.12 vs edited =====
arch/ppc/configs/ev64260_defconfig +10 -0
@@ -34,11 +34,15 @@ # CONFIG_ALL_PPC is not set # CONFIG_APUS is not set # CONFIG_WILLOW is not set +# CONFIG_CPCI690 is not set # CONFIG_PCORE is not set # CONFIG_POWERPMC250 is not set +# CONFIG_PPMC260 is not set CONFIG_EV64260=y # CONFIG_SPRUCE is not set # CONFIG_MENF1 is not set +# CONFIG_PUMA_A is not set +# CONFIG_HXEB100 is not set # CONFIG_LOPEC is not set # CONFIG_MCPN765 is not set # CONFIG_MVME5100 is not set
@@ -62,6 +66,7 @@ CONFIG_GT64260_ORIG_REG_BASE=f1000000 CONFIG_GT64260_NEW_BASE=y CONFIG_GT64260_NEW_REG_BASE=fbe00000 +CONFIG_GEN550=y # CONFIG_SMP is not set CONFIG_ALTIVEC=y CONFIG_TAU=y
@@ -94,6 +99,7 @@ # Parallel port support # # CONFIG_PARPORT is not set +# CONFIG_GEN_RTC is not set CONFIG_PPC_RTC=y CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="console=ttyS0,115200 ip=on gt_mac0=feffff000000 gt_mac1=feffff000001 gt_mac2=feffff000002"
@@ -141,6 +147,9 @@ CONFIG_MTD_PHYSMAP_START=fc000000 CONFIG_MTD_PHYSMAP_LEN=02000000 CONFIG_MTD_PHYSMAP_BUSWIDTH=4 +# CONFIG_MTD_PUMA_A is not set +# CONFIG_MTD_HXEB100 is not set +# CONFIG_MTD_PPMC260 is not set # CONFIG_MTD_PCI is not set # CONFIG_MTD_PCMCIA is not set
@@ -353,6 +362,7 @@ # CONFIG_DGRS is not set # CONFIG_DM9102 is not set CONFIG_EEPRO100=y +# CONFIG_EEPRO100_PIO is not set # CONFIG_E100 is not set # CONFIG_LNE390 is not set # CONFIG_FEALNX is not set
===== arch/ppc/platforms/ev64260.c 1.22 vs edited =====
arch/ppc/platforms/ev64260.c +114 -141
351 lines not on this page · raw message
===== arch/ppc/platforms/ev64260.h 1.13 vs edited =====
arch/ppc/platforms/ev64260.h +16 -12
@@ -77,6 +77,15 @@#define EV64260_UART_END ((EV64260_UART_BASE + \ EV64260_UART_SIZE - 1) & 0xfff00000) +/* +* Board-specific IRQ info +*/ +#define EV64260_UART_0_IRQ 85 +#define EV64260_UART_1_IRQ 86 + +#define EV64260_PCI_0_IRQ 91 +#define EV64260_PCI_1_IRQ 93 +#if !defined(CONFIG_GT64260_CONSOLE )/* * Serial driver setup.
@@ -84,7 +93,7 @@#define EV64260_SERIAL_0 (EV64260_UART_BASE + 0x20)#define EV64260_SERIAL_1 EV64260_UART_BASE -#define BASE_BAUD ( 3686400 / 16 ) +#define BASE_BAUD ( 3686400 / 16 )/* 115200 */ #ifdef CONFIG_SERIAL_MANY_PORTS #define RS_TABLE_SIZE 64
@@ -100,8 +109,12 @@/* Required for bootloader's ns16550.c code */ #define STD_SERIAL_PORT_DFNS \ - { 0, BASE_BAUD, EV64260_SERIAL_0, 85, STD_COM_FLAGS, /* ttyS0 */\ - iomem_base: (u8 *)EV64260_SERIAL_0, \ + { 0, BASE_BAUD, EV64260_SERIAL_0, EV64260_UART_0_IRQ, STD_COM_FLAGS, \ + iomem_base: (u8 *)EV64260_SERIAL_0, /* ttyS0 */ \ + iomem_reg_shift: 2, \ + io_type: SERIAL_IO_MEM }, \ + { 0, BASE_BAUD, EV64260_SERIAL_1, EV64260_UART_1_IRQ, STD_COM_FLAGS, \ + iomem_base: (u8 *)EV64260_SERIAL_1, /* ttyS1 */ \ iomem_reg_shift: 2, \ io_type: SERIAL_IO_MEM },
@@ -110,15 +123,6 @@#else /* if defined(CONFIG_GT64260_CONSOLE) */ #define SERIAL_PORT_DFNS #endif /* !defined(CONFIG_GT64260_CONSOLE) */ - -/* -* Board-specific IRQ info -*/ -#define EV64260_UART_0_IRQ 85 -#define EV64260_UART_1_IRQ 86 - -#define EV64260_PCI_0_IRQ 91 -#define EV64260_PCI_1_IRQ 93#endif /* CONFIG_EV64260 */