Linux 2.6 sources for MPC852T processor
Hi, I did the following: $ patch -p1 tlbfix-mt.patch (This is the patch you sent me) $ cg-seek v2.6.16 Warning: uncommitted local changes, trying to bring them along patching file arch/ppc/8xx_io/Kconfig patching file arch/ppc/8xx_io/Makefile The next patch would create the file arch/ppc/8xx_io/cpm_spi.c, which already exists! Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file arch/ppc/8xx_io/cpm_spi.c.rej patching file arch/ppc/Kconfig Hunk #2 succeeded at 927 (offset -16 lines). patching file arch/ppc/kernel/head_8xx.S patching file arch/ppc/platforms/Makefile Hunk #1 succeeded at 37 (offset -1 lines). The next patch would create the file arch/ppc/platforms/prtppc.h, which already exists! Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file arch/ppc/platforms/prtppc.h.rej The next patch would create the file arch/ppc/platforms/prtppc_serial.h, which already exists! Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file arch/ppc/platforms/prtppc_serial.h.rej The next patch would create the file arch/ppc/platforms/prtppc_setup.c, which already exists! Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file arch/ppc/platforms/prtppc_setup.c.rej patching file arch/ppc/syslib/m8xx_setup.c patching file drivers/input/keyboard/Kconfig patching file drivers/input/keyboard/Makefile patching file drivers/usb/Kconfig patching file drivers/usb/host/isp116x.h patching file drivers/video/Kconfig patching file drivers/video/Makefile The next patch would create the file include/asm-ppc/cpm_spi.h, which already exists! Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file include/asm-ppc/cpm_spi.h.rej patching file include/asm-ppc/mpc8xx.h patching file include/asm-ppc/ppc_sys.h patching file include/asm-ppc/serial.h Adding file arch/ppc/8xx_io/cpm_spi.c Adding file arch/ppc/platforms/prtppc.h Adding file arch/ppc/platforms/prtppc_serial.h Adding file arch/ppc/platforms/prtppc_setup.c Adding file include/asm-ppc/cpm_spi.h On commit 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 All the abve is BSP stuff and drivers for our board, plus macrelo's patch. To verify, I did: $ cg-diff arch/ppc/kernel/head_8xx.S diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S --- a/arch/ppc/kernel/head_8xx.S +++ b/arch/ppc/kernel/head_8xx.S @@ -357,9 +357,7 @@ InstructionTLBMiss: . = 0x1200 DataStoreTLBMiss: -#ifdef CONFIG_8xx_CPU6 stw r3, 8(r0) -#endif DO_8xx_CPU6(0x3f80, r3) mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ mfcrr10 @@ -419,9 +417,7 @@ DataStoreTLBMiss: lwz r11, 0(r0) mtcrr11 lwz r11, 4(r0) -#ifdef CONFIG_8xx_CPU6 lwz r3, 8(r0) -#endif rfi /* This is an instruction TLB error on the MPC8xx. This could be due Looks good. $ make uImage Kernel doesn't boot, no output produced :-( Greetings, -- David Jander
Linux 2.6 sources for MPC852T processor
On Wed, Apr 26, 2006 at 07:32:13PM -0400, Dan Malek wrote: On Apr 26, 2006, at 7:50 AM, David Jander wrote: Yes, MPC852T is supported, although I might add that I have been using 2.6.14 and 2.6.15 sucessfully with our own MPC852T-based board, but 2.6.16 did not boot and as of today I don't know why, or whether this is an issue at all with boards other than ours. There is a horrible bug in the 8xx TLB miss handler that is in the 2.6.16 sources. I don't know when it appeared. Enable the CPU6 Errata workaround to see if that solves the problem and please report back to me. I'm working on a solution. Hi Dan, Shame on me! I screwed up. David, can you please try the following patch on top of vanilla v2.6.16? The large TLB change introduced in v2.6.16 (which is broken as is for configurations without CPU6 errata enabled as Dan noted) should boost performance significantly, so you might want to rerun the lmbench tests... diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S index ec53c7d..7a2f205 100644 --- a/arch/ppc/kernel/head_8xx.S +++ b/arch/ppc/kernel/head_8xx.S @@ -355,9 +355,7 @@ #endif . = 0x1200 DataStoreTLBMiss: -#ifdef CONFIG_8xx_CPU6 stw r3, 8(r0) -#endif DO_8xx_CPU6(0x3f80, r3) mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ mfcrr10 @@ -417,9 +415,7 @@ #endif lwz r11, 0(r0) mtcrr11 lwz r11, 4(r0) -#ifdef CONFIG_8xx_CPU6 lwz r3, 8(r0) -#endif rfi /* This is an instruction TLB error on the MPC8xx. This could be due
Linux 2.6 sources for MPC852T processor
On Thursday 27 April 2006 01:32, Dan Malek wrote: There is a horrible bug in the 8xx TLB miss handler that is in the 2.6.16 sources. I don't know when it appeared. Enable the CPU6 Errata workaround to see if that solves the problem and please report back to me. I'm working on a solution. I received instructions from Marcelo to reverse two patches he sent me this morning, that did solve the problem. In fact those patches changed some TLB-related assembly code in head_8xx.S Greetings, -- David Jander
Linux 2.6 sources for MPC852T processor
An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060426/ff429bb5/attachment.htm
Linux 2.6 sources for MPC852T processor
On Apr 26, 2006, at 7:50 AM, David Jander wrote: Yes, MPC852T is supported, although I might add that I have been using 2.6.14 and 2.6.15 sucessfully with our own MPC852T-based board, but 2.6.16 did not boot and as of today I don't know why, or whether this is an issue at all with boards other than ours. There is a horrible bug in the 8xx TLB miss handler that is in the 2.6.16 sources. I don't know when it appeared. Enable the CPU6 Errata workaround to see if that solves the problem and please report back to me. I'm working on a solution. Thanks. -- Dan