custom PPC405GPr board almost boots - one last step

2003-04-04 Thread Jerry Walden

Greetings:

Well I'm getting much further now.  Problem was I did not have ext2
filesystem in
my kernel configuration.  Now the initialization seems to complete and it
looks to
me like either a prompt is trying to print out, or some other type of text.
In any
case I am wonder when the boot gets as far as this one does, can or does
something
happen to the serial port?  Does it try to bring up a console on the serial
port
and somehow is getting confused?


Thanks

Jerry

See trace below:

U-Boot 0.2.0 (Apr  4 2003 - 16:29:38)


CPU:   IBM PowerPC 405GPr Rev. A at 133 MHz (PLB=66, OPB=16, EBC=16 MHz
   PCI async ext clock used, internal PCI arbiter enabled
   16 kB I-Cache 16 kB D-Cache

Board: ### No HW ID - assuming WALNUT405
I2C:   ready
HDRAM:  64 MB
Now running in RAM - U-Boot at: 03fcf000
FLASH: 512 kB

*** Warning - bad CRC, using default environment
PCI:   Bus Dev VenId DevId Class Int
PCI Autoconfig: Memory region: [2000-27ff]
PCI Autoconfig: I/O region: [80-3ff]
PCI Scan: Found Bus 0, Device 0, Function 0
PCI Scan: Found Bus 0, Device 7, Function 0
PCI Autoconfig: BAR 0, Mem, size=0x100, address=0x2000
PCI Autoconfig: BAR 1, I/O, size=0xff04, No room in resource
PCI Autoconfig: BAR 2, I/O, size=0x100, address=0x100
00  07  1394  0978  0200  1c
In:serial
Out:   serial
Err:   serial

U-Boot relocated to 03fcf000
IDE:   Bus 0: port = c
OK
   Device 0: Model: SanDisk SDCFB-32 Firm: Vdg 1.23. Ser#: 109907A2203F1542
   Type: Removable Hard Disk
   Capacity: 30.6 MB = 0.0 GB (62720 x 512)
=>
=> bootm 0x10 0x000 30

## Booting image at 0010 ...
   Image Name:   Linux-2.4.18_mvl30-walnut
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:351692 Bytes = 343.4 kB
   Load Address: 
   Entry Point:  
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Current stack ends at 0x03F9EBE8 => set upper limit to 0x0080
## cmdline at 0x007FFF00 ... 0x007FFF7E
memstart= 0x
memsize = 0x0400
flashstart  = 0xFFF8
flashsize   = 0x0008
flashoffset = 0x00031000
sramstart   = 0x
sramsize= 0x
bootflags   = 0x001E8480
procfreq=133 MHz
plb_busfreq = 66.500 MHz
pci_busfreq = 33.250 MHz
ethaddr = 00:00:E0:18:94:38
IP addr = 0.192.168.0
baudrate=   9600 bps

## Loading RAMDisk Image at 0030 ...
   Image Name:   Simple Embedded Linux Framework
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:1476478 Bytes =  1.4 MB
   Load Address: 
   Entry Point:  
   Verifying Checksum ... OK

## initrd at 0x00300040 ... 0x004687BD (len=1476478=0x16877E)
   Loading Ramdisk to 03e35000, end 03f9d77e ... OK
## Transferring control to Linux (at address ) ...
Linux version 2.4.18_mvl30-walnut (root at hhl) (gcc version 3.2.1 20020930
(MontaVista)) #35 Fri Apr 4 18:37:14 EST 2003
<6>IBM Sycamore (IBM405GPr) Platform
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.

Kernel command line: root=/dev/ram rw ramdisk_size=4096 console=ttyS0,9600n8
console=tty0  ip=192.168.2.176:192.168.2.190:192.168.2.79:255.2

Calibrating delay loop... 132.71 BogoMIPS
Memory: 62156k available (600k kernel code, 264k data, 36k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
OCP uart ver 1.2 init complete
Starting kswapd
Disabling the Out Of Memory Killer
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0x (irq = 0) is a 16550A
ttyS01 at 0x (irq = 1) is a 16550A
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Tracer: Initialization complete
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 1441k freed
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 36k init
.?
9H?.6??.??).?)!).!)!?..??..???9.???.?)..??...?1.??1?9?.6?..)!?..!!.)...?
3H.?...!)!.&?...?!?


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





Linux training

2003-04-04 Thread Wolfgang Denk

In message  you wrote:
>
> I was wondering if anyone can direct me to training courses on porting
> embedded Linux to single board computers.  Thank you for any direction and I
> welcome all comments.

DENX offers such courses. Please feel free to ask for details.


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
A memorandum is written not to inform the reader, but to protect  the
writer.   -- Dean Acheson

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





custom PPC405GPr board almost boots - one last step

2003-04-04 Thread Chris Zimman

On Fri, Apr 04, 2003 at 11:24:16PM -0500, Jerry Walden wrote:
> Well I'm getting much further now.  Problem was I did not have ext2
> filesystem in
> my kernel configuration.  Now the initialization seems to complete and it
> looks to
> me like either a prompt is trying to print out, or some other type of text.
> In any
> case I am wonder when the boot gets as far as this one does, can or does
> something
> happen to the serial port?  Does it try to bring up a console on the serial
> port
> and somehow is getting confused?
> .?
> 9H?.6??.??).?)!).!)!?..??..???9.???.?)..??...?1.??1?9?.6?..)!?..!!.)...?
> 3H.?...!)!.&?...?!?

Check the baud rate of ttyS0 in /etc/inittab

If you are booting with 9600, then you need to have
something like:

# Example how to put a getty on a serial line (for a terminal)
#
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

--Chris

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





glibc vs. newlib

2003-04-04 Thread Mark Hatle

Darin.Johnson at nokia.com wrote:
> What are the experiences and tradeoffs of using newlib vs. glibc?  I'm 
> targetting 16M board (maybe some 8M), no swap space, and I'm concerned that 
> adding glibc will suck much of this up.  At the same time we'd also like to 
> be able to use off-the-shelf components like dhcpd or telnetd, and are not 
> sure if newlib would give us too many headaches there.
>
> Darin Johnson

I strongly recommend you stay away from newlib.

My recommendation is to use glibc "optimized"  (there are numerous programs that
will re-link glibc based on particular requirements you may have.)

Or if you need a more "generic solution" look into uclibc.

--Mark


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





dcbz works on 862 everywhere!

2003-04-04 Thread Joakim Tjernlund

> Joakim Tjernlund wrote:
>
> > hmm, no response from the maintainer(s). You don't agree?
>
> It's interesting to watch these hacks, but I can't justify
> complicating a general purpose function with more bus cycles by
> emulating a functional problem.  By not using these instructions
> we have a working system that costs just a few more cycles during
> the memory copy/zero operations.  If we had _working_ dcbz
> instructions, it would be a gain to use them, but from a system
> perspective it is going to cost more to "fix up" these than
> the code that already exists.

Look a little harder. I am not talking just about dcbz, dcbi has
the same problem. As it stands today, there are real bugs w.r.t dcbi.

consistent_alloc() causes DTLB errors with a incorrect address in DAR.
Just force DAR to an invalid address in the DTLB Miss handler before
you leave it and see if you kernel boots.

> As I said in the past, I'm sensitive to the code in the TLB exception
> processing.  So do something to remove code and streamline the process
> and I'm really interested.  Do something to add more code and it's
> going to get placed pretty low in my pile of things to do.

Yes I know, but you are not reading what am writing. For instance,
the change below does not add to the fast path of the DTLB Miss handler and
it fixes a real problem:
> I just want to point out(again) that TLB Miss caused by most of the
> dcxx(dcbf, dcbi, dcbst, dcbz) instructions that end up in the slow 
> path(DataAccess)
> don't work with the current impl. since DAR isn't set. The code fragment below
> will fix that(from my earlier patch). This won't affect the fast path at all
> since it all of it can be in the slow path.
>
> + /* Copy 20 msb from EPN to DAR since the dcxx instructions fails
> +  * update the DAR when they cause a DTLB Miss.
> +  */
> + mfspr   r21, MD_EPN
> + rlwinm  r21, r21, 0, 0, 19
> + mfspr   r20, DAR
> + rlwinm  r20, r20, 0, 20, 31
> + or  r20, r20, r21
> + mtspr   DAR, r20

Go back and think dcbi instead of dcbz.

 Jocke


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





Linux training

2003-04-04 Thread Ricardo Scop

Hello Steven,

Friday, April 04, 2003, 1:13:08 PM, you wrote:


SB> I was wondering if anyone can direct me to training courses on porting
SB> embedded Linux to single board computers.  Thank you for any direction and I
SB> welcome all comments.

I know that Red Hat has something in this line. Look up at their web
site.

Best regards,
 Ricardomailto:scop at digitel.com.br


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





dcbz works on 862 everywhere!

2003-04-04 Thread Joakim Tjernlund

> > The current implementation relies on TLB Miss always setting EPN
> > (and other hardware assist registers) correctly, and TLB Error
> > relies on DAR being set correctly.  Everything works fine until
> > you get a TLB Error on a dcbz/dcbt that doesn't properly update DAR.
> > In this case EPN isn't set correctly either.
>
> I just want to point out(again) that TLB Miss caused by most of the
> dcxx(dcbf, dcbi, dcbst, dcbz) instructions that end up in the slow 
> path(DataAccess)
> don't work with the current impl. since DAR isn't set. The code fragment below
> will fix that(from my earlier patch). This won't affect the fast path at all
> since it all of it can be in the slow path.
>
> + /* Copy 20 msb from EPN to DAR since the dcxx instructions fails
> +  * update the DAR when they cause a DTLB Miss.
> +  */
> + mfspr   r21, MD_EPN
> + rlwinm  r21, r21, 0, 0, 19
> + mfspr   r20, DAR
> + rlwinm  r20, r20, 0, 20, 31
> + or  r20, r20, r21
> + mtspr   DAR, r20
>
> It is hard to end up in slow path for kernel space addresses, but
> it's not impossible I guess. Comments?

hmm, no response from the maintainer(s). You don't agree?

Did another test. I tagged DAR with a bad address(0xdead) in
the TLB Miss handler(after the mtspr MD_RPN, r20) shortly before
rfi.

Now the kernel won't boot. It turns out it's consistent_alloc that is
doing a invalidate_dcache_range(). According to a comment, memory is allocated
from the vmalloc memory space. Doing a invalidate_dcache_range() on this memory
causes a DTLB error with the change bit cleared and since DAR isn't set by
dcbi, linux hangs.

Clearly, the DTLB exeception procedure still is buggy.

   Jocke


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





glibc vs. newlib

2003-04-04 Thread Gary D. Thomas

On Fri, 2003-04-04 at 16:08, Darin.Johnson at nokia.com wrote:
>
> What are the experiences and tradeoffs of using newlib vs. glibc?  I'm 
> targetting 16M board (maybe some 8M), no swap space, and I'm concerned that 
> adding glibc will suck much of this up.  At the same time we'd also like to 
> be able to use off-the-shelf components like dhcpd or telnetd, and are not 
> sure if newlib would give us too many headaches there.

newlib doesn't really have everything you'd want.  You might
look into uclibc or dietlibc as a lighter weight library.

--
..
|   Mind: Embedded Linux and eCos Development|
||
| Gary Thomas  email:  gary.thomas at mind.be   |
| Mind ( http://mind.be )  tel:+1 (970) 229-1963 |
| gpg: http://www.chez-thomas.org/gary/gpg_key.asc   |
''


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





Linux crash when big application executing on PPC405GP board

2003-04-04 Thread Jikun Sun

Hi,

Board: CSB272 IBM PPC405GP
Linux kernel version: 2.4.17
Linux kernel can boot nfs root filesystem on the board. Shell works
correctly.
However the system will oops when execute big applications, such as
copying a file which is larger than 2MBytes.
The following is ksymoops:

The size of vmlinux.srec is 2.076Mbytes.
root at 192.9.200.145:/# cp vmlinux.srec  vmlinux.srec.bak

Oops: kernel access of bad area, sig: 11
NIP: C002CA74 XER:  LR: C002CA50 SP: C017BDA0 REGS: c017bce0
TRAP: 0800
Using defaults from ksymoops -t elf32-little -a unknown
MSR: 1030 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK = c0179ff0[0] 'swapper' Last syscall: 120
last math  last altivec 
GPR00: C01D26D0 C017BDA0 C0179FF0 0001 9030 0006 C02C9015
FC18
GPR08: C1FD2240 38300D0A C02D3640 42333846 4222 10021A24 
0030
GPR16:    0001 1032 0017BEA0 
C0002BCC
GPR24: C0003F78 C01A 0010 C018 0020 C01D26C8 C017BDA8
C01D26C0
Call backtrace:
C0016750 C00EBDB0 C00D7930 C00D7CD4 C0003EC8 C0003FB4 C0002BCC
C0021F90 C00044E0 C0004508 C000240C C018C794 C0002318
Kernel panic: Aiee, killing interrupt handler!
Warning (Oops_read): Code line not seen, dumping what data is available

>>???; c002ca74<=
Trace; c0016750 
Trace; c00ebdb0 
Trace; c00d7930 
Trace; c00d7cd4 
Trace; c0003ec8 
Trace; c0003fb4 
Trace; c0002bcc 
Trace; c0021f90 
Trace; c00044e0 
Trace; c0004508 
Trace; c000240c 
Trace; c018c794 
Trace; c0002318 

Hope for helps


Jikun Sun


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





glibc vs. newlib

2003-04-04 Thread [EMAIL PROTECTED]

What are the experiences and tradeoffs of using newlib vs. glibc?  I'm 
targetting 16M board (maybe some 8M), no swap space, and I'm concerned that 
adding glibc will suck much of this up.  At the same time we'd also like to be 
able to use off-the-shelf components like dhcpd or telnetd, and are not sure if 
newlib would give us too many headaches there.

Darin Johnson

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





Linux on Force Computers CPCI-3750 eth drivers

2003-04-04 Thread Matt Porter

On Fri, Apr 04, 2003 at 01:49:13PM +0200, luca gambazzi wrote:
>
> Hi
>
> i'm still trying to bild a running linux kernel for a Force Computers
> CPCI-3750.
>
> I've got one more error, the ethernet card doesn't work.
> is a Digital DS21143 Tulip
>
> i've installed the kernel drivers (i've tried with 2.4 and 2.5
> penguinppc kernel tree), and the drivers found in
> http://sourceforge.net/projects/tulip, but the error is always the same.
>
> NETDEV WATCHDOG: eth0: transmit timed out

Assuming you are booting with the pcore kernel, are you sure that
the pci interrupt routing for the 3750 is identical to the 6750?

Regards,
--
Matt Porter
porter at cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

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





Linux on Force Computers CPCI-3750 eth drivers

2003-04-04 Thread Tom Rini

On Fri, Apr 04, 2003 at 01:49:13PM +0200, luca gambazzi wrote:

> Hi
>
> i'm still trying to bild a running linux kernel for a Force Computers
> CPCI-3750.
>
> I've got one more error, the ethernet card doesn't work.
> is a Digital DS21143 Tulip
>
> i've installed the kernel drivers (i've tried with 2.4 and 2.5
> penguinppc kernel tree), and the drivers found in
> http://sourceforge.net/projects/tulip, but the error is always the same.
>
> NETDEV WATCHDOG: eth0: transmit timed out
>
> here can you find a bootlog (kernelboot.txt), the tcpdump on my pc, and
> the .config file I used in this case (config_2_5_66.txt)

Don't use CONFIG_TULIP, use CONFIG_DE4X5 and poke the upstream authors
abotu this issue.

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

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





Linux on Force Computers CPCI-3750 eth drivers

2003-04-04 Thread luca gambazzi

Hi

i'm still trying to bild a running linux kernel for a Force Computers
CPCI-3750.

I've got one more error, the ethernet card doesn't work.
is a Digital DS21143 Tulip

i've installed the kernel drivers (i've tried with 2.4 and 2.5
penguinppc kernel tree), and the drivers found in
http://sourceforge.net/projects/tulip, but the error is always the same.

NETDEV WATCHDOG: eth0: transmit timed out

here can you find a bootlog (kernelboot.txt), the tcpdump on my pc, and
the .config file I used in this case (config_2_5_66.txt)

http://lsa1pc32.epfl.ch/~gamba/robox/

Maybe somebody has experence with this kind of error and can help me.

Thanks a lot
Luca Gambazzi

PS Tom: I don't find the .config file who caused the crash I've posted
last week, i'll search in my pc, sorry


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





Linux training

2003-04-04 Thread Todd Poynor

>I was wondering if anyone can direct me to training courses on porting
>embedded Linux to single board computers.  Thank you for any direction and I
>welcome all comments.

MontaVista does this as well: http://www.mvista.com/training/index.html


--
Todd


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





Linux training

2003-04-04 Thread Steven Blakeslee

I was wondering if anyone can direct me to training courses on porting
embedded Linux to single board computers.  Thank you for any direction and I
welcome all comments.

Steven Blakeslee

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





dcbz works on 862 everywhere!

2003-04-04 Thread Dan Malek

Joakim Tjernlund wrote:

> hmm, no response from the maintainer(s). You don't agree?

It's interesting to watch these hacks, but I can't justify
complicating a general purpose function with more bus cycles by
emulating a functional problem.  By not using these instructions
we have a working system that costs just a few more cycles during
the memory copy/zero operations.  If we had _working_ dcbz
instructions, it would be a gain to use them, but from a system
perspective it is going to cost more to "fix up" these than
the code that already exists.

As I said in the past, I'm sensitive to the code in the TLB exception
processing.  So do something to remove code and streamline the process
and I'm really interested.  Do something to add more code and it's
going to get placed pretty low in my pile of things to do.

Thanks.


-- Dan


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





Catching bus errors in kernel mode

2003-04-04 Thread ARIBAUD Albert

Hi,

I'm using DENX ELDK 2.0 on a mpc855t based custom board, and I am currently 
writing a loadable kernel module that drives a custom FPGA.

The FPGA might optionally not be there in production, but the module must be 
loaded anyway, and therefore must check for the presence of the FPGA.

There is no dedicated signal provided (and will not be), so the only option is 
reading from the FPGA's address and catching a possible bus error.

What would be the cleanest way to achieve this?

Thanks in advance,

Albert.

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





ppc linux kernel 2.4.4 for ppc440/EBony using ELDK 2.0.2?

2003-04-04 Thread Wolfgang Denk

Hi,

in message <005301c2fa43$73a1c690$1464a8c0 at sjeng3> you wrote:
>
> I've got the linuxppc_2_4_devel tree, made config for 440/Ebony,
> then when I compiled the kernel, I got this problem:
...
> /home/lxl/linuxppc_2_4_devel/include/linux/kernel.h:10: stdarg.h: No such
> file or directory
...
> This is indeed weird, how could ppc_4xx-gcc not find "stdarg.h"? the same
> version
> still works for the stable linuxppc-2.4.4, and I saw
> /home/lxl/linuxppc_2_4_devel/include/linux/kernel.h
> also has #include  but ppc_4xx-gcc has no problem finding
> stdarg.h.
> I doubt checked and made sure I have stdarg.h at
> $(eldk_root)/ppc_4xx/usr/lib/gcc-lib/ppc-linux/2.95.4/include/stdarg.h
>
> Anybody has this problem? or has any idea how I can make it work?

This is a known problem. We use the following modification to the top
level makefile  in  our  version  of  the  source  tree  (see  module
linuxppc_2_4_devel on our CVS server):

Index: Makefile
===
RCS file: /cvsroot/linuxppc_2_4_devel/Makefile,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Makefile1 Dec 2002 22:42:52 -   1.6
+++ Makefile1 Dec 2002 23:36:15 -   1.7
...
@@ -261,7 +263,8 @@
 # 'kbuild_2_4_nostdinc :=' or -I/usr/include for kernel code and you are not 
UML
 # then your code is broken!  KAO.

-kbuild_2_4_nostdinc:= -nostdinc $(shell $(CC) -print-search-dirs | sed -ne 
's/install: \(.*\)/-I \1include/gp')
+kbuild_2_4_nostdinc:= -nostdinc $(shell $(CC) -print-search-dirs | \
+   sed -ne 's/install: \(.*\)/-I \1include/gp')
 export kbuild_2_4_nostdinc

 export CPPFLAGS CFLAGS CFLAGS_KERNEL AFLAGS AFLAGS_KERNEL
...


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
Intel told us the Pentium would have "RISK" features...

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