Linux 2.6 sources for MPC852T processor

2006-05-01 Thread David Jander

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

2006-04-30 Thread Marcelo Tosatti
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

2006-04-27 Thread David Jander
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

2006-04-26 Thread Chandrasekhar Nagaraj
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060426/ff429bb5/attachment.htm
 


Linux 2.6 sources for MPC852T processor

2006-04-26 Thread Dan Malek

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