BDI2000 PTEs

2001-11-29 Thread Rudolf Ladyzhenskii

 Thanks a lot, Dan,

It is working now.

The only thing you omitted is allocation of abatro_pteptrs variable.
In same file following has to be added as well:

After lines
cmd_line:
.space 512

Add following:

/* Room for two PTE table poiners, usually the kernel and current user
 * pointer to their respective root page table (pgdir).
 */
abatron_pteptrs:
.space  8


Rudolf

-Original Message-
From: Dan Malek
To: Rudolf Ladyzhenskii
Cc: 'linuxppc-embedded at lists.linuxppc.org'
Sent: 11/28/01 5:19 PM
Subject: Re: BDI2000 PTEs


Rudolf Ladyzhenskii wrote:


 All I need for kernel debugging is BAT only translation. I cleared it
 according to BDI2000 manual.

UmmmI think you need more than that for debugging loadable modules.
The BAT translation won't work for loadable modules, you have to find
all of their code and data through page tables.

 I looked at 2.4.14 kernel. It only has BDI2000 support in file
 /arch/ppc/kernel/head_8xx.S

Well hellI wonder why they were never updated in 2.4.14.  Take
a look at the PowerPC development kernels, then.

 Which lines do I have to add?

Add this right after the 'bl load_up_mmu':


/* Add helper information for the Abatron bdiGDB debugger.
 * We do this here because we know the mmu is disabled, and
 * will be enabled for real in just a few instructions.
 */
lis r5, abatron_pteptrs at h
ori r5, r5, abatron_pteptrs at l
stw r5, 0xf0(r0)/* This much match your Abatron config
*/
lis r6, swapper_pg_dir at h
ori r6, r6, swapper_pg_dir at l
tophys(r5, r5)
stw r6, 0(r5)


Good Luck.


-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





[PATCH] New PHY for ppc405_phy.c

2001-11-29 Thread Kent Borg

I hope I am sending this to the right place, someone please correct me
if I am doing this wrong...


Our 405 board has a different PHY from those supported in the current
sources, the following patch makes our PHY work.  If it looks
sensible, please apply.


Thanks,

-kb



--- linuxppc_2_4_devel/drivers/net/ppc405_phy.c Thu Nov 29 10:34:53 2001
+++ linux-penguinppc4/drivers/net/ppc405_phy.c  Thu Nov 29 10:48:07 2001
@@ -579,6 +579,75 @@
},
 };

+/* - */
+/* The Lucent Technologies LU3X31FT */
+
+/* register definitions */
+
+#define MII_LU3X31FT_PHYCTRLSTS 0x17/* PHY Control/Status Register */
+#define MII_LU3X31FT_IER0x1D/* PHY interrupt enable Register */
+#define MII_LU3X31FT_ISR0x1E/* PHY interrupt status Register */
+
+static void mii_parse_lu3x31ft_pcr(uint mii_reg, struct net_device *dev)
+{
+   struct fec_enet_private *fep = dev-priv;
+   volatile uint *s = (fep-phy_status);
+
+   *s = ~(PHY_STAT_SPMASK);
+
+   switch((mii_reg  8)  3) {
+   case 0:
+   *s |= PHY_STAT_10HDX;
+   break;
+   case 1:
+   *s |= PHY_STAT_10FDX;
+   break;
+   case 2:
+   *s |= PHY_STAT_100HDX;
+   break;
+   case 3:
+   *s |= PHY_STAT_100FDX;
+   break;
+   }
+}
+
+static phy_info_t phy_info_lu3x31ft = {
+   0x90307421,
+   LU3X31FT,
+   0,
+   (const phy_cmd_t []) {  /* config */
+
+   /* parse cr and anar to get some info */
+
+   { mk_mii_read(MII_REG_CR), mii_parse_cr },
+   { mk_mii_read(MII_REG_ANAR), mii_parse_anar },
+   { mk_mii_end, }
+   },
+   (const phy_cmd_t []) {  /* startup - enable interrupts */
+   { mk_mii_write(MII_LU3X31FT_IER, 0x), NULL },
+   { mk_mii_write(MII_REG_CR, PHY_BMCR_RST_NEG), NULL }, /* 
autonegotiate */
+   { mk_mii_end, }
+   },
+   ( const phy_cmd_t []) { /* ack_int */
+
+   /* we need to read ISR, SR and ANER to acknowledge */
+
+   { mk_mii_read(MII_LU3X31FT_ISR), NULL },
+   { mk_mii_read(MII_REG_SR), mii_parse_sr },
+   { mk_mii_read(MII_REG_ANAR), mii_parse_anar },
+
+   /* read pcr to get info */
+
+   { mk_mii_read(MII_LU3X31FT_PHYCTRLSTS), mii_parse_lu3x31ft_pcr 
},
+   { mk_mii_end, }
+   },
+   ( const phy_cmd_t []) { /* shutdown - disable interrupts */
+   { mk_mii_write(MII_LU3X31FT_IER, 0xff80), NULL },
+   { mk_mii_end, }
+   },
+};
+
+

 /* - */
 /* The AMD Am79C875*/
@@ -659,6 +728,7 @@
phy_info_lxt971a,
phy_info_cs8952,
phy_info_dp83846A,
+   phy_info_lu3x31ft,
phy_info_Am79C875,
NULL
 };

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





[PATCH] New PHY for ppc405_phy.c

2001-11-29 Thread Tom Rini

On Thu, Nov 29, 2001 at 11:05:30AM -0500, Kent Borg wrote:

 I hope I am sending this to the right place, someone please correct me
 if I am doing this wrong...

Looks good, applied.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





[PATCH] New PHY for ppc405_phy.c

2001-11-29 Thread Armin Kuster

Kent Borg wrote:

 I hope I am sending this to the right place, someone please correct me
 if I am doing this wrong...

 Our 405 board has a different PHY from those supported in the current
 sources, the following patch makes our PHY work.  If it looks
 sensible, please apply.

 Thanks,

 -kb

 --- linuxppc_2_4_devel/drivers/net/ppc405_phy.c Thu Nov 29 10:34:53 2001
 +++ linux-penguinppc4/drivers/net/ppc405_phy.c  Thu Nov 29 10:48:07 2001
 @@ -579,6 +579,75 @@
 },
  };

 +/* - 
 */
 +/* The Lucent Technologies LU3X31FT */
 +
 +/* register definitions */
 +
 +#define MII_LU3X31FT_PHYCTRLSTS 0x17/* PHY Control/Status Register */
 +#define MII_LU3X31FT_IER0x1D/* PHY interrupt enable Register */
 +#define MII_LU3X31FT_ISR0x1E/* PHY interrupt status Register */
 +
 +static void mii_parse_lu3x31ft_pcr(uint mii_reg, struct net_device *dev)
 +{
 +   struct fec_enet_private *fep = dev-priv;
 +   volatile uint *s = (fep-phy_status);
 +
 +   *s = ~(PHY_STAT_SPMASK);
 +
 +   switch((mii_reg  8)  3) {
 +   case 0:
 +   *s |= PHY_STAT_10HDX;
 +   break;
 +   case 1:
 +   *s |= PHY_STAT_10FDX;
 +   break;
 +   case 2:
 +   *s |= PHY_STAT_100HDX;
 +   break;
 +   case 3:
 +   *s |= PHY_STAT_100FDX;
 +   break;
 +   }
 +}
 +
 +static phy_info_t phy_info_lu3x31ft = {
 +   0x90307421,
 +   LU3X31FT,
 +   0,
 +   (const phy_cmd_t []) {  /* config */
 +
 +   /* parse cr and anar to get some info */
 +
 +   { mk_mii_read(MII_REG_CR), mii_parse_cr },
 +   { mk_mii_read(MII_REG_ANAR), mii_parse_anar },
 +   { mk_mii_end, }
 +   },
 +   (const phy_cmd_t []) {  /* startup - enable interrupts */
 +   { mk_mii_write(MII_LU3X31FT_IER, 0x), NULL },
 +   { mk_mii_write(MII_REG_CR, PHY_BMCR_RST_NEG), NULL }, /* 
 autonegotiate */
 +   { mk_mii_end, }
 +   },
 +   ( const phy_cmd_t []) { /* ack_int */
 +
 +   /* we need to read ISR, SR and ANER to acknowledge */
 +
 +   { mk_mii_read(MII_LU3X31FT_ISR), NULL },
 +   { mk_mii_read(MII_REG_SR), mii_parse_sr },
 +   { mk_mii_read(MII_REG_ANAR), mii_parse_anar },
 +
 +   /* read pcr to get info */
 +
 +   { mk_mii_read(MII_LU3X31FT_PHYCTRLSTS), 
 mii_parse_lu3x31ft_pcr },
 +   { mk_mii_end, }
 +   },
 +   ( const phy_cmd_t []) { /* shutdown - disable interrupts */
 +   { mk_mii_write(MII_LU3X31FT_IER, 0xff80), NULL },
 +   { mk_mii_end, }
 +   },
 +};
 +
 +

  /* - 
 */
  /* The AMD Am79C875*/
 @@ -659,6 +728,7 @@
 phy_info_lxt971a,
 phy_info_cs8952,
 phy_info_dp83846A,
 +   phy_info_lu3x31ft,
 phy_info_Am79C875,
 NULL
  };



Thanks,

-- armin

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





Monta Vistas HHL 2.0 ppc-8xx_gcc(2.95.3) buggy?

2001-11-29 Thread Joakim Tjernlund

Hi there

I am trying to compile the latest(2.4.16) ppclinux_2_4 kernel
for our custom MPC860 board and it wont boot(I get a signal 11 Oops).

If I reduce gcc flag -O2 to -O1 I get as far as the first
call to printk() in emit_log_char() where it Oops(signal 11).
If I replace the printk.c file with the one found in MV HLL 2.0 kernel,
It will boot just fine.  Then I change -O1 back to -O2 and I get an Oops
again. This time halfway through the booting process.

I can run the MV 2.4.2 kernel without problems.

I am on  RH 7.1 with almost all updates applied. Also tried to
compile it on  RH 7.0 but got the same result(signal 11).

This looks to me like a compiler problem, has anyone else
had similar problems ?

Where can I find a good cross compiler for ppc 8xx which
will run on RH 7.1?

 Jocke


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





Kernel oops while routing

2001-11-29 Thread Ricardo Scop

Hi everybody,

Ok, time for an update on the problem bellow.

First of all, many thanks to Andy Lowe for his patch. The problem was
gone with it, but with some performance penalties that I would like to
discuss.

Even before applying the patch, we found out that the crash was caused
by a memory leak in the system. When the memoty was exhauted, the
kernel crashed. Furthermore, we discovered that
turning CONFIG...MMAP off decreased considerably the leakage rate, at
least in our test setup.

Then, applying the patch stopped the leak. But, just as I mentioned
before, the performance of our routing test decreased a lot. Best
throughput rates dropped to 15 Mbps, against 46 Mbps before patching.

I'm kind of lost with this performance variations. As far as I could
see, the patch did not insert much processing overhead, so...

Tips, commentaries, pointers on what to seek for... everything will be
appreciated.

[]'s, Scopmailto:scop at digitel.com.br

--
What's money? A man is a success if he gets up in the morning and
goes to bed at night and in between does what he wants to do.
~Bob Dylan

Monday, November 26, 2001, 1:54:19 PM, Ricardo Scop wrote:

RS Hi,

RS I'm doing some performance tests with a proprietary Linuxppc-based box
RS configured as a routing system. The processor is  MPC8255 @ 133 MHz (33Mhz 
on
RS the bus) and Linux revision is 2.4.15pre8 rsync'ed from MVista linuxppc_2_4
RS repository.

RS We are using two other Linux workstations to exercise the router, both
RS running Netpipe 2.4, one as a client application, the other as a server. 
Each
RS one is connected to a different fast ethernet port of our router  box
RS (100MHz, full-duplex mode) using cross cables.

RS We're achieving throughputs around 40 Mbps with this setup, which is enough
RS for our purposes.

RS But, when we try a 30 MBytes' block in Netpipe,  the kernel in our Linux box
RS crashes big time (trace bellow, including ksymoops decode). We also tryed
RS Linux 2.4.4 version, but then the performance slows down to around 13 Mbps.

RS My questions are:

RS Has anyone observed this kind of crash?
RS Is there any workaround?

RS Any pointers or suggestions will be greatly appreciated.

RS Regards,

RS ~Ricardo
RS R SCOP Consulting.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





Kernel oops while routing

2001-11-29 Thread Dan Malek

Ricardo Scop wrote:


 I'm kind of lost with this performance variations. As far as I could
 see, the patch did not insert much processing overhead, so...

Perhaps if someone would post the patch for the rest of us to see we
could be of some assistance.


-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/