I just successfully recompiled and here are the
steps I took:
0). Make sure your environment is setup, define
WIND_BASE as the root dir of your Tornado installation (e.g, C:\Tornado)
WIND_HOST_TYPE as x86-win32
These can also be set by running torVars.bat in Tornado\host\x86-win32\bin
(no magic here, I assume you have already done this since it it needed
to compile anything for VxWorks)
1) cd IXP1200\BoardSupport\VxWorks\IXP1200EB\
2) Edit Makefile and make sure -DMVR is added as an extra flag
3) make clean
4) make vxWorks
I wonder if the missing defines come from system makefiles, which,
perhaps the system can't find if you don't set the WIND_BASE
environment variable properly....?
erik
> -----Original Message-----
> From: Servio Lima [mailto:servio@andrew.cmu.edu]
> Sent: Thursday, November 23, 2000 5:17 AM
> To: Johnson, Erik J
> Cc: ixp1200(a)CS.Princeton.EDU
> Subject: Re: PETH drivers
>
>
> Hi,
>
> In the compilation process of Vxworks , I've found several
> flags specified
> in the Makefile , defs files and rules files that needs to
> be declared
> first. These flags have null values and they cause the whole
> make process to
> stop abruptly. For example:
>
> partialImage.o: $(LDDEPS) $(PRJ_OBJS) $(EXTRA_MODULES)
> $(COMPONENT_LIBS)
> $(LIBS) $(PRJ_OBJS_FILE)
> - @ $(RM) $@
>
> flags like the Tornado source directory are not defined.
> Whats the procedure
> for giving values to them?
>
> Regards,
> Servio
>
>
> "Johnson, Erik J" wrote:
>
> > What does the console (serial) window say when
> > you get these failures? If you are getting
> > IP_MAX_UNITS failures, then you need to recompile
> > vxworks with IP_MAX_UNITS set higher than 1
> > (it needs to be >= PETH_NUM_DEVS + 1). The NetApp
> > init code registers the END driver(s) with the
> > IP stack and be default VxWorks only allows
> > one registration with the IP stack (which is
> > consumed by the Intel NIC/driver). You can
> > see an example of how I did this in the supplied
> > BoardSupport/VxWorks/IXP1200EB/config.h, search
> > for MVR, or IP_MAX_UNITS, and then follow this
> > model to build your BSP (or if you are using the
> > supplied BSP, just define MVR and recompile)
> >
> > if that is not the problem, I am at a loss.
> > Perhaps it is a version mis-match? The driver
> > was written for VxWorks 5.4 (if I remember correctly)
> > maybe something changed in the END interface...?
> >
> > The default routes were #ifdef'd out for the MVR
> > application because we were demonstrating a routing
> > protocol (OSPF) rather than static routes. In addition,
> > the route table manager changed its interface slightly
> > to support the notion of virtual routers. If you want
> > to add a route, simply use the rtm_mvr code. look in
> > SA1_CoreLibs/rtm-mvr/, the VxWorks shell commands are
> > available from rtm_console.cpp/rtm_console.h if you
> > just want to call them "by hand", or add them into
> > any init code you want.
> >
> > erik
> >
> > > -----Original Message-----
> > > From: Servio Lima [mailto:servio@andrew.cmu.edu]
> > > Sent: Wednesday, November 22, 2000 4:48 AM
> > > To: Johnson, Erik J; ixp1200(a)CS.Princeton.EDU
> > > Subject: Re: PETH drivers
> > >
> > >
> > > Hi,
> > >
> > > I still get the same error , even reducing the number of
> PETH devices:
> > > -> NetApp_GigInit
> > >
> > > STATUS OF intConnect = 0
> > > BigMacDriver CTOR OctalMacNumber = 0
> > > status = 0
> > > status = ffffffff
> > > Failed to load Pseudo Ethernet driver number 0
> > > Failed to load Pseudo Ethernet driver number 1
> > > Failed to load Pseudo Ethernet driver number 2
> > > Failed to load Pseudo Ethernet driver number 3
> > > value = -1341915136 = 0xb0040000
> > >
> > > Some hints:
> > > I am compiling the vxworks_mvr application using Tornado with the
> > > following flags:
> > > ccarm
> > > -g -mcpu=strongarm110 -mapcs-32 -ansi -nostdinc -DRW_MULTI_THREAD
> > > -D_REENTRANT -mno-sched-prolog -fno-builtin -fvolatile -w
> > > -Wall -pedantic
> > > -I. -IC:/Tornado/target/h -Ic:\ixp1200\include
> > > -Ic:\ixp1200\SA1_CoreLibs\libd -Ic:\ixp1200\msgq
> > > -Ic:\ixp1200\SA1_CoreLibs\GigaMAC_GC82547EB
> > > -Ic:\ixp1200\SA1_CoreLibs\debug_1200 -Ic:\ixp1200\utils
> -DCPU=ARMSA110
> > > -DOS=VXWORKS -DIOSTYLE=HARDWARE -DVX_WORKS -DVXWORKS -DROUTE
> > > -DFBUS_DEV0_TYPE=0 -DFBUS_DEV1_TYPE=1 -DMAC_21440 -DMAC_GC82547EB
> > > -DWB_SVR -DFBUS_DEVICE_COUNT=2 -D__unix -DRTM_MVR
> -DROUTE -DPETH_DRV
> > > -DPETH_NUM_DEVS=4
> > >
> > >
> > > That are the same flags found in vxworks_mvr.mak makefile
> > > Any suggestions?
> > >
> > > In addition , I'd like to know exactly where the route for
> > > port 18 should
> > > be inserted in the fixed routing table that is implemented in
> > > \Ixp1200\SA1_Corelibs\app1200\net_app.cpp, because there is a
> > > preprocessor directive that banned the insertion of a route
> > > in the place
> > > where other routes are added. An extracted portion of the
> > > code explains
> > > this:
> > >
> > > #ifdef ROUTE
> > > #ifndef RTM_MVR ------------------> it is assumed that if
> > > MVR is used a
> > > new route can not be inserted??
> > > rt_add("1.1.1.1", "255.0.0.0", 1);
> > > ....etc
> > >
> > >
> > > Thanks in advance,
> > > Servio
> > >
> > >
> > >
> > >
> > > "Johnson, Erik J" wrote:
> > >
> > > > Sorry, I missed the last part of your email.
> > > > The PETH driver ASSUMES it gets packets from port 18,
> > > > you don't need to instantiate that many drivers.
> > > > Simply instantiate drivers for the ports you want to
> > > > logically represent to VxWorks (e.g, just the first
> > > > 4 10/100 ports). Then each driver will enqueue for
> > > > the transmit port associated with its instance,
> > > > all will receive from port 18 and demultiplexing will
> > > > be done based on the ingress port number within the
> > > > packet descriptor. Note, you should be loading the
> > > > MVRRefdes microcode with this driver since it has
> > > > modifications to the microcode that allow the core to
> > > > properly enqueue on the outgoing (transmit) queues.
> > > >
> > > > erik
> > > >
> > > > > -----Original Message-----
> > > > > From: Servio Lima [mailto:servio@andrew.cmu.edu]
> > > > > Sent: Tuesday, November 21, 2000 2:23 PM
> > > > > Cc: ixp1200(a)CS.Princeton.EDU
> > > > > Subject: PETH drivers
> > > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > > Does anyone has experience using Pseudo Ethernet drivers for
> > > > > StrongArm-Microengine
> > > > > communications?
> > > > > I got the following problem each time I compile with the
> > > > > -DPETH_DRV flag on
> > > > > (using Tornado Workbench):
> > > > >
> > > > > -> ld < my_rtmmvr.out
> > > > > Loading C:/project2/ARMSA110gnu/rtmmvr.out |
> > > > > value = 3275480 = 0x31fad8
> > > > > -> NetApp_GigInit
> > > > >
> > > > > STATUS OF intConnect = 0
> > > > > BigMacDriver CTOR OctalMacNumber = 0
> > > > > status = 0
> > > > > status = ffffffff
> > > > > Failed to load Pseudo Ethernet driver number 0
> > > > > Failed to load Pseudo Ethernet driver number 1
> > > > > Failed to load Pseudo Ethernet driver number 2
> > > > > Failed to load Pseudo Ethernet driver number 3
> > > > > Failed to load Pseudo Ethernet driver number 4
> > > > > Failed to load Pseudo Ethernet driver number 5
> > > > > Failed to load Pseudo Ethernet driver number 6
> > > > > Failed to load Pseudo Ethernet driver number 7
> > > > > Failed to load Pseudo Ethernet driver number 8
> > > > > Failed to load Pseudo Ethernet driver number 9
> > > > > Failed to load Pseudo Ethernet driver number 10
> > > > > Failed to load Pseudo Ethernet driver number 11
> > > > > Failed to load Pseudo Ethernet driver number 12
> > > > > Failed to load Pseudo Ethernet driver number 13
> > > > > Failed to load Pseudo Ethernet driver number 14
> > > > > Failed to load Pseudo Ethernet driver number 15
> > > > > Failed to load Pseudo Ethernet driver number 16
> > > > > Failed to load Pseudo Ethernet driver number 17
> > > > > Failed to load Pseudo Ethernet driver number 18
> > > > > Failed to load Pseudo Ethernet driver number 19
> > > > >
> > > > > Exception number 16: Task: 0x3bff74 (t31)
> > > > >
> > > > > Data abort
> > > > > Program Counter: 0xcc294
> > > > > Status Register: 0x60000013
> > > > > 8e6c8 _vxTaskEntry +28 : 3ff64 ()
> > > > > 40008 _wdbFuncCallLibInit+128: _NetApp_GigInit ()
> > > > > cc358 _NetApp_GigInit+c : _NetApp_Init__Fv ()
> > > > >
> > > > > Data abort
> > > > > Exception address: 0x000cc294
> > > > > Current Processor Status Register: 0x60000013
> > > > > Task: 0x3bff74 "t31"
> > > > > value = 0 = 0x0
> > > > >
> > > > >
> > > > > I am using -DPETH_NUM_DEVS=20, that is 20 PETH devices,
> > > > > because I want to use port
> > > > > No. 18 for the StrongArm-uengine communication.
> > > > >
> > > > > Basically the problem is the invocation of the function:
> > > cookie =
> > > > > muxDevLoad(pethDrvNum, pethEndLoad, pethInitStr, 0, NULL);
> > > > > that can be found in
> \IXP1200\SA1_CoreLibs\app_1200\net_app.cpp
> > > > >
> > > > > My goal is to transmit a packet from the StronArm to the
> > > > > uengine and viceversa. I
> > > > > think I should enable the PETH functionality first, but if
> > > > > anyone knows of
> > > > > another method for doing the same, please let me know ASAP.
> > > > >
> > > > > Any help would be appreciated.
> > > > >
> > > > > Regards,
> > > > > Servio Lima7
> > > > >
> > > > >
> > >
> > >
>
>