AW: 405GP Networking issue

2003-02-28 Thread KISHINAMI Masaya

Hi Georg,

Thank you for your suggestion. However, we once checked the EMAC0_MR1,
and it was right configuration. Sorry, not to be informed to you.
But I'll check once again. As a fact, this problem does not happen
everywhere. We need to go another place and it's far from here. Therefore,
next investigation will be held at the middle of next week.
I will keep you informed as more information becomes available.

Regards, Kishinami

--- On Fri, 28 Feb 2003 22:59:11 +0900 Georg Klug -san 
wrote:

>> We are debugging a custom board designed based on the 405GP
>> (200MHz) and have a problem not being sent ECHO REPLY ping
>> packet from custom board to our PC via repeater hub on the
>> heavy traffic under 10Mbps and half duplex condition.
>
>> ...
>
>> Following are the our simplest duplication process and the
>> results.
>>
>> 1. Connect the repeater hub to backbone LAN.
>> 2. Connect custom board, test PC to ping and other PCs to the
>>repeater hub to the full. This case, 10 or more PCs are
>>connected to repeater hub and each PC works normally by
>>using network.
>> 3. Increase the traffic by using ftp command. The ftp data was
>>never addressed to the custom board.
>> 4. Ping from our PC to custom board at one time.
>> 5. The 60% pings were lost such condition.
>> 6. We investigated the ping lost case.
>>- LAN protocol analyzer captured the ECHO REQUEST which was
>>  address to custom board. It shows ECHO REQUEST was issued
>>  from our PC to LAN cable.
>>- Logic analyzer captured the same ping packet which was
>>  already been captured by LAN analyzer between PHY(Intel
>>  LXT971A) and EMAC. It shows ECHO REQUEST was reached just
>>  before the EMAC.
>>- The LAN device driver's receive buffer did not receive the
>>  ECHO REQUEST by using printk command. We suspected that the
>>  ECHO REQUEST was not issued to the MAL(Memory Access Layer),
>>  therefore ECHO REQUEST was not translated to the receive
>>  buffer.
>>
>> At the same time, many 4 byte short packet(0x00f0) which was
>> not addressed to custom board was received to the LAN device driver's
>> receive buffer with error status. According to 405GP manual, EMAC
>> discards the packet which is not of its own.
>
>to me it looks like an half duplex issue. You should check whether both:
>sender and receiver know that they are connected to a half duplex hub.
>Otherwise collisions could occur which are not detected by the receiver
>and also not by the transmitting entity. So you should make sure that
>FDE is set to 0 in the EMAC Mode register 1 (EMAC0_MR1) according to
>the Users manual)
>

-
KISHINAMI Masaya
Fujitsu Limited (Japan)

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





about flash_port_width

2003-02-28 Thread Wolfgang Denk

In message  you wrote:
>
> I read the flash manual about INTEL 28F640J3A.I know it has two
> programming operations:Byte or Word.Byte is 8 bits and the Word is 16 bits.
> but I refer some source code in PPCBOOT(/board/nx823/flash.c),I find a
> strange thing:

Please do NOT post PPCBoot related  questions  to  a  Linux  oriented
mailing list. This is off topic here.

Also note that PPCBoot  is  a  dead  end,  as  development  has  been
discuntinued.  You  should  base  any  current work on the successor,
U-Boot, only.

> Here,"data" is ulong and "*addr" is vu_long ,they are both 32 bits.Does
> this mean programming operation is 32 bits?If so,it is opposition to the
> FLASH manual.Why?

This is just a configuration that uses two flash chips (one  for  the
lower 16 bits, the other for the upper 16 bits) to give a 32 bit wide
bus.

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Anarchy may not be the best form of government, but it's better  than
no government at all.

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





RAMDISK

2003-02-28 Thread Wolfgang Denk

In message <3E5EF447.3B9088D7 at tataelxsi.co.in> you wrote:
>
> Command line argument for linux given is
> root=/dev/nfsnfsaddrs=:
>
> My query is
> 1. How to boot linux-2.4.1 using root file system rather than using
> network file system?

You always use a "root filesystem". With your  option,  you  mount  a
filesystem exported by your NFS server as root filesystem.

I guess you want to mount a ramdisk as rootfilesystem. To do so, make
sure your "bootargs" variable contains the string "root=/dev/ram"

> 2. How to make ramdisk(root fs) part of linux kernel? DO i need to
> change some makefiles or config options?

Why would you want to make it part  of  the  kernel?  This  makes  no
sense.  If  you  mean how to combine the ramdisk image and the kernel
image into one image file,  then  please  see  the  multi-file  image
format of the "mkimage" tol that comes with PPCBoot.

> 3. How to remove dependency of nfs to boot-up LINUX i.e, OS image should
> boot in standalone setup?

Just do not use "root=/dev/nfs" in your "bootargs" settings.


Maybe you can get some more detailed help from reading the docs, like
http://www.denx.de/re/DPLG.html

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Without freedom of choice there is no creativity.
-- Kirk, "The return of the Archons", stardate 3157.4

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





Good Books

2003-02-28 Thread Wolfgang Denk

In message <3.0.3.32.20030228081833.0076f7f8 at hollabaugh.com> you wrote:
>
> Do you have a URL for a table of contents for Yaghmour's book? I'm
> anxious to see the TOC and order the book.

At the moment all I know that is publicly available is the  entry  at
Amazon (just search for "yaghmour"). [I happen to know more about the
book just because I helped reviewing it.]

Karim, maybe you have a link available?


Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
You don't need a weatherman to know which way the wind blows.
  - Bob Dylan

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





405GP Networking issue

2003-02-28 Thread KISHINAMI Masaya

Dear all, it's first time to post.

We are debugging a custom board designed based on the 405GP
(200MHz) and have a problem not being sent ECHO REPLY ping
packet from custom board to our PC via repeater hub on the
heavy traffic under 10Mbps and half duplex condition.
We used the latest version of ibm_ocp LAN device driver at
that time from kernel 2.4.21-pre3 and ported it to work on
the kernel 2.4.18 because it costs many time to boot our
custom board on the latest one. The board works fine unless
not be such a case.

Following are the our simplest duplication process and the
results.

1. Connect the repeater hub to backbone LAN.
2. Connect custom board, test PC to ping and other PCs to the
   repeater hub to the full. This case, 10 or more PCs are
   connected to repeater hub and each PC works normally by
   using network.
3. Increase the traffic by using ftp command. The ftp data was
   never addressed to the custom board.
4. Ping from our PC to custom board at one time.
5. The 60% pings were lost such condition.
6. We investigated the ping lost case.
   - LAN protocol analyzer captured the ECHO REQUEST which was
 address to custom board. It shows ECHO REQUEST was issued
 from our PC to LAN cable.
   - Logic analyzer captured the same ping packet which was
 already been captured by LAN analyzer between PHY(Intel
 LXT971A) and EMAC. It shows ECHO REQUEST was reached just
 before the EMAC.
   - The LAN device driver's receive buffer did not receive the
 ECHO REQUEST by using printk command. We suspected that the
 ECHO REQUEST was not issued to the MAL(Memory Access Layer),
 therefore ECHO REQUEST was not translated to the receive
 buffer.

At the same time, many 4 byte short packet(0x00f0) which was
not addressed to custom board was received to the LAN device driver's
receive buffer with error status. According to 405GP manual, EMAC
discards the packet which is not of its own.

Have anyone experienced a problem like this?
Any help would be appreciated.

Regards, Kishinami.

-
KISHINAMI Masaya
Fujitsu Limited (Japan)

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





Information about Library Optimizer

2003-02-28 Thread Marius Groeger

On Fri, 28 Feb 2003, Kamaraj P wrote:

>  Does Any body Used Library Optimizer ?
> if so , can any one  give some example how to use it ..

I have strong doubts about tools like this - amazingly well though how
it may actually do the job in a certain setup. Building a monolithic
block of software first, and then rip it apart again just doesn't seem
right to me.

> Is there any other way to reduce the library size ..

If you're really short on memory, you should consider using an
alternative library solution like uClibc.

Just my 2 cents.

Regards,
Marius

-
Marius Groeger   SYSGO Real-Time Solutions AG   mgroeger at sysgo.de
Software Engineering Embedded and Real-Time Softwarewww.sysgo.de
Voice: +49-6136-9948-0   Am Pfaffenstein 14 www.osek.de
FAX:   +49-6136-9948-10  55270 Klein-Winternheim, Germany   www.elinos.com

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





how to get dwarf-1 debugging in crossGcc compilation

2003-02-28 Thread Nick Ng

>>
>I have built a cross GCC compiler (based on gcc 2.95.3) for my PowerPc
>embedded project. This tool chain successfully output an executable ELF
file
>which can be ran on my target board.

But when I tried to load this elf file >into my SingleStep SDS 7.5 debugger,
the loading has failed. The reason is
>SDS debugger only support dwarf-1 version and my elf file contains debug
information which is disliked by her parser "fromelf.exe".

>I tried to use all sort of compilation flags like "-gdwarf", "-gdwarf-1"
and
>"-gdwarf-2" so as to produce an elf with "dwarf-1" debug information in it.
But all of
>these trials had failed. I actually dump the elf, via fromelf,  file out to
see if dwarf
>information has been included but none is found! Can anyone help me on the
following questions:

Does A) Is >dwarf-1 format supported in CrossGcc for MPC target??
B) if yes, what compilation flag >should I use in my makefile. (I am
using -g in the make)?

>Thanks in advance.
>p.s. gcc -v on my host computer display this version info.
>   Reading specs from /usr/local/lib/gcc-lib/powerpc-linux/2.95.3/specs
>gcc version 2.95.3 20010315 (release)"


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





Question about modules

2003-02-28 Thread Ibon Gotxi Garcia

On Fri, 2003-02-28 at 18:27, Jean-Denis Boyer wrote:
> > Everything works, till I try to insmod it: I get m8xx_cpm_alloc and
> > m8xx_cpm_hostalloc as unresolved symbols.
>
> In commproc.c, add the following line:
>   EXPORT_SYMBOL(m8xx_cpm_hostalloc);
>


ok, i have already thought about that, but it means that my driver won't
work with "standard" kernels, isn't it?

people should change their kernel code to load my drivers, and that
isn't cool :(

thanks for your answer

Cheers
ibon.


>
> Regards,
>
> 
>  Jean-Denis Boyer, B.Eng., Technical Leader
>  Mediatrix Telecom Inc.
>  4229 Garlock Street
>  Sherbrooke (Qu?bec)
>  J1L 2C8  CANADA
>  (819)829-8749 x241
> 
>
--
Ibon Gotxi Garcia 


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





Improved copy_page() function, about 30% speed up for mpc860!

2003-02-28 Thread Joakim Tjernlund

Forget the copy_page below. I used a non cache aligned buffer :-(

However if I enable the use of "dcbz" and remove "dcbt" in the
orginal copy_page() and use a cache aligned test buffer,
I still get a speedup of 30% or more on my mpc860 board.

I think a new CONFIG option is apropiate where one can turn
on the use of "dcbz" for 8xx. OK?

 Jocke

> Hi all
>
> I have been playing with the copy_page() function in arch/ppc/kernel/misc.S
> and gained about 30% speed up for my mpc860, rev D4 MHz.
>
> This is what i did:
> - Use dcbz on 8xx but clear ahead one cache line(performance is really crappy
>   if I don't clear ahead). This is the biggest improvement.
> - Use prefetch for 8xx as well.
>
> I know that dcbz is buggy for some 8xx CPUs but I don't know which ones.
> For me works just fine, except in copy_tofrom_user(don't know why).
>
> I would like to get some feedback & test results both for 8xx and non 8xx.
> Please include exact CPU and revision.
>
>  Thanks
>  Jocke
>
> _GLOBAL(copy_page)
>   addir3,r3,-4
>   addir4,r4,-4
>   li  r5,4
> #if MAX_COPY_PREFETCH > 1
>   /* This will prefetch past end of page, does not seem to be a problem? 
> */
>   li  r0,MAX_COPY_PREFETCH
>   li  r11,4
>   mtctr   r0
> 11:   dcbtr11,r4
>   addir11,r11,L1_CACHE_LINE_SIZE
>   bdnz11b
> #else /* MAX_L1_COPY_PREFETCH == 1 */
>   dcbtr5,r4
>   li  r11,L1_CACHE_LINE_SIZE+4
> #endif /* MAX_L1_COPY_PREFETCH */
>   dcbzr5,r3 /* older 8xx CPUs may have buggy dcbz instructions, if so 
> try "dcbt r5,r3" instead */
>   addir5,r5,L1_CACHE_LINE_SIZE
>   li  r0,4096/L1_CACHE_LINE_SIZE-1 /* All, but the last cache line of 
> data due dcbz below */
>   mtctr   r0
> 1:
>   dcbtr11,r4
>   dcbzr5,r3 /* zero the cache line after the one that is beeing copied
>  * older 8xx CPUs may have buggy dcbz instructions, if so 
> try "dcbt r5,r3" instead */
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 32
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 64
>   COPY_16_BYTES
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 128
>   COPY_16_BYTES
>   COPY_16_BYTES
>   COPY_16_BYTES
>   COPY_16_BYTES
> #endif
> #endif
> #endif
>   bdnz1b
> /* Copy the last cache line of data */
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 32
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 64
>   COPY_16_BYTES
>   COPY_16_BYTES
> #if L1_CACHE_LINE_SIZE >= 128
>   COPY_16_BYTES
>   COPY_16_BYTES
>   COPY_16_BYTES
>   COPY_16_BYTES
> #endif
> #endif
> #endif
>   blr
>
>
>
>


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





Information about Library Optimizer

2003-02-28 Thread Kamaraj P

Hi All,
 Does Any body Used Library Optimizer ?
if so , can any one  give some example how to use it ..
Is there any other way to reduce the library size ..

Thanks in Advance
Kamaraj


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





Question about modules

2003-02-28 Thread Ibon Gotxi Garcia

On Fri, 2003-02-28 at 16:47, bhupinder sahran wrote:
> Hi
>
> What abt System.map...
> Can u check if symbols are there.
>
yes, they are, as well as in vmlinux. In my top level Makefile I find:

$(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]
\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map

but I think that in the step of making zvmlinux, unneeded symbols _may_
be stripped off, because i cannot find all the symbols in the target (in
/proc/ksyms or with ksyms -a). Am i right?

Thank you for answering, anyway.

Cheers
Ibon.

> Bye
> Bhupi
>
>
> --- Ibon Gotxi Garcia  wrote:
> >
> > I'm trying to write a simple module for an 8xx board
> > using the SMC2.
> > Everything works, till I try to insmod it: I get
> > m8xx_cpm_alloc and
> > m8xx_cpm_hostalloc as unresolved symbols.
> >
> > I think that arch/ppc/8xx_io/commproc.c is properly
> > compiled (I can see
> > both symbols on vmlinux), but somehow the build
> > process strips them off
> > as they are unused (i cannot see them in /proc/ksyms
> > in the target). Is
> > that right? Any clue to solve it? (having them in
> > the target kernel
> > without modifying the original sources)
> >
> > Many regards.
> > ibon
> >
> > --
> > Ibon Gotxi Garcia 
> >
> >
>
>
--
Ibon Gotxi Garcia 


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





about flash_port_width

2003-02-28 Thread okisoftxman

Hi,
I read the flash manual about INTEL 28F640J3A.I know it has two
programming operations:Byte or Word.Byte is 8 bits and the Word is 16 bits.
but I refer some source code in PPCBOOT(/board/nx823/flash.c),I find a
strange thing:

#define FLASH_PORT_WIDTH  ulong
#define FLASH_PORT_WIDTHV  vu_long
#endif

#define FPW  FLASH_PORT_WIDTH
#define FPWV FLASH_PORT_WIDTHV


/*---
 * Write a word or halfword to Flash, returns:
 * 0 - OK
 * 1 - write timeout
 * 2 - Flash not erased
 */
static int write_data (flash_info_t *info, ulong dest, FPW data)
{
 FPWV *addr = (FPWV *)dest;
 ulong status;
 ulong start;
 int flag;

.

 flag = disable_interrupts();

 *addr = (FPW)0x00400040;  /* write setup */
 *addr = data;

 /* re-enable interrupts if necessary */
 if (flag)
  enable_interrupts();



 return (0);
}

Here,"data" is ulong and "*addr" is vu_long ,they are both 32 bits.Does
this mean programming operation is 32 bits?If so,it is opposition to the
FLASH manual.Why?

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





AW: 405GP Networking issue

2003-02-28 Thread Georg Klug

Hi Kishinami,

> We are debugging a custom board designed based on the 405GP
> (200MHz) and have a problem not being sent ECHO REPLY ping
> packet from custom board to our PC via repeater hub on the
> heavy traffic under 10Mbps and half duplex condition.

> ...

> Following are the our simplest duplication process and the
> results.
>
> 1. Connect the repeater hub to backbone LAN.
> 2. Connect custom board, test PC to ping and other PCs to the
>repeater hub to the full. This case, 10 or more PCs are
>connected to repeater hub and each PC works normally by
>using network.
> 3. Increase the traffic by using ftp command. The ftp data was
>never addressed to the custom board.
> 4. Ping from our PC to custom board at one time.
> 5. The 60% pings were lost such condition.
> 6. We investigated the ping lost case.
>- LAN protocol analyzer captured the ECHO REQUEST which was
>  address to custom board. It shows ECHO REQUEST was issued
>  from our PC to LAN cable.
>- Logic analyzer captured the same ping packet which was
>  already been captured by LAN analyzer between PHY(Intel
>  LXT971A) and EMAC. It shows ECHO REQUEST was reached just
>  before the EMAC.
>- The LAN device driver's receive buffer did not receive the
>  ECHO REQUEST by using printk command. We suspected that the
>  ECHO REQUEST was not issued to the MAL(Memory Access Layer),
>  therefore ECHO REQUEST was not translated to the receive
>  buffer.
>
> At the same time, many 4 byte short packet(0x00f0) which was
> not addressed to custom board was received to the LAN device driver's
> receive buffer with error status. According to 405GP manual, EMAC
> discards the packet which is not of its own.

to me it looks like an half duplex issue. You should check whether both:
sender and receiver know that they are connected to a half duplex hub.
Otherwise collisions could occur which are not detected by the receiver
and also not by the transmitting entity. So you should make sure that
FDE is set to 0 in the EMAC Mode register 1 (EMAC0_MR1) according to
the Users manual)

Georg


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





Question about modules

2003-02-28 Thread Jean-Denis Boyer

> Everything works, till I try to insmod it: I get m8xx_cpm_alloc and
> m8xx_cpm_hostalloc as unresolved symbols.

In commproc.c, add the following line:
  EXPORT_SYMBOL(m8xx_cpm_hostalloc);


Regards,


 Jean-Denis Boyer, B.Eng., Technical Leader
 Mediatrix Telecom Inc.
 4229 Garlock Street
 Sherbrooke (Qu?bec)
 J1L 2C8  CANADA
 (819)829-8749 x241


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





kgdb help!

2003-02-28 Thread daiyi

I want to use the kgdb,but don't know can I
do?
I went to the website http://kgdb.sourceforge.net
I follow the step:preparing a kernel
but when I finished the command:
bunzip2 -c ~/linux-2.4.6.tar.bz2 | tar xvf -
then I want to do the next:
mv linux linux-2.4.6-kgdb
but linux tell me that there is no directoy like "linux"
Neither do I.
how someday tell what happerns to it ?
Tanks.

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





Good Books

2003-02-28 Thread Samuel Ortiz

Check it out here :

http://www.amazon.com/exec/obidos/ASIN/0672322269/qid%3D1015445968/sr%3D1-2/ref%3Dsr%5F1%5F2/002-1581213-6875226

Cheers,
Samuel.


On Fri, 28 Feb 2003, okisoftxman wrote:

>
> Hi
> How & Where to get this book?
>
> Best Regards!
>
>
> - Original Message -
> From: "Dr. Craig Hollabaugh" 
> To: ; 
> Sent: Friday, February 28, 2003 11:24 AM
> Subject: Re: Good Books
>
>
> >
> > At 05:05 PM 2/27/2003 -0800, John Chan wrote:
> > >
> > >Hello, Folks,
> > >
> > >I am looking for reference books which are related to PPC 440GP or/and
> > >embedded PPC or/and Linux on PPC. Do you have any suggestion?
> >
> > John,
> >
> > My book, Embedded Linux: Hardware, Software and Interfacing, uses a PPC860
> (Embedded Planet RPX-CLLF) in numerous interfacing examples. This might help
> with general PPC issues, not specifically the 440 though.
> >
> > Craig
> >
> >
> >
> >
> > ___
> > Dr. Craig Hollabaugh   craig at hollabaugh.com
> > Author of Embedded Linux
> >
> > P.O. Box 1405
> > Ouray, CO 81427-1405See my "kitchen sink" resume at
> > 970 325 4810 homewww.hollabaugh.com/resume.html
> > 970 325 0509 office
> >
> >
> >
>
>


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





405GP Networking issue

2003-02-28 Thread Eugene Surovegin

At 04:27 AM 2/28/2003, KISHINAMI Masaya wrote:
>We are debugging a custom board designed based on the 405GP
>(200MHz) and have a problem not being sent ECHO REPLY ping
>packet from custom board to our PC via repeater hub on the
>heavy traffic under 10Mbps and half duplex condition.
>We used the latest version of ibm_ocp LAN device driver at
>that time from kernel 2.4.21-pre3 and ported it to work on
>the kernel 2.4.18 because it costs many time to boot our
>custom board on the latest one. The board works fine unless
>not be such a case.


>- Logic analyzer captured the same ping packet which was
>  already been captured by LAN analyzer between PHY(Intel
>  LXT971A) and EMAC. It shows ECHO REQUEST was reached just
>  before the EMAC.


If other obvious _software_ errors were eliminated (like incorrect
duplex/speed settings etc) you can check _hardware_ related problems:

Please, check the quality of the clock between PHY and EMAC (MII clock).
We had some problems with this Intel PHY and IBM 440GP when PHY generated
clock was _slightly_ out of spec for IBM CPU.

You can try to increase MII drive strength in LXT971A Digital Config
register (26), write 0x0800 to it.

Make sure that your design uses _crystal_ based oscillator for PHY
clock, not PLL based. This is _general_ observation regarding PHY clock
in any designs (not just 4xx based)

Eugene.


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





Good Books

2003-02-28 Thread okisoftxman

Hi
How & Where to get this book?

Best Regards!


- Original Message -
From: "Dr. Craig Hollabaugh" <[EMAIL PROTECTED]>
To: ; 
Sent: Friday, February 28, 2003 11:24 AM
Subject: Re: Good Books


>
> At 05:05 PM 2/27/2003 -0800, John Chan wrote:
> >
> >Hello, Folks,
> >
> >I am looking for reference books which are related to PPC 440GP or/and
> >embedded PPC or/and Linux on PPC. Do you have any suggestion?
>
> John,
>
> My book, Embedded Linux: Hardware, Software and Interfacing, uses a PPC860
(Embedded Planet RPX-CLLF) in numerous interfacing examples. This might help
with general PPC issues, not specifically the 440 though.
>
> Craig
>
>
>
>
> ___
> Dr. Craig Hollabaugh   craig at hollabaugh.com
> Author of Embedded Linux
>
> P.O. Box 1405
> Ouray, CO 81427-1405See my "kitchen sink" resume at
> 970 325 4810 homewww.hollabaugh.com/resume.html
> 970 325 0509 office
>
>
>

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





RAMDISK

2003-02-28 Thread Kamalesh B

Hello,

Right now, iam working booting Linux 2.4.1 on MPC8260ADS. Iam using NFS
option to boot the linux. Mount point is on the host PC.

Iam using PPCBOOT bootloader.

Command line argument for linux given is
root=/dev/nfsnfsaddrs=:

My query is
1. How to boot linux-2.4.1 using root file system rather than using
network file system?
2. How to make ramdisk(root fs) part of linux kernel? DO i need to
change some makefiles or config options?
3. How to remove dependency of nfs to boot-up LINUX i.e, OS image should
boot in standalone setup?

thanks in advance,
with rgds,
kamal

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





405GP Networking issue

2003-02-28 Thread Mark Wisner

Kishinami,
You are correct, the 405GP's EMAC will discard any bad packets or packets
that do not meet it's address match mechanism. There is one exception. If
the packet received gets a good address match and the packet is large but
has an FCS error, it may pass the bad packet to the MAL. The MAL will
create an EOB interrupt and the RX_EOB routine should then look at the
descriptors status bits to see that it is a bad packet.  This is determined
by the RX threshold value. Once the EMAC starts to send a packet to the MAL
it will continue to send it, even though it fails the FCS check at the end
of the packet. Once it starts a packet it runs to completion. SW then needs
to detect the bad packet by the status bits.

The real question is, why are you receiving what the EMAC thinks are bad
packets?

If you can isolate the board on a hub with only the ping traffic in
question it will make things easier to debug. Most of the time when this
type of thing happens, you have noise between the PHY and the EMAC on the
MII bus. Here is the way I shoot these types of things.
1) Put the EMAC in promiscous mode, enable the reception of every bad
packet it can. You do this by setting the RMR reg. Look at the open routine
for the device. I think the RMR reg is set there.
2) Go to the RX_EOB routine where it checks the status bits in the
descriptor. If it detects a bad packet, print the packet out. Look for any
odd bit patterns. You may have a noisy bit.

Remember, if the MII itnerface is so messed up that the preamble does not
get deteceted correctly the EMAC will not see the packet at all. When I
have it this type of problem, I pull out the Smartbit tester and embed data
patterns in the packet that may fake the EMAC to think it has a preamble.
For example, if I think I am dropping bit 0, I will send in a pattern of
all 5's in the packet for a while and then a F.  By using different data
paterns you can determing the problem bit or bits. I have also seen where
there was to much load on a line so it did not switch as it should.

You should send your problem to PPCSUPP at us.ibm.com, IBM support. Send them
a shapshot of what you captured on the MII interface. Also, a scope capture
showing the RX_DV( I think that is the name of the MII signal that marks
the beginning of a RX packet)  line and a data line so they can see how
they switch together. If the ctl line is late or the data line is early,
you can get some weird results.

Mark K. Wisner
Advisory Software Engineer
IBM Microelectronics
3039 Cornwallis Rd
RTP, NC 27709
Tel. 919-254-7191
Fax 919-543-7575
-- Forwarded by Mark Wisner/Raleigh/IBM on 02/28/2003
10:36 AM ---

Mark Wisner
02/28/2003 09:10 AM

To:kishinami at cs.fujitsu.com.jp
cc:
From:  Mark Wisner/Raleigh/[EMAIL PROTECTED]
Subject:405GP Networking issue


Kishinami,
You are correct, the 405GP's EMAC will discard any bad packets or packets
that do not meet it's address match mechanism. There is one exception. If
the packet received gets a good address match and the packet is large but
has an FCS error, it may pass the bad packet to the MAL. The MAL will
create an EOB interrupt and the RX_EOB routine should then look at the
descriptors status bits to see that it is a bad packet.  This is determined
by the RX threshold value. Once the EMAC starts to send a packet to the MAL
it will continue to send it, even though it fails the FCS check at the end
of the packet. Once it starts a packet it runs to completion. SW then needs
to detect the bad packet by the status bits.

The real question is, why are you receiving what the EMAC thinks are bad
packets?

If you can isolate the board on a hub with only the ping traffic in
question it will make things easier to debug. Most of the time when this
type of thing happens, you have noise between the PHY and the EMAC on the
MII bus. Here is the way I shoot these types of things.
1) Put the EMAC in promiscous mode, enable the reception of every bad
packet it can. You do this by setting the RMR reg. Look at the open routine
for the device. I think the RMR reg is set there.
2) Go to the RX_EOB routine where it checks the status bits in the
descriptor. If it detects a bad packet, print the packet out. Look for any
odd bit patterns. You may have a noisy bit.

Remember, if the MII itnerface is so messed up that the preamble does not
get deteceted correctly the EMAC will not see the packet at all. When I
have it this type of problem, I pull out the Smartbit tester and embed data
patterns in the packet that may fake the EMAC to think it has a preamble.
For example, if I think I am dropping bit 0, I will send in a pattern of
all 5's in the packet for a while and then a F.  By using different data
paterns you can determing the problem bit or bits. I have also seen where
there was to much load on a line so it did not switch as it should.

You should send your problem to PPCSUPP at us.ibm.com, IBM support. Send them
a shapshot of what you ca

Hung kernel on EP405?

2003-02-28 Thread Phill Treddenick

Hi,

Here is a detailed account of what's happening.  (Monta Vista Hardhat Linux
2.0 running on an embedded planet EP405 rev 1.2 with Solaris 2.7 as the host)
I build the kernel doing a 'make dep' and then
a 'make zImage'.  Then, I download the kernel(the umcompressed "vmlinux"
kernel, is this the correct one to use?)
via tftp using Planetcore Bootloader version 1.01.  I load it into a reasonable
location in the RAM(I've tried many).  I am then able to dump the contents of
memory using the bootloader and see that the kernel has in fact been loaded into
RAM.  Now, when I make the jump into the code one of two things happens: If I
jump to an address 0x1 above where I loaded the code (I was told I needed to
do this to get around the elf header) then I get no response in my kermit
terminal, all the LEDs on the board are off and the only way to recover is to
push the reset button on the board.  If I jump to
any other address(I've tried many) the board resets itself immediately and the
bootloader begins running again.  Am I just jumping to the wrong address or do
you think I'm building the kernel improperly or is there something else I'm
missing?

Thanks

Phill Treddenick

Quoting Philip.Lougher at Zarlink.Com:

>
> Hi,
>
> Philip Treddenick wrote:
>
> >Any help or insight is appreciated.
>
> I'd like to help, but you don't give enough information to do so...
>
> >but when I run the kernel it appears to hang.  I would like
> >to know if there is a way to verify what it's doing?  I've tried rlogin
> and I've
> >tried pinging it, but I don't get any response.  The kernel is setup to
> mount a
> >NFS, but I don't know how to verify that that is working either.  I tried
> >enabling the ethernet port by setting the board control and status
> registers.
> >That didn't seem to work.
>
> What does 'it appears to hang' mean?  Normally, when the kernel is entered
> from the boot loader, and starts to boot-up, you will see a lot of kernel
> booting messages on the serial port.  If you don't see these, then the
> kernel is not booting.  In this case, there isn't any point in trying to
> talk to the board via the ethernet, as it's not running anything.
>
> If you are seeing bootup messages, then what is the output?  Normally, when
> the kernel boots up it expects to mount the root  from hard disk or an
> initrd, and have the ethernet IP  address setup after mounting the root.
> However, if you're mounting the root via NFS (which is what is appears
> you're doing), then the IP address has to be set before mounting the root.
> To do this, the kernel has a configure option, that makes the kernel
> automatically obtain an IP address via DHCP or BOOTP.  Do you have that
> option set? (its in submenu Networking options, called IP: kernel level
> autoconfiguation).  If you do, then you should check that your DHCP/BOOTP
> server is getting a request, and is answering the board.  If you don't, the
> kernel is probably giving up trying to mount the root.  In both cases, the
> bootup messages will be pretty useful.
>
> Phillip
>
>
>
>
>
>
>
>   Phillip.Treddenick at colorado.edu
>
>   Sent by:   To:
> linuxppc-embedded at lists.linuxppc.org
>   owner-linuxppc-embedded at lists.lcc:
>
>   inuxppc.orgSubject:  Hung
> kernel on EP405?
>
>
>
>
>   16-Feb-2003 07:37 AM
>
>
>
>
>
>
>
>
>
>
> I am having trouble running Monta Vista Hardhat Linux 2.0 on an Embedded
Planet EP405 board rev 1.2
> with
> Solaris 2.7 as the host.  I'm using the Planetcore bootloader to download
> the
> kernel to the board, but when I run the kernel it appears to hang.  I would
> like
> to know if there is a way to verify what it's doing?  I've tried rlogin and
> I've
> tried pinging it, but I don't get any response.  The kernel is setup to
> mount a
> NFS, but I don't know how to verify that that is working either.  I tried
> enabling the ethernet port by setting the board control and status
> registers.
> That didn't seem to work.  Do these registers have specific settings
> necessary
> for running the EP405 board?
>
> Any help or insight is appreciated.
> Thanks, Phill Treddenick
> treddeni at colorado.edu
>
>
>
>
>
>
>


treddeni at colorado.edu
303 818-7694
- End forwarded message -


Phill Treddenick
treddeni at colorado.edu
303 818-7694

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





cpu speed

2003-02-28 Thread AlessandroPPC

Dear all,

I 've a MPC8260 board with 2.4.18 kernel version and nfs root fs . First I
have configurated it with cpu_clock = 133 MHz, cpm_clock = 100 MHz and
bus_clock = 33 Mhz with good results.
Then I have changed this configuration with cpu_clock = 166 MHz, cpm_clock =
100 MHz and bus_clock = 33 Mhz with bad results.
With cpu clock at 166 Mhz I have several error but typically "Illegal
istruction " error message is send on the console.
I have checked the bus timing (memory read/write access) with no difference
rispect to cpu_clock at 133 MHz.

Can be a cache problem ?

Tanks to all,
Alessandro.


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





Possible bug in flush_dcache_all on 440GP

2003-02-28 Thread Ralph Blach

This comment is from Thomas Sartorius,


Eugene is correct about the "generic" way requiring that you load twice as
many memory locations as would fit in the cache, in order to guarantee that
any previous "dirty" contents get written to memory and removed from the
cache.

Note that his second suggestion regarding dccci requires that the processor
be in supervisor mode, and assumes that there is no dirty data left in the
cache at the time of the dccci (or else one doesn't care about causing such
dirty data to be written back to memory).

An alternative (and likely faster) method is to use a series of dcbz
instructions (as many as there are lines in the cache) to a series of
"safe" addresses for which it is known that the cache does not currently
contain dirty data, and then use dccci at the end to eliminate this dirty
data without causing any of it to be written back to memory.  This
technique should be much faster as it avoids having to actually read any
memory locations into the cache.

Another alternative is to use a loop that does a series of dcread/dcbf
instructions, where the information that is read into the GPR by the dcread
is then used by the dcbf to cause that line to be cast-out and invalidated.
Depending on the possible state of the cache, it might be necessary to test
the valid bit read by the dcread before trying to use the value for the
dcbf, to avoid any MMU exceptions.

One thing to note with regards to any of the techniques:  you probably need
to guarantee that interrupts do not occur during the sequence to make sure
that the cache is cleanly flushed when the routine is finished.

One more thing to note with regards to any of the techniques:  you need to
concern yourself with possible MMU exceptions during the sequence.

One last thing to note:  if you're using any of the techniques other than
the dcread/dcbf sequence, then you need to concern yourself with the
"victim limit" values, and whether or not the cache has been partitioned
into "normal". "transient", and "locked" regions.  The techniques described
all presume that "normal" storage access operations will cause the "victim
index" value to walk through all the values from 0 to 63, but if the cache
has been partitioned, this will not be the case.

In the end, I would suggest that the "safest", most robust technique is to
use the dcread/dcbf sequence loop, with proper testing of the dcread result
(e.g., for a valid bit) before executing the dcbf, and with proper MMU
setup ahead of time to make sure you don't get MMU exceptions during the
sequence.

One last thing:  Eugene suggests that "40x" processors have 32-byte cache
lines, but that is not the case for the 403 and 401 (they have 16-byte
cache lines).


Segher Boessenkool @lists.linuxppc.org on 02/26/2003
10:39:05 AM

Sent by:owner-linuxppc-embedded at lists.linuxppc.org


To:Eugene Surovegin 
cc:linuxppc-embedded at lists.linuxppc.org
Subject:Re: Possible bug in flush_dcache_all on 440GP




Eugene Surovegin wrote:

> I believe there is a bug in flush_dcache_all implementation for not cache
> coherent processors.
>
> This function uses simple algorithm to force dcache flush by reading
> "enough" data to completely reload the cache:


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





Question about modules

2003-02-28 Thread Ibon Gotxi Garcia

I'm trying to write a simple module for an 8xx board using the SMC2.
Everything works, till I try to insmod it: I get m8xx_cpm_alloc and
m8xx_cpm_hostalloc as unresolved symbols.

I think that arch/ppc/8xx_io/commproc.c is properly compiled (I can see
both symbols on vmlinux), but somehow the build process strips them off
as they are unused (i cannot see them in /proc/ksyms in the target). Is
that right? Any clue to solve it? (having them in the target kernel
without modifying the original sources)

Many regards.
ibon

--
Ibon Gotxi Garcia 

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





Good Books

2003-02-28 Thread Wolfgang Denk

In message <3E5EB5CE.4090509 at corelis.com> you wrote:
>
> I am looking for reference books which are related to PPC 440GP or/and
> embedded PPC or/and Linux on PPC. Do you have any suggestion?

There is an excellent (IMHO) book to be  available  soon  (couple  of
weeks?):

Karim Yaghmour:
Building Embedded Linux Systems - Tools and Resources.
O'Reilly, ISBN 059600222X


Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
The shortest unit of time in the multiverse is the News York  Second,
defined  as  the  period  of  time between the traffic lights turning
green and the cab behind you honking.
- Terry Pratchett, _Lords and Ladies_

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





Question about modules

2003-02-28 Thread bhupinder sahran

Hi

What abt System.map...
Can u check if symbols are there.

Bye
Bhupi


--- Ibon Gotxi Garcia  wrote:
>
> I'm trying to write a simple module for an 8xx board
> using the SMC2.
> Everything works, till I try to insmod it: I get
> m8xx_cpm_alloc and
> m8xx_cpm_hostalloc as unresolved symbols.
>
> I think that arch/ppc/8xx_io/commproc.c is properly
> compiled (I can see
> both symbols on vmlinux), but somehow the build
> process strips them off
> as they are unused (i cannot see them in /proc/ksyms
> in the target). Is
> that right? Any clue to solve it? (having them in
> the target kernel
> without modifying the original sources)
>
> Many regards.
> ibon
>
> --
> Ibon Gotxi Garcia 
>
>


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





Good Books

2003-02-28 Thread Steven Blakeslee

I highly recommend this book.

-Original Message-
From: Dr. Craig Hollabaugh [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 27, 2003 9:24 PM
To: john at corelis.com; linuxppc-embedded at lists.linuxppc.org
Subject: Re: Good Books



At 05:05 PM 2/27/2003 -0800, John Chan wrote:
>
>Hello, Folks,
>
>I am looking for reference books which are related to PPC 440GP or/and
>embedded PPC or/and Linux on PPC. Do you have any suggestion?

John,

My book, Embedded Linux: Hardware, Software and Interfacing, uses a PPC860
(Embedded Planet RPX-CLLF) in numerous interfacing examples. This might help
with general PPC issues, not specifically the 440 though.

Craig




___
Dr. Craig Hollabaugh   craig at hollabaugh.com
Author of Embedded Linux

P.O. Box 1405
Ouray, CO 81427-1405See my "kitchen sink" resume at
970 325 4810 homewww.hollabaugh.com/resume.html
970 325 0509 office


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





8250 IDMA TX Problems

2003-02-28 Thread Penn, John

Hi,

After searching the archives I still have a few basic questions.
I am using an 8250 Hip 4 Rev A.  Linux kernel 2.4.19 with a few patches.

I am trying to get IDMA working to transfer data between the 60x system
memory and a device on the local bus.  I am using DREQ and nDACK for TX,
RX will come later.

When I send a start command for IDMA3 to the CPM my serial port locks
up.
I have Initialized all the IDMA registers and loaded up 1 buffer
descriptor
with the LAST and WRAP bits set.

Using a BDI 2000 debugger I can access the 60x bus and it seems to be
working.
The error registers of the CPM also don't show any info.

The nDACK signal never asserts either and data does not seem to be
written into
the DPM transfer buffer.  I checked DREQ and it is asserting though I am
usually
locked up before this event.

Some info:
   RCCR =   DR3M - DREQ 3 is level sensitive
DR3QP - DREQ has lowest priority
than the comm. controllers

   DCM =FB - Dual address mode
DMA_WRAP - size of IDMA 3
transfer buffer = 2048 bytes
SINC - source addr increment
ERM - External Request Mode
CP responds to DREQ
S/D - Read from memory, write to peripheral


1.  Has anyone used IDMA on an 8250?  The 8250 and the 8260 are
supposedly
the same die so this functionality should be there, so I was
told.

2.  Has anyone managed to get IDMA working between 60x memory and a
peripheral on the Local Bus using DPM for :
a. BDs ?
b. IDMAx Parameter Ram ?

3.  Should I switch to local bus ram for BDs?

4.  Should I use local bus ram for the data buffers?

5.  For a write transaction I am using the following values :
SS_MAX = 2048-32;
STS = 2048-32;
DTS = 4;// The peripheral port is 32
bits.

2048 is the largest packet I will ever transfer.

Do these values look ok?


Thanks for the help,

John Penn

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





Serial Console disable/enable dynamically

2003-02-28 Thread Aman

Hi
I have an custom board which has PPC 440GP as its processor. I have build a
kernel image and ramdisk to run on the custom board, which is running
fine.There is only one serial port in the board.

This serial port is used as the serial console. I wanted to disable and
enable the serial console dynamically,
whenever the serial console is disabled , I want to use the serial port for
other purposes. Can anybody suggest how to disable and enable dynamically?.

Thanking you in advance

Regards
Aman


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