RE: [ixp1200] SDK 2.0, IXA and Kernel on eval board?
SDK 2.x is incompatible with the eval board due to memory sizing issues. --Dirk
-----Original Message----- From: James Croall [mailto:jcroall@nai.com] Sent: Thursday, May 09, 2002 9:58 PM To: ixp1200@CS.Princeton.EDU Subject: [ixp1200] SDK 2.0, IXA and Kernel on eval board?
Hi,
Is there a trick to loading the kernel that ships with the SDK 2.0 on the IXP eval board? I tried building my own with Spectale Island off and Eval Board on, but it doesn't work either.
Thanks!
- James
On Fri, 2002-05-10 at 14:45, dirk.j.brandewie@intel.com wrote:
SDK 2.x is incompatible with the eval board due to memory sizing issues.
--Dirk
So you can only run IXA apps on the new system? Doh! I tried rebuilding the kernel to support the IXP1200EB, created an appropriately sized ramdisk, but couldn't get anything to work. Oh, well. - James
Of course it is possible to get the Linux version provided with SDK 2 running on the evaluation board. But it is a bit tricky because the documentation is a bit week concerning board customization (e.g. minimum memory requirements ...) and other "issues" (e.g. chip bugs). We have done that and it works for us. There are certainly limitations in that you can not run SDK 2 apps requiring C0 silicon or apps requiring more than 1K control memory storage. You will also have to reduce the table sizes due to memory limitations in some cases. But for a development system this is often tolerable. We have developed a SDK 2 app based on the NAT sample. The count sample has been tested as well. We have also tried to get the L3_8_1Gig_hw sample up. Initialization completes but we have not yet validated the functionality. I have discussed this (and our Linux PCI drivers) with an INTEL representative at the CeBIT fair. But it seems there are not interested (no feedback yet). I think it is more likely that they try to avoid the required support for this "outdated" systems. If you look at SDK 3 (supports only IXP2400 and IXP2800) even later "advanced" evaluation systems will no longer be supported. Given the price tag it is a bit pity. Regards, Mirko -----Ursprüngliche Nachricht----- Von: owner-ixp1200@CS.Princeton.EDU [mailto:owner-ixp1200@CS.Princeton.EDU] Im Auftrag von James Croall Gesendet: Freitag, 10. Mai 2002 08:54 An: ixp1200@CS.Princeton.EDU Betreff: RE: [ixp1200] SDK 2.0, IXA and Kernel on eval board? On Fri, 2002-05-10 at 14:45, dirk.j.brandewie@intel.com wrote:
SDK 2.x is incompatible with the eval board due to memory sizing issues.
--Dirk
So you can only run IXA apps on the new system? Doh! I tried rebuilding the kernel to support the IXP1200EB, created an appropriately sized ramdisk, but couldn't get anything to work. Oh, well. - James
On Tue, 2002-05-14 at 06:01, benz@mephisto.inf.tu-dresden.de wrote:
Of course it is possible to get the Linux version provided with SDK 2 running on the evaluation board. But it is a bit tricky because the documentation is a bit week concerning board customization (e.g. minimum memory requirements ...) and other "issues" (e.g. chip bugs).
We have done that and it works for us. There are certainly limitations in that you can not run SDK 2 apps requiring C0 silicon or apps requiring more than 1K control memory storage. You will also have to reduce the table sizes due to memory limitations in some cases. But for a development system this is often tolerable.
Hi! I wonder if you could give me any insight into what you had to do to boot Linux on the B0 board? I tried building my own from the intel-supplied sources, with no luck. The kernel available from the netwinder guys doesn't seem to support the necessary intel calls. Thanks! - James
James, The Linux version from netwinder (INTEL) was intended for the IXP12EB and SDK 1.x. SDK 2 Linux adds IXP system configuration support in the Linux kernel the rest of the distribution seems to be se same. However, it is not intended for IXP12EB. To get it running on the evaluation board (as add in card): Select eval board during linux config arm/kernel/bios32.c IXP PCI bug issues arm/kernel/entry-armv.S added IRQ_DOORBELLHOST, DMA irq arm/kernel/ixp1200.c ixp1200_pci_init() PCI bug workaround include/asm-arm/arch-ixp1200/irq.h add doorbell irq to irq_reg[] modify irq_mask[] include/asm-arm/arch-ixp1200/irq.h more irq stuff: NR_IRQS, define IRQ_DOORBELLHOST include/asm-arm/arch-ixp1200/ixp1200eb.h change IXP1200_IRQS #define PHYS_SDRAM_BASE 0xC0C00000 arch/arm/boot/compressed/Makefile ZTEXTADDR = 0xc0c08000 This is not necessarily complete - just what I remember. zImage start address: C0C08000 ramdisk start address: C1400000 start from cygmon: go c0c08000 If you plan to use the board standalone dont care about PCI and IRQ stuff. You can use cygmon ftp to put the images at the right place (or rebuild the flash image). Reduce the ramdisk memory footprint as much as possible (extract old ixp binaries). Ramdisk can then be around 5,5 MB (adjust this in the linux tree arch.c file and ramdisk build tree). Total memory for Linux is 18 MB. If you need more memory consider mounting root via nfs. That said, you still have to modify certain things at the SDK 2 application layer and some drivers. It took us some time to figure that out so don't expect everything to work first time ;-) But as you see INTEL won't help you either. Regards, Mirko Benz
On Tue, 2002-05-14 at 06:01, benz@mephisto.inf.tu-dresden.de wrote:
Of course it is possible to get the Linux version provided with SDK 2 running on the evaluation board. But it is a bit tricky because the documentation is a bit week concerning board customization (e.g. minimum memory requirements ...) and other "issues" (e.g. chip bugs).
We have done that and it works for us. There are certainly limitations in that you can not run SDK 2 apps requiring C0 silicon or apps requiring more than 1K control memory storage. You will also have to reduce the table sizes due to memory limitations in some cases. But for a development system this is often tolerable.
Hi!
I wonder if you could give me any insight into what you had to do to boot Linux on the B0 board? I tried building my own from the intel-supplied sources, with no luck. The kernel available from the netwinder guys doesn't seem to support the necessary intel calls.
Thanks!
- James
----------------------------------------- This email was sent using SquirrelMail. "Webmail for nuts!" http://squirrelmail.org/
Hi, This is not a VERA question per se, I apologize... However, I wonder if anyone has successfully used the pseudo-ethernet driver (peth.o) that comes with the IXA SDK 2.0 and run it on the C0 board with linux kernel 2.3.99? I followed the instructions and did the following: $ insmod ue.o $ insmod octmac.o $ insmod giga_drv.o $ rs_udebug then used the workbech to start a hardware debug session to upload the microcode (in the L3fwd16 project) to the target, and start the microengines. $ load (and this installed the peth.o module and configured the net devices peth0 - peth7 with IP addresses 1.2.x.5) I then connected port 0 of the slow ports to a workstation's network card with IP address 1.2.1.1 and tried to ping it from the SA linux shell. This is what I got: $ ping 1.2.1.1 peth_start_xmit: new descriptor = a4 peth_start_xmit: pData = c1b15000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a4 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = a0 peth_start_xmit: pData = c1b14800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a0 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 9c peth_start_xmit: pData = c1b14000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0094 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 90 peth_start_xmit: pData = c1b12800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0090 peth_start_xmit: queueCount = -1 ... peth_start_xmit called peth_start_xmit: new descriptor = 0 Bad descriptor 0, dropping outgoing packet pethFreeDescriptor: descriptor = 0 pethFreeDescriptor: Bad descriptor 0 Any suggestions is appreciated! Thanks, Charles
Hi,
Initially even I faced this problem...but I
resolved it.Just define RF1812 in one of the microcode
files and your problem will be solved.
Ravi Modgekar
--- Charles Chiou
Hi,
This is not a VERA question per se, I apologize... However, I wonder if anyone has successfully used the pseudo-ethernet driver (peth.o) that comes with the IXA SDK 2.0 and run it on the C0 board with linux kernel 2.3.99? I followed the instructions and did the following:
$ insmod ue.o $ insmod octmac.o $ insmod giga_drv.o $ rs_udebug
then used the workbech to start a hardware debug session to upload the microcode (in the L3fwd16 project) to the target, and start the microengines.
$ load (and this installed the peth.o module and configured the net devices peth0 - peth7 with IP addresses 1.2.x.5)
I then connected port 0 of the slow ports to a workstation's network card with IP address 1.2.1.1 and tried to ping it from the SA linux shell. This is what I got:
$ ping 1.2.1.1
peth_start_xmit: new descriptor = a4 peth_start_xmit: pData = c1b15000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a4 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = a0 peth_start_xmit: pData = c1b14800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a0 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 9c peth_start_xmit: pData = c1b14000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0094 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 90 peth_start_xmit: pData = c1b12800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0090 peth_start_xmit: queueCount = -1
...
peth_start_xmit called peth_start_xmit: new descriptor = 0 Bad descriptor 0, dropping outgoing packet pethFreeDescriptor: descriptor = 0 pethFreeDescriptor: Bad descriptor 0
Any suggestions is appreciated!
Thanks,
Charles
__________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com
Ravi, Thanks, I realized that there was a project file called "L3fwd16.dwo rfc1812" that was not visible to the work bench! I build the microcodes with RFC1812 defined using the new project. Unfortunately, I am still getting the same old result... Charles On Fri, 24 May 2002, ravi modgekar wrote:
Hi, Initially even I faced this problem...but I resolved it.Just define RF1812 in one of the microcode files and your problem will be solved. Ravi Modgekar --- Charles Chiou
wrote: Hi,
This is not a VERA question per se, I apologize... However, I wonder if anyone has successfully used the pseudo-ethernet driver (peth.o) that comes with the IXA SDK 2.0 and run it on the C0 board with linux kernel 2.3.99? I followed the instructions and did the following:
$ insmod ue.o $ insmod octmac.o $ insmod giga_drv.o $ rs_udebug
then used the workbech to start a hardware debug session to upload the microcode (in the L3fwd16 project) to the target, and start the microengines.
$ load (and this installed the peth.o module and configured the net devices peth0 - peth7 with IP addresses 1.2.x.5)
I then connected port 0 of the slow ports to a workstation's network card with IP address 1.2.1.1 and tried to ping it from the SA linux shell. This is what I got:
$ ping 1.2.1.1
peth_start_xmit: new descriptor = a4 peth_start_xmit: pData = c1b15000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a4 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = a0 peth_start_xmit: pData = c1b14800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a0 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 9c peth_start_xmit: pData = c1b14000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0094 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 90 peth_start_xmit: pData = c1b12800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0090 peth_start_xmit: queueCount = -1
...
peth_start_xmit called peth_start_xmit: new descriptor = 0 Bad descriptor 0, dropping outgoing packet pethFreeDescriptor: descriptor = 0 pethFreeDescriptor: Bad descriptor 0
Any suggestions is appreciated!
Thanks,
Charles
__________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com
hi,
Well I have tried this way and it worked.I feel
you should define #define RFC1812 in project_config.h
file in the L3FWD16 project.
Theres one more step you have to follow
i.e you have to run the route table manager
rtmapp.Before running rtmapp modify the file
rtmapp.cpp to forward all packets to core port 18.
I think this should solve your problem
Ravi
--- Charles Chiou
Ravi,
Thanks, I realized that there was a project file called "L3fwd16.dwo rfc1812" that was not visible to the work bench! I build the microcodes with RFC1812 defined using the new project. Unfortunately, I am still getting the same old result...
Charles
On Fri, 24 May 2002, ravi modgekar wrote:
Hi, Initially even I faced this problem...but I resolved it.Just define RF1812 in one of the microcode files and your problem will be solved. Ravi Modgekar --- Charles Chiou
wrote: Hi,
This is not a VERA question per se, I apologize... However, I wonder if anyone has successfully used the pseudo-ethernet driver (peth.o) that comes with the IXA SDK 2.0 and run it on the C0 board with linux kernel 2.3.99? I followed the instructions and did the following:
$ insmod ue.o $ insmod octmac.o $ insmod giga_drv.o $ rs_udebug
then used the workbech to start a hardware debug session to upload the microcode (in the L3fwd16 project) to the target, and start the microengines.
$ load (and this installed the peth.o module and configured the net devices peth0 - peth7 with IP addresses 1.2.x.5)
I then connected port 0 of the slow ports to a workstation's network card with IP address 1.2.1.1 and tried to ping it from the SA linux shell. This is what I got:
$ ping 1.2.1.1
peth_start_xmit: new descriptor = a4 peth_start_xmit: pData = c1b15000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a4 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = a0 peth_start_xmit: pData = c1b14800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff00a0 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 9c peth_start_xmit: pData = c1b14000 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0094 peth_start_xmit: queueCount = -1 peth_start_xmit called peth_start_xmit: new descriptor = 90 peth_start_xmit: pData = c1b12800 peth_start_xmit: len = 42, descFlags = 2901 peth_start_xmit: queue = 300, headTail = ffffffff peth_start_xmit: tail = ffff peth_start_xmit: new headTail = ffff0090 peth_start_xmit: queueCount = -1
...
peth_start_xmit called peth_start_xmit: new descriptor = 0 Bad descriptor 0, dropping outgoing packet pethFreeDescriptor: descriptor = 0 pethFreeDescriptor: Bad descriptor 0
Any suggestions is appreciated!
Thanks,
Charles
__________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com
__________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com
participants (6)
-
Brandewie, Dirk J
-
Charles Chiou
-
James Croall
-
Mirko Benz
-
Mirko_Benz@mephisto.inf.tu-dresden.de
-
ravi modgekar