Skip to contentSkip to conversation

linuxppc_2_4_devel patch adding KGDB support to ev64260

PATCH Mark A. Greer 2 participants 3 messages Jun 5, 2003

lore
Share & tools
lore
#0 lore raw

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 */
 
#1 lore raw
Quoted 3 lines · Mark A. Greer

===== arch/ppc/platforms/ev64260.c 1.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/

#2 lore raw
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 -0
 	if ( 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 */