From vxwexplo-errs@csg.lbl.gov  Thu Nov  1 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Nov  1 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Nov  1 04:03:12 PST 2001
        Subject: PPP & Simulator
        Subject: Re: new user.
        Subject: Re: Booting 2 processors with one vxWorks image
        Subject: Maximum timers in VxWorks
        Subject: S_memLib_BLOCK_ERROR
        Subject: Re: 860 SCC Driver
        Subject: ifAddrAdd
        Subject: Re: Measuring performance in VxWorks
        Subject: Re: modify LibPPC604gnuvx.a
        Subject: Re: MMU Question
        Subject: Re: MPC8260/860, cache and DMA (or cache coherency) question
        Subject: Re: Scalability of VxWorks watchdog timer (wdLib) implementation
        Subject: Help with interrupts
        Subject: Resources reclamation
        Subject: Re: Help with interrupts
        Subject: FTP to second END device in VxWorks.
        Subject: Re: Using dependencies in different dirrectories?
        Subject: Re: Help with interrupts
        Subject: New Site for StronaARM fans
        Subject: New Site
        Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
        Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
        Subject: SCSI problems in vxworks
        Subject: Re: Resources reclamation
        Subject: about the no time_slice schedule problems
        Subject: Re: Help with interrupts
        Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
        Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
        Subject: Re: about the no time_slice schedule problems
        Subject: Re: MMU Question
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: PPP & Simulator
Date: 31 Oct 2001 04:28:15 -0800
From: mikron30@hotmail.com (Miki Zilbershtein)
Organization: http://groups.google.com/
Message-ID: <b52e0856.0110310428.4ec74b50@posting.google.com>
Dear Group members
I have problem with Simulator and it seems like it is PPP problem.
I have built a customized simulator on
Solaris 5.8 with Tornado 2.0.2 VxWorks 5.4 including network stack.
When I started the Simulator I am getting endless loop saying:
sysToMonitor: restarting.
 s_fdint: u_ioctl TIOCSPGRP
 s_fdint: u_ioctl I_SETSIG - 0
sysToMonitor: restarting.
 s_fdint: u_ioctl TIOCSPGRP
 s_fdint: u_ioctl I_SETSIG - 0
My PPP configuration is
ifconfig ipd0 plumb 177.29.1.13 127.0.1.0 up private netmask
0xffffff00
Can anyone help me? How can I check if my PPP is working correctly or not?
Thanks in advanced,
Miki
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: new user.
Date: 31 Oct 2001 12:24:57 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns914B889535C75borkhuisagerecom@135.7.153.102>
References: <9rol7j$q9d$1@news.netvision.net.il>
"Barak Ofir" <brkhds@netvision.net.il> wrote:
> Hello,
> Im interesting in learning the VxWorks OS.
> Does any one know where I can get reading material on the web?
You could start with downloading Tornado Prototyper, a VxWorks simulator.
This includes all the documentation and manuals.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Booting 2 processors with one vxWorks image
Date: 31 Oct 2001 05:28:32 -0800
From: polyester99@hotmail.com (Kelvin Lawson)
Organization: http://groups.google.com/
Message-ID: <7fbcd71e.0110310528.70d7eeaf@posting.google.com>
References: <996d421c4bd4bf081db69ed53499984e.8627@mygate.mailgate.org>
> But here is obviously the problem. In the vxWorks Makefile, in config.h and in
> sysAlib.s/romInit.s we set up the RAM address. So basically it is set up for
> one processor (eg RAM at 0y00 0000). How is it possible to use the same flash
> image to configure the RAM address for the second processor (eg RAM at 0z00
> 0000)?
What CPU are you using ? If you are using two different PowerPCs you
could read the PVR (Processor Version Register) in your boot code and
branch to separate configuration code.
Kelvin.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Maximum timers in VxWorks
Date: Wed, 31 Oct 2001 19:06:06 +0530
From: Jharna <jharna@lucent.com>
Organization: Lucent Technologies
Message-ID: <3BDFFE46.D4851FFC@lucent.com>
Is there any VxWorks manual or documentation that confirms that
There is no fixed limit on the maximum number of watchdog timers in VxWorks.
And that it is only limited by  it just depends on the amount of memory and CPU
time that is available.
Regards,
Jharna
---------------------------
Newsgroups: comp.os.vxworks
Subject: S_memLib_BLOCK_ERROR
Date: 31 Oct 2001 05:59:54 -0800
From: monishabarooah@yahoo.com (Monisha Barooah)
Organization: http://groups.google.com/
Message-ID: <68ef19de.0110310559.459d8096@posting.google.com>
Hi,
  I have been getting the error S_memLib_BLOCK_ERROR with the
tWdbTask. Can anyone suggest the cause of the error? and that too with
this task.
Regards,
Monisha.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 860 SCC Driver
Date: Wed, 31 Oct 2001 14:42:14 GMT
From: Diego Serafin<d.serafin@-NOSPAM-ieee.org>
Organization: http://www.newsranger.com
Message-ID: <a5UD7.7178$xS6.9037@www.newsranger.com>
References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com>
In article <3BDD758C.94CABE1D@baesystems.com>, Paul Caswell says...
>
>Thanks Johan,
>This looks useful so I'll look at in more depth.  One point that is
>immediately apparent that this example sets up the SCC in UART mode.
>What I think I want to do is run the SCC in Transparent mode.  Anyone
>out there done this before ??
>Regards
>Paul
>
Hi Paul,
I developed a more or less complete library for transparent and HDLC
communications on MPC860MH SCCs in QMC (QUICC Multi Channel) mode.
Unfortunately I 'm not allowed to put sources in public domain. Anyway I started
up from Motorola examples (QMC supplement to MPC860
User's Manual and netcomm examples on Motorola site).
If you need help on SCC QMC feel free to ask: if I can give you some hints I'll
be happy to do that.
Regards, Ciao.
Diego.
---------------------------
Newsgroups: comp.os.vxworks
Subject: ifAddrAdd
Date: Wed, 31 Oct 2001 15:28:40 +0000 (UTC)
From: "Indhu S" <indhu01@yahoo.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <3b32483b233f6e1fac41bb4816361a3f.34031@mygate.mailgate.org>
Hi
I an add more than one IP address to an interface using the function
'ifAddrAdd'.
But if I can't find a function to remove the same.
Is there a function which will delete an address from the interface.
Thanks
Indhu
- --
Posted from  [66.7.6.122]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Measuring performance in VxWorks
Date: 31 Oct 2001 17:07:19 GMT
From: merleebene@aol.com (MerleEbene)
Organization: AOL http://www.aol.com
Message-ID: <20011031120719.16324.00000912@mb-mo.aol.com>
References: <f4de3c44a%molochai@vapour-trail.demon.co.uk>
I agree WindView is a very good starting point. You could use the Browser as
well.
Good luck
LB
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: modify LibPPC604gnuvx.a
Date: 31 Oct 2001 17:28:29 GMT
From: merleebene@aol.com (MerleEbene)
Organization: AOL http://www.aol.com
Message-ID: <20011031122829.16324.00000914@mb-mo.aol.com>
References: <rRAx7.306$gW6.1205754@newsr2.u-net.net>
The image which does not load may have a code segmentation problem (text and
data segemts). I could be wrong.
Just follow the other steps to get it to work. Pat yourself on the back; you
deserve a soda can :-)
LB
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU Question
Date: Wed, 31 Oct 2001 09:43:15 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3be03875$0$78867$e2e8da3@nntp.cts.com>
References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com>
"Mehul Patel" <mgpatel75@yahoo.com> wrote in message
news:1cb61f21.0110301826.7695a6c4@posting.google.com...
> mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=) wrote
in message news:<47244237.0110300326.46722d6d@posting.google.com>...
> > Hi
> >
> > Has anyone tried to use the MMU support in VxWorks to have a translation
> > other than 1:1 for the data and bss sections?
> >
> > Regards
> > /Mats
>
> Would you please elaborate it ? We have used it for adding dynamic
> MEMORY entry while bootup sequence.
It would also help if you mentioned which architecture (i.e. PPC, x86,
etc...) you were targeting.
 Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MPC8260/860, cache and DMA (or cache coherency) question
Date: Wed, 31 Oct 2001 10:29:05 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3be04333$0$51828$e2e8da3@nntp.cts.com>
References: <d83bb8e3.0110201019.6623baf6@posting.google.com> <488e459a.0110201346.4680ff5a@posting.google.com>     <3bd599a3$0$1091$e2e8da3@nntp.cts.com> <usnc77rkw.fsf@nortelnetworks.com> <3bd97fe4$1@news.si.com> <af08b74b.0110302246.6051836d@posting.google.com>
"Rajam AP" <aprajam@yahoo.com> wrote in message
news:af08b74b.0110302246.6051836d@posting.google.com...
> vanbaren@falcon.si.com (vanbaren_gerald) wrote in message
news:<3bd97fe4$1@news.si.com>...
> > Linh Dang <linhd@nortelnetworks.com> writes:
> >
> > >"Dan Gold" <gold@ensemble.com> writes:
> > >>
> > >> And also remember if you're on an 8260 and you use a DBAT for your
vxWorks
> > >> RAM, cacheDmaMalloc() won't work.  You'd have to use another area of
memory
> >
> > >If the driver does cacheInvalidate/cacheFlush explicitly,
cacheDmaMalloc() should
> > >work right? cacheDmaMalloc()'s purpose is to allocate a block of memory
> > >which is cache-aligned regardless of the mapping mechanism (page for
bat).
> > >--
> > >Linh Dang
> >
> > Sorry, no.  From the manual:
> >
> >   This routine returns a pointer to a section of memory that will not
> >   experience any cache coherency problems. Function pointers in the
> >   CACHE_FUNCS structure provide access to DMA support routines.
> >
> > The routine disables the cache on the page(s) of memory allocated.
> > The cache disable assumes page table mapping and will fail horribly if
> > you are using BATs to map that memory area.  At least it did for me...
:-/
> >
> > gvb
I see Gerald and I have shared the same empirical experience  :-)
> What is the purpose of CACHE_FUNCS?
CACHE_FUNCS is an array of function pointers to 'help' you in managing
potential cache problems, and allows for the installation of different cache
implementations in an architecture-independent manner.    I.e. if your same
code had to run on PPC, Pentium, MIPS, etc... you could write your driver
using CACHE_FUNCS calls, and it wouldn't need to change.  Even across the
same processor family, architectures (i.e. PPC860 vs PPC750) may differ, so
you can write your code the same.
>Also when we do cacheDmaMalloc, is the memory page allocated marked as
cache inhibited by VxWorks?
Having looked at the source for cacheDmaMalloc() for the PPC, the answer is
yes.  It checks to see if the cache is enabled (via HID0).  If no, it just
calls malloc().  If yes, it allocates memory via memalign, then marks the
pages as non-cacheable.
 hth,
  Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Scalability of VxWorks watchdog timer (wdLib) implementation
Date: 31 Oct 2001 11:18:33 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0110311118.5fd30a13@posting.google.com>
References: <3BDD1406.C34C67E4@esk.fhg.de> <d83bb8e3.0110301437.133e8927@posting.google.com> <3BDFB52F.605684C4@esk.fhg.de>
It may not be that bad to have the "burst" if you allow the job
to be pre-empted by higher priority task.  This is especially so
if your application needing the 200 timers would suffer no grave
consequence if they're delayed.  In this case, your option #1 may
be effective.
At the minimum, you've now moved the work away from ISR to task level.
So your timer interrupt would not lock out other lower priority interrupts
and the high priority tasks for a "long" time.  Do you know how high the
priority of your timer interrupt?
Walter Zimmer <walter.zimmer@esk.fhg.de> wrote in message news:<3BDFB52F.605684C4@esk.fhg.de>...
> Hi!
>
> First, thanks to everyone for responding. I'm glad VxWorks implemented
> the wdLib in the right way :)
>
> Raymond Yeung wrote:
> > It may depend on your application's requirements.  If your
> > application doesn't require the resolution of a watchdog (one
> > tick at about 16-17 msec, on the boards that I worked with this far),
> > you may be better off setting up the timer at longer interval, and
> > delagate the application timer processing to a high priority task.
> That's what we're currently doing in the timer routine: Only insert
> a message into a queue and exit.
>
> > E.g. if you've protocol timers of order of seconds, but you have
> > something like DSP packetization occuring at 10-30 msecs intervals,
> > and must be on time.  In this application, using watchdog directly
> > could open to burst of ISR work due to slight misalignment in timers.
> > These bursts could affect schedules of other more time critical
> > works.
> I understand the point that it's not good if my 200 timers expire all at
> once, but as the running time increases, synchronization issues will
> lead to the point that they will produce bursts.
>
> Now, what is the alternative?
> 1.
> Using one timer and doing the work of all 200 routines at once is
> worse in my oppinion since it _always_ produces burst, especially
> for the task that gets the 200 messages.
>
> 2.
> Use a task that suspends itself periodically instead of a timer
> routine. This would be optimal from the load balancing view. Are
> there any performance penalties or other disadvantages of this
> approach? For a protocol timer which uses times in the orders
> of seconds this could be a feasable alternative.
>
> 3.
> Avoid self-synchonizing of the 200 timers. This would be the ultimate
> solution, since it balances the load and consumes less resources
> than task switching (like in 2.)
> Any ideas? I don't have any clue how to accomplish this with the
> current wdLib API. I'm not aware of any means to tell the API to
> e.g. insert the timer routine at an expiration time 5 ticks away
> from any other expiration time.
>
> Did someone experience this self synchronizing effect, or is it
> extremely unlikely? Any links to papers?
>
> Thanks again,
> Walter
---------------------------
Newsgroups: comp.os.vxworks
Subject: Help with interrupts
Date: Wed, 31 Oct 2001 11:41:59 -0800
From: "BL" <metaliu@yahoo.com>
Organization: Jet Propulsion Laboratory - Pasadena CA
Message-ID: <9rpk67$km1$1@nntp1.jpl.nasa.gov>
Anyone out there with a Synergy VGM5 board that has gotten interrupts to
work?  Currently using BSP v1.2g with PowerPC604.  Is there anything else I
need to do except perform an intConnect() ?  Some sample code would be
helpful.  It seems like I'm sending an interrupt ok but I am not receiving
it.  Is there a way to verify that it has actually gotten sent?
Thanks,
Bill
---------------------------
Newsgroups: comp.os.vxworks
Subject: Resources reclamation
Date: Wed, 31 Oct 2001 11:44:11 -0500
From: droberge <droberge@ele.etsmtl.ca>
Organization: Universite du Quebec
Message-ID: <3BE02A5B.1B171493@ele.etsmtl.ca>
Hi,
I have a question regarding resources reclamation in VxWorks AE.
If a parent task spawn many sub-tasks, are the sub-tasks deleted when
the parent task is deleted ?
The programmer's guide say that the default owner of a task is the
protection domain in which it is spawned.  Am I right to say that if the
parent task is not the owner of the sub-tasks, they should not be
deleted when the parent task is deleted.
Is there a mean to make the parent task the owner of the sub-tasks in
order to automaticaly delete the sub-tasks when the parent task is
deleted ?
Thanks in advance,
/David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help with interrupts
Date: Wed, 31 Oct 2001 17:10:19 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3BE076CB.4E5EB91F@bellsouth.net>
References: <9rpk67$km1$1@nntp1.jpl.nasa.gov>
    I'm not familiar with your hardware,  but you might check on
whether sysIntEnable is in your BSP.  Some have it, some don't.  There
should be some sample code in your bsp.  If you have such, you could
look at the int line in question with an oscilloscope.  I suspect that if you
were sending the int at all, you would be able to see it.
Speaking only for myself,
Joe Durusau
BL wrote:
> Anyone out there with a Synergy VGM5 board that has gotten interrupts to
> work?  Currently using BSP v1.2g with PowerPC604.  Is there anything else I
> need to do except perform an intConnect() ?  Some sample code would be
> helpful.  It seems like I'm sending an interrupt ok but I am not receiving
> it.  Is there a way to verify that it has actually gotten sent?
>
> Thanks,
> Bill
---------------------------
Newsgroups: comp.os.vxworks
Subject: FTP to second END device in VxWorks.
Date: 31 Oct 2001 14:56:29 -0800
From: phuc.s.dinh@intel.com (Phil)
Organization: http://groups.google.com/
Message-ID: <a1ef1bab.0110311456.35671ac9@posting.google.com>
Hi All,
I have two END devices on my VxWorks system (PIII). I can ping both of
them (ipAttach succeed). The system has FTP Server enabled. From an NT
machine, I can ftp using the first END's IP address, but can't do that
with the second END, ftp always timeout. Did I miss something here? Do
I need to do anything special with the second END? Thanks in advance.
Phil Dinh
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Using dependencies in different dirrectories?
Date: Wed, 31 Oct 2001 18:38:21 -0500
From: David  <coder@dharty.com.removeB4sending>
Message-ID: <of21utkjhs0ukqcb9tc0pvpbolmvh7cjoa@4ax.com>
References: <v341ttss8ibrbt88vgoont48mujohrkaig@4ax.com> <DH5A7.42998$T24.19780279@typhoon.san.rr.com>
Pat,
Thanks for the reply, and sorry I didn't get back to you sooner.
I had used the include paths you mentioned (-Ipath/path) but it turns
out I also needed to make changes to the MACROs in the project
setting.  I had to Create a VPATH variable and give it some parameters
that I don't recall offhand.
Anyway, thanks.
David
On Sat, 20 Oct 2001 02:54:27 GMT, "Patrick@Roadrunner"
<pfitzpa1@san.rr.com> wrote:
>The correct way to refer to dependant header files in different directories
>is to include an Include Search path to those directories in the compiler
>C/C++ options of the build spec. Use
>the -Idependancy_path/dependancy_directory and rebuild the dependancies
>before compiling the project. There used to be an issue where the
>dependancies would not get created correctly in the makefile if the current
>open_file path pointed to the directory that contained the source code or
>header file. If you find that this is the case select file/open from the
>Tornado application and open a file in a completely unrelated directory and
>rebuild the dependancies again.
>
>Hope this helps,
>Patrick
>
>
>"David" <coder@dharty.com.removeB4sending> wrote in message
>news:v341ttss8ibrbt88vgoont48mujohrkaig@4ax.com...
>> I originally posted this question via my corporate news server, but it
>> didn't seem to make it out to the rest of the world.  If there are two
>> copies of this question on your server, I apologize.
>> ------------------------------------------------------
>>
>> Hello everybody.  Heres a newbie Tornado question for you.
>>
>> I have a project in which I need to keep the files in separate
>> directories.
>> (ex c:\code\d1 and c:\code\d2 )However,  there are cases where files
>> in each
>> directory are dependent on header files in the other.  I have added
>> all of
>> the files from both directories to a project.  Building the project
>> returns
>> make errors:
>>
>>     make: *** No rule to make target `config.h', needed by `app1.o'.
>> Stop.
>>
>> where config.h might be in d1 and app1.cpp might be in d2.
>>
>>   I have tried to include the paths in the Build
>> Specifications->Macros->
>> PRJ_LIBS setting, but that hasn't solved the problem, it did seem to
>> work on
>> individual cases:
>>     C:\code\d1\config.h
>> but I couldn't set the the Macros to link all of the header files in
>> both
>> directories
>>     C:\code\d1\*.h,  C:\code\d2\*.h or
>>     C:\code\d1\config.h,  C:\code\d2\config_in_2.h
>>
>> Examining the dependencies of the files in question I can see the full
>> path
>> for dependencies in the same directory as the file, but dependencies
>> outside
>> the directory only show the dependency:
>>
>>     C:\code\d2\config_in_2.h     for files in the same directory
>> vs
>>     config.h for files in the other directory
>>
>> In the past (pSOS) we used make files to solve this problem.  Any
>> recommendations on the best way to do it in Tornado.
>>
>> Thanks in advance,
>> David
>>
>>
>> PS. I am currently using the prototyper if this makes any difference.
>>
>>
>>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help with interrupts
Date: Wed, 31 Oct 2001 19:48:10 -0500
From: "BruceL" <nospam@yahoo.com>
Message-ID: <9rq6d7$5qr$1@bob.news.rcn.net>
References: <9rpk67$km1$1@nntp1.jpl.nasa.gov>
I had experience getting a BSP running on a Sandpoint system with MPC 8245.
It was necessary to learn the chips (I/O and interrupt controller) on the
motherboard and to follow the interrupts into the processor and the EPIC
controller.  Code changes were needed in 3 separate modules including the
NS8730 (?), Windbond, and EPIC drivers.  It took about a week to figure it
all out.
Best of luck.
Bruce
BL <metaliu@yahoo.com> wrote in message
news:9rpk67$km1$1@nntp1.jpl.nasa.gov...
> Anyone out there with a Synergy VGM5 board that has gotten interrupts to
> work?  Currently using BSP v1.2g with PowerPC604.  Is there anything else
I
> need to do except perform an intConnect() ?  Some sample code would be
> helpful.  It seems like I'm sending an interrupt ok but I am not receiving
> it.  Is there a way to verify that it has actually gotten sent?
>
> Thanks,
> Bill
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: New Site for StronaARM fans
Date: Thu, 01 Nov 2001 01:05:22 GMT
From: "Lawrence Ricci" <lpricci@att.net>
Organization: AT&T Worldnet
Message-ID: <md1E7.91457$WW.5121771@bgtnsc05-news.ops.worldnet.att.net>
We just added this site-
http://www.appliedvxworks.net
Application ready StrongARM systems-
---------------------------
Newsgroups: comp.os.vxworks
Subject: New Site
Date: Thu, 01 Nov 2001 01:05:21 GMT
From: "Lawrence Ricci" <lpricci@att.net>
Organization: AT&T Worldnet
Message-ID: <ld1E7.91456$WW.5121613@bgtnsc05-news.ops.worldnet.att.net>
Check it out!
http://www.AppliedVxWorks.net
We have beifed up our VxWorks staff and are looking to market into the space
a little more strongly-
Larry Ricci
Applied Data Systems
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
Date: Thu, 01 Nov 2001 01:16:28 GMT
From: "Lawrence Ricci" <lpricci@att.net>
Organization: AT&T Worldnet
Message-ID: <Mn1E7.91463$WW.5122321@bgtnsc05-news.ops.worldnet.att.net>
References: <9rdq0a$i3v$03$1@news.t-online.com>
"Heinrich Munz (eMVP)" <NoSpamHMunz@Munz-Consulting.de> wrote in message
news:9rdq0a$i3v$03$1@news.t-online.com...
> While real time communication (with "real time" I mean deterministic, not
> necessarily fast!) via Ethernet using 100Mbit full duplex switched
Ethernet
> getting more and more a topic in Industrial Automation and other
appliances
> Does anyone already have made any experiences regarding this topic,
> especially on the RTOS of scope in this News Group?
>
Hi Heinrich!
I have seen vxworks and other OS (CE, Linux, OS-9)  run on the same hardware
with 10bT TCP I/P- In no situation did 10bT prove to be a bottleneck- but
then again, the TCP links were not for a deterministic application (e.g.
HMI) Would this group find a side-by-side RT comparison interesting?
There is an ISA standard test for determinism- I was going to run it using
GPIO in and out of the CPU board- sort of a limit test on the OS.  But would
anyone worried about determinism want to use TCP/IP connected I/O????
Lawrence Ricci
eMVP
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
Date: Thu, 01 Nov 2001 02:42:28 GMT
From: "Lawrence Ricci" <lpricci@att.net>
Organization: AT&T Worldnet
Message-ID: <oE2E7.166883$W8.5050540@bgtnsc04-news.ops.worldnet.att.net>
References: <9rdq0a$i3v$03$1@news.t-online.com>
"Heinrich Munz (eMVP)" <NoSpamHMunz@Munz-Consulting.de> wrote in message
news:9rdq0a$i3v$03$1@news.t-online.com...
> While real time communication (with "real time" I mean deterministic, not
> necessarily fast!) via Ethernet using 100Mbit full duplex switched
Ethernet
> getting more and more a topic in Industrial Automation and other
appliances
> (protocols/groups like Ethernet/IP from ODVA, ProfiNet from PNO, IDA
packages to carry the real time protocols mentioned above.
>
> Does anyone already have made any experiences regarding this topic,
> especially on the RTOS of scope in this News Group?
>
Hi Heinrich!
I was planning to run some side-by side OS determination tests (various OS
on the same Hardware) but I had planned to use GPIO direct to the board
interrupts- sort of a limiting test on the OS.  Would the group be
interested in a RT determinism test over 10bT to Ethernet I/O?
Lawrence Ricci
eMVP
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: SCSI problems in vxworks
Date: 31 Oct 2001 18:47:48 -0800
From: errant@263.net (Jerry Wong)
Organization: http://groups.google.com/
Message-ID: <fd7b75c0.0110311847.33aba1cb@posting.google.com>
The problems we have met when writing the vxWorks BSP:
1 sym895 scsi driver doesn't work,while 810 does.
  when I configurate the scsi device (a sym53c895a adapter) with
sym895 driver,it doesn't work.error occurs every time when excute
scsiPhysDevCreate() in sysScsiConfig(), and vxWorks initialization
hung. But when I use ncr810 driver&#65292;the scsi device
initialization can be done, although some other errors will occur
which will be mentioned below.
2 scsi conflict with fcc.
  when my scsi task work for a time,the fcc will die.I put a scsi test
task in usrAppInit which do nothing except keep reading data from scsi
disk to sdram. At the beginning of the test, I can ping the fcc well.
yet after several hundreds times scsiRdSecs() later,the fcc doesn't
response and seem to be "dead". There is no intrrupt occur by fcc.thus
all net functions calls would encouter errors.We test there is still
data signals between the MII and FCC.
  When I disable the MMU surpport and Data cache, the conflict seems
to disappear.
my board arch:
     xpc8260-----+------------powerspan----------------scsi
adapter----------scsi disk
                 |	60x bus		pci bus			scsi bus
                sdram
I report this to WRS but they don't response.
Could any one give me a hand?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Resources reclamation
Date: 31 Oct 2001 21:45:51 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0110312145.66a7fd63@posting.google.com>
References: <3BE02A5B.1B171493@ele.etsmtl.ca>
Hello David,
> If a parent task spawn many sub-tasks, are the sub-tasks deleted when
> the parent task is deleted ?
>
> The programmer's guide say that the default owner of a task is the
> protection domain in which it is spawned.  Am I right to say that if the
> parent task is not the owner of the sub-tasks, they should not be
> deleted when the parent task is deleted.
That is correct. In the default case, the "sub-tasks" would not be
deleted until the domain was deleted...
> Is there a mean to make the parent task the owner of the sub-tasks in
> order to automaticaly delete the sub-tasks when the parent task is
> deleted ?
Yes, a couple of ways:
1) Simply spawn the main task with the VX_TASK_OBJ_OWNER option set.
This will make it the owner of any objects it creates (including
tasks, which are kernel objects). You can also set and clear this
option dynamically using taskOptionsSet() if you like.
2) If you only want to own the tasks, use objOwnerSet() to explicitly
set the owner of the sub-tasks when you spawn them.
HTH,
John...
> Thanks in advance,
>
> /David
---------------------------
Newsgroups: comp.os.vxworks
Subject: about the no time_slice schedule problems
Date: 31 Oct 2001 22:29:19 -0800
From: loveheart1999@263.net (loveheart)
Organization: http://groups.google.com/
Message-ID: <45709aba.0110312229.5a04128a@posting.google.com>
hello, advicers:
   I am now developing a software which contains several tasks of the
same priority. I wish tasks could run one by one and not broken by
each other.
and also I have interrupt handlers.
   of course ,once the interrupt occurs, the running task will be
interrupt.
   My question is : when the interrupt handler terminated, could any
task other than the interrupted one get a change to run, or the
interrupted task would continue to run until it finishs or pends?
   thank you in advance.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help with interrupts
Date: Thu, 01 Nov 2001 17:35:59 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3BE0F456.E56054D9@dsto.defence.gov.au>
References: <9rpk67$km1$1@nntp1.jpl.nasa.gov>
Bill, we have had interrupts working fine with the VGM5 and the PEX3 PMC
carrier, and have generally found them very easy on the VGM5. We do an
intConnect((VOIDFUNCPTR *)INUM_TO_IVEC(PCI_INT_VECTOR),
(VOIDFUNCPTR)intHandler, (int)&intData)
and then an
intEnable(PCI_INT_LEVEL)
The following code is used in a .h file, which is a bit of a kludgy way to get
the int numbers and levels correct, but it works ... If you're not using the
PEX3, then just use PCI_A_INT_VEC and PCI_A_INT_LEVEL.
Let me know if you want more detail. Hope that helps
#define         PCI_INT_VECTOR          ({\
                int _busNum=-1, _devNum, _funcNum; \
                pciFindDevice(0x10b5, 0x9080, 0,&_busNum,&_devNum,&_funcNum);\
                (_busNum == 0 ? PCI_A_INT_VEC : (_devNum == 0 ? PCI_B_INT_VEC \
                : (_devNum == 1 ? PCI_C_INT_VEC : (_devNum == 2 ? \
                PCI_D_INT_VEC : -1)))); \
                })
#define         PCI_INT_LEVEL           ({\
                int _busNum=-1, _devNum, _funcNum; \
                pciFindDevice(0x10b5, 0x9080, 0,&_busNum,&_devNum,&_funcNum);\
                (_busNum == 0 ? PCI_A_INT_LEVEL : \
                 (_devNum == 0 ? PCI_B_INT_LEVEL : \
                 (_devNum == 1 ? PCI_C_INT_LEVEL : \
                 (_devNum == 2 ? PCI_D_INT_VEC : -1)))); \
                })
BL wrote:
> Anyone out there with a Synergy VGM5 board that has gotten interrupts to
> work?  Currently using BSP v1.2g with PowerPC604.  Is there anything else I
> need to do except perform an intConnect() ?  Some sample code would be
> helpful.  It seems like I'm sending an interrupt ok but I am not receiving
> it.  Is there a way to verify that it has actually gotten sent?
>
> Thanks,
> Bill
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
Date: Thu, 1 Nov 2001 08:38:26 +0100
From: "Heinrich Munz \(eMVP\)" <NoSpamHMunz@Munz-Consulting.de>
Organization: Munz Consulting
Message-ID: <9rqu60$ft6$00$1@news.t-online.com>
References: <9rdq0a$i3v$03$1@news.t-online.com> <Mn1E7.91463$WW.5122321@bgtnsc05-news.ops.worldnet.att.net>
Reply-To: "Heinrich Munz \(eMVP\)" <NoSpamHMunz@Munz-Consulting.de>
> HMI) Would this group find a side-by-side RT comparison interesting?
I would... especially regarding the real time performance of UDP/IP
connections.
>But would
> anyone worried about determinism want to use TCP/IP connected I/O????
No surely not TCP/IP connected I/O!!!
However, UDP/IP connected I/O is the upcomming standard in industrial
automation, going to replace the legacy field busses on controller level and
pushing them back where tey belong to: the sensor/actuator level.
There are already some protocols on top of UDP, which could provide hard
real time and determinism if the underlaying stacks and RTOSs would also.
Examples are:
Modbus-TCP http://www.modicon.com/openmbus/
NDDS http://www.rti.com
Ethernet/IP  http://www.odva.org/10_2/03_events/03_ethernet-homepage.htm
However, a chain is as weak as its weakest link. So on the top layer, these
protocols are made for deterministic hard real time, on the lowest layers
switched, full-duplex 100MBit Ethernet (or just a simple point to point
coupling of two systems over a X-cable) with QoS features also is
determinitic. No the question is, what about the middle layers, which are
the responsibility of the RTOSs stacks. My fear is, that they are not.
Regards
- --
Heinrich Munz (eMVP)
NoSpamHMunz@Munz-Consulting.de (remove the "NoSpam"-Filter)
http://www.Munz-Consulting.de
"Lawrence Ricci" <lpricci@att.net> schrieb im Newsbeitrag
news:Mn1E7.91463$WW.5122321@bgtnsc05-news.ops.worldnet.att.net...
>
> "Heinrich Munz (eMVP)" <NoSpamHMunz@Munz-Consulting.de> wrote in message
> news:9rdq0a$i3v$03$1@news.t-online.com...
> > While real time communication (with "real time" I mean deterministic,
not
> > necessarily fast!) via Ethernet using 100Mbit full duplex switched
> Ethernet
> > getting more and more a topic in Industrial Automation and other
> appliances
>
> > Does anyone already have made any experiences regarding this topic,
> > especially on the RTOS of scope in this News Group?
> >
> Hi Heinrich!
>
> I have seen vxworks and other OS (CE, Linux, OS-9)  run on the same
hardware
> with 10bT TCP I/P- In no situation did 10bT prove to be a bottleneck- but
> then again, the TCP links were not for a deterministic application (e.g.
> HMI) Would this group find a side-by-side RT comparison interesting?
>
> There is an ISA standard test for determinism- I was going to run it using
> GPIO in and out of the CPU board- sort of a limit test on the OS.  But
would
> anyone worried about determinism want to use TCP/IP connected I/O????
>
> Lawrence Ricci
> eMVP
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Real Time Quality of TCP/UDP/IP Stacks
Date: Thu, 1 Nov 2001 08:58:11 +0100
From: "Heinrich Munz \(eMVP\)" <NoSpamHMunz@Munz-Consulting.de>
Organization: Munz Consulting
Message-ID: <9rqvb1$624$03$1@news.t-online.com>
References: <9rdq0a$i3v$03$1@news.t-online.com> <oE2E7.166883$W8.5050540@bgtnsc04-news.ops.worldnet.att.net>
Reply-To: "Heinrich Munz \(eMVP\)" <NoSpamHMunz@Munz-Consulting.de>
>Would the group be
> interested in a RT determinism test over 10bT to Ethernet I/O?
Yeah... this is exactly what I am looking for.
However, the test should focus on the stacks of the RTOS including the
(UDP-socket) interface to the real time application. To avoid disturbances
from the Ethernet layer, a point to point connection between two systems
with a X-cable would be best.
One system should send a UDP messages, which the other is waiting for.
Questions to be answered could be:
How long are the times from sending the packet until it goes out on the wire
(writing to the Ethernet controller) on the one system (best, average, worst
case)
How long are the times from receiving the packet (interrupt of the Ethernet
controller) until the waiting task wakes up (best, average, worst case).
The measurement should be made under conditions like:
- - No other work load on the RTOSs
- - Heavy tasking work load on the system, of course having the Ethernet
application the highest priority
- - other side effects, like i.e. 2 Ethernet Interfaces, one for the meassured
real time stuff, the other just doing non real time stuff like HTTP, FTP or
something else (this could show, that the stacks are not re-entrant, which I
also fear)
Regards
- --
Heinrich Munz (eMVP)
NoSpamHMunz@Munz-Consulting.de (remove the "NoSpam"-Filter)
http://www.Munz-Consulting.de
"Lawrence Ricci" <lpricci@att.net> schrieb im Newsbeitrag
news:oE2E7.166883$W8.5050540@bgtnsc04-news.ops.worldnet.att.net...
>
> "Heinrich Munz (eMVP)" <NoSpamHMunz@Munz-Consulting.de> wrote in message
> news:9rdq0a$i3v$03$1@news.t-online.com...
> > While real time communication (with "real time" I mean deterministic,
not
> > necessarily fast!) via Ethernet using 100Mbit full duplex switched
> Ethernet
> > getting more and more a topic in Industrial Automation and other
> appliances
> > (protocols/groups like Ethernet/IP from ODVA, ProfiNet from PNO, IDA
> packages to carry the real time protocols mentioned above.
> >
> > Does anyone already have made any experiences regarding this topic,
> > especially on the RTOS of scope in this News Group?
> >
> Hi Heinrich!
>
> I was planning to run some side-by side OS determination tests (various OS
> on the same Hardware) but I had planned to use GPIO direct to the board
> interrupts- sort of a limiting test on the OS.  Would the group be
> interested in a RT determinism test over 10bT to Ethernet I/O?
>
> Lawrence Ricci
> eMVP
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: about the no time_slice schedule problems
Date: Thu, 1 Nov 2001 11:45:29 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$6n64mg$9ro$1@lnews.actcom.co.il>
References: <45709aba.0110312229.5a04128a@posting.google.com>
Assuming you have not turned kernel time slicing on,
every task will run until it pends or delays, and only then the
controil will be passed to the next task of the same priority which
is ready to run.
You can even do a zero-delay (i.e. taskDelay(0)) and immediately
yield the CPU to the next task of the same priority, if any is ready,
or continue to run immediately if there is none.
Interrupts do not change this behaviour.
When you turn on time slicing, a clock interrupt can preempt one task,
and run the next one of the same priority, if the one interrupted has
used up its time slice.
HTH,
 - Leonid
"loveheart" <loveheart1999@263.net> wrote in message
news:45709aba.0110312229.5a04128a@posting.google.com...
> hello, advicers:
>    I am now developing a software which contains several tasks of the
> same priority. I wish tasks could run one by one and not broken by
> each other.
> and also I have interrupt handlers.
>    of course ,once the interrupt occurs, the running task will be
> interrupt.
>    My question is : when the interrupt handler terminated, could any
> task other than the interrupted one get a change to run, or the
> interrupted task would continue to run until it finishs or pends?
>    thank you in advance.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU Question
Date: 1 Nov 2001 01:05:40 -0800
From: mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=)
Organization: http://groups.google.com/
Message-ID: <47244237.0111010105.6bf161ef@posting.google.com>
References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com> <3be03875$0$78867$e2e8da3@nntp.cts.com>
Hi
We would like to remap the data and bss section to a translation
other than 1:1.
We would like to have the linker generating the data and bss sections
starting at physical address 0x100000 in RAM but when the system goes
up and at a certain point we would like to move the data and bss
sections with the help
of MMU to e.g. physical address 0x500000.
The target is an MPC860 and we're using VxWorks 5.4.2
Has anyone tried to remap the data and bss sections for VxWorks?
Is it possible to do this?
Does VxWorks kernel operate on som of the data and bss variables
with the MMU turned off. For example have I seen that the bss
variable, vxIntStackBase, is used in intEnt when the MMU is turned
off.
Regards
/Mats
"Dan Gold" <gold@ensemble.com> wrote in message news:<3be03875$0$78867$e2e8da3@nntp.cts.com>...
> "Mehul Patel" <mgpatel75@yahoo.com> wrote in message
> news:1cb61f21.0110301826.7695a6c4@posting.google.com...
> > mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=) wrote
>  in message news:<47244237.0110300326.46722d6d@posting.google.com>...
> > > Hi
> > >
> > > Has anyone tried to use the MMU support in VxWorks to have a translation
> > > other than 1:1 for the data and bss sections?
> > >
> > > Regards
> > > /Mats
> >
> > Would you please elaborate it ? We have used it for adding dynamic
> > MEMORY entry while bootup sequence.
>
> It would also help if you mentioned which architecture (i.e. PPC, x86,
> etc...) you were targeting.
>
>  Dan Gold   gold@ensemble.com
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Fri Nov  2 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Nov  2 04:03:20 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Nov  2 04:03:13 PST 2001
        Subject: Re: S_memLib_BLOCK_ERROR
        Subject: Re: 860 SCC Driver
        Subject: problems with printf()
        Subject: Re: MMU Question
        Subject: Re: Shared Memory Network on MVME2306
        Subject: Installing RFC 1305 on Vxworks
        Subject: Shared Memory Network problems:
        Subject: Profiling tools for VxWorks?
        Subject: Re: Profiling tools for VxWorks?
        Subject: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: Profiling tools for VxWorks?
        Subject: symbolic cross-reference source browsing tool
        Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: symbolic cross-reference source browsing tool
        Subject: Design
        Subject: What is "VOIDFUNCPTR" ?
        Subject: Re: DHCP client problem
        Subject: 8260 END Driver multiple FCC interfaces glitch??
        Subject: How to download a ASCII file to target when a target bootup?
        Subject: Re: Installing RFC 1305 on Vxworks
        Subject: Re: ifAddrAdd
        Subject: Re: What is "VOIDFUNCPTR" ?
        Subject: Re: How to download a ASCII file to target when a target bootup?
        Subject: Re: What is "VOIDFUNCPTR" ?
        Subject: alignment of sections on page size
        Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: Design
        Subject: Re: symbolic cross-reference source browsing tool
        Subject: ISR on the PPC (DY4 :SVME179)
        Subject: Re: Wind webserver,
        Subject: Re: TCP vs UDP ????
        Subject: dosFsDevInit?
        Subject: from where to download Tornado prototyper
        Subject: Cannot select END components in Add/Remove component dialog box
        Subject: vxworks SMTP implementation
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: S_memLib_BLOCK_ERROR
Date: Thu, 1 Nov 2001 11:31:07 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <jNbE7.1$Al4.10418@newsr2.u-net.net>
References: <68ef19de.0110310559.459d8096@posting.google.com>
Monisha Barooah wrote in message
<68ef19de.0110310559.459d8096@posting.google.com>...
>Hi,
>  I have been getting the error S_memLib_BLOCK_ERROR with the
>tWdbTask. Can anyone suggest the cause of the error? and that too with
>this task.
  Some of your code is overwriting a buffer and trashing some memory
belonging to tWdbTask ?
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 860 SCC Driver
Date: Thu, 01 Nov 2001 13:22:19 +0000
From: Paul Caswell <paul.caswell@baesystems.com>
Organization: Land & Sea Systems
Message-ID: <3BE14C8B.64CADA1A@baesystems.com>
References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> <a5UD7.7178$xS6.9037@www.newsranger.com>
Hi Diego,
Thanks for the offer of help on the vxWorks newsgroup - its a shame
you're
not allowed to give away your efforts although I'm sure the same would
apply
to me.  Perhaps you let me know if the following approach is sensible:
The problem:
We are building a communications card that will interface to a legacy
comms
network.  The network operates at 16 Kbps for signalling and traffic (32
channels, 0 is framing, 1 is signalling).  The low level 'physical' and
'level 2' interface is done in an FPGA in hardware.  The FPGA provides
the
signalling (at a max of 16K) into one of the SCCs (probable SCC2). This
signalling will be used to drive a stack for call state control etc.
My Proposed solution.
I was going to create a driver (based on ppc860Sio.c) for the SCC and
then
add it as a serial device to the system.  I was going to setup the SCC
params in sysSerial.c (similar to the standard serial interface setup
using
an SMC)  The SCC is then added as a serial device by ttyDevCreate in
usrSerial.c.  This would give me a file descriptor to interface to the
SCC
from vxWorks.
We will have two trunks on our board, the above method would allow my
application to use select() to wait for data on either SCC.  As the data
rates are slow (and not continuous) I think this should work.  What do
you
think ?
Regards
Paul Caswell
---------------------------
Newsgroups: comp.os.vxworks
Subject: problems with printf()
Date: Thu, 01 Nov 2001 09:31:11 -0600
From: James Toland <j-toland@raytheon.com>
Organization: Raytheon Company
Message-ID: <3BE16ABF.16B1EA8A@raytheon.com>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Does anyone know why this happens?
<p>I am using a Motorola MVME2700 with VxWorks 5.4.&nbsp; My C delay routine
is polling the Falcon ECC Memory Controller Chip Set <u>CTR32</u> at address
$FEF80100, which is a 32-bit free-running counter that increments once
per microsecond, for high-resolution delays(&lt; 1ms).&nbsp; Everything
works great until my routine polls the 32-bit counter for more than 3 seconds.
<p>For example:
<p><tt>my_main()</tt>
<br><tt>{</tt>
<br><tt>&nbsp; do_something();</tt>
<br><tt>&nbsp; delay(3_seconds);</tt>
<br><tt>&nbsp; do_something_else();</tt>
<br><tt>&nbsp; printf("a message");</tt>
<br><tt>&nbsp; do_something_else();</tt>
<br><tt>&nbsp; printf("a message");</tt>
<br><tt>}</tt>
<p>The printf statements after the delay routine do not appear at the output
(for delays >3s), although all the other functions after the delay function
are executed properly.&nbsp; To temporarily resolve this problem I am using
the VxWorks routine taskDelay() for delays over 2 seconds and the printf
output is as expected, but I really need a delay function that does not
relinquish the cpu until the delay is accomplished and has microsecond
resolution.
<p>Thanks.
<br>&nbsp;
<br>&nbsp;</html>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU Question
Date: 01 Nov 2001 11:33:43 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uzo66lac8.fsf@yahoo.com>
References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com> <3be03875$0$78867$e2e8da3@nntp.cts.com> <47244237.0111010105.6bf161ef@posting.google.com>
Sender: bpringlemeir@DeadDuck
 Mats> Hi We would like to remap the data and bss section to a
 Mats> translation other than 1:1.  We would like to have the linker
 Mats> generating the data and bss sections starting at physical
 Mats> address 0x100000 in RAM but when the system goes up and at a
 Mats> certain point we would like to move the data and bss sections
 Mats> with the help of MMU to e.g. physical address 0x500000.  The
 Mats> target is an MPC860 and we're using VxWorks 5.4.2
This should work.  However, you should note that you must re-write the
"physToVirt" and "VirtToPhys" functions to tell the kernel what the
mapping is.  Normally it will use the `virtual/translated' address and
it will recode the physical address for DMA or whatever.  I have
re-mapped data on several different architectures, including the
MPC860.  It worked for me.
You should be careful about DMA (internal and external).  However, I
think someone said the 860 snoops addresses.  In this case it doesn't
matter.
hth,
Bill Pringlemeir.
- --
This month two other people put together will clean your apartment.
Never pet piglet without becoming pregnant first.  Americans will
sleep today.  You'll soon be happy.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Shared Memory Network on MVME2306
Date: 1 Nov 2001 08:39:04 -0800
From: spurcell@apl.washington.edu (Steve)
Organization: http://groups.google.com/
Message-ID: <3b9f1aed.0111010839.2adbedbe@posting.google.com>
References: <3b9f1aed.0110261135.6df3e1b2@posting.google.com>
Well I solved my own problem. Doh!
I found the solution on the Windriver website, but it never dawned on
me that the BDS drivers had to be on the boot rom.  Double Doh!
So in case anyone was waiting with bated (sp?) breath:
All I had to do was put #define INCLUDE_BSD into config.h and rebuild
the boot rom code.
Still got promblems though so I'm going to scour the postings on this
NG.
Steve
---------------------------
Newsgroups: comp.os.vxworks
Subject: Installing RFC 1305 on Vxworks
Date: Thu, 1 Nov 2001 17:42:34 GMT
From: "Roy H. Pete" <roy.h.pete@boeing.com>
Organization: The Boeing Company
Message-ID: <3BE1898A.6BAAD27A@boeing.com>
Sender: nntp@news.boeing.com (Boeing NNTP News Access)
I'm new to the NTP environment.
I'm trying to install RFC 1305 on Vxworks.
Downloaded the shareware S/W xntp3-5_93e_tar.gz.
Do I need a public NTP server with RFC1305
protocal to provide the connection to the internet?
Thanks,
Roy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Shared Memory Network problems:
Date: 1 Nov 2001 10:12:51 -0800
From: spurcell@apl.washington.edu (Steve)
Organization: http://groups.google.com/
Message-ID: <3b9f1aed.0111011012.267b5d90@posting.google.com>
Hi again,
I've got a SMN going on two MVME2306's.  I have been able to ping the
slave board from the Win2000 host.  When I reset the slave after the
master has booted this is what I see on the terminal:
boot device          : sm
unit number          : 0
processor number     : 1
host name            : pc-steve1
file name            : SMNvxWorks\vxWorks
inet on backplane (b): 161.27.0.2
host inet (h)        : 128.95.76.197
gateway inet (g)     : 161.27.0.1
user (u)             : steve
ftp password (pw)    : popeye
flags (f)            : 0x0
target name (tn)     : board1
Backplane anchor at 0x10004100... Attaching network interface sm0...
done.
Attaching network interface lo0... done.
Loading... 716544
Starting at 0x100000...
0x1fffdf8 (tRootTask): miiPhyInit check cable connection
Backplane anchor at 0x10004100... Failed to attach to device
smAttaching network
 interface sm0... done.
Attaching interface lo0...done
0x1fffdf8 (tRootTask): Can't attach unknown device sm (unit 0).
                 VxWorks
Copyright 1984-1998  Wind River Systems, Inc.
            CPU: Motorola MVME2300 - MPC 604e
        VxWorks: 5.4.2
    BSP version: 1.2/0
  Creation date: Oct 31 2001
            WDB: Ready.
The network seems to be at least partially functional despite these
dire messages.  What do they mean, and how can I get them to go away??
Thanks in advance
Steve Purcell
---------------------------
Newsgroups: comp.os.vxworks
Subject: Profiling tools for VxWorks?
Date: Thu, 1 Nov 2001 18:36:06 +0000 (UTC)
From: "Stefano" <cestbizar@yahoo.it>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org>
Hi all,
I am looking for a profiling tool for VxWorks OS: I am intereseted in
profiling, check errors, memory leaks...etc. Does it exist something like the
RTA (Real Time Analyses)furnished with pSOS+?
Thank you in advance for your suggestions.
Ciao
Stefano
- --
Posted from ppp-64-106.20-151.libero.it [151.20.106.64]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Profiling tools for VxWorks?
Date: Thu, 01 Nov 2001 12:44:03 -0600
From: Francisco Pataro <fpataro@dnaent.com>
Organization: Verio
Message-ID: <3BE197F3.8EAD8C6C@dnaent.com>
References: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org>
This is a multi-part message in MIME format.
- --------------E60A30B0236EA3045E0142D0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Stefano,
check "www.rti.com" they have a set of tools that do what you need.
They are a WindRiver partner and their tools work well with VxWorks.
Regards,
Francisco.
Stefano wrote:
> Hi all,
>
> I am looking for a profiling tool for VxWorks OS: I am intereseted in
> profiling, check errors, memory leaks...etc. Does it exist something like the
> RTA (Real Time Analyses)furnished with pSOS+?
> Thank you in advance for your suggestions.
> Ciao
> Stefano
>
> --
> Posted from ppp-64-106.20-151.libero.it [151.20.106.64]
> via Mailgate.ORG Server - http://www.Mailgate.ORG
- --------------E60A30B0236EA3045E0142D0
Content-Type: text/x-vcard; charset=us-ascii;
 name="fpataro.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Francisco Pataro
Content-Disposition: attachment;
 filename="fpataro.vcf"
begin:vcard
n:Pataro;Francisco
tel;fax:972 671 1581
tel;work:469 330 4910
x-mozilla-html:FALSE
url:www.dnaent.com
org:DNA Enterprises;Software Services
adr:;;1240 E. Campbell Road;Richardson;Texas;75081;U.S.A.
version:2.1
email;internet:fpataro@dnaent.com
title:Project Lead
x-mozilla-cpt:;-20768
fn:Francsico Pataro
end:vcard
- --------------E60A30B0236EA3045E0142D0--
---------------------------
Newsgroups: comp.os.vxworks
Subject: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: 1 Nov 2001 12:26:01 -0800
From: chriss@redwavenet.com (Chris Satish)
Organization: http://groups.google.com/
Message-ID: <6d6a076a.0111011226.84742a3@posting.google.com>
Hi,
We are using a flash SIMM with four(4) Intel StrataFlash 28F640J3A
chips on a board using the Motorola 8260 processor.
The physical configuration of the chips is as follows:
Mode (fixed on the SIMM): 8-bit (for each chip)
Size of each chip       : 8 MBytes
Number of chips         : 4
Interleaving            : 4
SIMM data width         : 32 bits (8 bits per chip x 4 chips)
Any writes to the SIMM have to be 32 bits wide due to the hardware
mapping. I'm using the cfiscs.c MTD.
PROBLEM
- -------
When I call sysTffsFormat() to format the device, it eventually calls
cfiscsLongWrite(), which is a version of cfiscsWordWrite() that I
modified to write 32 bits at a time. I've also written
cfiscsLongErase() in the same way, patterned after cfiscsWordErase().
The call sequence that eventually ends in a a write verify error is as
follows.
  1. cfiscsLongErase() is called and the erase happens successfully.
  2. cfiscsLongWrite() is called to write 104 bytes at offset 0 (on
the SIMM). This is always successful.
  3. cfiscsLongWrite() is called a second time to write 2 bytes at
offset 20. Now, I take care about the 2 byte write by making sure that
the write requirements for interleaving are satisfied. BUT, why is
TFFS trying to write to a location that it has already written to
before? Due to this, the write verify fails.
Can anybody help me out with some ideas as to what could be going
wrong?
Thanks
Chris Satish
Redwave Networks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Profiling tools for VxWorks?
Date: Thu, 1 Nov 2001 12:44:25 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3be1b475$0$59075$e2e8da3@nntp.cts.com>
References: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org> <3BE197F3.8EAD8C6C@dnaent.com>
Also check out CodeTEST from Applied Microsystems, www.amc.com.  A great
tool for profiling and system performance, and I think they also have a
memory pkg that checks for leaks etc...
  hth,
   Dan Gold   gold@ensemble.com
"Francisco Pataro" <fpataro@dnaent.com> wrote in message
news:3BE197F3.8EAD8C6C@dnaent.com...
> Stefano,
>
> check "www.rti.com" they have a set of tools that do what you need.
> They are a WindRiver partner and their tools work well with VxWorks.
>
> Regards,
> Francisco.
>
> Stefano wrote:
>
> > Hi all,
> >
> > I am looking for a profiling tool for VxWorks OS: I am intereseted in
> > profiling, check errors, memory leaks...etc. Does it exist something
like the
> > RTA (Real Time Analyses)furnished with pSOS+?
> > Thank you in advance for your suggestions.
> > Ciao
> > Stefano
> >
> > --
> > Posted from ppp-64-106.20-151.libero.it [151.20.106.64]
> > via Mailgate.ORG Server - http://www.Mailgate.ORG
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: symbolic cross-reference source browsing tool
Date: Thu, 1 Nov 2001 21:09:14 +0000 (UTC)
From: "Tim Moeller" <moeller@niti.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org>
Is there a convenient way to jump back and forth to/from reference(s) for a
symbol while browsing source code visually in the Tornado environment?  What I
have in mind is something similar to the Microsoft Visual Studio <F11> and
<SHIFT-F11> keys.
- --
Posted from pat.niti.com [64.73.90.228]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: 01 Nov 2001 16:13:24 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ug07yurd7.fsf@yahoo.com>
References: <6d6a076a.0111011226.84742a3@posting.google.com>
Sender: bpringlemeir@DeadDuck
>>>>> "Chris" == Chris Satish <chriss@redwavenet.com> writes:
[snip]
 Chris> satisfied. BUT, why is TFFS trying to write to a location that
 Chris> it has already written to before? Due to this, the write
 Chris> verify fails.
You can write a value to flash that changes ones to zeros.  If the
previous write was something like ...header...inuse.  And the inuse
bits were set to all ones.  Then a subsequent write to change inuse to
zero would be sensible and desired.  This technique can allow you to
write values that are less than a sector size.
There are many other stupid things about TFFS/DosFs that I am only
starting to understand now.  However, I think that this is probably
smart things and you should be glad that someone else did the work.
regards,
Bill Pringlemeir.
- --
Can you contact the Earth?
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: symbolic cross-reference source browsing tool
Date: Thu, 1 Nov 2001 23:06:07 +0100
From: "Martin Raabe" <Martin.Raabe@WindRiver.com>
Organization: T-Online
Message-ID: <9rsgv3$eqk$06$1@news.t-online.com>
References: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org>
Hello Tim,
YES there is a Tool available from Wind River.
It is called SNiFF+ and you can download it from the web for evaluation.
This is an add-on for Tornado but you may also use it for Visual Studio or
other
development environments!
Have success!
Martin Raabe
"Tim Moeller" <moeller@niti.com> schrieb im Newsbeitrag
news:16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org...
> Is there a convenient way to jump back and forth to/from reference(s) for
a
> symbol while browsing source code visually in the Tornado environment?
What I
> have in mind is something similar to the Microsoft Visual Studio <F11> and
> <SHIFT-F11> keys.
>
>
>
>
> --
> Posted from pat.niti.com [64.73.90.228]
> via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Design
Date: 1 Nov 2001 15:19:12 -0800
From: vxworksproj@yahoo.com (vxWorks Group)
Organization: http://groups.google.com/
Message-ID: <9144a3b0.0111011519.4b92d548@posting.google.com>
Hi,
I am new to VxWorks, but I am not new to programming!
I am trying to write a small library for file compression,
decompression for VxWorks.
The main function I intend to write takes an input stream and
generates an output stream for both compression and decompression .Now
what I am not certain about is how I am going to take these streams as
arguments from the user, I want something as general as possible such
that I do not care about the source of data (disk, memory, network).
If this is not possible, and I decide to give the user different
functions for different data sources, what is better as an argument
for accessing files? Should I ask the user to pass file name or a file
opened through fopen() or a file opened through open() ? I am trying
to give the user as much control as possible on the data source.
Any Help will be more than appreciated.
Thanks in advance,
Dan
---------------------------
Newsgroups: comp.os.vxworks
Subject: What is "VOIDFUNCPTR" ?
Date: Fri, 02 Nov 2001 00:43:21 GMT
From: Allen Huffman <alsplace@mac.com>
Organization: http://DisneyFans.com - http://AtTheFaire.com
Message-ID: <3BE1EC2A.7F45AE1C@mac.com>
Greets.  I am migrating some code from VxWorks to a different OS, and I
wondered if someone here could tell me what VOIDFUNCPTR is -- typdef?  #define?
As in:
           VOIDFUNCPTR * vctr;
or
           VOIDFUNCPTR   function;
Thanks!
		Al
- --
Before you click "forward" to any e-mail, check this site for the latest
scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com
Old software never dies.  It just gets ported.  And ported.
http://homepage.mac.com/jamiec/Invaders%2009/
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DHCP client problem
Date: Fri, 2 Nov 2001 10:04:41 +0800
From: "5982" <5982851@ihw.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <9rsuve$lip$1@mail.cn99.com>
References: <9r1hgv$h4m$1@news.netvision.net.il> <9r3d8j$f5q$1@plutonium.btinternet.com> <792e1071.0110230914.32dd9238@posting.google.com> <9r6hrc$4kc$1@plutonium.btinternet.com>
yea,DHCP is very bad,i wrote a client by myself.
---------------------------
Newsgroups: comp.os.vxworks
Subject: 8260 END Driver multiple FCC interfaces glitch??
Date: Thu, 01 Nov 2001 20:28:01 -0500
From: Babu Yama <babuyama@lucent.com>
Organization: Lucent Technologies
Message-ID: <3BE1F6A1.D0E0B131@lucent.com>
I am seeing a unexplainable behavior with vxWorks END interface with 8260
bsp/drivers (sbc8260/wrSbc8260 bsp ver 1.2.29/1.2.33)
Basically, when we have multiple ethernet interfaces (endDevTbl shown below) on
MPC8260 ( UNIT 0 on FCC1, UNIT 1 on FCC2 - NOTE: SCC is NOT being used), if
UNIT0 interfaces is disconnected by unplugging the cable, UNIT1 interface
becomes nonfunctional. However, if UNIT1 is disconnected, UNIT0 is fine.
Is UNIT0 handled as a special case in the END/MUX layers?
/* End Driver Table */
END_TBL_ENTRY endDevTbl [] =
{
 /* UNIT = 0 */
 { 0, MOT_FCC1_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE},
/* UNIT = 1 */
 { 1, MOT_FCC3_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE},
{ 0, END_TBL_END, NULL, 0, NULL, FALSE},
};
When both UNITS are connected by an ethernet cable - everything is fine.
However, when UNIT0 goes down, UNIT1 goes down too.
Any comments or suggestions as to what might be happening?
Apprecaite your help,
Babu
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to download a ASCII file to target when a target bootup?
Date: 1 Nov 2001 18:42:48 -0800
From: eagle2hawk@yahoo.com (eagle2hawk)
Organization: http://groups.google.com/
Message-ID: <af40da0e.0111011842.2a076283@posting.google.com>
Might I add some ASCII files(eg. .html) to the bootable image?
Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Installing RFC 1305 on Vxworks
Date: 1 Nov 2001 18:49:39 -0800
From: navin_a1@yahoo.com (Navin)
Organization: http://groups.google.com/
Message-ID: <997467da.0111011849.4caa9d4a@posting.google.com>
References: <3BE1898A.6BAAD27A@boeing.com>
Hi Roy,
Probably I could help you. I have implemented NTP on VxWorks.
How do you want to use your NTP software? Can you be more
clear on your question? Let me know.
Regards,
Navin
"Roy H. Pete" <roy.h.pete@boeing.com> wrote in message news:<3BE1898A.6BAAD27A@boeing.com>...
> I'm new to the NTP environment.
>
> I'm trying to install RFC 1305 on Vxworks.
> Downloaded the shareware S/W xntp3-5_93e_tar.gz.
> Do I need a public NTP server with RFC1305
> protocal to provide the connection to the internet?
>
> Thanks,
> Roy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ifAddrAdd
Date: Fri, 02 Nov 2001 03:32:49 GMT
From: Todd Sandor <tsandor@home.com>
Organization: @home
Message-ID: <3BE21919.341E397A@home.com>
References: <3b32483b233f6e1fac41bb4816361a3f.34031@mygate.mailgate.org>
Contact Wind River support - they will provide you with unsupported code
that does the trick...
Indhu S wrote:
> Hi
>
> I an add more than one IP address to an interface using the function
> 'ifAddrAdd'.
>
> But if I can't find a function to remove the same.
>
> Is there a function which will delete an address from the interface.
>
> Thanks
>
> Indhu
>
> --
> Posted from  [66.7.6.122]
> via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What is "VOIDFUNCPTR" ?
Date: Fri, 2 Nov 2001 11:34:43 +0800
From: "poplarbird" <poplarbird@263.net>
Organization: Changzhou Telecom
Message-ID: <9rt4cu$2haa$1@news.cz.js.cn>
References: <3BE1EC2A.7F45AE1C@mac.com>
Reply-To: "poplarbird" <poplarbird@263.net>
typedef void            (*VOIDFUNCPTR) ();  /* ptr to function returning
void */
"Allen Huffman" <alsplace@mac.com> wrote in message
news:3BE1EC2A.7F45AE1C@mac.com...
> Greets.  I am migrating some code from VxWorks to a different OS, and I
> wondered if someone here could tell me what VOIDFUNCPTR is -- typdef?
#define?
>
> As in:
>
>            VOIDFUNCPTR * vctr;
> or
>            VOIDFUNCPTR   function;
>
> Thanks!
>
> Al
> --
> Before you click "forward" to any e-mail, check this site for the latest
> scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com
>
> Old software never dies.  It just gets ported.  And ported.
> http://homepage.mac.com/jamiec/Invaders%2009/
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to download a ASCII file to target when a target bootup?
Date: 1 Nov 2001 23:09:45 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111012309.2a902efb@posting.google.com>
References: <af40da0e.0111011842.2a076283@posting.google.com>
Hello,
Yeah, checkout the memDrv manual page, and the memdrvbuild host
utility. The latter will create a source file containing your files
and some init code to actually install it into the I/O system.
Once done, and assuming that you have memDrv in your kernel, you can
call the init function and then access the file(s) as if they were
files on a regular file system (read-only of course).
HTH,
John...
eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:<af40da0e.0111011842.2a076283@posting.google.com>...
> Might I add some ASCII files(eg. .html) to the bootable image?
> Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What is "VOIDFUNCPTR" ?
Date: Fri, 02 Nov 2001 07:38:05 GMT
From: Allen Huffman <alsplace@mac.com>
Organization: http://DisneyFans.com - http://AtTheFaire.com
Message-ID: <3BE24D5C.50AA01F3@mac.com>
References: <3BE1EC2A.7F45AE1C@mac.com> <9rt4cu$2haa$1@news.cz.js.cn>
Thanks much!
- --
Before you click "forward" to any e-mail, check this site for the latest
scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com
Old software never dies.  It just gets ported.  And ported.
http://homepage.mac.com/jamiec/Invaders%2009/
---------------------------
Newsgroups: comp.os.vxworks
Subject: alignment of sections on page size
Date: Fri, 02 Nov 2001 09:08:04 +0100
From: "Fauris, Sebastien" <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BE25463.778A6AAB@europem01.nt.com>
Hi,
I would like to write-protect some sections of my vxWorks.st.
My target is a PowerPC750 (page size = 4096Kb).
How can I force the compiler to align the sections (text, data,
bss) on a 4096Kb boundary ?
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: Fri, 2 Nov 2001 11:42:32 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$3716mg$f72$1@lnews.actcom.co.il>
References: <6d6a076a.0111011226.84742a3@posting.google.com> <ug07yurd7.fsf@yahoo.com>
Bill explains the issue well. It is the ESSENSE of a flash memory device,
that you can change a "1" to "0" anytime, but not vice versa. To get "1",
you
get to erase an entire erase block.
This is derived from EPROM technilogy, where a programmer can "turn off"
bits, but only UV can turn them to "1".
All above is true for NOR types of Flash (Intel AMD, ). With NAND flash it
may be different.
So the way for you to solve the issue is as follows:
If the upper layer asks you to write a partial word, i.e. anything which is
less then 32 bits (or a result of misalignment), you need to first read the
current value of the entire 32-bit word, modify the bytes requested in
memory,
and finally write the entire 32-bit word back to the Flash devices.
Bytes which have not changed in memory will remain unchanged in Flash too.
You could also add a safety belt that checks that the new value of your RAM
buffer differs from the previous one only in the way of "1" -> "0" and not
the other way around.
Hope this helps,
 - Leonid (the author of FlashLib and DosFs 2.0 amongst other things)
"Bill Pringlemeir" <bpringlemeir@yahoo.com> wrote in message
news:ug07yurd7.fsf@yahoo.com...
> >>>>> "Chris" == Chris Satish <chriss@redwavenet.com> writes:
> [snip]
>  Chris> satisfied. BUT, why is TFFS trying to write to a location that
>  Chris> it has already written to before? Due to this, the write
>  Chris> verify fails.
>
> You can write a value to flash that changes ones to zeros.  If the
> previous write was something like ...header...inuse.  And the inuse
> bits were set to all ones.  Then a subsequent write to change inuse to
> zero would be sensible and desired.  This technique can allow you to
> write values that are less than a sector size.
>
> There are many other stupid things about TFFS/DosFs that I am only
> starting to understand now.  However, I think that this is probably
> smart things and you should be glad that someone else did the work.
>
> regards,
> Bill Pringlemeir.
> --
> Can you contact the Earth?
> vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Design
Date: Fri, 2 Nov 2001 11:51:02 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$bl16mg$l72$1@lnews.actcom.co.il>
References: <9144a3b0.0111011519.4b92d548@posting.google.com>
There are two possibe approaches:
A. Use standard input and output file descriptors (i.e. 0 and 1), which
have private value in each task, so the caller can redirect these fd's
to any file, pipe or socket they wish. I recommend you leave the close()
call to the caller too.
B. Use memory buffers, as in
    int dataZip( void * inBuf, size_t inBytes, void *outBuf, size_t
outBufSIze), void * session_id);
where the returned value will be the exact byte count of data written to
outBuf, which
must be less then or equal to outBufSize.
Now, since compressed streams are typically not packetized, you need a
session_id
which is generated by a dataZipNewSession() sort of creator, and the
session_id is in
fact a pointer which holds the state information for this particular stream,
e.g. dictionary,
running checksum etc.
Actually, we did something quite similar to (B) as part of the FlashLib
product, which has
been discontinued by WindRiver in 1998. FlashLib could transparently
compress data
written to Flash file system to conserve Flash space whenever possible, at
the price
of slower performance. The code used Deflate algorythm, and save over 50% of
FLash
space for typical uses.
HTH,
 - Leonid
"vxWorks Group" <vxworksproj@yahoo.com> wrote in message
news:9144a3b0.0111011519.4b92d548@posting.google.com...
> Hi,
> I am new to VxWorks, but I am not new to programming!
> I am trying to write a small library for file compression,
> decompression for VxWorks.
> The main function I intend to write takes an input stream and
> generates an output stream for both compression and decompression .Now
> what I am not certain about is how I am going to take these streams as
> arguments from the user, I want something as general as possible such
> that I do not care about the source of data (disk, memory, network.).
>
> If this is not possible, and I decide to give the user different
> functions for different data sources, what is better as an argument
> for accessing files? Should I ask the user to pass file name or a file
> opened through fopen() or a file opened through open() ? I am trying
> to give the user as much control as possible on the data source.
>
>
> Any Help will be more than appreciated.
>
> Thanks in advance,
> Dan
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: symbolic cross-reference source browsing tool
Date: 2 Nov 2001 09:14:42 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrn9u4p01.f9h.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org>
 * Tim Moeller <moeller@niti.com> [11-Thu-01 13:09 -0800]:
 >
 > Is there a convenient way to jump back and forth to/from
 > reference(s) for a symbol while browsing source code
 > visually in the Tornado environment?  What I have in mind
 > is something similar to the Microsoft Visual Studio <F11>
 > and <SHIFT-F11> keys.
do check out exuberant ctags: http://ctags.sourceforge.net/
depending on the editor you use, it will be more or less
pain to configure. its free, supports 23 programming
languages, and works great.
personally, i use vim (www.vim.org or vim.sf.net) and i cant
live without ctags. emacs users seem to like it as well; my
coworker made it work with textpad at some point.
hth,
denis
- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.
---------------------------
Newsgroups: comp.os.vxworks
Subject: ISR on the PPC (DY4 :SVME179)
Date: Fri, 2 Nov 2001 09:19:31 +0000 (UTC)
From: "Dieter Bahlmann" <velouria@ccii.co.za>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org>
I need some tips on the following matter. I have a multi-function PCI device on
the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both
devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC
asserting interrupt regardless of setting INTA or INTB. Should I register only
one ISR? Or, interrogate the PMC card to determine which device caused the
interrupt?
thanx
- --
Posted from io.ccii.co.za [66.8.24.69]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Wind webserver,
Date: 2 Nov 2001 09:30:16 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrn9u4pt8.f9h.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <17774c2b.0110220720.42898f7a@posting.google.com>
 * Madhu Kovalmudi <m_kovalmudi@yahoo.com> [10-Mon-01 08:20 -0700]:
  [...]
 > Does the wind web server support, sending HTTP codes like
 > the code 302
dont know if 302 specifically can be sent (its the 'moved
temporarily' one, isnt it?). in any case, i think you can
display custom error pages and whatnot using wind webserver.
make sure you check out the programmers guide, it may help..
denis
- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TCP vs UDP ????
Date: 2 Nov 2001 09:37:29 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrn9u4qap.f9h.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <3bc5995d$0$19755$272ea4a1@news.execpc.com>
 * PC User <PCUser@hotmail.com> [10-Thu-01 05:59 -0700]:
 >
 > Sorry about the confusion.  I knew that you do not use connect with
 > UDP.  It
 > is just that I gave it a try and the connect did not fail.  The failure
 > response that I get when I use the connect for TCP (SOCK_STREAM) is
 > e_CONNREFUSED.
 > Now does this really tell you anything.
connection refused. now you have to go figure out why :)
you *can* use connect() with UDP sockets actually. although,
that probably does not do what you think it does.
in any case, go check out some sockets book, like Unix
Network Programming, by Stevens.
denis
- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.
---------------------------
Newsgroups: comp.os.vxworks
Subject: dosFsDevInit?
Date: Fri, 2 Nov 2001 09:37:31 +0000 (UTC)
From: "Dieter Bahlmann" <velouria@ccii.co.za>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a6d70eef22ebf471d0a1e529e7f24371.38592@mygate.mailgate.org>
A driver I load on a x86 give me the following message: "dosFsDevInit failed"
What is this?
- --
Posted from io.ccii.co.za [66.8.24.69]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: from where to download Tornado prototyper
Date: 2 Nov 2001 02:12:51 -0800
From: anubhavsaksena@yahoo.com (Anubhav Saksena)
Organization: http://groups.google.com/
Message-ID: <9ee41a72.0111020212.562b92e0@posting.google.com>
Hi Everyone,
I registered for Wind River Systems for Tornado Prototyper. But, I
did'nt get any userID and password. What should I do. Can I use
anybody else user name and ID? Does any one has one? Please provide
me.
What URL is should go to download the Tornado Prototyper.
thanks
Anubhav
---------------------------
Newsgroups: comp.os.vxworks
Subject: Cannot select END components in Add/Remove component dialog box
Date: 2 Nov 2001 02:34:46 -0800
From: shada@netplane.com (shad ansari)
Organization: http://groups.google.com/
Message-ID: <15adeaa9.0111020234.720faeab@posting.google.com>
hello all,
I installed Tornado/VxWorks AE and created a bootApp for Pentium
using the Boot App wizard. I now want to include the appropriate END
driver(ELT3c509END) for my target using the Add/Remove Component
Dialog Box. However none of the network drivers listed under
hardware>peripherals>Enhanced Network Drivers (except for the
template END driver) are selectable. All the END components listed
in the ADD/Remove Component Dialog window have a cross in front
of them instead of the box to select the component.
This may or may not be related - Tornado installation gives the
following
warning during setup:
"The Driver Object and VxWorks AE products that you have selected are
not of the same architecture. This may result in the Tornado product
not working properly. To proceed with installation, click "OK".
Otherwise, click "Cancel" to re-select the products"
My setup.log is as follows
Following is my setup.log:
02-Nov-01.00:32 CD manufacturing time: Wed May 23 09:29:16 PDT 2001
02-Nov-01.00:32 TDK-13940-ZC-00 SETUP-3.1       D:\tornado_ae
02-Nov-01.00:32 Tornado 3.1/VxWorks AE 1.1 for Pentium
02-Nov-01.00:32 Microsoft Windows NT version 4.0 (Build 1381) Service
Pack 5
02-Nov-01.00:32 100-21230-30    Driver Objects/Headers: pentium2
02-Nov-01.00:33 100-21215-30    Tornado Tools: WindowsNT
02-Nov-01.00:35 100-21244-30    VxWorks AE: pentium
02-Nov-01.00:37 100-21257-30    VxWorks BSP: pcPentium
02-Nov-01.00:37 licensed product: tornado 10
Any idea why this may be hapening?
Thanks,
Shad
---------------------------
Newsgroups: comp.os.vxworks
Subject: vxworks SMTP implementation
Date: Fri, 02 Nov 2001 06:10:36 -0500
From: Lucas <r.djiana@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com>
Hi all,
I would like toknow if it is possible
to send mail under vxwork from one
PC to another. If yes, where can I enable
this feature within vxwork
Thank's
Lucas
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sat Nov  3 04:03:14 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Nov  3 04:03:16 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Nov  3 04:03:10 PST 2001
        Subject: Re: ISR on the PPC (DY4 :SVME179)
        Subject: Rebuilding Kernal to include Socket Support in Tornado 2.1
        Subject: Re: vxworks SMTP implementation
        Subject: Re: ISR on the PPC (DY4 :SVME179)
        Subject: Walking the heap......
        Subject: Re: alignment of sections on page size
        Subject: write protecting vector table
        Subject: Re: Rebuilding Kernal to include Socket Support in Tornado 2.1
        Subject: Re: dosFsDevInit?
        Subject: Re: Installing RFC 1305 on Vxworks
        Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: alignment of sections on page size
        Subject: hmmmm , may need this
        Subject: Re: write protecting vector table
        Subject: Pre-empting tNetTask
        Subject: Re: write protecting vector table
        Subject: How to test timers in tornado II
        Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: Cannot select END components in Add/Remove component dialog box
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ISR on the PPC (DY4 :SVME179)
Date: 2 Nov 2001 12:17:33 GMT
From: ac151@FreeNet.Carleton.CA (David Clarke)
Organization: The National Capital FreeNet
Message-ID: <9ru2st$pq4$1@freenet9.carleton.ca>
References: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org>
Reply-To: ac151@FreeNet.Carleton.CA (David Clarke)
"Dieter Bahlmann" (velouria@ccii.co.za) writes:
> I need some tips on the following matter. I have a multi-function PCI device on
> the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both
> devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC
> asserting interrupt regardless of setting INTA or INTB. Should I register only
> one ISR? Or, interrogate the PMC card to determine which device caused the
> interrupt?
Personally, I would register two ISRs for the same vector.
intConnect on the SVME-179 will automatically chain ISRs, so if you did:
intConnect(INT_VEC_PMC1, ISR_for_func_A, ISRA_args);
and
intConnect(INT_VEC_PMC1, ISR_for_func_B, ISRB_args);
then whenever INT_VEC_PMC1 occurred, ISR_for_func_A would run, and then
(before returning back) ISR_for_func_B would run.  Each ISR should be
responsible to go out and query the PMC to see if the interrupt was for
it (i.e., ISR_for_func_A should check to see if it was func_A that was
interrupting ...)
Having said that, it would also be OK to create one big ISR (to handle
both func_A and func_B) and just do one intConnect.
Either case should work fine.
(Note:  Having different functions/devices share the same interrupt is
explicitly permitted in the PCI system architecture.)
- --
- -------------------------------  /'''  --------------------------------
David Clarke                     c-00
ac151@Freenet.carleton.ca           >
- -------------------------------    -   --------------------------------
---------------------------
Newsgroups: comp.os.vxworks
Subject: Rebuilding Kernal to include Socket Support in Tornado 2.1
Date: Fri, 2 Nov 2001 09:46:39 -0400
From: "Sean Webb" <swebb@iotek.NO_SPAM4ME.ns.ca>
Organization: UUNET Canada News Reader Service
Message-ID: <XsxE7.51077$Z2.765714@nnrp1.uunet.ca>
Hi,
I'm trying to rebuild the vxWorks kernel on a Solaris box (for the full
version of the VxSim that we just bought) so that I can use PPP and sockets
calls such as bind, connect, socket, etc.
Here's what I've done so far:
From the Tornado Launcher I click the Project button, click the New tab on
the "Create Project..." dialog, select "Create a bootable VxWorks image
(custom configured)", hit OK, and set up the project in my directory. Then
in when the Workspace window appears I click on the VxWorks tab.
Here I added the obvious options, such as "network components/network
devices/PPP" and "network components/networking protocols/BSD Socket". But
then when I updated the dependencies and rebuilt all, I got an error message
saying "No rule to make target /net/usrConfigIf.c". I found that this file
is referenced in the Definition tab of "network components/network
devices/ULIP boot" (which is bolded and italicized in the Workspace tree
view - what does that indicate?).
So I have two questions:
1. Why am I getting that error message? I can't find the file usrConfigIf.c
anywhere on our Solaris machine.
2. What options should I set in the VxWorks tab to get sockets and PPP
included in my image?
Thanks for your help,
Sean
- --
Sean Webb | Software Engineer
swebb@iotek.NO_SPAM4ME.ns.ca | MDA Halifax
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: vxworks SMTP implementation
Date: Fri, 2 Nov 2001 10:00:25 -0500
From: "RonnoBonno" <RHNAssociates@yahoo.com>
Message-ID: <9ruccr$10c0cr$1@ID-68014.news.dfncis.de>
References: <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com>
Lucas,
    If you search back in comp.os.vxworks, you will find that someone posted
an SMTP client here in 1996.  It looks pretty good, and I exchanged some
e-mails with someone who used it successfully.   I am going to try to use
it.
Here is the link back to the orginal posting by Lyor:
http://groups.google.com/groups?q=SMTP+client&hl=en&group=comp.os.vxworks&rn
um=1&selm=9609290819.AA05350%40Scorpio.Com
Good Luck,
Ron
Lucas wrote in message <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com>...
>Hi all,
>
>I would like toknow if it is possible
>to send mail under vxwork from one
>PC to another. If yes, where can I enable
>this feature within vxwork
>
>Thank's
>
>Lucas
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ISR on the PPC (DY4 :SVME179)
Date: 2 Nov 2001 07:25:10 -0800
From: spk@uswest.net (Scott Kamara)
Organization: http://groups.google.com/
Message-ID: <73e78f4e.0111020725.53b763c0@posting.google.com>
References: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org>
I havent seen the 179 BSP yet (will soon). I would hope
that the interrupt handling model for PCI the BSP authors
used is similar to the Motorola PowerPC BSP model used by WRS
where isr() routines are 'daisy-chained' for a given pci interrupt line.
Under the Motorola BSP model, you would:
          intConnect(INUM_TO_IVEC(0x15), isrFuncOne, argOne);
          intConnect(INUM_TO_IVEC(0x15), isrFuncTwo, argTwo);
          intEnable(0x15)
Internally, when interrupt 0x15 comes in, the BSP invokes each
isr routine above in succession and
it is up to the isr() routine to determine
if the interrupt is meant for it. If not, return.
- -Scott Kamara
"Dieter Bahlmann" <velouria@ccii.co.za> wrote in message news:<8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org>...
> I need some tips on the following matter. I have a multi-function PCI device on
> the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both
> devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC
> asserting interrupt regardless of setting INTA or INTB. Should I register only
> one ISR? Or, interrogate the PMC card to determine which device caused the
> interrupt?
>
> thanx
---------------------------
Newsgroups: comp.os.vxworks
Subject: Walking the heap......
Date: 2 Nov 2001 07:27:29 -0800
From: leonardmatherson@hotmail.com (leonard matherson)
Organization: http://groups.google.com/
Message-ID: <a27b6cb9.0111020727.9179cdc@posting.google.com>
Hello everyone,
I have just had a nice memPartFree error message.  This may mean that
my block header has been corrupted. No Problem - I'll just go to the
vxworks newsgroup and pick up a function that will walk the heap and
check that the headers are OK.  I can then put it into my code and
after a few tries I can
see which line is the culprit.  But to my dismay not only did I start
this sentence with "BUT", but I couldn't find any reference to the
WalkMem function.
Why is this not mentioned as a free piece of code - its so useful.
Can anyone give me some "pointers" to finding the walker?
Thanks in advance,
Leonard Matherson
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: alignment of sections on page size
Date: Fri, 02 Nov 2001 10:28:51 -0500
From: Emory Stagmer <Emory_Stagmer@yahoo.com>
Message-ID: <3BE2BBB3.1C3FBAFC@yahoo.com>
References: <3BE25463.778A6AAB@europem01.nt.com>
Use a link script. Then any section can be aligned anywhere
and the script language has options for Kilo and Mega boundry
alignments.
Emory Stagmer
"Fauris, Sebastien" wrote:
>
> Hi,
>
> I would like to write-protect some sections of my vxWorks.st.
> My target is a PowerPC750 (page size = 4096Kb).
> How can I force the compiler to align the sections (text, data,
> bss) on a 4096Kb boundary ?
>
> Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: write protecting vector table
Date: Fri, 02 Nov 2001 17:01:35 +0100
From: "Fauris, Sebastien" <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BE2C35F.175A2BC2@europem01.nt.com>
Hi,
I would like to write protect the vector table on my PPC750
target (vxVMI not available).
When I perform:
begin = 0;
size = 4096; /* page size = 4Kb, vectors are from 0x100 to 0x1000 */
vmBaseStateSet (0, begin, size, VM_STATE_MASK_WRITABLE,
                VM_STATE_WRITABLE_NOT);
my windshell displays this forever:
- -> i
Target connection has been lost.
Waiting for target server to attach to target (press CTRL+C to stop) -
Restarting shell...
Target connection has been lost.
...
Does somebody understand what is going on ?
Does the OS or the Windshell try to write to this write-protected page ?
Thanks,
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Rebuilding Kernal to include Socket Support in Tornado 2.1
Date: Fri, 02 Nov 2001 10:21:02 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BE2C7EE.5DF3FBC9@fnal.gov>
References: <XsxE7.51077$Z2.765714@nnrp1.uunet.ca>
> devices/ULIP boot" (which is bolded and italicized in the Workspace tree
> view - what does that indicate?).
that this components is not installed or may not work fir the
installation you have ... usually the italicised somponenets are one for
which you pay extra to get the lib, etc.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: dosFsDevInit?
Date: Fri, 2 Nov 2001 08:42:28 -0800
From: "Joseph Hansen" <HansenJR@navair.navy.mil>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <tu5ipq50kg0a6c@corp.supernews.com>
References: <a6d70eef22ebf471d0a1e529e7f24371.38592@mygate.mailgate.org>
It's trying to initialize the DOS file system on a device, which has been
configured into the system.  Quite possibly, this device is not currently
connected, or is powered down.  And since VxWorks cannot initialize it, it
is complaining.
Joseph Hansen
HansenJR@navair.navy.mil
"Dieter Bahlmann" <velouria@ccii.co.za> wrote in message
news:a6d70eef22ebf471d0a1e529e7f24371.38592@mygate.mailgate.org...
> A driver I load on a x86 give me the following message: "dosFsDevInit
failed"
> What is this?
>
>
> --
> Posted from io.ccii.co.za [66.8.24.69]
> via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Installing RFC 1305 on Vxworks
Date: Fri, 2 Nov 2001 17:53:17 GMT
From: "Roy H. Pete" <roy.h.pete@boeing.com>
Organization: The Boeing Company
Message-ID: <3BE2DD8D.A57A34FD@boeing.com>
References: <3BE1898A.6BAAD27A@boeing.com> <997467da.0111011849.4caa9d4a@posting.google.com>
Sender: nntp@news.boeing.com (Boeing NNTP News Access)
Navin,
True, I'm not clear with my question.  I'm new to NTP world.
I'm  are trying to port NTP 1305 to several Windows NT with Vxworks.
We are planning to use an Internet standard-bases Time server to
provides the services.  Similiar, to RCC Time Server v1.1 for Windows NT,
shown below, but RFC1305:
   http://www.rccinc.com/RCCTimeServer/RCCTimeServer.html
    My question, the Vxworks with the NTP 1305 installed, does it have all the
information to sync the clocks?  Did you implemented on several NTs
on the network?
I hope I provided enough information.
Thanks,
Roy
Navin wrote:
> Hi Roy,
>
> Probably I could help you. I have implemented NTP on VxWorks.
> How do you want to use your NTP software? Can you be more
> clear on your question? Let me know.
>
> Regards,
> Navin
>
> "Roy H. Pete" <roy.h.pete@boeing.com> wrote in message news:<3BE1898A.6BAAD27A@boeing.com>...
> > I'm new to the NTP environment.
> >
> > I'm trying to install RFC 1305 on Vxworks.
> > Downloaded the shareware S/W xntp3-5_93e_tar.gz.
> > Do I need a public NTP server with RFC1305
> > protocal to provide the connection to the internet?
> >
> > Thanks,
> > Roy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: 02 Nov 2001 12:48:40 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ubsilt66f.fsf@yahoo.com>
References: <6d6a076a.0111011226.84742a3@posting.google.com> <ug07yurd7.fsf@yahoo.com> <newscache$3716mg$f72$1@lnews.actcom.co.il>
Sender: bpringlemeir@DeadDuck
>>>>> "Leonid" == Leonid Rosenboim <Dont_Spam_Leonid@Consultant.com> writes:
 Leonid> Bill explains the issue well. It is the ESSENSE of a flash
[snip]
 Leonid> Flash too.  You could also add a safety belt that checks that
 Leonid> the new value of your RAM buffer differs from the previous
 Leonid> one only in the way of "1" -> "0" and not the other way
 Leonid> around.
    /* Determine if an erase is actually needed... */
    if(!(*pMem++ & ~*pFlash++))
    /*   erase?--- | mem=0| mem=1 */
    /*     flash=0 |    no|   yes */
    /*     flash=1 |    no|    no */
Excuse the Hungarian!
 Leonid> Hope this helps, - Leonid (the author of FlashLib and DosFs
 Leonid> 2.0 amongst other things)
You shouldn't admit to such things in public! ;-)
 >> There are many other stupid things about TFFS/DosFs that I am only
 >> starting to understand now.  However, I think that this is
 >> probably smart things and you should be glad that someone else did
 >> the work.
Maybe stupid is harsh.  I can't understand some things due to the fact
that I don't have the source, or I will have to read it.  Here are some
questions I have,
1) What does the flPoll task do?  (something with flash).
2) DosFs seems to issue writes to a CBIO, even when the applications has
   not called the write function of the DosFs driver.  My guess is that
   this is something in FAT etc.  This seems to occur when the application
   reads.  Do you know what this is?  Even with wear leveling, this isn't
   good.  Reads are frequent on my system.
I did have the source from M-systems a while ago.  Why didn't I keep that.
Oh ya, damn morality things...
regards,
Bill Pringlemeir.
- --
Only a weakling like you would say that most Polish people have stupid
computers.  Don't you realise that you're source license-loving?
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: alignment of sections on page size
Date: Fri, 2 Nov 2001 18:10:01 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9runb1$m1h$1@uranium.btinternet.com>
References: <3BE25463.778A6AAB@europem01.nt.com>
> I would like to write-protect some sections of my vxWorks.st.
> My target is a PowerPC750 (page size = 4096Kb).
> How can I force the compiler to align the sections (text, data,
> bss) on a 4096Kb boundary ?
I presume you mean 4k (4096 byte) not 4Mb...
The text is (presumably) linked to RAM_LOW_ADDRS - no problem making
that page aligned.
The data area is a bit more tricky.
It might be possible to do it with the linker script.
It might even be possible to do it by making the variable at the start
of your data segment have a massive alignment requirement (.align 12
in .s file might do), but it does rely on the object file format
supporting the feature (the coff used for ARM builds doesn't).
The other option is to link things twice.  After the first build
run nmxxx and grab the alignent of the (current) end of code.
Make a source file with the required pad included and put into a
subsequent link.
(or just determine the error and resize the pad for the next build).
(you could always use the WRS hack of including a 4k datasegpad
area...)
I've used the pad generated from the namelist to align parts of the
java engine onto cache lines.....
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: hmmmm , may need this
Date: Fri, 02 Nov 2001 16:39:31 -0500
From: James Strain <jstrain@issanni.com>
Organization: Issanni Communications
Message-ID: <3BE31292.F2A3541@issanni.com>
- --------------ACA82E60AE43A19D4E13C025
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
 Patch Record
           Download Help
         SPR #
               69385
    Additional
         SPR #
               69383,63430,63483,67237
          Type
               Optional
   Patch Name
               Tornado 2.0.2 fei82557End.c update to the June driver release
       Created
               10/11/2001 14:53
      Synopsis
               This patch contains several fixes to fei82557End.c driver that was released in the
               Tornado 2.0.2 and June driver update. See the description for a list of defects
               corrected in this driver.
   Description
               The patch corrects several problems with the fei82557End driver
               release in the T2.0.2 and June driver update. In particular, it
               corrects a cluster pool allocation problem by setting correct
               cluster passed to netPoolInit().
               The patch for SPR 69385 should be installed after the Tornado 2.0.2
               update patch and after the June Drivers release.  It contains FEI end
               driver for architectures supported in Tornado 2.0.2:
                      68000, 68010, 68020, 68040, 68060, 68LC040, CPU32
                      80386, 80486, PENTIUM
                      R3000, R4000, R4650
                      PPC403, PPC603, PPC604, PPC860, PPCEC603
               The following SPRs are corrected in this release:
               SPR# 69385   adjusted cluster pool allocation to accomodate CL_BUF_IDs;
               SPR# 69383   set number of clusters passed to netPoolInit() to correct value;
               SPR# 63430   set taskDelay()s to reference sysClkRateGet() which fixed
               the problem with FEI driver could not autonegotiate 100Mb/sec after system
               clock is set to 1000;
               SPR# 63483   removed suspended state test from fei82557Send() which fixed
               the problem with FEI driver delaying the send of packet because of
               unnecessary suspended state checking;
               SPR# 67237   set cluster size passed to netPoolInit() correctly.
      Products
      Affected
               NONE
         Docs
      Affected
               NONE
       Special
   Instructions
               Please kill Tornado registry and all other Tornado windows in the host
               side before installing this patch.
     Caveauts
               This patch works for all the architectures as listed in the description. It will replace
               the old FEI drivers in the archive. In addition, it will create several other
               obj$CPU$GNUvx directories in target/lib. These additional directories have no
               effect on the operation of Tornado/vxWorks.
- --
======================================
Jamie Strain
jstrain@issanni.com
Phone:   (732) 380-9115
Issanni Communications   Phone:   (732) 380-9333
(formerly 3NO Systems)    Fax:    (732) 380-9330
www.issanni.com
======================================
- --------------ACA82E60AE43A19D4E13C025
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
&nbsp;Patch Record
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download Help
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR #
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 69385
&nbsp;&nbsp;&nbsp; Additional
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR #
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 69383,63430,63483,67237
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Optional
&nbsp;&nbsp; Patch Name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tornado 2.0.2 fei82557End.c update to the June driver release
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Created
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10/11/2001 14:53
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Synopsis
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This patch contains several fixes to fei82557End.c driver that was released in the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tornado 2.0.2 and June driver update. See the description for a list of defects
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; corrected in this driver.
&nbsp;&nbsp; Description
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The patch corrects several problems with the fei82557End driver&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; release in the T2.0.2 and June driver update. In particular, it&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; corrects a cluster pool allocation problem by setting correct&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cluster passed to netPoolInit().
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The patch for SPR 69385 should be installed after the Tornado 2.0.2&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update patch and after the June Drivers release.&nbsp; It contains FEI end&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; driver for architectures supported in Tornado 2.0.2:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 68000, 68010, 68020, 68040, 68060, 68LC040, CPU32
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80386, 80486, PENTIUM
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R3000, R4000, R4650
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PPC403, PPC603, PPC604, PPC860, PPCEC603
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The following SPRs are corrected in this release:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR# 69385&nbsp;&nbsp; adjusted cluster pool allocation to accomodate CL_BUF_IDs;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR# 69383&nbsp;&nbsp; set number of clusters passed to netPoolInit() to correct value;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR# 63430&nbsp;&nbsp; set taskDelay()s to reference sysClkRateGet() which fixed&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the problem with FEI driver could not autonegotiate 100Mb/sec after system&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clock is set to 1000;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR# 63483&nbsp;&nbsp; removed suspended state test from fei82557Send() which fixed&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the problem with FEI driver delaying the send of packet because of&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unnecessary suspended state checking;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPR# 67237&nbsp;&nbsp; set cluster size passed to netPoolInit() correctly.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Products
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Affected
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NONE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Docs
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Affected
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NONE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special
&nbsp;&nbsp; Instructions
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Please kill Tornado registry and all other Tornado windows in the host&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; side before installing this patch.
&nbsp;&nbsp;&nbsp;&nbsp; Caveauts
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This patch works for all the architectures as listed in the description. It will replace
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the old FEI drivers in the archive. In addition, it will create several other
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj$CPU$GNUvx directories in target/lib. These additional directories have no
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; effect on the operation of Tornado/vxWorks.
- --&nbsp;
======================================
Jamie Strain
jstrain@issanni.com
Phone:&nbsp;&nbsp; (732) 380-9115
Issanni Communications&nbsp;&nbsp; Phone:&nbsp;&nbsp; (732) 380-9333
(formerly 3NO Systems)&nbsp;&nbsp;&nbsp; Fax:&nbsp;&nbsp;&nbsp; (732) 380-9330
www.issanni.com
======================================</pre>
&nbsp;</html>
- --------------ACA82E60AE43A19D4E13C025--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: write protecting vector table
Date: Fri, 2 Nov 2001 15:01:59 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3be3263e$0$78867$e2e8da3@nntp.cts.com>
References: <3BE2C35F.175A2BC2@europem01.nt.com>
"Fauris, Sebastien" <sfauris@europem01.nt.com> wrote in message
news:3BE2C35F.175A2BC2@europem01.nt.com...
> Hi,
>
> I would like to write protect the vector table on my PPC750
> target (vxVMI not available).
> When I perform:
>
> begin = 0;
> size = 4096; /* page size = 4Kb, vectors are from 0x100 to 0x1000 */
> vmBaseStateSet (0, begin, size, VM_STATE_MASK_WRITABLE,
>                 VM_STATE_WRITABLE_NOT);
>
> my windshell displays this forever:
> -> i
> Target connection has been lost.
> Waiting for target server to attach to target (press CTRL+C to stop) -
> Restarting shell...
> Target connection has been lost.
> ...
> Does somebody understand what is going on ?
Yes, your board is hosed :-)   But I'm sure you figured that out already...
> Does the OS or the Windshell try to write to this write-protected page ?
The OS writes the page all the time.  Even more than you can imagine.  Every
time vxMemProbe() is called, the OS has to load the machine check, DSI, and
alignment (0x200, 0x300, and 0x600) vectors with vxMemProbe specific ones,
perform the test, and then restore the original ones.  It happens every time
you call 'i' and a host of other functions.  And because it happens so
often, even if you get it right I've heard the system is noticeably slower.
Basically you have to make excVecSet() smarter so it can mark the page
writeable before modifying it.  If you don't have excArchLib.c, it can be
difficult :-)
I recall many moons ago finding some vxMemProbeHook stub of something.  IIRC
you could bypass the real vxMemProbeHook (and thus just return OK), but then
you're defeating the purpose of the memProbe() function.
If there's an easier/better solution, I'm sure the group would welcome it
:-)
 hth,
  Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Pre-empting tNetTask
Date: 2 Nov 2001 15:50:41 -0800
From: satyam_k@hotmail.com (Satyam)
Organization: http://groups.google.com/
Message-ID: <ede7a042.0111021550.440b73e1@posting.google.com>
Hi,
I am not sure there was already a thread for this question. If so,
please point it to me.
When we continuously send traffic to the system, the tNetTask which
handles the IP traffic takes so much time that other tasks are
starving for the CPU time. This is what I observed under the default
task scheduling in vxWorks. Could anybody point me to the way where
we can make other tasks get some CPU time ?
Thanks,
Satyam
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: write protecting vector table
Date: 02 Nov 2001 20:00:46 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ubsikr7lt.fsf@yahoo.com>
References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com>
Sender: bpringlemeir@DeadDuck
>>>>> "Dan" == Dan Gold <gold@ensemble.com> writes:
[snip]
 Dan> Basically you have to make excVecSet() smarter so it can mark
 Dan> the page writeable before modifying it.  If you don't have
 Dan> excArchLib.c, it can be difficult :-) I recall many moons ago
 Dan> finding some vxMemProbeHook stub of something.  IIRC you could
 Dan> bypass the real vxMemProbeHook (and thus just return OK), but
 Dan> then you're defeating the purpose of the memProbe() function.
Funny you should mention this.  I just turned on my MMU on an ARM a little
while ago.  I have,
/* substitute for default memProbe, determine if memory can be accessed. */
static STATUS spmvxMemProbeHook(void *adrs, int mode, int length, void *value)
...
    _func_vxMemProbeHook = spmvxMemProbeHook;
...
This seems to work for me, but perhaps I am wrong.
hth,
Bill Pringlemeir.
[spm is a module prefix for simple mmu]
- --
Religion can teach us how to explode in fireworks.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to test timers in tornado II
Date: 2 Nov 2001 17:30:39 -0800
From: loveheart1999@263.net (loveheart)
Organization: http://groups.google.com/
Message-ID: <45709aba.0111021730.3d39939f@posting.google.com>
hello, I am now developing a telecommunication application which needs
several timers. once it sends out a frame, it will start a timer. if
the timer expires but still no reply was received ,it will re-send out
 the same frame.
   my question is : how can I test my timers work properly?
   I am in tornado II enviroment, the target board based on PPC860,and
I also get a ISDN interface card which serves as user size and an ISDN
tester which serves as a network size.The tester can just show the
msgs it transits and receives and it works in a real time mode.
   because the connection between the ISDN tester and my ISDN card is
short and  very reliable and no frame will lost because of the
connection problem. Once the tester receives a frame, it will
immediatly send its reply, so I can't make the time delay effect. If I
cut off the connection between the tester and my card, I will not see
the frame types from the card through the screen of the tester.
   finally, the card can send frames only in single step debug mode.
    How can I test the timers ????
    I wish you could give me some wise suggestion!!! thank you!!!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: 02 Nov 2001 20:51:37 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u3d3wr592.fsf@yahoo.com>
References: <6d6a076a.0111011226.84742a3@posting.google.com> <ug07yurd7.fsf@yahoo.com> <newscache$3716mg$f72$1@lnews.actcom.co.il> <ubsilt66f.fsf@yahoo.com>
Sender: bpringlemeir@DeadDuck
 >>> There are many other stupid things about TFFS/DosFs that I am
 >>> only starting to understand now.  However, I think that this is
 >>> probably smart things and you should be glad that someone else
 >>> did the work.
[snip]
 Bill> 2) DosFs seems to issue writes to a CBIO, even when the
 Bill> applications has not called the write function of the DosFs
 Bill> driver.  My guess is that this is something in FAT etc.  This
 Bill> seems to occur when the application reads.  Do you know what
 Bill> this is?  Even with wear leveling, this isn't good.  Reads are
 Bill> frequent on my system.
For all those who don't know, DosFs will update the "Last accessed"
entry every time you close a file.  So the following cause flash
writes,
 int fd = open("foo.bar",O_RD_ONLY);
 read(fd,data,20);
 close(fd);
This is not good IMHO!  You will get lots of flash writes even though
your application is only using files in READ mode.  This could be bad
as applications often READ files and even wear leveling might not
extend the life of the flash long enough.  Twelve <open,read,close>
cycle happening every second will take product life below 10 years
according to my calculations (2Mb flash, 512byte sectors with 100,000
cycle flash, empty disk).  Depending on your free flash (and actual
tffs wear leveling) it could actually be far less.
regards,
Bill Pringlemeir.
- --
World Trade Center munitions smuggle Treasury Ft. Bragg bomb NSA AK-47
genetic Marxist SDI ammunition FSF [Hello to all my fans in domestic
surveillance] Clinton
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Cannot select END components in Add/Remove component dialog box
Date: 2 Nov 2001 23:29:18 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111022329.527da321@posting.google.com>
References: <15adeaa9.0111020234.720faeab@posting.google.com>
Hello,
You need to reinstall the drivers for pentium, not pentium2. There are
three supported pentium class architectures in AE: pentium, pentium2
and pentium3. You seem to have the BSP and main objects for the
pentium architecture, but the drivers for pentium2. This will disable
all the drivers in the IDE since it won't be able to find a matching
binary for your system.
If your key doesn't give you the pentium drivers, you should contact
Wind River and get a key that gives you either all pentium products,
or all pentium2 ones (depending on which variant you wanted).
HTH,
John...
shada@netplane.com (shad ansari) wrote in message news:<15adeaa9.0111020234.720faeab@posting.google.com>...
> hello all,
>
> I installed Tornado/VxWorks AE and created a bootApp for Pentium
> using the Boot App wizard. I now want to include the appropriate END
> driver(ELT3c509END) for my target using the Add/Remove Component
> Dialog Box. However none of the network drivers listed under
> hardware>peripherals>Enhanced Network Drivers (except for the
> template END driver) are selectable. All the END components listed
> in the ADD/Remove Component Dialog window have a cross in front
> of them instead of the box to select the component.
>
> This may or may not be related - Tornado installation gives the
> following
> warning during setup:
>
> "The Driver Object and VxWorks AE products that you have selected are
> not of the same architecture. This may result in the Tornado product
> not working properly. To proceed with installation, click "OK".
> Otherwise, click "Cancel" to re-select the products"
>
> My setup.log is as follows
> Following is my setup.log:
> 02-Nov-01.00:32 CD manufacturing time: Wed May 23 09:29:16 PDT 2001
> 02-Nov-01.00:32 TDK-13940-ZC-00 SETUP-3.1       D:\tornado_ae
> 02-Nov-01.00:32 Tornado 3.1/VxWorks AE 1.1 for Pentium
> 02-Nov-01.00:32 Microsoft Windows NT version 4.0 (Build 1381) Service
> Pack 5
> 02-Nov-01.00:32 100-21230-30    Driver Objects/Headers: pentium2
> 02-Nov-01.00:33 100-21215-30    Tornado Tools: WindowsNT
> 02-Nov-01.00:35 100-21244-30    VxWorks AE: pentium
> 02-Nov-01.00:37 100-21257-30    VxWorks BSP: pcPentium
> 02-Nov-01.00:37 licensed product: tornado 10
>
> Any idea why this may be hapening?
>
> Thanks,
>
> Shad
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Mon Nov  5 09:39:20 2001
From: "Pradeepa Venkatswamy" <pradeepa.venkatswamy@wipro.com>
Date: Mon Nov  5 09:39:24 PST 2001
Subject: file locking on VxWorks
This is a multi-part message in MIME format.
--------------InterScan_NT_MIME_Boundary
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Hi ,
	We need to implement file locking on VxWorks....fcntl posix call which is
used for file locking is not implemened on VxWorks. ioctl is also not
supporting file locking.......how to achieve file locking??is there any
calls available on vxworks??
	fcntlcom.h in Vxworks defines F_SETLK,F_GETLK and struct flock..etc which
is used fcntl call.If fcntl is not implemented on VxWorks why this has been
defined??what purpose it's used for??
Thank you,
V.Pradeepa
--------------InterScan_NT_MIME_Boundary
Content-Type: text/plain;
	name="InterScan_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="InterScan_Disclaimer.txt"
-------------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
--------------InterScan_NT_MIME_Boundary--
From vxwexplo-errs@csg.lbl.gov  Mon Nov  5 09:40:05 2001
From: "David Laight" <David.Laight@btinternet.com>
Date: Mon Nov  5 09:40:09 PST 2001
Subject: Re: Walking the heap
> I have just had a nice memPartFree error message.  This may mean that
> my block header has been corrupted. No Problem - I'll just go to the
> vxworks newsgroup and pick up a function that will walk the heap and
> check that the headers are OK.  I can then put it into my code and
> after a few tries I can see which line is the culprit.
Interestingly, this isn't actually completely possible!
vxWorks doesn't hold the bounds of the areas allocated to the memory
partition anywhere!  So if you have used memPartAddToPool you have
difficulty finding all the areas.  Also you need an address to get started!
The heap structure is remarkably simple - and not particularly memory
efficient either...  From memory:
- the word BEFORE an allocated area contains the length of the area (inc
  red tape) in words shifted left 1 (ie the length in 2-byte units)
  the bottom bit indicates whether the item is free
- the word AFTER an allocated area is the address of the header word
Additionally a double linked list runs through the first 2 words of free
items.
The ends of the memory area are detectable - dump them out and have a look!
You might be able to recognise the problem by dumping out memory around the
address reported in the error message.  The contents will probably be
recognisable as some driver data area - especially if you often look at
raw dumps of them!
    David
From vxwexplo-errs@csg.lbl.gov  Tue Nov  6 05:48:58 2001
From: kumaran senthur <qumaran@yahoo.com>
Date: Tue Nov  6 05:49:01 PST 2001
Subject: vxworks
hi members any one of you can give me the answer for
the question "What is the WIND KERNEL SIZE,IS IT
GREATER THAN THE PSOS+ KERNEL"
mail me to my id :qumaran@yahoo.com
kumaran
__________________________________________________
Do You Yahoo!?
Find a job, post your resume.
http://careers.yahoo.com
From vxwexplo-errs@csg.lbl.gov  Tue Nov  6 06:38:53 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov  6 06:38:57 PST 2001
Subject: What do we mean when we say real-time?
VxWorks Greetings!
Just a quick note...
  If you happen to be in the Washington, DC area on
Thursday, November 8th, please make sure you stop
by the Real-Time & Embedded Computing Conference/
Embedded Linux Expo & Conference at the Sheraton
Hotel in Reston, VA.  Admission is free.
Sheraton Reston Hotel
11810 Sunrise Valley Drive
Reston, VA 20191
  For those of you who have an interest, I will be
speaking in the main hall at 10AM on the topic of
just what do we mean when we say "real-time" and
comparing that to embedded development.  This will
include both traditional RTOS environments as well
as the embedded Linux environments.
  Hope to see you there...
Regards,
Mike Anderson
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov  6 06:38:52 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov  6 06:38:57 PST 2001
Subject: RE: vxworks
VxWorks Greetings!
> Submitted-by: kumaran senthur <qumaran@yahoo.com>
>
> hi members any one of you can give me the answer for
> the question "What is the WIND KERNEL SIZE,IS IT
> GREATER THAN THE PSOS+ KERNEL"
> mail me to my id :qumaran@yahoo.com
>
  The answer is...  it depends.  Are we talking about
just the Wind kernel  vs. the pSOS+ kernel or VxWorks
vs. pSOS+?  If we're talking just the kernels, I believe
that pSOS+ may be slightly smaller, but not by much.
  If we're talking VxWorks vs. pSOS+, then it all depends
on what features you have enabled in both OSes.  There
are too many variables to give you a definitive answer.
That is, you'd have to be more specific in your request
to provide a better answer.
HTH,
Mike Anderson
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov  6 08:01:52 2001
From: Barry Clark <bclark@aoc.nrao.edu>
Date: Tue Nov  6 08:01:54 PST 2001
Subject: Competitor
Our hardware guys are talking about embedding, deep within the guts of
the machine, something called an EmbeddedCom EC-1, which is an 80186
running a RTOS called API.  Anybody know anything about this stuff?
Having lived with vxWorks for many years, I have fears of the unknown
when leaving the familiar harbor.
From vxwexplo-errs@csg.lbl.gov  Tue Nov  6 11:09:20 2001
From: heller@core.com
Date: Tue Nov  6 11:09:22 PST 2001
Subject: Booting MV5100 with Motorola PPCbug firmware?
Hello all,
Has anyone successfully used the PPCbug firmware to load
and run the Vxworks boot rom on a Motorola MV5100?
I noticed there is a #define in the config.h file for
INCLUDE_MOT_BUG_ROM, but it doesn't look like it
will work. The romInit.s code disables ram during the
setup of the hawk chip, which would make it difficult
to run the boot rom code from ram. I'm using Tornado 2.1
and the Wind River version of the MV5100 BSP.
Thanks in advance
-Mark
From vxwexplo-errs@csg.lbl.gov  Wed Nov  7 04:03:22 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Nov  7 04:03:24 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Nov  7 04:03:17 PST 2001
        Subject: RIP v1, v2
        Subject: Failed to execute from RAM_LOW_ADRS
        Subject: Exactly where on Wind Surf is vxld.bin?
        Subject: Max #of END objects connected to the MUX?
        Subject: How to estimate number of buffer descriptors needed
        Subject: Re: text,data,bss addresses and lengths
        Subject: Re: How to estimate number of buffer descriptors needed
        Subject: Re: DHCP client problem
        Subject: About loattach( )
        Subject: Where to download the vxworks software
        Subject: Re: unable to delete files.
        Subject: Re: Exactly where on Wind Surf is vxld.bin?
        Subject: Re: Pre-empting tNetTask
        Subject: Re: Pre-empting tNetTask
        Subject: Re: Design
        Subject: Re: melvin, still changing, walks almost totally, as the cat wastes inside their twig
        Subject: WTX Error 0x10197 (EXCHANGE_TIMEOUT)
        Subject: Re: Where to download the vxworks software
        Subject: Re: How to download a ASCII file to target when a target bootup?
        Subject: Network, Atm and vxworks
        Subject: How to bind two or more IP addresses with one Ethernet port
        Subject: Tornado II under Win2k
        Subject: Re: How to estimate number of buffer descriptors needed
        Subject: Network stack test [was: Pre-empting tNetTask]
        Subject: 802.1d/p/q shims and IP_TOS bits
        Subject: Wind Web Server
        Subject: VxWorks AE Boot Image
        Subject: Ram device
        Subject: Re: Updating GNU C Compiler
        Subject: Errno = 0x550
        Subject: loadModule and task error
        Subject: Re: loadModule and task error
        Subject: Re: Pre-empting tNetTask
        Subject: Re: How to bind two or more IP addresses with one Ethernet port
        Subject: Re: Tornado II under Win2k
        Subject: Re: Network, Atm and vxworks
        Subject: Re: VxWorks AE Boot Image
        Subject: Re: loadModule and task error
        Subject: Re: How to download a ASCII file to target when a target bootup?
        Subject: Re: from where to download Tornado prototyper
        Subject: Re: Network, Atm and vxworks
        Subject: Re: Tornado II under Win2k
        Subject: Re: WTX Error 0x10197 (EXCHANGE_TIMEOUT)
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: RIP v1, v2
Date: Mon, 05 Nov 2001 17:52:47 GMT
From: "Thierry De Corte" <tdecorte@wavesat.com>
Organization: GlobeTrotter
Message-ID: <PlAF7.23298$OE1.3404998@carnaval.risq.qc.ca>
Hi all,
    I'm trying to enable dynamic routing on a board running VxWorks. Static
routing is working but I was not able to use dynamic routing. I'm kind of
surprise that it doesn't work since dynamic RIP routing is part of the BSD
implementation...
    So my question is: Does VxWorks support Dynamic routing for RIP? If yes
how do you make it work?
Thanks,
Thierry De Corte
---------------------------
Newsgroups: comp.os.vxworks
Subject: Failed to execute from RAM_LOW_ADRS
Date: 5 Nov 2001 10:30:36 -0800
From: tangovi@netscape.net (Ted Victor)
Organization: http://groups.google.com/
Message-ID: <a0b1497c.0111051030.63deed18@posting.google.com>
Dear comp.os.vxworks,
I'm new with VxWorks and currently debugging a product in production
(CPU: MIPS BSP, VxWorks: 5.3.1, BSP version: 1.1). Some boards are
failing to execute from DRAM (RAM_LOW_ADRS), but they did pass DRAM
diagnotic and decompressed VxWorks to RAM OK (with inflateCksum =
TRUE).
Greatly appreciate a few hints on how to debug this; is there an
output to serial port utility that can be used before printf is
available?
Thanks so much for your help.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Exactly where on Wind Surf is vxld.bin?
Date: 5 Nov 2001 11:39:03 -0800
From: hall_c_j@hotmail.com (Chris Hall)
Organization: http://groups.google.com/
Message-ID: <888b2a5f.0111051139.6a63ef3b@posting.google.com>
All,
I am looking for vxld.bin, but apparently I am blind, because I can't
find it. Would somebody please point me at the exact download path? I
looked under the "Download" section, but only found AE images...
Cheers
Chris Hall
Seaweed Systems
---------------------------
Newsgroups: comp.os.vxworks
Subject: Max #of END objects connected to the MUX?
Date: 5 Nov 2001 14:12:02 -0800
From: jperron@cetaceannetworks.com (Jason Perron)
Organization: http://groups.google.com/
Message-ID: <d491dc78.0111051412.4f5c3f98@posting.google.com>
Hello,
I am wondering if anybody knows what the maximum number of END objects
that can be attached to the MUX is?  If there is a set limit, is there
someplace where a user can change it?
Thanks,
Jason
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to estimate number of buffer descriptors needed
Date: 5 Nov 2001 15:55:21 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0111051555.27f8608a@posting.google.com>
I'm trying to estimate the number of Rx BDs I need.  One way is to use
a "large" number of Rx BDs, and then experimentally determine the high
water mark and then trim down the number.   I'm wondering if there is
any analytical way to estimate it.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: text,data,bss addresses and lengths
Date: Mon, 5 Nov 2001 18:59:22 -0500
From: "BruceL" <nospam@yahoo.com>
Message-ID: <9s79ba$lvm$1@bob.news.rcn.net>
References: <REqF7.16363$D5.6379129@typhoon.san.rr.com>
You may need to activate the symbol table load in the vxWorks tab of the
project window.
Bruce
LeRoy Goering <lgoering@san.rr.com> wrote in message
news:REqF7.16363$D5.6379129@typhoon.san.rr.com...
> Need absolute memory locations of text areas for runtime checksum testing.
> Can't figure out how to do it.
>
> When I download my app to the pentium target with loadModule, cannot
access
> the symbols table.  Can't execute the application programmatically or at
the
> shell.  Browser doesn't see it either.  Has anyone out there done this?
Any
> ideas?
>
> Thanks,
> LW
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to estimate number of buffer descriptors needed
Date: Mon, 5 Nov 2001 16:55:14 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3be73527$0$51828$e2e8da3@nntp.cts.com>
References: <d83bb8e3.0111051555.27f8608a@posting.google.com>
"Raymond Yeung" <ryeung@earthlink.net> wrote in message
news:d83bb8e3.0111051555.27f8608a@posting.google.com...
> I'm trying to estimate the number of Rx BDs I need.  One way is to use
> a "large" number of Rx BDs, and then experimentally determine the high
> water mark and then trim down the number.   I'm wondering if there is
> any analytical way to estimate it.
Based on the information provided, I think 6 should be enough. QED :-)
You need to provide a little more information.  Are these RxBDs for a
100Base-T Full Duplex interface, or a 9600 baud serial port on an SCC ?  Is
this for 64-byte or 1500 byte Ethernet packets ?  Or some other interface
with a different MTU  ?  Since previous posts revealed a penchant for the
8260, is this an ATM interface, Ethernet, MCC, etc... ?  How many of these
'ports' are you running ?  Are you in interrupt mode ?  How long do you
think it will take to service your ISR and pull packets off the ring ?  And
even if you can analyze a worst-case scenario for BDs, it's almost
guarranteed that your first customer will find a way to break it :-)
For Ethernet drivers, what I've seen done is you start with a 'reasonable'
amount (16/32/64/128), and see how that does.  You also make sure your 'out
of buffers' code works to recover from the situation.  For other (i.e. TDM)
interfaces, you may be able to figure out a max amount based on buffer size,
line rate, worst case task delay, etc...
  hth,
   Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DHCP client problem
Date: Tue, 06 Nov 2001 02:21:57 GMT
From: nunya <nunya@nunya.com>
Organization: Nunya Business
Message-ID: <3BE74944.38933F93@nunya.com>
References: <9r1hgv$h4m$1@news.netvision.net.il> <9r3d8j$f5q$1@plutonium.btinternet.com> <792e1071.0110230914.32dd9238@posting.google.com> <9r6hrc$4kc$1@plutonium.btinternet.com> <9rsuve$lip$1@mail.cn99.com>
Yeah, we ended up doing the same.
5982 wrote:
> yea,DHCP is very bad,i wrote a client by myself.
---------------------------
Newsgroups: comp.os.vxworks
Subject: About loattach( )
Date: Tue, 6 Nov 2001 13:37:44 +0800
From: "vxworks" <embeder@yahoo.com>
Organization: Bentium Ltd. (CN99)
Message-ID: <9s7t11$8j$1@mail.cn99.com>
Dears,
    Anyone can tell me that why my Ethernet Driver can't work?
    I find a strange that if I connect my board (PPC405GP) to the lan and
power on,it will never return from loattach( )function. But if I take away
the network cable, after loattach( ) attached OK, I plug in the cable,
everything is OK. Why?
    I also find that when power on, my board send two ARP packages, one for
it's own, another is the host (my PC). My PC reply his ARP, but then
loattach( ) never return.
    So I think that maybe the reason is my board received my PC's ARP reply.
But what's wrong? PC should reply the ARP for it.
    Thanks,
---------------------------
Newsgroups: comp.os.vxworks
Subject: Where to download the vxworks software
Date: 5 Nov 2001 23:00:52 -0800
From: digipsyche@sify.com (DigiPsyche)
Organization: http://groups.google.com/
Message-ID: <6c32a22b.0111052300.58ebd2e0@posting.google.com>
I am a software engr, very new to vxworks OS. I dont know much about
vxwork. Please help me in getting started with the vxworks. i want to
know from where i can get the vxworks software and the instruction to
operate it.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: unable to delete files.
Date: Tue, 6 Nov 2001 09:21:43 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$u0ddmg$n8g$1@lnews.actcom.co.il>
References: <9s657n$dj8$1@mango.singnet.com.sg>
You are (probably) using the standard FTP server for VxWorks,
which does not support wildcards. Look for the unsupported FTP server,
where I have added some enhancemenets, including wildcard support.
"Sam Ho Wai Yin" <samhowy1@singnet.com.sg> wrote in message
news:9s657n$dj8$1@mango.singnet.com.sg...
> My machine's OS is using VxWorks.
> Whenever I FTP to the machine and try to delete some selected files in the
> folder( ftp> mdelete *.log ), an error message will appeared, stated
> ["C:\logs\test\*.log" not found or permission denied].
> is it due to access level problem or wrong command used?
> any way to solve this problem?
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Exactly where on Wind Surf is vxld.bin?
Date: 6 Nov 2001 00:01:46 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111060001.3ce9c31c@posting.google.com>
References: <888b2a5f.0111051139.6a63ef3b@posting.google.com>
Hello,
You won't find vxld.bin on the web site. If you are trying to create
VxWorks AE boot floppies for a Pentium target system on a Unix host
(either Solaris or Linux), then go here to download binary images of
the diskettes:
http://www.wrs.com/csdocs/downloads/freeStuff/bootDiskettes/index.shtml
That page contains links to the images (compressed using gzip, so
remember to uncompress them before using them), and the instructions
to create a floppy diskette from them on either Linux or Solaris.
HTH,
John...
hall_c_j@hotmail.com (Chris Hall) wrote in message news:<888b2a5f.0111051139.6a63ef3b@posting.google.com>...
> All,
> I am looking for vxld.bin, but apparently I am blind, because I can't
> find it. Would somebody please point me at the exact download path? I
> looked under the "Download" section, but only found AE images...
>
> Cheers
> Chris Hall
> Seaweed Systems
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Pre-empting tNetTask
Date: 6 Nov 2001 00:04:31 -0800
From: sudha@volcanomail.com (Sudha)
Organization: http://groups.google.com/
Message-ID: <4acf3137.0111060004.7ec1a259@posting.google.com>
References: <ede7a042.0111021550.440b73e1@posting.google.com> <f01af1e2.0111031651.77a5f2e9@posting.google.com>
Hi Satyam,
Though you can increase the priority of other tasks to a higher value
(<49), that isn't good programming and will end up in some problem
elsewhere. Try to find out why there are somany packets, or why
tNetTask eats up time. This may be because of your huge network. Try
isolating your target and host and find out if the problem still
persists.
Also, roundrobin scheduling is preferred for tasks that the user
creates and avoid that between system tasks. You may have to forgo
your performance, which as a real-time programmer makes no sense.
Sudha.
> satyam_k@hotmail.com (Satyam) wrote in message news:<ede7a042.0111021550.440b73e1@posting.google.com>...
> > Hi,
> >
> > I am not sure there was already a thread for this question. If so,
> > please point it to me.
> >
> > When we continuously send traffic to the system, the tNetTask which
> > handles the IP traffic takes so much time that other tasks are
> > starving for the CPU time. This is what I observed under the default
> > task scheduling in vxWorks. Could anybody point me to the way where
> > we can make other tasks get some CPU time ?
> >
> > Thanks,
> > Satyam
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Pre-empting tNetTask
Date: Tue, 6 Nov 2001 10:15:21 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$cledmg$e9g$1@lnews.actcom.co.il>
References: <ede7a042.0111021550.440b73e1@posting.google.com>
This is a classic issue (hint: should be in the FAQ):
It is one of the oldest advantages of VxWorks, with respect to other
RT and non-RT OSes, is that the TCP/IP protocol handling, which
could be dangerous when deterministic R-T performance is needed,
is assigned to a particular task. This allows the application designer
to decide how "important" the network si relative to the other tasks
within the system and assign the tNetTask priority accordingly.
Most Unixc systems perform the stuff tNetTask does at interrupt level,
which will allways preempt any application code.
So the best thing to do, is to LOWER the priority of tNetTask, so it is
lower
then anything which is more important then the net.
Or course, from you rdescription it seems there are situations where the CPU
is siimply not powerful enough to handle it all. This lkeads me to recommend
you
to modify the Ethernet driver, to throttle the amount of incoming packets in
order
to avoid the CPU takeover by tNetTask.
Anything beyond this strongly depends on the nature of your application,
and the type of network you expect your target to be connected into.
If you expect it to connect to a public network, keep in mind this is a
harsh
place and bad things are bound to happen...
HTH,
 - Leonid
"Satyam" <satyam_k@hotmail.com> wrote in message
news:ede7a042.0111021550.440b73e1@posting.google.com...
> Hi,
>
> I am not sure there was already a thread for this question. If so,
> please point it to me.
>
> When we continuously send traffic to the system, the tNetTask which
> handles the IP traffic takes so much time that other tasks are
> starving for the CPU time. This is what I observed under the default
> task scheduling in vxWorks. Could anybody point me to the way where
> we can make other tasks get some CPU time ?
>
> Thanks,
> Satyam
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Design
Date: Tue, 6 Nov 2001 10:21:32 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$nvedmg$k9g$1@lnews.actcom.co.il>
References: <9144a3b0.0111011519.4b92d548@posting.google.com> <newscache$bl16mg$l72$1@lnews.actcom.co.il> <9144a3b0.0111050731.3f3ebb81@posting.google.com>
I used VxSim on Solaris some time ago, and indeed it had a limitted
memory per simulated target, which was set with a command line
option when the vxSim process was invoked.
However, limitting the memory of VxSim will not guarantee that
your code will work on MIPS.
First thing you should do is test your code for byte order and address
alignment portability issues, VxSim on SPARC/Solaris proved to
be an extremely useful tool for me in the past - it even catches all NULL
pointer write references, as will as optimization dependency.
After that, if you write clean code, I would not hesitate to fly over to the
customer and make sure it works fine on their specific hardware.
It easier (and faster) then buying some evaluation board.
HTH,
 - Leonid
"vxWorks Group" <vxworksproj@yahoo.com> wrote in message
news:9144a3b0.0111050731.3f3ebb81@posting.google.com...
> Thanks Leonid, this is really what I am looking for. Actually we will
> give our user both options and he can choose whatever suits him.
>
> I have one more question for you if you do not mind:
> The customer says that he want to use MIPS and his memory is up to 20
> MB. I am currently using "VxSim for Windows" for my development.
> My question is: Is there a way to configure this simulator in order to
> make it's memory limited by 20MB and to make sure that the code I
> write will run on MIPS?
> If this Is not possible, what hardware should I get in order to test
> my work? Is there a general board which I can get to do my testing?
>
> I really appreciate your help.
>
> Dan
>
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$bl16mg$l72$1@lnews.actcom.co.il>...
> > There are two possibe approaches:
> >
> > A. Use standard input and output file descriptors (i.e. 0 and 1), which
> > have private value in each task, so the caller can redirect these fd's
> > to any file, pipe or socket they wish. I recommend you leave the close()
> > call to the caller too.
> >
> > B. Use memory buffers, as in
> >     int dataZip( void * inBuf, size_t inBytes, void *outBuf, size_t
> > outBufSIze), void * session_id);
> > where the returned value will be the exact byte count of data written to
> > outBuf, which
> > must be less then or equal to outBufSize.
> > Now, since compressed streams are typically not packetized, you need a
> > session_id
> > which is generated by a dataZipNewSession() sort of creator, and the
> > session_id is in
> > fact a pointer which holds the state information for this particular
stream,
> > e.g. dictionary,
> > running checksum etc.
> >
> > Actually, we did something quite similar to (B) as part of the FlashLib
> > product, which has
> > been discontinued by WindRiver in 1998. FlashLib could transparently
> > compress data
> > written to Flash file system to conserve Flash space whenever possible,
at
> > the price
> > of slower performance. The code used Deflate algorythm, and save over
50% of
> > FLash
> > space for typical uses.
> >
> > HTH,
> >  - Leonid
> >
> > "vxWorks Group" <vxworksproj@yahoo.com> wrote in message
> > news:9144a3b0.0111011519.4b92d548@posting.google.com...
> > > Hi,
> > > I am new to VxWorks, but I am not new to programming!
> > > I am trying to write a small library for file compression,
> > > decompression for VxWorks.
> > > The main function I intend to write takes an input stream and
> > > generates an output stream for both compression and decompression .Now
> > > what I am not certain about is how I am going to take these streams as
> > > arguments from the user, I want something as general as possible such
> > > that I do not care about the source of data (disk, memory, network.).
> > >
> > > If this is not possible, and I decide to give the user different
> > > functions for different data sources, what is better as an argument
> > > for accessing files? Should I ask the user to pass file name or a file
> > > opened through fopen() or a file opened through open() ? I am trying
> > > to give the user as much control as possible on the data source.
> > >
> > >
> > > Any Help will be more than appreciated.
> > >
> > > Thanks in advance,
> > > Dan
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: melvin, still changing, walks almost totally, as the cat wastes inside their twig
Date: 6 Nov 2001 09:13:23 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9151681DD861Eborkhuisagerecom@135.7.153.101>
References: <6P3waMBWt$Prvt.5401426@61.9.128.12>
Sam <mirne@GOWVOP.MI.US> wrote:
> Hard Disk Auto Format
>
> Quick, pull the plug, you might save something!
>
>
> --02535035502613201712020715157237552640026513516482
><html><head><TITLE>Hard Disk Auto Format</TITLE>
<<<Some pathetic attempt to write javascript>>>
></SCRIPT></body></html>
> Attachment decoded: uxo.html
> --02535035502613201712020715157237552640026513516482--
>
>
First reaction: do not post HTML code!
Second reaction: Glad I don't use M$ tools to read news
Third reaction: <Censor>
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: WTX Error 0x10197 (EXCHANGE_TIMEOUT)
Date: 6 Nov 2001 01:26:00 -0800
From: monishabarooah@yahoo.com (Monisha Barooah)
Organization: http://groups.google.com/
Message-ID: <68ef19de.0111060126.4ea30ba1@posting.google.com>
Hi,
 I am receiving this error after I execute my code for a specified
interval.
WTX Error 0x10197 (EXCHANGE_TIMEOUT)
value = -1 = 0xffffffff
Does this has anything to do with my code or is it just because of the
connection timeout between the host and the target due to some other
reason.
Regards,
Monisha.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Where to download the vxworks software
Date: 6 Nov 2001 09:27:22 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91516A76D99EBborkhuisagerecom@135.7.153.102>
References: <6c32a22b.0111052300.58ebd2e0@posting.google.com>
digipsyche@sify.com (DigiPsyche) wrote:
> I am a software engr, very new to vxworks OS. I dont know much about
> vxwork. Please help me in getting started with the vxworks. i want to
> know from where i can get the vxworks software and the instruction to
> operate it.
Go to www.wrs.com, and follow the links to Tornado Prototyper. This is an
evaluation program. You get the complete environment, but you can only
build SW for use with the buildin simulator.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to download a ASCII file to target when a target bootup?
Date: 6 Nov 2001 01:54:54 -0800
From: eagle2hawk@yahoo.com (eagle2hawk)
Organization: http://groups.google.com/
Message-ID: <af40da0e.0111060154.6d13b4a3@posting.google.com>
References: <af40da0e.0111011842.2a076283@posting.google.com> <488e459a.0111012309.2a902efb@posting.google.com>
Thanks, John,
Which component includes the functions of memDrv and memdrvbuild? When
I run memDrv and memdrvbuild in windSh, it shows "undefined symbol".
After check the kernel I built, all of utility components were
included; all of kernel components (but shared memory objects) were
included; all of IO system components (but dosdisk and RT11
filesystem) were included.
The manual of memdrvbuild and memdrv does not mention their locations.
Eagle
john_94501@yahoo.com (John) wrote in message news:<488e459a.0111012309.2a902efb@posting.google.com>...
> Hello,
>
> Yeah, checkout the memDrv manual page, and the memdrvbuild host
> utility. The latter will create a source file containing your files
> and some init code to actually install it into the I/O system.
>
> Once done, and assuming that you have memDrv in your kernel, you can
> call the init function and then access the file(s) as if they were
> files on a regular file system (read-only of course).
>
> HTH,
>
> John...
>
> eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:<af40da0e.0111011842.2a076283@posting.google.com>...
> > Might I add some ASCII files(eg. .html) to the bootable image?
> > Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Network, Atm and vxworks
Date: Tue, 6 Nov 2001 11:33:55 +0100
From: "Red Fenris" <mail@fenris.com>
Organization: None
Message-ID: <9s8e9j$6jt$1@wanadoo.fr>
Reply-To: "Red Fenris" <mail@fenris.com>
Hi
a few questions :
1. Does anyone know about a port of Harp stack on VxWorks ?
2. Where could I find information on addDomain and addSockLib functions ?
3. Does anyone know how to expand the select mechanism so that I could
    have 1024 pendings sockets?
TAD
Fab
- -----------------------------------------------------------------
Support third world debt cancellation
- -----------------------------------------------------------------
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to bind two or more IP addresses with one Ethernet port
Date: 6 Nov 2001 03:04:25 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111060304.54b743a5@posting.google.com>
Hi all
   I need your generous help.Does anybody have the experience to bind
two IP addresses with one Ethernet port for PPC8260 FCC.
Any advice will be welcome.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado II under Win2k
Date: Tue, 6 Nov 2001 14:00:57 +0100
From: "Choumpili" <choumpili.work@wanadoo.fr>
Organization: Wanadoo, l'internet avec France Telecom
Message-ID: <9s8n38$5cp$1@wanadoo.fr>
After installing the 2 patches from WindRiver for Tornado II (spr62517, and
sprT2CP3),
I get an error
"WTX Error 0x100de (AGENT_COMMUNICATION_ERROR)
when downloading an application code, which fails and never completes
I used to run exactly the same way under WinNT, Service pack 5: I had no
issue, no error message
But since the upgrade to Win2k, I face this problem
Any idea?
Choumpili
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to estimate number of buffer descriptors needed
Date: Tue, 6 Nov 2001 11:37:25 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9s8hqk$ita$1@uranium.btinternet.com>
References: <d83bb8e3.0111051555.27f8608a@posting.google.com> <3be73527$0$51828$e2e8da3@nntp.cts.com>
> > I'm trying to estimate the number of Rx BDs I need.  One way is to use
> > a "large" number of Rx BDs, and then experimentally determine the high
> > water mark and then trim down the number.   I'm wondering if there is
> > any analytical way to estimate it.
>
> Based on the information provided, I think 6 should be enough. QED :-)
42 is a better answer.....  Just find the question.
You almost certainly, definitely, need more than 6.  But 5 won't work at
all!
It really depends on the workload and whether any buffers are going to be
left lurking anywhere.
You need 6 to be able to assemble a single 8kb UDP datagram for NFS.
However if a ethernet frame gets lost, or you are acting as an NFS server
for a Unix system, you need to be able to assemble multple NFS datagrams.
If you want to receive large IP frames from anywhere else you need the
buffers to assemble the full length frame.
For TCP rx buffers probably hold data while requesting retransmission of
missing blocks.  So the stack will get into a buffer crisis if you have
less buffers available than the window size.  The stack might recover from
this one...
I've only ever seen 2 mblks stolen from the rx pool for other purposes,
rx packets are unlikely to be dup'ed, so you don't need extra mblk and cblk
structures for your data buffers.
I don't know whether vxWorks queues rx frames at sockets (waiting for a
read)
but a normal system will read any such data off moderately quickly.  This
was always a 'problem' area on unix for ttys - where you could end up with
1 byte of data in a 2k streams buffer being assembled by the line dicipline
code  (not quite as bad as trying to flow control 0 length messages).
Once you've sorted rx buffers, try the tx ones - much harder :-)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Network stack test [was: Pre-empting tNetTask]
Date: 06 Nov 2001 11:07:42 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uelnbdgs1.fsf_-_@yahoo.com>
References: <ede7a042.0111021550.440b73e1@posting.google.com> <newscache$cledmg$e9g$1@lnews.actcom.co.il>
Sender: bpringlemeir@DeadDuck
>>>>> "Leonid" == Leonid Rosenboim <Dont_Spam_Leonid@Consultant.com> writes:
[snip]
 Leonid> to be connected into.  If you expect it to connect to a
 Leonid> public network, keep in mind this is a harsh place and bad
 Leonid> things are bound to happen...
There use to be test that would send different TCP/UDP/IP packets at a
box to test it for various bugs.  I ran this on NT 3.?? and it reset
the machine.  I believe that we ran it against an older version of
vxWorks.  A denial attack stop the box for a while, but it came up
eventually.
Can anyone point me to these test?  I don't know if it was Satan,
angel, etc.  Maybe there are others?  Has anyone tried these on more
recent versions of vxWorks?  I suppose CPU/network drivers would also
be wise to test against (as well as open ports).
regards,
Bill Pringlemeir.
- --
Allowedness is the form of works of art.  WHY?
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: 802.1d/p/q shims and IP_TOS bits
Date: 6 Nov 2001 16:49:35 GMT
From: Troy Cauble <troy@bell-labs.com>
Organization: Bell Labs, Holmdel, NJ, USA
Message-ID: <9s94av$8un@nntpb.cb.lucent.com>
Hi all,
I have some prototype code that uses etherOutputHookAdd()
to add a function that inserts 802.1d/p/q tag headers
or sets the IP_TOS bits in certain outbound packets.
There are several things I don't like about this approach.
Also, I've read that the etherHook functionality is going
away.
Is there a better way to do these things in VxWorks (5.4)?
What would it take to get setsockopt(IP_TOS) to work?
Is there a standard interface (setsockopt?) for the 802.1d/p/q
stuff?
Thanks,
- -troy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Wind Web Server
Date: 6 Nov 2001 09:56:36 -0800
From: m_kovalmudi@yahoo.com (Madhu Kovalmudi)
Organization: http://groups.google.com/
Message-ID: <17774c2b.0111060956.227e2907@posting.google.com>
Hi
Anybody know , how the QUERY_STRING in the wind web srever is given to
a parse function, In the sense that does it already replaces the
escsaped characters?
I am having a problem , with strings , which have alphanunmeric
chracters & and =,(not the regular delimiters). I have excaped them
with the appropriate %(HEX-VAL), yet when the QUERY_STRING is returned
all the escaped characters are being replaced with the orginal
characters confusing the parser.
Any work around for this.
Madhu
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks AE Boot Image
Date: Tue, 6 Nov 2001 15:54:16 -0500
From: "David Masse" <dmasse@ele.etsmtl.ca>
Organization: Universite du Quebec
Message-ID: <9s9inu$gv7$1@Tropolix.UQSS.UQuebec.CA>
Hi,
I'm a new user of VxWorks AE and we are designing a board with a PowerPC
MPC860.  We use the first part of a flash memory as bootROM.  Because it's a
new board, I build my own BSP based on mdpmPro8xxT BSP.  My question is what
file exactly I need to load in flash memory in order to boot VxWorks.
I just want a basic VxWorks image that will allow me to use the Tornado
Host-Target tools to develop my application.  I create a bootApp project
(generated from my new BSP) to build bootApp_romCopy.  This generate the
bootApp_romCopy (with no extension) file.  Does that file is the VxWorks
image that I need to load in the flash memory.  If yes, does it contains the
boot objects that run in ROM and the VxWorks system image that will be
loaded in RAM?  The bootApp_romCopy is not supposed to be generated in .bin
or .hex format?
Finally, I want to know what is the difference between the ROM image created
by a bootApp project and a system project.
Thanks!
- - David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Ram device
Date: 6 Nov 2001 13:04:15 -0800
From: adrianloca@yahoo.com (Adrian)
Organization: http://groups.google.com/
Message-ID: <aaf6cd7b.0111061304.70558cdd@posting.google.com>
Hello,
After creating the ram device using the following commands,
pBlkDev = ramDevCreate (0, 512, 500, 500, 0);
pVolDesc = dosFsMkfs ("/ramDev", pBlkDev);
...
What to do to delete this ram device? Got blocked here...
Any suggestions? Thanks in advance.
- -Adrian
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: Tue, 6 Nov 2001 22:01:19 -0000
From: "martin brook" <vgrade@btinternet.com>
Organization: BT Internet
Message-ID: <9s9mbf$i6b$1@uranium.btinternet.com>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk> <Xns9150723555487borkhuisagerecom@135.7.153.102>
They don't miss a trick at WRS :)
Johan Borkhuis <borkhuis@agere.com> wrote in message
news:Xns9150723555487borkhuisagerecom@135.7.153.102...
> Mark Durham <mark@rosedene.demon.co.uk> wrote:
>
> > Hi,
> >
> > I've searched the WindSurf area at WRS and cannot find any details on
> > how to upgrade the version of GCC that shipped with Tornado 2.0
> >
> > Is it just a case of getting the latest NT binaries and libraries for
> > GCC and installing them?
>
> What architecture are you looking for? There is the PPC version from Dave
> Korn.
> But WindRiver has just started shipping Tornado 2.1, and this includes a
> newer version of the compiler, so you should ask your FAE or sales rep for
> this. Not all architectures are available however.
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
>     >(________|__|_[_________]_|__________________________|
>     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Errno = 0x550
Date: 6 Nov 2001 15:50:12 -0800
From: quadmail@yahoo.com (Alex)
Organization: http://groups.google.com/
Message-ID: <7b99c091.0111061550.732661d0@posting.google.com>
How would one find out what the english translation for Errno = 0x550 is?
Thanks, Alex
---------------------------
Newsgroups: comp.os.vxworks
Subject: loadModule and task error
Date: Wed, 07 Nov 2001 00:00:17 GMT
From: "Kelly Hornsby" <klh1964@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com>
Hello All
Here's my situation:  I've created a memDev in my flash area on my PPC750
board, and I've dumped an ELF image (that runs ok) into the flash area that
the memDev covers.  I can go to the command shell and do the following with
no error:
fd = open("/mem/flash/0", 0777,0777);
status = loadModule(fd,1)
And my ELF image in flash is loaded and ready to go, with all symbols
present.
However...
when I dump those two lines into a routine, and compile the routine and
download it, I get an illegal instruction error when I attempt to run the
routine containing the two lines above.  the routine fails on the loadModule
call.
Any ideas on this?  Has anyone else done *large* image loads using
loadModule programmatically?
thx for any inputs
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: loadModule and task error
Date: 06 Nov 2001 19:21:59 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <usnbrbfbs.fsf@yahoo.com>
References: <lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com>
Sender: bpringlemeir@DeadDuck
>>>>> "Kelly" == Kelly Hornsby <klh1964@home.com> writes:
[snip]
 Kelly> However...  when I dump those two lines into a routine, and
 Kelly> compile the routine and download it, I get an illegal
 Kelly> instruction error when I attempt to run the routine containing
 Kelly> the two lines above.  the routine fails on the loadModule
 Kelly> call.
 Kelly> Any ideas on this?  Has anyone else done *large* image loads
 Kelly> using loadModule programmatically?
You must compile your image to include symbols.  Do the following,
- -> lkup "printf"
- -> @lkup "printf"
If both return identical values, then this is not your problem.  If
they do not, you must build an image with symbols include in order to
use loadModule `programmatically'.  I think this is probably it.
hth,
Bill Pringlemeir.
- --
I fill MY industrial waste containers with old copies of the `WATCHTOWER'
and then add HAWAIIAN PUNCH to the top..  They look NICE in the yard.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Pre-empting tNetTask
Date: 6 Nov 2001 17:02:36 -0800
From: satyam_k@hotmail.com (Satyam)
Organization: http://groups.google.com/
Message-ID: <ede7a042.0111061702.786a664b@posting.google.com>
References: <ede7a042.0111021550.440b73e1@posting.google.com> <newscache$cledmg$e9g$1@lnews.actcom.co.il>
Thank You Guys for the Response!!!
I just thought of updating on this.
1. Without further going into details, I can say this much: I know the
   reason why IP stack is faced with handling so much traffic. But
   I don't have the option of avoiding the situation. That is beause
   of the SW architecture coupled with the HW design. So the answers
   like "don't overload the system" didn't help me (Anyway thanks
   for the guys who responded.)
2. Thanks for Sudha for advising me to be cautious about changing
   the priority of the tasks (Changing the pririoty actually helped
   to solve the problem - Stopping the traffic). But I am not really
   inclined for this solution.
3. So far the plausible solution came from Leonid (Thanks alot) which
   I need to try out yet.
"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$cledmg$e9g$1@lnews.actcom.co.il>...
> This is a classic issue (hint: should be in the FAQ):
>
> It is one of the oldest advantages of VxWorks, with respect to other
> RT and non-RT OSes, is that the TCP/IP protocol handling, which
> could be dangerous when deterministic R-T performance is needed,
> is assigned to a particular task. This allows the application designer
> to decide how "important" the network si relative to the other tasks
> within the system and assign the tNetTask priority accordingly.
> Most Unixc systems perform the stuff tNetTask does at interrupt level,
> which will allways preempt any application code.
>
> So the best thing to do, is to LOWER the priority of tNetTask, so it is
> lower
> then anything which is more important then the net.
>
> Or course, from you rdescription it seems there are situations where the CPU
> is siimply not powerful enough to handle it all. This lkeads me to recommend
> you
> to modify the Ethernet driver, to throttle the amount of incoming packets in
> order
> to avoid the CPU takeover by tNetTask.
>
> Anything beyond this strongly depends on the nature of your application,
> and the type of network you expect your target to be connected into.
> If you expect it to connect to a public network, keep in mind this is a
> harsh
> place and bad things are bound to happen...
>
> HTH,
>  - Leonid
>
> "Satyam" <satyam_k@hotmail.com> wrote in message
> news:ede7a042.0111021550.440b73e1@posting.google.com...
> > Hi,
> >
> > I am not sure there was already a thread for this question. If so,
> > please point it to me.
> >
> > When we continuously send traffic to the system, the tNetTask which
> > handles the IP traffic takes so much time that other tasks are
> > starving for the CPU time. This is what I observed under the default
> > task scheduling in vxWorks. Could anybody point me to the way where
> > we can make other tasks get some CPU time ?
> >
> > Thanks,
> > Satyam
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to bind two or more IP addresses with one Ethernet port
Date: 6 Nov 2001 17:05:45 -0800
From: satyam_k@hotmail.com (Satyam)
Organization: http://groups.google.com/
Message-ID: <ede7a042.0111061705.4b7340af@posting.google.com>
References: <221caa76.0111060304.54b743a5@posting.google.com>
I don't know about PPC8260, but in vxWorks, the call
ifAddrAdd () (check the documentation for the syntax)
will add another (secondary) IP address to the same port
HTH
/Satyam
kevinatnj@yahoo.com.cn (kewin) wrote in message news:<221caa76.0111060304.54b743a5@posting.google.com>...
> Hi all
>
>    I need your generous help.Does anybody have the experience to bind
> two IP addresses with one Ethernet port for PPC8260 FCC.
>
> Any advice will be welcome.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado II under Win2k
Date: 6 Nov 2001 17:12:01 -0800
From: seado@21cn.com (Seado)
Organization: http://groups.google.com/
Message-ID: <ba0cd0e3.0111061712.8fcd667@posting.google.com>
References: <9s8n38$5cp$1@wanadoo.fr>
"Choumpili" <choumpili.work@wanadoo.fr> wrote in message news:<9s8n38$5cp$1@wanadoo.fr>...
> After installing the 2 patches from WindRiver for Tornado II (spr62517, and
> sprT2CP3),
> I get an error
> "WTX Error 0x100de (AGENT_COMMUNICATION_ERROR)
>
> when downloading an application code, which fails and never completes
>
> I used to run exactly the same way under WinNT, Service pack 5: I had no
> issue, no error message
> But since the upgrade to Win2k, I face this problem
>
> Any idea?
> Choumpili
Download Windriver's Win2k patch, or change your registry setting. Change
'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Network, Atm and vxworks
Date: Wed, 7 Nov 2001 01:15:13 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9sa1nu$fb8$1@neptunium.btinternet.com>
References: <9s8e9j$6jt$1@wanadoo.fr>
> 3. Does anyone know how to expand the select mechanism so that I could
>     have 1024 pendings sockets?
Dunno - reverse engineer the whole lot?
Actually we had trouble with a Unix SVR4 system because poll() (what
select()
is based on in that system) is actually o(n^2) in the number of FDs being
looked at!  So setting up a lot of connections was o(n^3).
(In this case the limiting factor was the singly linked list of blocks of
(about) 20 FDs on the 'u' area...)
Maybe you need to rework things!
vxWorks won't be as bad, but setting up connections will be o(n^2).
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks AE Boot Image
Date: 6 Nov 2001 21:57:27 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111062157.5eb96e79@posting.google.com>
References: <9s9inu$gv7$1@Tropolix.UQSS.UQuebec.CA>
Hello,
> I'm a new user of VxWorks AE and we are designing a board with a PowerPC
> MPC860.  We use the first part of a flash memory as bootROM.  Because it's a
> new board, I build my own BSP based on mdpmPro8xxT BSP.  My question is what
> file exactly I need to load in flash memory in order to boot VxWorks.
>
> I just want a basic VxWorks image that will allow me to use the Tornado
> Host-Target tools to develop my application.  I create a bootApp project
> (generated from my new BSP) to build bootApp_romCopy.  This generate the
> bootApp_romCopy (with no extension) file.  Does that file is the VxWorks
> image that I need to load in the flash memory.  If yes, does it contains the
> boot objects that run in ROM and the VxWorks system image that will be
> loaded in RAM?  The bootApp_romCopy is not supposed to be generated in .bin
> or .hex format?
Well, you get that choice. The file without an extension is an ELF
image which almost certainly won't work when programmed directly into
flash, but might be supported by an onboard monitor on some
development boards. In your case, I suspect that you are correct in
believing that you'll need a .bin or .hex file. To generate the .bin
or .hex files you have a number of choices...
1) You can explicitly request the format when using the command line
to build the project:
 % make bootApp_romCopy.bin
Execute that from within the project directory and it will build the
.bin file (substitute .hex if that's what you need).
2) You can set the default in the BSP directory. This will then be
used when you create a new bootApp project based on that BSP. To do
this, add the following to your BSP's Makefile
ROM_OUTPUT	= .bin
Again, substitute .hex if that's what you need.
3) Using the IDE, open the Build Settings for your bootApp project. In
that dialog, you will see a box labelled "Will Build" - change the
text there to be bootApp_romCopy.bin (or .hex), and the project will
build that file for you instead of the BSP's default.
For the system projects, the scheme is basically the same, but the
specifications are a little longer since they involve a build type
(e.g. debug or release). So, for example, your system build
specification might look like this for network loading:
PPC860gnu.debug. To create a ROM version of this, set the build
specification to PPC860gnu.debug_romCopy (or _romCompressed if you
want the compressed version). Then build the target sms_romCopy.bin
(or sms_romCompressed.bin for the compressed one). ['sms' is the
plural of sm, and .sm is the extension of the actual images built for
each domain you boot. The sms_XXX file contains all the domains in
your system.]
> Finally, I want to know what is the difference between the ROM image created
> by a bootApp project and a system project.
You don't say if you are familiar with VxWorks 5.4, or earlier. If you
are, the bootApp is the same as a bootrom in a 5.4 system. If not, a
bootApp is basically a small program that allows you to bootstrap your
development system over a network, or from a local file system. The
advantage is that the bootApp probably doesn't need to change very
often, if ever, but you can change the features in your main system
kernel as often as you need during development (cuts the number of
times you need to reprogram the flash dramatically).
When you are finished, and your system is ready, you can simply build
the ROM version of the system and replace the bootApp with it. That
will result in your system starting up without the need to boot the
main kernel from the remote location. If you are familiar with any
unix systems, the bootApp is the VxWorks equivalent of the openboot
ROM that starts a Sun box, or the lilo bootloaded often used with
Linux systems. The windows dual boot menu is the Microsoft version of
this.
HTH,
John...
> Thanks!
>
> - David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: loadModule and task error
Date: 6 Nov 2001 22:03:09 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111062203.17330c0c@posting.google.com>
References: <lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com>
Hello Kelly,
> Here's my situation:  I've created a memDev in my flash area on my PPC750
> board, and I've dumped an ELF image (that runs ok) into the flash area that
> the memDev covers.  I can go to the command shell and do the following with
> no error:
> fd = open("/mem/flash/0", 0777,0777);
> status = loadModule(fd,1)
>
> And my ELF image in flash is loaded and ready to go, with all symbols
> present.
>
> However...
> when I dump those two lines into a routine, and compile the routine and
> download it, I get an illegal instruction error when I attempt to run the
> routine containing the two lines above.  the routine fails on the loadModule
> call.
No answere, but I do have some questions...
1) Do you have the stack trace? Can you tell anything about the
address that is being executed when the instruction occurs?
2) Does your module contain C++ static objects (i.e. will the loader
need to execute any constructors as part of the load)?
3) Have you tried pointing the compiled version at a different file
system, say over a network to your development host?
4) How much stack does your task that is executing the load have?
Could it be running out?
HTH,
John...
> Any ideas on this?  Has anyone else done *large* image loads using
> loadModule programmatically?
>
> thx for any inputs
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to download a ASCII file to target when a target bootup?
Date: 6 Nov 2001 22:09:08 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111062209.1e2a9de5@posting.google.com>
References: <af40da0e.0111011842.2a076283@posting.google.com> <488e459a.0111012309.2a902efb@posting.google.com> <af40da0e.0111060154.6d13b4a3@posting.google.com>
Hello,
> Which component includes the functions of memDrv and memdrvbuild? When
> I run memDrv and memdrvbuild in windSh, it shows "undefined symbol".
> After check the kernel I built, all of utility components were
> included; all of kernel components (but shared memory objects) were
> included; all of IO system components (but dosdisk and RT11
> filesystem) were included.
memDrv is included by INCLUDE_MEMDRV in my AE system; I suspect that
it has the same name for 5.4. Check in the configAll.h file to see if
you can see it in there.
memdrvbuild is a host tool for creating the file systems. It should be
in your host/sun4-solaris2/bin or host/x86-win32/bin directory
(depending on your host type).
HTH,
John...
> The manual of memdrvbuild and memdrv does not mention their locations.
>
> Eagle
>
>
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0111012309.2a902efb@posting.google.com>...
> > Hello,
> >
> > Yeah, checkout the memDrv manual page, and the memdrvbuild host
> > utility. The latter will create a source file containing your files
> > and some init code to actually install it into the I/O system.
> >
> > Once done, and assuming that you have memDrv in your kernel, you can
> > call the init function and then access the file(s) as if they were
> > files on a regular file system (read-only of course).
> >
> > HTH,
> >
> > John...
> >
> > eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:<af40da0e.0111011842.2a076283@posting.google.com>...
> > > Might I add some ASCII files(eg. .html) to the bootable image?
> > > Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: from where to download Tornado prototyper
Date: 6 Nov 2001 23:38:20 -0800
From: anubhavsaksena@yahoo.com (Anubhav Saksena)
Organization: http://groups.google.com/
Message-ID: <9ee41a72.0111062338.6680b89d@posting.google.com>
References: <9ee41a72.0111020212.562b92e0@posting.google.com> <f3fd65bc.0111050326.325ee0e1@posting.google.com>
thanks Rags
but i found the solution.
Anubhav
b.a.raghavendra@delphiauto.com (Rags) wrote in message news:<f3fd65bc.0111050326.325ee0e1@posting.google.com>...
> Hi,
> When registring you might have entered an USERID and PASSWORD, that
> will be your login information. I think you may not get any mail
> regarding that. Make sure LOGIN and PASSWORD are case sensitive.
> Also at Download center once you login you will find DEMO version of
> tornado
>
> May I have helped you
>
> Rags
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Network, Atm and vxworks
Date: Wed, 7 Nov 2001 08:35:51 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9sao8o$r05$1@snoopy.bndlg.de>
References: <9s8e9j$6jt$1@wanadoo.fr>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95249d3.dip.t-dialin.net
Hi Red,
for 1. and 2. - sorry.
For 3.: ask WRS for a recompiled selectLib.o. We did it for a project and
have it now with 8192 channels in parallel.
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Red Fenris" <mail@fenris.com> schrieb im Newsbeitrag
news:9s8e9j$6jt$1@wanadoo.fr...
> Hi
>
> a few questions :
>
> 1. Does anyone know about a port of Harp stack on VxWorks ?
>
> 2. Where could I find information on addDomain and addSockLib functions ?
>
> 3. Does anyone know how to expand the select mechanism so that I could
>     have 1024 pendings sockets?
>
> TAD
> Fab
>
>
> -----------------------------------------------------------------
> Support third world debt cancellation
> -----------------------------------------------------------------
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado II under Win2k
Date: Wed, 7 Nov 2001 09:16:39 +0100
From: "Choumpili" <choumpili.work@wanadoo.fr>
Organization: Wanadoo, l'internet avec France Telecom
Message-ID: <9saqq7$sjr$1@wanadoo.fr>
References: <9s8n38$5cp$1@wanadoo.fr> <ba0cd0e3.0111061712.8fcd667@posting.google.com>
That's what I mentionned just before: I already downloaded the patch
spr62517, and sprT2CP3 for Win2K
I also tried with changing the registry value, with no success
Anyother idea?
Thanks
Choumpili
>
> Download Windriver's Win2k patch, or change your registry setting. Change
> 'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: WTX Error 0x10197 (EXCHANGE_TIMEOUT)
Date: 7 Nov 2001 00:58:24 -0800
From: sudha@volcanomail.com (Sudha)
Organization: http://groups.google.com/
Message-ID: <4acf3137.0111070058.354abaeb@posting.google.com>
References: <68ef19de.0111060126.4ea30ba1@posting.google.com>
Hi Monisha,
As you said, this is a typical error when the target server cannot
know (or connect) where (to) the target agent is. Could be because of
a break in your backend connection. Usually, the target server tries
to re-connect, but incase if this too fails, then something went awry
on the target side coz of your code. The target agent isn't able to
respond to the target server. Try to ping, if the target is still
alive... else you may need to re-boot the target and debug your code.
Sudha.
monishabarooah@yahoo.com (Monisha Barooah) wrote in message news:<68ef19de.0111060126.4ea30ba1@posting.google.com>...
> Hi,
>  I am receiving this error after I execute my code for a specified
> interval.
>
> WTX Error 0x10197 (EXCHANGE_TIMEOUT)
> value = -1 = 0xffffffff
>
> Does this has anything to do with my code or is it just because of the
> connection timeout between the host and the target due to some other
> reason.
> Regards,
> Monisha.
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Wed Nov  7 05:41:16 2001
From: "Nanda" <nanda@procsys.com>
Date: Wed Nov  7 05:41:19 PST 2001
Subject: VxWorks booting using the END driver
This is a multi-part message in MIME format.
------=_NextPart_000_0031_01C167BF.EBBFBAF0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi,
I am in the process of testing the GbE END driver integrating with my =
BSP based on  a QED MIPS R7000 processor. The driver is integrated with =
the BSP and the VxWorks image built using the BSP is working fine. I am =
booting this VxWorks image using another 100Base-T interface present in =
my BSP. Once the VxWorks image comes up i am able to ping the GbE =
interface (which is the second interface on my board) and is able to run =
target server on this.
Now when i make the bootrom and use this image in the FLASH and tries to =
boot VxWorks image using the GbE interface it is crashing. So from the =
crash dump we found that it is crashing at the muxDevLoad() while taking =
a semaphore. We thought the muxLibInit() might not have called and we =
called this function in bootConfig.c. Then everything is fine. Later we =
traced the path of the muxLibInit() and found that it is getting called =
only when the TSFS boot is enabled. I am having doubts on this. Anyone =
has used the END driver to boot the VxWorks image and can give any =
insights to the problem i am facing. Any clues will be a big help for =
me.
Regards,
Nandan
------=_NextPart_000_0031_01C167BF.EBBFBAF0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I am in the process of testing&nbsp;the =
GbE END=20
driver integrating with my BSP based on&nbsp; a QED MIPS R7000 =
processor. The=20
driver is integrated with the BSP and the VxWorks image built using the =
BSP is=20
working fine. I am&nbsp;booting this VxWorks image&nbsp;using another =
100Base-T=20
interface present in my BSP.&nbsp;Once the VxWorks image comes up i am =
able to=20
ping the GbE interface (which is the second interface on my board) and =
is able=20
to run target server on this.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Now when i make the bootrom and use =
this image in=20
the FLASH and tries to boot VxWorks image using the GbE interface it is=20
crashing. So from the crash dump we found that it is crashing at the=20
muxDevLoad() while taking a semaphore. We thought the muxLibInit() might =
not=20
have called and we called this function in bootConfig.c. Then everything =
is=20
fine. Later we traced the path of the muxLibInit() and found that it is =
getting=20
called only when the TSFS boot is enabled. I am having doubts on this. =
Anyone=20
has used the END driver to boot the VxWorks image and can give any =
insights to=20
the problem i am facing. Any clues will be a big help for =
me.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Nandan</FONT></DIV></BODY></HTML>
------=_NextPart_000_0031_01C167BF.EBBFBAF0--
From vxwexplo-errs@csg.lbl.gov  Wed Nov  7 13:43:53 2001
From: "Smith, Mike" <Mike_Smith@littonas.com>
Date: Wed Nov  7 13:43:55 PST 2001
Subject: Inconsistent Machine Check Exception Handling with VxWorks 1.01 o
Hi Everyone,
Has anyone experienced inconsistent "machine check" exception handling?  I'm
using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU.  I've
developed an exception handler in C that advances the exception-causing task
to its next instruction instead of suspending the task as done by the
default exception handler.  I connect this handler to the machine check
exception vector using excVecSet.  I can easily generate machine check
exceptions by reading an unpopulated VME address.  Following successful
handling of 2-7 consecutive machine checks, the host-to-target communication
links (ethernet and serial) crash on the last exception and I lose all
contact with the target.  I think my exception handler is o.k., because my
handler works fine for several machine check exceptions before crashing.
However, maybe there's something flaky about recovering from machine check
exceptions that you may know about.  Other types of exceptions (i.e., data
access and alignment) are consistently handled correctly by my handler.
Thanks for your help in advance,
Mike
From vxwexplo-errs@csg.lbl.gov  Wed Nov  7 15:51:49 2001
From: Jim Giles <jgiles@nuvasive.com>
Date: Wed Nov  7 15:51:51 PST 2001
Subject: VxWorks file I/O for x86 target : ioLib vs stdio
Hello:
We've implemented file I/O on embedded PCs using stdio.h functions and
ioLib.h functions.  The stdio.h versions seemed to have problems when
multiple
tasks are writing to multiple hard disk files.
Has anyone noted similar problems?
Thanks,
Jim
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Nov  8 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Nov  8 04:03:12 PST 2001
        Subject: Re: RIP v1, v2
        Subject: clock corruption
        Subject: rebootAddHook() ???
        Subject: Re: 802.1d/p/q shims and IP_TOS bits
        Subject: undefined relocation
        Subject: Re: Errno = 0x550
        Subject: END HDLC driver
        Subject: Re: clock corruption
        Subject: Linking all objects from an archive file
        Subject: Re: Updating GNU C Compiler
        Subject: Re: clock corruption
        Subject: Shared Memory Network Error (4e0009)
        Subject: Re: Using dependencies in different dirrectories?
        Subject: RPC server protocol switching?
        Subject: FAQ: Tundra Universe II interrupt example
        Subject: Re: rebootAddHook() ???
        Subject: Re: write protecting vector table
        Subject: Re: Tornado II under Win2k
        Subject: how to delete a IP address
        Subject: Re: Max #of END objects connected to the MUX?
        Subject: Re: Linking all objects from an archive file
        Subject: Solaris shared memory error
        Subject: Re: 860 SCC Driver
        Subject: Re: Solaris shared memory error
        Subject: tornado and windows 2000
        Subject: How to attach a signal to a pipe
        Subject: Re: write protecting vector table
        Subject: "tSnmpd" exception
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: RIP v1, v2
Date: Tue, 6 Nov 2001 22:30:24 -0500
From: "nraju" <nraju@mindspring.com>
Organization: MindSpring Enterprises
Message-ID: <9sbcc1$t6g$1@slb1.atl.mindspring.net>
References: <PlAF7.23298$OE1.3404998@carnaval.risq.qc.ca>
vxWorks does support RIP. Other dynamic protocols like OSPF need to be
purchased
separately. I think, you need to include #define INCLUDE_RIP oin the
configdb.h file after undefing it.You should be able to see tRipTsk and
RipTimerTask
on the system.
"Thierry De Corte" <tdecorte@wavesat.com> wrote in message
news:PlAF7.23298$OE1.3404998@carnaval.risq.qc.ca...
> Hi all,
>
>     I'm trying to enable dynamic routing on a board running VxWorks.
Static
> routing is working but I was not able to use dynamic routing. I'm kind of
> surprise that it doesn't work since dynamic RIP routing is part of the BSD
> implementation...
>
>     So my question is: Does VxWorks support Dynamic routing for RIP? If
yes
> how do you make it work?
>
> Thanks,
> Thierry De Corte
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: clock corruption
Date: Wed, 07 Nov 2001 14:22:03 +0100
From: Ross Staton <Ross.Staton.GP@icn.siemens.de>
Organization: Siemens Inc.
Message-ID: <3BE9357B.5C95906F@icn.siemens.de>
We have 4 VxWorks targets all trying to download different files via FTP
from the same VxWorks-based system controller at the same time during
startup.
The problem is that 2 out of every 3 attempts fail because the time on
the system controller board gets corrupted and we don't know why.
The tick counter continues to work correctly, incrementing at 100Hz, but
at some point the clock jumps forward 2 hours, and must be reset to
network time using ntpDate() before the FTP downloads will work.
I notice that the function used to calculate current time is
clock_gettime() and this function returns 0 when the clock is corrupt.
Does anyone know exactly how this function calculates the current time
based on the tick counter and what might cause this to go wrong?.
thanks
Ross
---------------------------
Newsgroups: comp.os.vxworks
Subject: rebootAddHook() ???
Date: 07 Nov 2001 08:37:30 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ubsiebt2d.fsf@yahoo.com>
Sender: bpringlemeir@DeadDuck
Can anyone who has used this function, or anyone with the source tell
me the context that the rebootHooks are called in?  Task, interrupt,
interrupts locked, any of the above including none?  It would be nice
if something was noted in the docs.
tia,
Bill Pringlemeir.
- --
Every sick person is a fool, right?  You make me sick.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 802.1d/p/q shims and IP_TOS bits
Date: Wed, 7 Nov 2001 17:27:43 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$vatfmg$9sj$1@lnews.actcom.co.il>
References: <9s94av$8un@nntpb.cb.lucent.com>
It's quite easy to set IP TOS with setsockoption(), find somewhere
a Unix example and follow it to the letter.
WIth 802.1Q however you are out of lack I'm afraid,
either keep your etherHook, when its gone there will be
a MUX based equivalent, which is already implemented,
so you can switch to it right away - if my memory serves me well
its called SNARF or something.
"Troy Cauble" <troy@bell-labs.com> wrote in message
news:9s94av$8un@nntpb.cb.lucent.com...
>
> Hi all,
>
> I have some prototype code that uses etherOutputHookAdd()
> to add a function that inserts 802.1d/p/q tag headers
> or sets the IP_TOS bits in certain outbound packets.
>
> There are several things I don't like about this approach.
> Also, I've read that the etherHook functionality is going
> away.
>
> Is there a better way to do these things in VxWorks (5.4)?
>
> What would it take to get setsockopt(IP_TOS) to work?
>
> Is there a standard interface (setsockopt?) for the 802.1d/p/q
> stuff?
>
> Thanks,
> -troy
---------------------------
Newsgroups: comp.os.vxworks
Subject: undefined relocation
Date: Wed, 07 Nov 2001 10:59:04 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BE96858.AEE45454@fnal.gov>
hello,
when doing
- -> ld < myapp.o
i get
undefined relocation: 23
...
errors .... what is this? i get two three kind of error value besides
23. what is wrong? where can i find a doc telling me what this value
means?
regards,
dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Errno = 0x550
Date: Wed, 07 Nov 2001 11:13:44 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BE96BC8.287D7A0C@fnal.gov>
References: <7b99c091.0111061550.732661d0@posting.google.com>
Hi,
You may look into this file for a easy look up ...
host/resource/tcl/errnoTbl.tcl
though am not sure about 0x550 ... never seen it ... doubt if it is a
standard vxworks error code ...
hth,
dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: END HDLC driver
Date: Wed, 7 Nov 2001 12:25:10 -0500
From: "David Masse" <dmasse@ele.etsmtl.ca>
Organization: Universite du Quebec
Message-ID: <9sbqt1$536$1@Tropolix.UQSS.UQuebec.CA>
Hi,
Does anyone know if it exist an END driver for PowerPC MPC860 HDLC protocol
over SCCx serial channel?
Thanks!
- - David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Wed, 7 Nov 2001 18:21:02 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9sbtrm$j1n$1@uranium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de>
> The problem is that 2 out of every 3 attempts fail because the time on
> the system controller board gets corrupted and we don't know why.
>
> The tick counter continues to work correctly, incrementing at 100Hz, but
> at some point the clock jumps forward 2 hours, and must be reset to
> network time using ntpDate() before the FTP downloads will work.
Does the tick count jump?  Or is the offset to real time getting stuffed?
vxWorks uses a generic priority list for its timers, if you ask for a time
that is beyond 2^32 ticks, the tick count is reset to zero.  However
nothing adjusts the RTC value to match.
This usually happens if you call any of the timeout routines with a -ve
tick count.
(doesn't this one make the clock leap backwards though?)
>
> I notice that the function used to calculate current time is
> clock_gettime() and this function returns 0 when the clock is corrupt.
> Does anyone know exactly how this function calculates the current time
> based on the tick counter and what might cause this to go wrong?.
Dunno - routines like time() are horribly inefficient on vxWorks...
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Linking all objects from an archive file
Date: Wed, 07 Nov 2001 18:39:43 GMT
From: Stephane Bellemare <Stephane.Bellemare@lsil.com>
Message-ID: <3BE97F9C.A2C41CF6@lsil.com>
Hi,
Is there an easy way to link all objects from an archive file in a
vxWorks image without having to have a reference call to each of these
objects in the image project?
Thanks,
Stephane
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: Wed, 7 Nov 2001 19:01:46 +0000
From: Mark Durham <mark@rosedene.demon.co.uk>
Message-ID: <Payg8WAaUY67EwFq@rosedene.demon.co.uk>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk>
 <Xns9150723555487borkhuisagerecom@135.7.153.102>
Thanks for the info. I'm in contact with our FAE and requesting v2.1
In article <Xns9150723555487borkhuisagerecom@135.7.153.102>, Johan
Borkhuis <borkhuis@agere.com> writes
>Mark Durham <mark@rosedene.demon.co.uk> wrote:
>
>> Hi,
>>
>> I've searched the WindSurf area at WRS and cannot find any details on
>> how to upgrade the version of GCC that shipped with Tornado 2.0
>>
>> Is it just a case of getting the latest NT binaries and libraries for
>> GCC and installing them?
>
>What architecture are you looking for? There is the PPC version from Dave
>Korn.
>But WindRiver has just started shipping Tornado 2.1, and this includes a
>newer version of the compiler, so you should ask your FAE or sales rep for
>this. Not all architectures are available however.
>
>Groeten,
>        Johan
>
- --
Hummm. Looks complicated ..... might need a bigger hammer!
Mark Durham (mark@rosedene.demon.co.uk)
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Wed, 07 Nov 2001 19:28:16 GMT
From: Ephraim Gadsby <a@b.c>
Organization: - minimal
Message-ID: <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>
References: <3BE9357B.5C95906F@icn.siemens.de>
On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton
<Ross.Staton.GP@icn.siemens.de> wrote:
>
>We have 4 VxWorks targets all trying to download different files via FTP
>from the same VxWorks-based system controller at the same time during
>startup.
>
>The problem is that 2 out of every 3 attempts fail because the time on
>the system controller board gets corrupted and we don't know why.
>
>The tick counter continues to work correctly, incrementing at 100Hz, but
>at some point the clock jumps forward 2 hours, and must be reset to
>network time using ntpDate() before the FTP downloads will work.
>
>I notice that the function used to calculate current time is
>clock_gettime() and this function returns 0 when the clock is corrupt.
clock_gettime() returns ERROR (-1) if you didn't give it a sensible
set of parameters or OK (0) otherwise. It makes no integrity check on
the time.
>Does anyone know exactly how this function calculates the current time
>based on the tick counter and what might cause this to go wrong?.
>
It just keeps a reference tick/timespec pair and converts ticks
elapsed since the reference point into seconds/nanoseconds elapsed and
thus into an absolute timespec (based on 1970).  Its in clockLib.c.
First,  have you established that the tick-count itself doesn't jump?
You may have some code that is manipulating vxTicks directly and
corrupting it.
If not then maybe something is setting the time.  You could wrap the
appropriate functions to see if anything is calling them (or use
breakpoints).
If all else fails you could write a function that detects the jump and
put it into a context-switch callout.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Shared Memory Network Error (4e0009)
Date: 7 Nov 2001 11:32:35 -0800
From: bprettyman@soneticom.com (Bill Prettyman)
Organization: http://groups.google.com/
Message-ID: <9b09b30e.0111071132.7cd367a1@posting.google.com>
We are running an application on a MPC750 which uses TCP/IP to send
Status Poll messages every 5 seconds to an Artesyn BajaSpan (MPC860)
which responds with Status Poll Response messages.  After a few hours
of normal operation we see a few of the following error on the 750:
SmIfStartOutput:smPktSend failed 0x4e0009
Not long after the 750 reports smPktFreeGet [4e0009] errors and
eventually the poll messages are not received by the 860.  It appears
as though SMN has a bug which causes it to develop constipation -
filling up its buffers for some unknown reason.
Has anyone else encountered this situation?  What causes the error
4e0009 (S_smPktLib_INCOMPLETE_BROADCAST)?
Any help would be appreciated.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Using dependencies in different dirrectories?
Date: 7 Nov 2001 11:44:51 -0800
From: dragonli@yahoo.com (June)
Organization: http://groups.google.com/
Message-ID: <d48fa963.0111071144.30430efd@posting.google.com>
References: <v341ttss8ibrbt88vgoont48mujohrkaig@4ax.com> <DH5A7.42998$T24.19780279@typhoon.san.rr.com> <of21utkjhs0ukqcb9tc0pvpbolmvh7cjoa@4ax.com>
Hi, David,
why you change the MACROs? How did you change it? Can you tell me?
For the situation you mentioned before, what i did is i include
- -Ipath/path into the c/c++ compiler and also i will remove the files
which contain the dependencies from the project and then add them
back, finally rebuild the dependencies. It works well.
But my problem is when i had a large amount of files,  i have to
remove them one by one first and add them back and then regenerate the
dependencies. This is kind of wasting time.
I guess you have a good idea?
Thanks,
June
David  <coder@dharty.com.removeB4sending> wrote in message news:<of21utkjhs0ukqcb9tc0pvpbolmvh7cjoa@4ax.com>...
> Pat,
>
> Thanks for the reply, and sorry I didn't get back to you sooner.
>
> I had used the include paths you mentioned (-Ipath/path) but it turns
> out I also needed to make changes to the MACROs in the project
> setting.  I had to Create a VPATH variable and give it some parameters
> that I don't recall offhand.
>
> Anyway, thanks.
>
> David
---------------------------
Newsgroups: comp.os.vxworks
Subject: RPC server protocol switching?
Date: Wed, 7 Nov 2001 11:16:52 -0800
From: Andrew Spiehler <acspiehler@west.raytheon.com>
Organization: Raytheon Company
Message-ID: <MPG.1653287e620967bf9896c1@news>
If I have an RPC server registered as a TCP service and a UDP service, will
there be any performance loss incurred when service calls over different
protocols are made, or would I get better performance by having two servers,
one using UDP and one using TCP?
Andrew
---------------------------
Newsgroups: comp.os.vxworks
Subject: FAQ: Tundra Universe II interrupt example
Date: Wed, 07 Nov 2001 15:01:50 -0500
From: Piotr Adam Zolnierczuk <zolnie@pa.uky.edu>
Organization: University of Kentucky
Message-ID: <3BE9932E.7080006@pa.uky.edu>
Hi,
    does anybody have a working example on how to pass/handle interrupts
from
a VME device (it's a waveform digitizer) to a PPC running VxWorks?
I am a bit frustrated with the Tundra manual.
                Piotr
- --
 ________________________________________________________________
 Piotr Adam Zolnierczuk
 Dept. of Physics and Astronomy   http://www.pa.uky.edu/~zolnie
 University of Kentucky		  phone:  (859) 257-8740
 Lexington, KY 40506, USA         fax:    (859) 323-2846
 ________________________________________________________________
                   written on recycled electrons
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: rebootAddHook() ???
Date: Wed, 07 Nov 2001 20:05:30 GMT
From: dbrya@yahoo.com
Organization: http://www.newsranger.com
Message-ID: <eugG7.16485$xS6.25885@www.newsranger.com>
References: <ubsiebt2d.fsf@yahoo.com>
In article <ubsiebt2d.fsf@yahoo.com>, Bill Pringlemeir says...
>
>
>Can anyone who has used this function, or anyone with the source tell
>me the context that the rebootHooks are called in?  Task, interrupt,
>interrupts locked, any of the above including none?  It would be nice
>if something was noted in the docs.
>
Bill,
Actually the reboot() entry reads:
"This routine returns control to the boot ROMs after calling a series of
preliminary shutdown routines that have been added via rebootHookAdd( ),
including routines to reset all network devices. After calling the shutdown
routines, interrupts are locked, all caches are cleared, and control is
transferred to the boot ROMs. "
So clearly interrupts will always be shut down immediately AFTER the hooks run.
However, reboot() itself may be called from all contexts.  If an exception
occurs while in interrupt context, reboot() is run in an interrupt context and
may have interrupts locked or have a specific level set.  If I type "reboot" in
the shell or explicitly call reboot() the routine will run in a task context. (I
believe hitting ^X in the shell will call reboot() from the tyLib ISR therefore
reboot() runs in interrupt context)
So to answer your question: one, many, or all of the above.  If you need to know
for your hook, use intCount() or intContext() and taskIdSelf() to see if you are
in interrupt context or which task you are executing in.  Each arch is
different, so you will probably have to read the CPU or interrupt controller
registers to see if interrupts are locked.
By the way, reboot calls happen in the following order:
excHooks -> reboot ->rebootHooks->
- ->intLock & cache clear(Invalidate)->sysToMonitor
If you want a consistent environment to run some cleanup code, you can always
add code to sysToMonitor() in sysLib.c in your BSP.
HTH
Dave
       T h e   P T R   G r o u p,   I n c.
    Embedded, Real-Time Solutions, and Training
David Bryan                      Manager, Embedded Services
www.ThePTRGroup.com              Dave@ThePTRGroup.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: write protecting vector table
Date: Wed, 7 Nov 2001 18:24:01 -0600
From: "Leland Mills" <lelandm@nortelnetworks.com>
Organization: Nortel
Message-ID: <9scja2$bjc$1@bcarh8ab.ca.nortel.com>
References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com>
Dan,
I noticed your post below.  Our product has the hooks in excVecSet that you
mention for write protection of the interrupt vector.  I've inherited a task
right now and I was wondering if you could offer an opinion.  Would it also
be possible to modify excVecGet such that the vector table could also be
read-protected?  I don't immediately have the ability to change and
recompile the OS code, so I'm not able to experiment readily and verify.  As
far as I can read, the interrupt processing procedures go to physical memory
store 0x00000000 (or 0xFFF00000), and don't pay any attention to what the
MMU says about whether a page is accessible.  Are there any other gotcha's?
Thanks,
Leland Mills
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado II under Win2k
Date: 7 Nov 2001 17:08:26 -0800
From: seado@21cn.com (Seado)
Organization: http://groups.google.com/
Message-ID: <ba0cd0e3.0111071708.2901a174@posting.google.com>
References: <9s8n38$5cp$1@wanadoo.fr> <ba0cd0e3.0111061712.8fcd667@posting.google.com> <9saqq7$sjr$1@wanadoo.fr>
"Choumpili" <choumpili.work@wanadoo.fr> wrote in message news:<9saqq7$sjr$1@wanadoo.fr>...
> That's what I mentionned just before: I already downloaded the patch
> spr62517, and sprT2CP3 for Win2K
> I also tried with changing the registry value, with no success
>
> Anyother idea?
> Thanks
> Choumpili
>
> >
> > Download Windriver's Win2k patch, or change your registry setting. Change
> > 'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address.
Package sprT2CP3 should be installed first. I have a Win2K with SP2,
installed sprT2CP3 and spr35949 (included in spr62517), everything is
ok.
---------------------------
Newsgroups: comp.os.vxworks
Subject: how to delete a IP address
Date: 7 Nov 2001 18:42:53 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111071842.52f7f76a@posting.google.com>
hi all
  I have used IfAddrAdd() to add the second IP adrress to one ethernet
interface.But something is puzzling me,how can I delete the it.I mean
delete the specific IP without affecting the other IP addresses.
Any advice will be welcome
kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Max #of END objects connected to the MUX?
Date: Thu, 8 Nov 2001 04:30:08 +0100
From: snacjj@sbell.com.cn
Organization: Telefonica Transmision de Datos
Message-ID: <3BE9FC40.000035.23568@nexusnet2.accio.com>
References: <d491dc78.0111051412.4f5c3f98@posting.google.com>
Hi, you can change it in the file ConfigNet.h=0D
=0D
there are lines =0D
#ifndef IP_MAX_UNITS=0D
#   define IP_MAX_UNITS (NELEMENTS (endDevTbl) - 1)=0D
#endif=0D
=0D
change them as you need.=0D
=0D
>Hello,=0D
>=0D
>I am wondering if anybody knows what the maximum number of END objects=0D
>that can be attached to the MUX is?  If there is a set limit, is there=0D
>someplace where a user can change it?=0D
>=0D
>Thanks,=0D
>=0D
>Jason=0D
>=0D
=0D
<<<<>>>>=0D
Mensaje publicado mediante http://noticias.ipbusiness.com,=0D
las news a trav=E9s de web.=0D
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Linking all objects from an archive file
Date: 7 Nov 2001 20:46:29 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111072046.2959a1d@posting.google.com>
References: <3BE97F9C.A2C41CF6@lsil.com>
Hello,
If you really want to do this, and I am not sure that it is a wise
idea, the solution is to link them into a single .o file and add that
to your system. So, use ar<arch> x to extract all the .o files from
the archive, then use ld<arch> -r -o allLibs.o *.o to link them all
together.
Finally, if you build from a BSP, use MACH_EXTRA to add the .o to your
vxWorks build. If you use the IDE, I'm sure that there will be a way
there to add a .o file to the system too.
HTH,
John...
Stephane Bellemare <Stephane.Bellemare@lsil.com> wrote in message news:<3BE97F9C.A2C41CF6@lsil.com>...
> Hi,
>
> Is there an easy way to link all objects from an archive file in a
> vxWorks image without having to have a reference call to each of these
> objects in the image project?
>
>
> Thanks,
>
> Stephane
---------------------------
Newsgroups: comp.os.vxworks
Subject: Solaris shared memory error
Date: Thu, 08 Nov 2001 15:54:18 +1000
From: Graham Crawford <crawford@dstc.qut.edu.au>
Organization: Distributed Systems Technology CRC
Message-ID: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>
Hi,
I get the following error when I try and start certain Tornado
applications on
SPARC Solaris 2.8
gma_init_shm->shmget1: No space left on device
In particular the MWColorMgr gives this as well as the Launcher
Project application and the SETUP installer from the CDROM.  This
message seems to indicate that the shmmax kernel setting should be
increased.
Has anyone seen this or managed to correct the problem ?
- ---
Graham Crawford
DSTC
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 860 SCC Driver
Date: Wed, 7 Nov 2001 23:19:12 -0800
From: "Greg FitzJohn" <gregf@vertical.com>
Message-ID: <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net>
References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> <a5UD7.7178$xS6.9037@www.newsranger.com> <3BE14C8B.64CADA1A@baesystems.com> <BbwF7.13034$xS6.16386@www.newsranger.com>
Hi guys, I just finished writing a QMC HDLC (TDM mode) driver for the
MPC855T and now in the middle of debugging it.  Can either of you explain
what the CDP / CTSP / CDS / CTSS signals are needed for in non-NMSI (TDM)
mode?  I had to set these in the gsmr_h register to get data out of the chip
onto our TDM bus.  When using internal loopback everything is fine.  Our h/w
does not use these signals, I think they're just connected to pull-up
resistors.  I have the Port C PIO pins set as general I/O.  Any help would
be greatly appreciated.
Thanks,
Greg FitzJohn
Vertical Networks
408-522-7106
Diego Serafin <d.serafin@-NOSPAM-ieee.org> wrote in message
news:BbwF7.13034$xS6.16386@www.newsranger.com...
> In article <3BE14C8B.64CADA1A@baesystems.com>, Paul Caswell says...
> >
> >Hi Diego,
> >Thanks for the offer of help on the vxWorks newsgroup - its a shame
> >you're
> >not allowed to give away your efforts although I'm sure the same would
> >apply
> >to me.  Perhaps you let me know if the following approach is sensible:
> >
> >The problem:
> >We are building a communications card that will interface to a legacy
> >comms
> >network.  The network operates at 16 Kbps for signalling and traffic (32
> >
> >channels, 0 is framing, 1 is signalling).  The low level 'physical' and
> >'level 2' interface is done in an FPGA in hardware.  The FPGA provides
> >the
> >signalling (at a max of 16K) into one of the SCCs (probable SCC2). This
> >signalling will be used to drive a stack for call state control etc.
> >
> >My Proposed solution.
> >I was going to create a driver (based on ppc860Sio.c) for the SCC and
> >then
> >add it as a serial device to the system.  I was going to setup the SCC
> >params in sysSerial.c (similar to the standard serial interface setup
> >using
> >an SMC)  The SCC is then added as a serial device by ttyDevCreate in
> >usrSerial.c.  This would give me a file descriptor to interface to the
> >SCC
> >from vxWorks.
> >
> >We will have two trunks on our board, the above method would allow my
> >application to use select() to wait for data on either SCC.  As the data
> >
> >rates are slow (and not continuous) I think this should work.  What do
> >you
> >think ?
> >
> >Regards
> >
> >Paul Caswell
> >
>
> I think it should work. The system I'm working on is quite different and I
had
> to use TDM and
> QMC (QUICC Multi Channel) with many hi-speed channels producing a large
amount
> of
> data. I could not use the "standard driver" approach for performance
> constraints.
>
> I can only suggest you to pay attention to buffers and buffer descriptors
> allocation: it's
> better to put them in internal dual port RAM to reduce external bus cycles
but
> you have
> to be careful not to "overlap" other buffer (I did ... with a DMA buffer
> allocated in another
> module). I used SCCs as UART (NMSI mode, non-TDM) for WDB and for a target
shell
>
> connection to a dumb terminal.
> In this case I put all buffer stuff in sysSerial.c (sysSerialHwInit)
together
> with I/O
> ports setup and interrupt connection (sysSerialHwInit2). I left SCCMx,
CIMR,
> PSMRx,
> DSRx, GSMR_Hx and GSMR_Lx setup to a specific SCCx setup function I call
as
> first when I enter sysSerialHwInit(...). It should run without problems in
> TRANSPARENT
> mode too, but I did not try it.
>
> HTH,Ciao,
> Diego.
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Solaris shared memory error
Date: Thu, 8 Nov 2001 09:38:09 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$182hmg$3jl$1@lnews.actcom.co.il>
References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>
The problem is clearly pointing at the MainSoft's MainWin
middleware, which emulates Win32 on Unix.
Yes, parts of Tornado on Solaris are in fact Windoze apps
which where compiled with this middleware.
I searched MainSoft's web site but found no mention of either
Solaris 2.8 or the Semaphore specific error you quote.
Sorry,
 Leonid
"Graham Crawford" <crawford@dstc.qut.edu.au> wrote in message
news:3BEA1E0A.F1A99FF9@dstc.qut.edu.au...
> Hi,
>
> I get the following error when I try and start certain Tornado
> applications on
> SPARC Solaris 2.8
>
> gma_init_shm->shmget1: No space left on device
>
> In particular the MWColorMgr gives this as well as the Launcher
> Project application and the SETUP installer from the CDROM.  This
> message seems to indicate that the shmmax kernel setting should be
> increased.
>
> Has anyone seen this or managed to correct the problem ?
>
> ---
> Graham Crawford
> DSTC
---------------------------
Newsgroups: comp.os.vxworks
Subject: tornado and windows 2000
Date: Thu, 8 Nov 2001 09:45:54 +0100
From: "Bertram Tenner" <Bertram@rink-tenner.de>
Message-ID: <3bea46b3$0$188$4d4ebb8e@read.news.de.uu.net>
trying to install the Tornado 2.0 software under windows 2000 I get only the
uninstall shortcut in the tornado
program group. What can I do ?
Thanks for help
                           Bertram
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to attach a signal to a pipe
Date: 8 Nov 2001 00:48:01 -0800
From: levernb@thmulti.com (Bertrand Le Vern)
Organization: http://groups.google.com/
Message-ID: <375108d6.0111080048.3addfbea@posting.google.com>
I trying to find a way to attach a signal to a pipe.
A process writes datas into a pipe and the process at the other end of
the pipe, in a sleeping mode, is awaken by the signal.
This behaviour is possible with 0S9 and Linux (using IOCTL), and i'm
trying to find a similar behaviour with VxWorks, without using
select() or poll() functions equivalencies.
If you have any hints, i'm interrested in.
Thanx in advance
Bertrand
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: write protecting vector table
Date: Thu, 08 Nov 2001 10:46:54 +0100
From: "Fauris, Sebastien" <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BEA548E.259F74C6@europem01.nt.com>
References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com> <9scja2$bjc$1@bcarh8ab.ca.nortel.com>
It is working fine now.
I just needed to add a hook to all vxWorks routines
performing a modification of the vector table; they
are in the file excArchLib.c (routines excConnect,
excIntConnect, excCrtConnect, excIntCrtConnect,
excIntConnectTimer, excVecSet).
The hook is set up to call my routine to write
protect/unprotect the vector table on the fly.
However, I notice that the system is sensibly
slow down.
For information, the vmBaseStateSet routine
does not work on MPC860 but we got a patch from
Wind River.
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: "tSnmpd" exception
Date: 8 Nov 2001 03:45:00 -0800
From: cwnam@korealink.ne.kr (changwoo)
Organization: http://groups.google.com/
Message-ID: <3d64ee1a.0111080345.22801b4d@posting.google.com>
To all related in developing system using tornado.
while running tSnmpd in vxWorks, Exception was happened but I couldn't
figure out what is the reason. the message is like this :
Implementation Dependent Software Emulation
Exception current instruction address : 0x00000000
Machine Status Register  0x00009002
Condition register : 0x22000028
task : 0x1ec07c8 "tSnmpd"
Please help me out this problem. Any comment is appricieated
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 05:17:29 2001
From: "Baron, Ken" <ken.baron@baesystems.com>
Date: Thu Nov  8 05:17:31 PST 2001
Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks 1.	01 o
If you look into the machine check exception on the PowerPC you
will find that this exception may not be recoverable. There is
no hardware interrupt stack on the PowerPC. When an interrupt
or exception occurs, the machine state is saved in SRR0 and SRR1.
If a machine check exception occurs near the beginning of another
interrupt, before SRR0 and SRR1 are saved, then the machine check
(which is unmaskable) causes SRR0 and SRR1 to be overwritten and thus
you cannot recover. As far as I know, VxWorks does not distinguish
between the recoverable and non-recoverable machine checks. I protect
all my possibly-machine-check-causing code by disabling interrupts
or using vxMemProbe.
> Submitted-by vxwexplo-errs@csg.lbl.gov  Wed Nov  7 13:43:53 2001
> Submitted-by: "Smith, Mike" <Mike_Smith@littonas.com>
>
> Hi Everyone,
>
> Has anyone experienced inconsistent "machine check" exception handling?
> I'm
> using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU.  I've
> developed an exception handler in C that advances the exception-causing
> task
> to its next instruction instead of suspending the task as done by the
> default exception handler.  I connect this handler to the machine check
> exception vector using excVecSet.  I can easily generate machine check
> exceptions by reading an unpopulated VME address.  Following successful
> handling of 2-7 consecutive machine checks, the host-to-target
> communication
> links (ethernet and serial) crash on the last exception and I lose all
> contact with the target.  I think my exception handler is o.k., because my
> handler works fine for several machine check exceptions before crashing.
> However, maybe there's something flaky about recovering from machine check
> exceptions that you may know about.  Other types of exceptions (i.e., data
> access and alignment) are consistently handled correctly by my handler.
>
> Thanks for your help in advance,
> Mike
>
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 07:17:35 2001
From: "Smith, Mike" <Mike_Smith@littonas.com>
Date: Thu Nov  8 07:17:37 PST 2001
Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks 1.
Thanks Ken,
I think you've hit the nail on the head.  After closely examining VxMemProbe
I've found that it does disable interrupts during the probe -- probably to
avoid the very problem you mention.  Unfortunately, I can't do that for a
resident exception handler in a system that is using interrupts, so I'll
have to rethink my design.
Thanks again,
Mike
-----Original Message-----
From: Baron, Ken [mailto:ken.baron@baesystems.com]
Sent: Thursday, November 08, 2001 8:17 AM
To: vxwexplo@lbl.gov
Cc: Mike_Smith@littonas.com
Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks
1. 01 o
If you look into the machine check exception on the PowerPC you
will find that this exception may not be recoverable. There is
no hardware interrupt stack on the PowerPC. When an interrupt
or exception occurs, the machine state is saved in SRR0 and SRR1.
If a machine check exception occurs near the beginning of another
interrupt, before SRR0 and SRR1 are saved, then the machine check
(which is unmaskable) causes SRR0 and SRR1 to be overwritten and thus
you cannot recover. As far as I know, VxWorks does not distinguish
between the recoverable and non-recoverable machine checks. I protect
all my possibly-machine-check-causing code by disabling interrupts
or using vxMemProbe.
> Submitted-by vxwexplo-errs@csg.lbl.gov  Wed Nov  7 13:43:53 2001
> Submitted-by: "Smith, Mike" <Mike_Smith@littonas.com>
>
> Hi Everyone,
>
> Has anyone experienced inconsistent "machine check" exception handling?
> I'm
> using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU.  I've
> developed an exception handler in C that advances the exception-causing
> task
> to its next instruction instead of suspending the task as done by the
> default exception handler.  I connect this handler to the machine check
> exception vector using excVecSet.  I can easily generate machine check
> exceptions by reading an unpopulated VME address.  Following successful
> handling of 2-7 consecutive machine checks, the host-to-target
> communication
> links (ethernet and serial) crash on the last exception and I lose all
> contact with the target.  I think my exception handler is o.k., because my
> handler works fine for several machine check exceptions before crashing.
> However, maybe there's something flaky about recovering from machine check
> exceptions that you may know about.  Other types of exceptions (i.e., data
> access and alignment) are consistently handled correctly by my handler.
>
> Thanks for your help in advance,
> Mike
>
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 10:10:34 2001
From: Girish Desai <girish_d@operamail.com>
Date: Thu Nov  8 10:10:36 PST 2001
Subject: good web sites or books
Hello,
I am working in embedded software for past six years with various
microprocessor and controllers. But I never had exposure to VxWorks. I want to
gain exposure in BSP and VxWorks device driver. I also want get some practical
experience. Can anybody suggest me some good web site or books? Currently, I
am going thro' VxWorks BSP manuals..But I feel, much more to learn.
I would appreciate if you could provide some good source of these...
Thanks,
Girish
-------------------------------------------
The Fastest Browser on Earth now for FREE!!
Download Opera 5 for Windows now! Get it at
http://www.opera.com/download/
-------------------------------------------
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 10:12:43 2001
From: Girish Desai <girish_d@operamail.com>
Date: Thu Nov  8 10:12:45 PST 2001
Subject: good web sites or books
Hello,
I am working in embedded software for past six years with various
microprocessor and controllers. But I never had exposure to VxWorks. I want to
gain exposure in BSP and VxWorks device driver. I also want get some practical
experience. Can anybody suggest me some good web site or books? Currently, I
am going thro' VxWorks BSP manuals..But I feel, much more to learn.
I would appreciate if you could provide some good source of these...
Thanks,
Girish
-------------------------------------------
The Fastest Browser on Earth now for FREE!!
Download Opera 5 for Windows now! Get it at
http://www.opera.com/download/
-------------------------------------------
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 13:14:20 2001
From: "Ramkumar Sripathi" <rsripathi@hotmail.com>
Date: Thu Nov  8 13:14:22 PST 2001
Subject: streams on vxworks
Hi all,
this is a specific question to users of streams on vxworks. We use streams
code distributed by wrs on tornando 2 and vxworks 5.4.
We have many task running over vxworks and a controlling host running some
applications on a sun station. The application on hte sun communicate to the
tasks on the vxworks thro an ethernet interface and streams fo message
deivery to the the tasks. This is a little background.
Everything works well if there is very minimal traffic between the two
hosts. But if we keep the vxworks host busy with a lot of requests we see
the task dying. The death seems to be in the streams area. After a lot of
debugging we found that the the stream head pointer contained for that
particular OSR structure is nulled out and hence the task dies du to a
address load exception. This does not happen right out of the gate, it
happens after hours (7-10 ) of operation.
My questions to the group are
1. Have anyone of you seen this problem and is there a workaround or fix?
(we've put in a number of fixes to handle a lot of error conditions but this
still happens).
Please don't question the streams implementation as this is some legacy
code.
thanks in advance for your replies.
-Ramkumar
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 14:13:03 2001
From: "Ramkumar Sripathi" <rsripathi@hotmail.com>
Date: Thu Nov  8 14:13:05 PST 2001
Subject: streams on vxWorks
Hi all,
this is a specific question to users of streams on vxworks. We use streams
code distributed by wrs on tornando 2 and vxworks 5.4.
We have many task running over vxworks and a controlling host running some
applications on a sun station. The application on hte sun communicate to the
tasks on the vxworks thro an ethernet interface and streams fo message
deivery to the the tasks. This is a little background.
Everything works well if there is very minimal traffic between the two
hosts. But if we keep the vxworks host busy with a lot of requests we see
the task dying. The death seems to be in the streams area. After a lot of
debugging we found that the the stream head pointer contained for that
particular OSR structure is nulled out and hence the task dies du to a
address load exception. This does not happen right out of the gate, it
happens after hours (7-10 ) of operation.
My questions to the group are
1. Have anyone of you seen this problem and is there a workaround or fix?
(we've put in a number of fixes to handle a lot of error conditions but this
still happens).
Please don't question the streams implementation as this is some legacy
code.
thanks in advance for your replies.
-Ramkumar
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 14:31:25 2001
From: Ramkumar Sripathi <ramkumar_sripathi@net.com>
Date: Thu Nov  8 14:31:28 PST 2001
Subject: streams on vxWorks]
Ramkumar Sripathi wrote:
>
> Hi all,
>
> this is a specific question to users of streams on vxworks. We use streams
> code distributed by wrs on tornando 2 and vxworks 5.4.
>
> We have many task running over vxworks and a controlling host running some
> applications on a sun station. The application on hte sun communicate to the
> tasks on the vxworks thro an ethernet interface and streams fo message
> deivery to the the tasks. This is a little background.
>
> Everything works well if there is very minimal traffic between the two
> hosts. But if we keep the vxworks host busy with a lot of requests we see
> the task dying. The death seems to be in the streams area. After a lot of
> debugging we found that the the stream head pointer contained for that
> particular OSR structure is nulled out and hence the task dies du to a
> address load exception. This does not happen right out of the gate, it
> happens after hours (7-10 ) of operation.
>
> My questions to the group are
> 1. Have anyone of you seen this problem and is there a workaround or fix?
> (we've put in a number of fixes to handle a lot of error conditions but this
> still happens).
>
> Please don't question the streams implementation as this is some legacy
> code.
>
> thanks in advance for your replies.
>
> -Ramkumar
>
> _________________________________________________________________
> Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 21:34:30 2001
From: Rashmi Topno <rashmipt@yahoo.com>
Date: Thu Nov  8 21:34:33 PST 2001
Subject: Re: good web sites or books
Hi Girish,
Nice choice. Now a days as the embedded is also moving
towards RTOS, it is a wise decision to know more about
it.
Well, you can download the prototype from web and
along with that u get all the manuals. U can start
looking into the facility that vxWorks provide.
To gain practical knowledge, of course u need to work
on that. Even BSPs, u cant generalize that. Suggestion
will be, take the BSP for a particular board along
with the board architecture manual.
Regards
Rashmi
--- the vxWorks Users Group Exploder
<vxwexplo@lbl.gov> wrote:
> Submitted-by vxwexplo-errs@csg.lbl.gov  Thu Nov  8
> 10:12:43 2001
> Submitted-by: Girish Desai <girish_d@operamail.com>
>
> Hello,
>
> I am working in embedded software for past six years
> with various
> microprocessor and controllers. But I never had
> exposure to VxWorks. I want to
> gain exposure in BSP and VxWorks device driver. I
> also want get some practical
> experience. Can anybody suggest me some good web
> site or books? Currently, I
> am going thro' VxWorks BSP manuals..But I feel, much
> more to learn.
>
> I would appreciate if you could provide some good
> source of these...
>
> Thanks,
> Girish
>
> -------------------------------------------
> The Fastest Browser on Earth now for FREE!!
> Download Opera 5 for Windows now! Get it at
> http://www.opera.com/download/
> -------------------------------------------
>
>
> **********
>
>     This is a user group mailing list for vxWorks
> related topics
>     see http://www-vxw.lbl.gov/vxworks for posting
> and subscription info
__________________________________________________
Do You Yahoo!?
Find a job, post your resume.
http://careers.yahoo.com
From vxwexplo-errs@csg.lbl.gov  Thu Nov  8 21:40:46 2001
From: "hnzzzms" <hnzzzms@hotmail.com>
Date: Thu Nov  8 21:40:48 PST 2001
Subject: VxWorks Exploder
This is a multi-part message in MIME format.
------=_NextPart_000_001C_01C16923.D38D28E0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: base64
DQo=
------=_NextPart_000_001C_01C16923.D38D28E0
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4w
MC4yNjAwLjAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hFQUQ+DQo8Qk9E
WSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPiZuYnNwOzwvRElWPjwvQk9EWT48L0hUTUw+DQo=
------=_NextPart_000_001C_01C16923.D38D28E0--
From vxwexplo-errs@csg.lbl.gov  Fri Nov  9 04:03:18 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Nov  9 04:03:21 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Nov  9 04:03:14 PST 2001
        Subject: Tornado C/C++ Compiler Properties
        Subject: Re: "tSnmpd" exception
        Subject: Booting MV5100 with Motorola PPCbug firmware?
        Subject: Missing license file for simulator (Tornado Prototyper evaluation)
        Subject: booting and subnet
        Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
        Subject: Re: PPP & Simulator
        Subject: Re: 802.1d/p/q shims and IP_TOS bits
        Subject: Re: Tornado C/C++ Compiler Properties
        Subject: Re: Solaris shared memory error
        Subject: Re: clock corruption
        Subject: Re: 860 SCC Driver
        Subject: Re: rpc timed out
        Subject: Re: Solaris shared memory error
        Subject: Compact Flash.
        Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
        Subject: FIOFLUSH and dcacheCbio (DOSFS2]
        Subject: Re: problems with printf()
        Subject: Re: text,data,bss addresses and lengths
        Subject: Re: loadModule and task error
        Subject: Re: FIOFLUSH and dcacheCbio (DOSFS2]
        Subject: traceroute for vxworks
        Subject: Re: Updating GNU C Compiler
        Subject: Re: Tornado C/C++ Compiler Properties
        Subject: usb development
        Subject: Re: clock corruption
        Subject: Re: clock corruption
        Subject: CDF Files (Tornado 2.0)
        Subject: Re: Updating GNU C Compiler
        Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
        Subject: target server and windows 2000
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado C/C++ Compiler Properties
Date: Thu, 8 Nov 2001 13:30:01 +0100
From: "Reto Drack" <reto.drack@ch.abb.com>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <9sdtsq$drm$1@rex.ip-plus.net>
Hello
Tornado II: Is it possible to use a NT system variable within an inlude path
in the C/C++ Compiler properties?
something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT
system variable.
Regards
Reto
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: "tSnmpd" exception
Date: Thu, 08 Nov 2001 14:22:48 +0100
From: "Sebastien Fauris [BOIS:0000:EXCH]" <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BEA8728.DE25CB88@europem01.nt.com>
References: <3d64ee1a.0111080345.22801b4d@posting.google.com>
Reply-To: sfauris@europem01.nt.com
changwoo wrote:
>
> To all related in developing system using tornado.
>
> while running tSnmpd in vxWorks, Exception was happened but I couldn't
> figure out what is the reason. the message is like this :
>
> Implementation Dependent Software Emulation
> Exception current instruction address : 0x00000000
> Machine Status Register  0x00009002
> Condition register : 0x22000028
> task : 0x1ec07c8 "tSnmpd"
>
> Please help me out this problem. Any comment is appricieated
The 'Implementation Dependent Software Emulation' interrupt makes me
think that you are trying to execute some PowerPC instructions not
supported
by your current processor (non-implemented register, non-implemented
instruction, ...). This already happened to me while executing some
PPC603
instructions not supported on a PPC860.
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Booting MV5100 with Motorola PPCbug firmware?
Date: 8 Nov 2001 06:19:19 -0800
From: heller@core.com (Mark Heller)
Organization: http://groups.google.com/
Message-ID: <f7fd1188.0111080619.20fef555@posting.google.com>
Hello all,
Has anyone successfully used the PPCbug firmware to load
and run the Vxworks boot rom on a Motorola MV5100?
I noticed there is a #define in the config.h file for
INCLUDE_MOT_BUG_ROM, but it doesn't look like it
will work. The romInit.s code disables ram during the
setup of the hawk chip, which would make it difficult
to run the boot rom code from ram. I'm using Tornado 2.1
and the Wind River version of the MV5100 BSP.
Thanks in advance
- -Mark
---------------------------
Newsgroups: comp.os.vxworks
Subject: Missing license file for simulator (Tornado Prototyper evaluation)
Date: Thu, 8 Nov 2001 15:41:47 +0100
From: "Werner Hlsmeier" <wernerh@muenster.de>
Message-ID: <9se5k0$13cl1h$1@ID-92382.news.dfncis.de>
Hi,
I'm a newbie and downloaded the Tornado Prototyper evaluation.
The setup went pretty well and also the first build as shown in the
documentation.
The problem came with the buildin simulator.
The Log Console detected a missing license file.
Does anybody have this problem as well?
Greetings
Werner
---------------------------
Newsgroups: comp.os.vxworks
Subject: booting and subnet
Date: Thu, 08 Nov 2001 09:11:58 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BEAA0BE.92C1C6AB@fnal.gov>
Hello,
When I give the IP of target (e) as xx.xx.xx.xx in boot parameters, the
kernel loads and starts but kernel is unable to load the symbol table. i
get 0x41 (S_errno_EHOSTUNREACH).
but when I give the IP of target (e) as xx.xx.xx.xx:xxxxxxxx (with the
subnet mask) it is able to boot and load the kernel too ...
i am trying to understand why? in the first case it uses broadcast to
get the hardware address and hence able to get the network address and
load the kernel. this happens in bootConfig.c (search for icmpMaskGet
and the if (netmask == 0) line above is where it does this).
And when loading the symbol table, the kernel has started and if it does
not find a subnet mask it hangs. as if a similar if (netmask == 0) {
icmpMaskGet() } is missing in there.
can anyone help me understand why it is failing like this? any comment,
pointer or doc would be helpful ...
regards,
dinker
- --
Computing Division/Online and Database Systems     630-840-8604 (office)
Fermi National Accelerator Laboratory              http://www.fnal.gov
http://home.fnal.gov/~dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips
Date: Thu, 8 Nov 2001 17:19:57 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$wlnhmg$k6m$1@lnews.actcom.co.il>
References: <6d6a076a.0111011226.84742a3@posting.google.com> <ug07yurd7.fsf@yahoo.com> <newscache$3716mg$f72$1@lnews.actcom.co.il> <ubsilt66f.fsf@yahoo.com>
> 2) DosFs seems to issue writes to a CBIO, even when the applications has
>    not called the write function of the DosFs driver.  My guess is that
>    this is something in FAT etc.  This seems to occur when the application
>    reads.  Do you know what this is?  Even with wear leveling, this isn't
>    good.  Reads are frequent on my system.
What you are seeing is probably updates to the file's "last accessed" time
field
in its directory entry. This may sound silly, but DosFs 2.0 does try to keep
all
file time fields as precise as it can.
I remember that I had doubts about this particular one, specifically for
Flash media,
updating the access time may be less important then saving Flash life span,
so there was an option to turn these file time updates off. Alas, I do not
remember
of the top off the top of my bold head how this option is turned.
Let me know if this matters, I'll scratch my head for a while ...
 and perhaps it'll come back to me ;-)
- - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: PPP & Simulator
Date: Thu, 08 Nov 2001 11:30:21 -0500
From: "Macleod, Randy [CAR:CW31:EXCH]" <macleodr@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3BEAB31D.AC30CDA0@americasm01.nt.com>
References: <b52e0856.0110310428.4ec74b50@posting.google.com>
This is a multi-part message in MIME format.
- --------------327F0D356DDAC61B114E926C
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
  Hi,
The endless loop maybe caused by incorrect permissions on the
/tmp/.asppp.fifo special file. It needs to be rw by all. Add a
few lines to your /etc/init.d/asppp script to reset the permissions
whenever asppp is started/restarted.
Note the version of asppp is different between Solaris 5.6 and 5.8.
I've attached a slightly modified version of /etc/init.d/asppp -
unsupported of course. ;-)
// Randy MacLeod
Miki Zilbershtein wrote:
>
> Dear Group members
>
> I have problem with Simulator and it seems like it is PPP problem.
> I have built a customized simulator on
> Solaris 5.8 with Tornado 2.0.2 VxWorks 5.4 including network stack.
> When I started the Simulator I am getting endless loop saying:
>
> sysToMonitor: restarting.
>  s_fdint: u_ioctl TIOCSPGRP
>  s_fdint: u_ioctl I_SETSIG - 0
> sysToMonitor: restarting.
>  s_fdint: u_ioctl TIOCSPGRP
>  s_fdint: u_ioctl I_SETSIG - 0
>
> My PPP configuration is
> ifconfig ipd0 plumb 177.29.1.13 127.0.1.0 up private netmask
> 0xffffff00
>
> Can anyone help me? How can I check if my PPP is working correctly or not?
>
> Thanks in advanced,
> Miki
- --
 - - - - - The axis of the universe is irony. - - - - -
You are lost in a twisty maze of little standards, all different.
- --------------327F0D356DDAC61B114E926C
Content-Type: text/plain; charset=us-ascii;
 name="asppp-sol8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="asppp-sol8"
#!/sbin/sh
#
# Copyright (c) 1993, 1997 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident  "@(#)asppp      1.18    98/01/28 SMI"
PATH=/sbin:/usr/bin:/usr/sbin; export PATH
case "$1" in
'start')
        if [ -f /etc/asppp.cf ]; then
                # If the configuration file is empty (consists of lines which
                # contain only blanks, or have a leading '#') then exit
                egrep -v '^[    ]*(#|$)' /etc/asppp.cf >/dev/null 2>&1 || exit 0
                # Check for required files
                for file in /usr/sbin/aspppd /usr/sbin/aspppls; do
                        [ -f $file ] && continue
                        echo "$0: Asynchronous PPP has been installed but"
                        echo "not configured correctly"
                        echo "$0: $file not found"
                        echo "$0: Please refer to the PPP documentation"
                        exit 1
                done
                # Execute the ifconfig lines
                nawk '/^[ \t]*ifconfig/ { system($0) }' < /etc/asppp.cf
                # Start the aspppd daemon
                /usr/sbin/aspppd -d 1 || \
                        echo "aspppd not started, see /var/adm/log/asppp.log"
                # Make the ppp pipe read/write by all
                chmod a+rw /tmp/.asppp.fifo
                # Start the asppp watchdog
                id=`ps -e | grep "aspppd$" | awk '{print $1}'`
                /usr/sbin/aspppd.watch $id &
        fi
        ;;
'restart')
        # Restart a dead aspppd
        if test -f /etc/asppp.cf
        then
                /usr/sbin/aspppd -d 1
                if [ $? -ne 0 ]; then
                        echo "aspppd not started, see /var/adm/log/asppp.log"
                fi
                # Make the ppp pipe read/write by all
                chmod a+rw /tmp/.asppp.fifo
                id=`ps -e | grep "aspppd$" | awk '{print $1}'`
                /usr/sbin/aspppd.watch $id &
        fi
        ;;
'stop')
        if [ -f /etc/asppp.cf ]; then
                # Stop the aspppd daemon if it's running
                /usr/bin/pkill -x -u 0 aspppd
                # Use ifconfig to make the interfaces down just in case
                nawk '/^[ \t]*ifconfig/ { \
                        system("ifconfig " $2 " down"); \
                        system("ifconfig " $2 " unplumb")
                                }' < /etc/asppp.cf
        fi
        ;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
        ;;
esac
exit 0
- --------------327F0D356DDAC61B114E926C--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 802.1d/p/q shims and IP_TOS bits
Date: 8 Nov 2001 17:07:59 GMT
From: Troy Cauble <troy@bell-labs.com>
Organization: Bell Labs, Holmdel, NJ, USA
Message-ID: <9see5f$n8k@nntpb.cb.lucent.com>
References: <9s94av$8un@nntpb.cb.lucent.com> <newscache$vatfmg$9sj$1@lnews.actcom.co.il>
Leonid Rosenboim <Dont_Spam_Leonid@consultant.com> wrote:
: It's quite easy to set IP TOS with setsockoption(), find somewhere
: a Unix example and follow it to the letter.
I already had that code, but ifdef'd out for VxWorks.
I was under the impression that setsockopt() was broken
for IP_TOS.  A quick test shows that that is wrong!
Thanks,
- -troy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado C/C++ Compiler Properties
Date: Thu, 8 Nov 2001 16:59:17 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <Y4zG7.82$vy6.88192@newsr2.u-net.net>
References: <9sdtsq$drm$1@rex.ip-plus.net>
Reto Drack wrote in message <9sdtsq$drm$1@rex.ip-plus.net>...
>Hello
>
>Tornado II: Is it possible to use a NT system variable within an inlude
path
>in the C/C++ Compiler properties?
>something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT
>system variable.
>
>Regards
>
>Reto
  Absolutely.  We make great use of including $(USERNAME) in makefiles so
that the executable gets sent to the network home directory of whoever
happens to be doing the compile.
  Note that if you wanted to use them directly on a command line rather than
in a makefile (which is where the properties set in the T2 gui end up) you
might need to use %VARIABLE% instead of $(VARIABLE).  Or $(VARIABLE) might
work anyway: you'd have to try it and see.
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Solaris shared memory error
Date: Thu, 8 Nov 2001 17:02:31 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <Y4zG7.83$vy6.88192@newsr2.u-net.net>
References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> <newscache$182hmg$3jl$1@lnews.actcom.co.il>
Leonid Rosenboim wrote in message ...
>The problem is clearly pointing at the MainSoft's MainWin
>middleware, which emulates Win32 on Unix.
>Yes, parts of Tornado on Solaris are in fact Windoze apps
>which where compiled with this middleware.
  That's pretty damn funny considering that parts of Tornado on Windoze are
in fact Unix apps which were compiled with the cygwin middleware.
  I wonder if we could run the windoze apps under the emulator under cygwin,
so as to run Solaris tornado on a pc?
         DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Thu, 8 Nov 2001 17:20:41 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <Z4zG7.84$vy6.88192@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>
Ephraim Gadsby wrote in message
<3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>...
>On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton
><Ross.Staton.GP@icn.siemens.de> wrote:
>
>>
>>We have 4 VxWorks targets all trying to download different files via FTP
>>from the same VxWorks-based system controller at the same time during
>>startup.
>>
>>The problem is that 2 out of every 3 attempts fail because the time on
>>the system controller board gets corrupted and we don't know why.
>>
>>The tick counter continues to work correctly, incrementing at 100Hz, but
>>at some point the clock jumps forward 2 hours, and must be reset to
>>network time using ntpDate() before the FTP downloads will work.
  Does it re-sync itself if you leave it for an amount of time approximately
equal to (time when the posix clock was inited minus time when system was
booted) ?  If so, it's probably the OS bug that I describe below.
>>I notice that the function used to calculate current time is
>>clock_gettime() and this function returns 0 when the clock is corrupt.
>
>clock_gettime() returns ERROR (-1) if you didn't give it a sensible
>set of parameters or OK (0) otherwise. It makes no integrity check on
>the time.
>
>
>>Does anyone know exactly how this function calculates the current time
>>based on the tick counter and what might cause this to go wrong?.
>>
>
>It just keeps a reference tick/timespec pair and converts ticks
>elapsed since the reference point into seconds/nanoseconds elapsed and
>thus into an absolute timespec (based on 1970).  Its in clockLib.c.
  Yep, it records the system tick count at the time the clock is inited and
uses that as the t=0 reference point.
>First,  have you established that the tick-count itself doesn't jump?
  It almost certainly does.
>You may have some code that is manipulating vxTicks directly and
>corrupting it.
  He does.  It's called "The vxworks kernel".  Anytime you set a delay - and
this goes for timeouts too - that, when added to the vxTicks variable, would
cause it to wrap round, the OS sets vxTicks back to zero and sets the delay
timer to (zero plus delay length), rather than setting the delay timer to
(current ticks + delay length) as it would otherwise do.
  So far so good, but it doesn't update the reference ticks in the posix
clocks in clockLib, all of which are the value of vxTicks recorded when the
clock was initialised.  Hence vxTicks is less than the zero-reference time
and the calculations go wrong.
  I observed this behaviour to occur any time I tried to do large (~ 1MB)
reads or writes from a SCSI bus; presumably there is a timeout in the scsi
library that was long enough to trigger this effect, and presumably there
are other timeouts elsewhere in the kernel that can cause it too.
  The fix is to get WRS to give you the source code for clockLib and replace
'vxTicks' with 'vxAbsTicks' throughout.
>If all else fails you could write a function that detects the jump and
>put it into a context-switch callout.
  And if you happen to be using a ppc-based platform, check if your CPU
implements the DABR, one of the single most useful registers ever placed in
any cpu by any designer ever...
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 860 SCC Driver
Date: Thu, 08 Nov 2001 17:35:02 GMT
From: Diego Serafin<d.serafin@-NOSPAM-ieee.org>
Organization: http://www.newsranger.com
Message-ID: <anzG7.17802$xS6.27986@www.newsranger.com>
References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> <a5UD7.7178$xS6.9037@www.newsranger.com> <3BE14C8B.64CADA1A@baesystems.com> <BbwF7.13034$xS6.16386@www.newsranger.com> <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net>
In article <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net>, Greg FitzJohn
says...
>
>Hi guys, I just finished writing a QMC HDLC (TDM mode) driver for the
>MPC855T and now in the middle of debugging it.  Can either of you explain
>what the CDP / CTSP / CDS / CTSS signals are needed for in non-NMSI (TDM)
>mode?  I had to set these in the gsmr_h register to get data out of the chip
>onto our TDM bus.  When using internal loopback everything is fine.  Our h/w
>does not use these signals, I think they're just connected to pull-up
>resistors.  I have the Port C PIO pins set as general I/O.  Any help would
>be greatly appreciated.
When you use TDM SCC are connected internally to Time Slot Assigner,
so no external pin are required but the TDM_A or TDM_B ones.
Those bits on GSMR_H reg are used to enable Inherent synchronization
(see MPC860 User's Manual, page 29-6 section 29.4.2.2). This setup is
needed when using SCC in QMC mode:
CDP = 1
CTSP = 1
CDS = 1
CTSS = 1
(see QMC Supplement, page 6-4,6-5).
Bye,
Ciao!
Diego.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: rpc timed out
Date: Thu, 8 Nov 2001 17:29:58 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <IqzG7.85$vy6.89665@newsr2.u-net.net>
References: <8ca1072c.0110160745.4999256c@posting.google.com> <4acf3137.0110170507.557445ea@posting.google.com> <8ca1072c.0110180752.1531723c@posting.google.com> <WHXz7.24$TR5.70374@newsr2.u-net.net> <8ca1072c.0110231007.51f0e9e3@posting.google.com> <l8wB7.66$td.196136@newsr2.u-net.net> <8ca1072c.0110250612.53a9fc4b@posting.google.com>
Todd Griffin wrote in message
<8ca1072c.0110250612.53a9fc4b@posting.google.com>...
>>
>>   I'm talking about in the Tornado GUI, in the project workspace window,
on
>> the tab that says 'VxWorks', where you enable or disable all the
different
>> parts of the kernel: which options do you have enabled under 'network
>> components' ?
>
>I'm using Tornado v1.0.1.  So I have a "Project" menu option, which has
>a sub-menu option called "Configure BSP..."  Choosing that takes me to
>a screen that has two columns, "Included Options" and "Excluded Options."
>Basically, you just move the different INCLUDE_xxx options around until
>you have the configuration you want (there's nothing as specific as what
>you mentioned below).  Sounds like Tornado v2 would be nice, but does it
>work with VxWorks 5.3.1?
  T2 is definitely a lot better for configuration management!  I don't know
if it works with 5.3.1 but I wouldn't be surprised; it certainly works with
5.4.  You'd have to ask WRS to be sure.  It's fairly similar in principle,
although there are nicely labelled options to include or exclude rather than
just a bunch of #defines, but the important thing is that T2 tracks all the
dependencies for you, so when you add a module it'll also add any other
modules that one requires to work, and it can also check over your
configuration to find any unreferenced modules that you can exclude from the
build if your app doesn't use them and you want to cut down on the size of
your bsp/kernel/bootrom.
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Solaris shared memory error
Date: 8 Nov 2001 17:54:40 GMT
From: mam@Eng.Sun.COM (Mark A. Matthews)
Organization: Sun Microsystems, Inc.
Message-ID: <9segt0$6dn$1@engnews1.eng.sun.com>
References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>
In article <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>,
Graham Crawford  <crawford@dstc.qut.edu.au> wrote:
>I get the following error when I try and start certain Tornado
>applications on
>SPARC Solaris 2.8
>
>gma_init_shm->shmget1: No space left on device
>
>In particular the MWColorMgr gives this as well as the Launcher
>Project application and the SETUP installer from the CDROM.  This
>message seems to indicate that the shmmax kernel setting should be
>increased.
You're on the right track. Here's a document that discusses fiddling with
shmmax -
<http://sunsolve.Sun.COM/pub-cgi/retrieve.pl?doc=fiplanet%2F1928&zone_32=shmmax&wholewords=on>
/usr/sbin/sysdef -i will list (with a lot of other stuff) your current
shared memory segment size. You can tune this by adding a line to /etc/system
and rebooting. Note that the size discussed in the article are oriented to
big servers; on a workstation, the default shmmax is probably 1MB. I would
try doubling it and see if that's enough. It will require a reboot.
- --
- -Mark
---------------------------
Newsgroups: comp.os.vxworks
Subject: Compact Flash.
Date: 8 Nov 2001 11:38:32 -0800
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0111081138.51a43f9e@posting.google.com>
Hi,
  Support for booting from Compact Flash card:
   The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on
   many PC motherboards) for which Windriver says they
   have no driver support. But Winbond says that this chip is
   register compatible with Intel's PCI IDE specifications and
   all IDE controllers used on PC motherboards use either
   ISA or PCI bus, so Windriver should have support for some
   other chip that is also compabile with Intel specs.
  I would like to know if there is any support (WindRiver or Third party)
  for Winbond W83C553 chip.
  Or if any help/tip is appreciated.
Thank you
Vinh Lam
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
Date: Thu, 08 Nov 2001 13:48:47 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BEAE19F.F8A08915@aps.anl.gov>
References: <f7fd1188.0111080619.20fef555@posting.google.com>
Mark Heller wrote:
>
> Has anyone successfully used the PPCbug firmware to load
> and run the Vxworks boot rom on a Motorola MV5100?
Not personally and I don't have access to a 5100, but...
> I noticed there is a #define in the config.h file for
> INCLUDE_MOT_BUG_ROM, but it doesn't look like it
> will work. The romInit.s code disables ram during the
> setup of the hawk chip, which would make it difficult
> to run the boot rom code from ram. I'm using Tornado 2.1
> and the Wind River version of the MV5100 BSP.
Why would the debug monitor copy the code into RAM?  In earlier Motorola
debug monitors on other systems it would just execute the code directly in
its ROM location.  Of course the 5100 monitor *might* copy it to RAM
first, but I don't see why Motorola would have done that.
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: FIOFLUSH and dcacheCbio (DOSFS2]
Date: 08 Nov 2001 14:26:58 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <ueln8vqz1.fsf@nospam.invalid>
Does anyone know if an ioctl FIOFLUSH will cause the cache to write through
to a disk? (Btw, this is Dosfs2.0 on a 9GB scsi disk in a PPC750 system).
I know I can set the cache's syncInterval to 0 so that all writes are
essentially write-throughs, but am hoping that such a large hammer would
not be necessary.
Thanks!
- -jc
- --
(apply 'concat (reverse (list "com"
			      (char-to-string 46) "yahoo"
			      (char-to-string 64) "joechung")))
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: problems with printf()
Date: Thu, 08 Nov 2001 22:49:34 GMT
From: "Dustan Hellwig" <dhellwig@chesapeaketechnology.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <2_DG7.26411$hZ.2420314@newsread2.prod.itd.earthlink.net>
References: <3BE16ABF.16B1EA8A@raytheon.com>
This is a multi-part message in MIME format.
- ------=_NextPart_000_0019_01C1686C.6D965550
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
You are not putting line termination characters in your printf =
statements and therefore the buffer is not getting flushed.  Make your =
printf statements look like
printf ("a message\n");
instead... hope that helps...
  "James Toland" <j-toland@raytheon.com> wrote in message =
news:3BE16ABF.16B1EA8A@raytheon.com...
  Does anyone know why this happens?=20
  I am using a Motorola MVME2700 with VxWorks 5.4.  My C delay routine =
is polling the Falcon ECC Memory Controller Chip Set CTR32 at address =
$FEF80100, which is a 32-bit free-running counter that increments once =
per microsecond, for high-resolution delays(< 1ms).  Everything works =
great until my routine polls the 32-bit counter for more than 3 seconds. =
  For example:=20
  my_main()=20
  {=20
    do_something();=20
    delay(3_seconds);=20
    do_something_else();=20
    printf("a message");=20
    do_something_else();=20
    printf("a message");=20
  }=20
  The printf statements after the delay routine do not appear at the =
output (for delays >3s), although all the other functions after the =
delay function are executed properly.  To temporarily resolve this =
problem I am using the VxWorks routine taskDelay() for delays over 2 =
seconds and the printf output is as expected, but I really need a delay =
function that does not relinquish the cpu until the delay is =
accomplished and has microsecond resolution.=20
  Thanks.=20
   =20
   =20
- ------=_NextPart_000_0019_01C1686C.6D965550
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4616.200" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>You are not putting line termination =
characters in=20
your printf statements and therefore the buffer is not getting =
flushed.&nbsp;=20
Make your printf statements look like</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>printf ("a message\n");</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>instead... hope that =
helps...</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>"James Toland" &lt;<A=20
  href=3D"mailto:j-toland@raytheon.com">j-toland@raytheon.com</A>&gt; =
wrote in=20
  message <A=20
  =
href=3D"news:3BE16ABF.16B1EA8A@raytheon.com">news:3BE16ABF.16B1EA8A@rayth=
eon.com</A>...</DIV>Does=20
  anyone know why this happens?=20
  <P>I am using a Motorola MVME2700 with VxWorks 5.4.&nbsp; My C delay =
routine=20
  is polling the Falcon ECC Memory Controller Chip Set <U>CTR32</U> at =
address=20
  $FEF80100, which is a 32-bit free-running counter that increments once =
per=20
  microsecond, for high-resolution delays(&lt; 1ms).&nbsp; Everything =
works=20
  great until my routine polls the 32-bit counter for more than 3 =
seconds.=20
  <P>For example:=20
  <P><TT>my_main()</TT> <BR><TT>{</TT> <BR><TT>&nbsp; =
do_something();</TT>=20
  <BR><TT>&nbsp; delay(3_seconds);</TT> <BR><TT>&nbsp; =
do_something_else();</TT>=20
  <BR><TT>&nbsp; printf("a message");</TT> <BR><TT>&nbsp;=20
  do_something_else();</TT> <BR><TT>&nbsp; printf("a message");</TT>=20
  <BR><TT>}</TT>=20
  <P>The printf statements after the delay routine do not appear at the =
output=20
  (for delays &gt;3s), although all the other functions after the delay =
function=20
  are executed properly.&nbsp; To temporarily resolve this problem I am =
using=20
  the VxWorks routine taskDelay() for delays over 2 seconds and the =
printf=20
  output is as expected, but I really need a delay function that does =
not=20
  relinquish the cpu until the delay is accomplished and has microsecond =
  resolution.=20
  <P>Thanks. <BR>&nbsp; <BR>&nbsp; </P></BLOCKQUOTE></BODY></HTML>
- ------=_NextPart_000_0019_01C1686C.6D965550--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: text,data,bss addresses and lengths
Date: Thu, 08 Nov 2001 22:55:08 GMT
From: "Dustan Hellwig" <dhellwig@chesapeaketechnology.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <g3EG7.26420$hZ.2422124@newsread2.prod.itd.earthlink.net>
References: <REqF7.16363$D5.6379129@typhoon.san.rr.com>
See the loadModuleAt man page using the pText, pCode, and pBss parameters to
retrieve the address locations/sizes of each segment...
"LeRoy Goering" <lgoering@san.rr.com> wrote in message
news:REqF7.16363$D5.6379129@typhoon.san.rr.com...
> Need absolute memory locations of text areas for runtime checksum testing.
> Can't figure out how to do it.
>
> When I download my app to the pentium target with loadModule, cannot
access
> the symbols table.  Can't execute the application programmatically or at
the
> shell.  Browser doesn't see it either.  Has anyone out there done this?
Any
> ideas?
>
> Thanks,
> LW
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: loadModule and task error
Date: Thu, 08 Nov 2001 23:03:59 GMT
From: "Dustan Hellwig" <dhellwig@chesapeaketechnology.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <zbEG7.26438$hZ.2423729@newsread2.prod.itd.earthlink.net>
References: <lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com>
I have successfully loaded executables with a disk size over 40MB and an
code segment over 20MB with no problem using loadModuleAt programmatically.
I can only imagine your problem is that your compiled object is not linking
correctly to the "open" and "loadModule" symbols (probably caused by the
issues discussed in a previous post)
Hope that helps...
"Kelly Hornsby" <klh1964@home.com> wrote in message
news:lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com...
> Hello All
>
> Here's my situation:  I've created a memDev in my flash area on my PPC750
> board, and I've dumped an ELF image (that runs ok) into the flash area
that
> the memDev covers.  I can go to the command shell and do the following
with
> no error:
> fd = open("/mem/flash/0", 0777,0777);
> status = loadModule(fd,1)
>
> And my ELF image in flash is loaded and ready to go, with all symbols
> present.
>
> However...
> when I dump those two lines into a routine, and compile the routine and
> download it, I get an illegal instruction error when I attempt to run the
> routine containing the two lines above.  the routine fails on the
loadModule
> call.
>
> Any ideas on this?  Has anyone else done *large* image loads using
> loadModule programmatically?
>
> thx for any inputs
>
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: FIOFLUSH and dcacheCbio (DOSFS2]
Date: 08 Nov 2001 18:28:59 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u3d3o970k.fsf@yahoo.com>
References: <ueln8vqz1.fsf@nospam.invalid>
Sender: bpringlemeir@DeadDuck
 Joe> Does anyone know if an ioctl FIOFLUSH will cause the cache to
 Joe> write through to a disk? (Btw, this is Dosfs2.0 on a 9GB scsi
 Joe> disk in a PPC750 system).
Yes, the dcacheCbio will flush to the lower layer (block device) when
you do a FIOFLUSH.
regards,
Bill Pringlemeir.
- --
Have you  ever been jailed  by my parent  while being operated  on for
club  foot?   Or  used  a  conference  call  to  emote  verbally  with
characters from Iron Chef?  You will.  And the company that will bring
it to you: AT&T.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: traceroute for vxworks
Date: Thu, 08 Nov 2001 18:39:29 -0500
From: Chandwani <rexrc@ubbsrv3.ho.lucent.com>
Organization: Lucent Technologies
Message-ID: <3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com>
Hi !
Is there a traceroute ( or similar ) program available somewhere for vxworks ?
Rakesh
- ----
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: Thu, 08 Nov 2001 21:55:39 +0000
From: molochai <molochai@vapour-trail.demon.co.uk>
Message-ID: <d62965d64a%molochai@vapour-trail.demon.co.uk>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk> <Xns9150723555487borkhuisagerecom@135.7.153.102>
In message <Xns9150723555487borkhuisagerecom@135.7.153.102>
          Johan Borkhuis <borkhuis@agere.com> wrote:
> Mark Durham <mark@rosedene.demon.co.uk> wrote:
>
> > Hi,
> >
> > I've searched the WindSurf area at WRS and cannot find any details on
> > how to upgrade the version of GCC that shipped with Tornado 2.0
> >
> > Is it just a case of getting the latest NT binaries and libraries for
> > GCC and installing them?
>
> What architecture are you looking for? There is the PPC version from Dave
> Korn.
> But WindRiver has just started shipping Tornado 2.1, and this includes a
> newer version of the compiler, so you should ask your FAE or sales rep for
> this. Not all architectures are available however.
Anyone know if PowerPC is one of those now shipping?
M
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado C/C++ Compiler Properties
Date: Fri, 9 Nov 2001 09:26:33 +0100
From: "Reto Drack" <reto.drack@ch.abb.com>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <9sg3vr$ms6$1@rex.ip-plus.net>
References: <9sdtsq$drm$1@rex.ip-plus.net> <Y4zG7.82$vy6.88192@newsr2.u-net.net>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
news:Y4zG7.82$vy6.88192@newsr2.u-net.net...
> Reto Drack wrote in message <9sdtsq$drm$1@rex.ip-plus.net>...
> >Hello
> >
> >Tornado II: Is it possible to use a NT system variable within an inlude
> path
> >in the C/C++ Compiler properties?
> >something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT
> >system variable.
> >
> >Regards
> >
> >Reto
>
>   Absolutely.  We make great use of including $(USERNAME) in makefiles so
> that the executable gets sent to the network home directory of whoever
> happens to be doing the compile.
>
>   Note that if you wanted to use them directly on a command line rather
than
> in a makefile (which is where the properties set in the T2 gui end up) you
> might need to use %VARIABLE% instead of $(VARIABLE).  Or $(VARIABLE) might
> work anyway: you'd have to try it and see.
>
>         DaveK
> --
> Burn your ID card!  http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
>
>
Thanks for the answer
Try to use %VARIABLE% or $VARIABLE in an inlude path in the T2 gui,
it will not work for the regeneration of the project file dependencies.
Reto
---------------------------
Newsgroups: comp.os.vxworks
Subject: usb development
Date: Fri, 9 Nov 2001 16:53:08 +0800
From: "xmtan" <bdcom3081@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9sg5mr$sv0$1@mail.cn99.com>
Reply-To: "xmtan" <bdcom3081@163.net>
Is there any free referrences about developing USB device on vxworks ?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Fri, 09 Nov 2001 09:57:15 +0100
From: Ross Staton <Ross.Staton.GP@icn.siemens.de>
Organization: Siemens Inc.
Message-ID: <3BEB9A6B.38D8059D@icn.siemens.de>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net>
thanks for that info Dave.
I had reached the stage of blaming the OS, but I was wondering if the function
clock_gettime() might not be re-entrant? The reason I ask is that we have a lot
of tasks polling the clock and there could easily be a conflict here if this
code is not written for this. I know that in Linux for example, there are
separate local clock functions for reentrant usage.
Do you know if it is safe to call clock_gettime() from multiple tasks
simultaneously?
cheers
Ross
Ps. And it is a PPC platform
- ------------------------------------------------------------
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Fri, 09 Nov 2001 10:35:14 +0100
From: Ross Staton <Ross.Staton.GP@icn.siemens.de>
Organization: Siemens Inc.
Message-ID: <3BEBA352.9D414CFE@icn.siemens.de>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net>
Dave, we ran a few more tests and our bug seems to match yours (see below):
>
>   Does it re-sync itself if you leave it for an amount of time approximately
> equal to (time when the posix clock was inited minus time when system was
> booted) ?
>
yes it does
>
>   He does.  It's called "The vxworks kernel".  Anytime you set a delay - and
> this goes for timeouts too - that, when added to the vxTicks variable, would
> cause it to wrap round, the OS sets vxTicks back to zero and sets the delay
> timer to (zero plus delay length), rather than setting the delay timer to
> (current ticks + delay length) as it would otherwise do.
>
the tick count vxTicks is being reset (or at least it returns a lower value)
>   I observed this behaviour to occur any time I tried to do large (~ 1MB)
> reads or writes from a SCSI bus; presumably there is a timeout in the scsi
> library that was long enough to trigger this effect, and presumably there
> are other timeouts elsewhere in the kernel that can cause it too.
>
It happens to us when we are downloading large files over a Utopia bus using
FTP.
>   The fix is to get WRS to give you the source code for clockLib and replace
> 'vxTicks' with 'vxAbsTicks' throughout.
Ok we can try this, but first we need to know have you raised a TSR with
Windriver, and if so what is the status of this? If not, why not?
If there is an SPR available for this bug we need the reference number.
Hope to hear from you
Ross
Ps. The email address above doesn't work but you can email me at
ross_staton@yahoo.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: CDF Files (Tornado 2.0)
Date: Fri, 09 Nov 2001 10:38:24 +0000
From: Paul Caswell <paul.caswell@baesystems.com>
Organization: Land & Sea Systems
Message-ID: <3BEBB220.716DA6EE@baesystems.com>
Hello world,
I want to modify the default WDB selection from NETWORK to SERIAL.  I'm
fairly sure I need to use a cdf file to do this but when I create one in
the bsp directory (named 50xyz.cdf) and override the
SELECT_WDB_COMM_TYPE (as follows) it doesn't work.  Any ideas ??
Selection SELECT_WDB_COMM_TYPE {
 NAME  select WDB connection
 COUNT  1-1
 CHILDREN INCLUDE_WDB_COMM_SERIAL  \
   INCLUDE_WDB_COMM_TYCODRV_5_2 \
   INCLUDE_WDB_COMM_NETWORK \
   INCLUDE_WDB_COMM_NETROM  \
   INCLUDE_WDB_COMM_END  \
   INCLUDE_WDB_COMM_CUSTOM
 DEFAULTS INCLUDE_WDB_COMM_SERIAL
 HELP  tgtsvr WDB
}
Note
DEFAULTS was originally set to INCLUDE_WDB_COMM_NETWORK
Regards
Paul
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: 09 Nov 2001 11:04:59 +0000 (GMT)
From: Martin Read <mpread@chiark.greenend.org.uk>
Organization: Linux Unlimited
Message-ID: <Jad*w4U+o@news.chiark.greenend.org.uk>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk> <Xns9150723555487borkhuisagerecom@135.7.153.102> <d62965d64a%molochai@vapour-trail.demon.co.uk>
In article <d62965d64a%molochai@vapour-trail.demon.co.uk>,
molochai  <molochai@vapour-trail.demon.co.uk> wrote:
>In message <Xns9150723555487borkhuisagerecom@135.7.153.102>
>          Johan Borkhuis <borkhuis@agere.com> wrote:
>> But WindRiver has just started shipping Tornado 2.1, and this includes a
>> newer version of the compiler, so you should ask your FAE or sales rep for
>> this. Not all architectures are available however.
>
>Anyone know if PowerPC is one of those now shipping?
It appears to be, the shelf next to my desk certainly has a windriver
gatefold thingy with a Tornado 2.1 installation CD in it.
T2.1/PPC only supports 75x and 7400, though - in particular, anything
with a 603 core is definitely not supported.
m.
- --
\_\/_/| Martin Read - my opinions are my own.  share them if you wish.
 \  / | "in vielen hab ich dich im Schlaf gesucht / im vielen hab ich dich
  \/  |  schlafend gesucht" - EN, "12305te Nacht"
- ------+
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
Date: 9 Nov 2001 03:25:11 -0800
From: heller@core.com (Mark Heller)
Organization: http://groups.google.com/
Message-ID: <f7fd1188.0111090325.774037ce@posting.google.com>
References: <f7fd1188.0111080619.20fef555@posting.google.com> <3BEAE19F.F8A08915@aps.anl.gov>
Andrew Johnson <anj@aps.anl.gov> wrote in message news:<3BEAE19F.F8A08915@aps.anl.gov>...
> Mark Heller wrote:
> >
> > Has anyone successfully used the PPCbug firmware to load
> > and run the Vxworks boot rom on a Motorola MV5100?
>
> Not personally and I don't have access to a 5100, but...
>
> > I noticed there is a #define in the config.h file for
> > INCLUDE_MOT_BUG_ROM, but it doesn't look like it
> > will work. The romInit.s code disables ram during the
> > setup of the hawk chip, which would make it difficult
> > to run the boot rom code from ram. I'm using Tornado 2.1
> > and the Wind River version of the MV5100 BSP.
>
> Why would the debug monitor copy the code into RAM?  In earlier Motorola
> debug monitors on other systems it would just execute the code directly in
> its ROM location.  Of course the 5100 monitor *might* copy it to RAM
> first, but I don't see why Motorola would have done that.
>
> - Andrew
We are using the network boot option in the PPCbug firmware.
It downloads an image of the bootrom (boot.bin) into ram and
jumps to it. That way we never have to burn bootroms. If they
change, we just put in the new file, and reboot the system.
We are currently using this method on mv1300's, mv1600's, mv2300's,
and mv2700's. Wind River has a few technical notes on how to do this
for some of the older Motorola boards.
- -Mark
---------------------------
Newsgroups: comp.os.vxworks
Subject: target server and windows 2000
Date: Fri, 9 Nov 2001 12:54:31 +0100
From: "Bertram Tenner" <Bertram@rink-tenner.de>
Message-ID: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net>
Hello all,
I have a problem activating a target server in tornado 2.0 running under
windows 2000. The server seems to connect properly to the target machine,
but when I try to activate it in the combobox it says me: target server
"name" is not responding, this may be due to a slow network connection. But
I know the network is ok.
What can I do ?
Thanks for help.
                                 Bertram
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Fri Nov  9 06:57:09 2001
From: "Mynampati, Venkata S." <MynamVS@nsc-msg01.network.com>
Date: Fri Nov  9 06:57:12 PST 2001
Subject: logMsg() side-effects
Hi,
Does logMsg() have any side-effects like unmasking of interrupts?
Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
now, when logMsg() returns, will it unMask the interrupts?
What could be effects of calling logMsg() with local variables?
TIA
Venkat
VXWORKS OR TORNADO
From vxwexplo-errs@csg.lbl.gov  Sat Nov 10 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Nov 10 04:03:20 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Nov 10 04:03:13 PST 2001
        Subject: Memory loss with STL
        Subject: Re: tornado and windows 2000
        Subject: Re: clock corruption
        Subject: Re: target server and windows 2000
        Subject: Re: CDF Files (Tornado 2.0)
        Subject: Re: target server and windows 2000
        Subject: ftpd, dosFs2.0 unsupported ftpd
        Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
        Subject: Re: clock corruption
        Subject: Re: Network stack test [was: Pre-empting tNetTask]
        Subject: Re: clock corruption
        Subject: Re: ftpd, dosFs2.0 unsupported ftpd
        Subject: logMsg side-effects
        Subject: [AE] VxWorks AE memory access
        Subject: dosFs 2.0 unsupported but better ftpd does not describe how to install
        Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
        Subject: Video streaming?
        Subject: VxWorks Envoy 9.2 SNMP Agent MIB
        Subject: Re: Memory loss with STL
        Subject: Re: Compact Flash.
        Subject: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
        Subject: Re: how to delete a IP address
        Subject: emergence how to delete a IP  address
        Subject: ccppc for Vxworks again
        Subject: Re: 8260 DPRAM initialization
        Subject: Re: clock corruption
        Subject: Re: clock corruption
        Subject: Re: logMsg side-effects
        Subject: Re: [AE] VxWorks AE memory access
        Subject: Re: Updating GNU C Compiler
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Memory loss with STL
Date: Fri, 9 Nov 2001 14:18:27 +0100
From: "Daniel Flck" <daniel.flueck@scs.ch>
Organization: Customers of Tiscali DataComm AG - http://www.tiscali.ch/
Message-ID: <3bebd79e$1_2@news.datacomm.ch>
Hello
our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22. May
1997 from Moscow group or something.
our Problem: It looks like that we are loosing memory, while we use
STL-Containers. It just doesn't clean up anymore all the used memory space
at the end. If we test our code under Windows NT, we can't find the same
leaks.
Has anyone had the same problems?
Should we update to a new STL, and which one?
Thanks in advance
Daniel
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: tornado and windows 2000
Date: 9 Nov 2001 13:32:44 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9154941567A52borkhuisagerecom@135.7.153.102>
References: <3bea46b3$0$188$4d4ebb8e@read.news.de.uu.net>
"Bertram Tenner" <Bertram@rink-tenner.de> wrote:
> trying to install the Tornado 2.0 software under windows 2000 I get
> only the uninstall shortcut in the tornado
> program group. What can I do ?
Did you install the complete package? Can you start Tornado by hand (start
tornado.exe in <Tornado base dir>\host\x86-win32\bin)?
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Fri, 9 Nov 2001 13:37:55 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9sgm0b$2sr$1@neptunium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEB9A6B.38D8059D@icn.siemens.de>
> I had reached the stage of blaming the OS, but I was wondering if the
function
> clock_gettime() might not be re-entrant? The reason I ask is that we have
a lot
> of tasks polling the clock and there could easily be a conflict here if
this
> code is not written for this. I know that in Linux for example, there are
> separate local clock functions for reentrant usage.
>
> Do you know if it is safe to call clock_gettime() from multiple tasks
> simultaneously?
There is nothing in the image I have (disassemble clock_gettime() yourself)
that would indicate it isn't re-entrant.
Mind you having looked at the code you might wonder whether it is the
correct
item to poll...  Provided you never call tickSet(), use tickGet() for a
100Hz (in your case) counter that won't jump....
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: target server and windows 2000
Date: 9 Nov 2001 13:34:25 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9154945DC6C2Eborkhuisagerecom@135.7.153.102>
References: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net>
"Bertram Tenner" <Bertram@rink-tenner.de> wrote:
> Hello all,
> I have a problem activating a target server in tornado 2.0 running
> under windows 2000. The server seems to connect properly to the target
> machine, but when I try to activate it in the combobox it says me:
> target server "name" is not responding, this may be due to a slow
> network connection. But I know the network is ok.
> What can I do ?
Did you install all the Win2k patches from WindSurf?
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: CDF Files (Tornado 2.0)
Date: 9 Nov 2001 08:59:18 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111090859.4b3dc166@posting.google.com>
References: <3BEBB220.716DA6EE@baesystems.com>
Hello Paul,
Not sure about this one, but you could try this:
Selection SELECT_WDB_COMM_TYPE {
    VALUE    INCLUDE_WDB_COMM_SERIAL
}
I think that should do it for you; you don't need to include all the
other lines (they are inherited from the original automatically).
HTH,
John...
Paul Caswell <paul.caswell@baesystems.com> wrote in message news:<3BEBB220.716DA6EE@baesystems.com>...
> Hello world,
> I want to modify the default WDB selection from NETWORK to SERIAL.  I'm
> fairly sure I need to use a cdf file to do this but when I create one in
> the bsp directory (named 50xyz.cdf) and override the
> SELECT_WDB_COMM_TYPE (as follows) it doesn't work.  Any ideas ??
>
> Selection SELECT_WDB_COMM_TYPE {
>  NAME  select WDB connection
>  COUNT  1-1
>  CHILDREN INCLUDE_WDB_COMM_SERIAL  \
>    INCLUDE_WDB_COMM_TYCODRV_5_2 \
>    INCLUDE_WDB_COMM_NETWORK \
>    INCLUDE_WDB_COMM_NETROM  \
>    INCLUDE_WDB_COMM_END  \
>    INCLUDE_WDB_COMM_CUSTOM
>  DEFAULTS INCLUDE_WDB_COMM_SERIAL
>  HELP  tgtsvr WDB
> }
>
> Note
> DEFAULTS was originally set to INCLUDE_WDB_COMM_NETWORK
>
> Regards
> Paul
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: target server and windows 2000
Date: 9 Nov 2001 09:02:34 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111090902.8b5cda1@posting.google.com>
References: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net>
Hello,
Check that you have all the Win2K patches installed... you might also
want to search the archives for this group - Win2K has been a source
of problems for many people. You can search the archive at
http://groups.google.com/
HTH,
John...
"Bertram Tenner" <Bertram@rink-tenner.de> wrote in message news:<3bebc469$0$187$4d4ebb8e@read.news.de.uu.net>...
> Hello all,
> I have a problem activating a target server in tornado 2.0 running under
> windows 2000. The server seems to connect properly to the target machine,
> but when I try to activate it in the combobox it says me: target server
> "name" is not responding, this may be due to a slow network connection. But
> I know the network is ok.
> What can I do ?
> Thanks for help.
>                                  Bertram
---------------------------
Newsgroups: comp.os.vxworks
Subject: ftpd, dosFs2.0 unsupported ftpd
Date: 9 Nov 2001 10:07:07 -0800
From: rsdavis@isrparc.org (Scott Davis)
Organization: http://groups.google.com/
Message-ID: <197ea102.0111091007.26aef85e@posting.google.com>
How do I install the unsupported ftpd that is distributed with dosFs
2.0.  I am using Tornado 2.0, VxWorks 5.4 on a Solaris 2.8 host.  More
importantly should I install.  I want to be able to create directories
via ftp connection. Currently an attempt to perform mkdir {filename}
errors out with 500 command not recognized which is what others
observe.  I have installed dosFs 2.0 and created a filesystem on a
SCSI drive that is connected to my target PPC 750 board.  PCC604 is
the BSP nomenclature.  Is this unsupported ftpd workable.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
Date: Fri, 9 Nov 2001 17:02:52 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_ZUG7.14$4k.29463@newsr2.u-net.net>
References: <f7fd1188.0111080619.20fef555@posting.google.com>
Mark Heller wrote in message ...
>Hello all,
>Has anyone successfully used the PPCbug firmware to load
>and run the Vxworks boot rom on a Motorola MV5100?
>I noticed there is a #define in the config.h file for
>INCLUDE_MOT_BUG_ROM, but it doesn't look like it
>will work. The romInit.s code disables ram during the
>setup of the hawk chip, which would make it difficult
>to run the boot rom code from ram. I'm using Tornado 2.1
>and the Wind River version of the MV5100 BSP.
  See WRS spr #30625: to summarize, "downloading vxworks from any version of
PPC-bug is not supported by Wind River".  I found it at
http://www.wrs.com/csdocs/product/t2/problems-PowerPC.htm
[warning: very *very* big page!]
  Now since the downloadable kernel takes over after the bootrom and
thoroughly reinitialises the system, it should be possible and it should
work ok, but you're gonna have to figure out how to do it yourself...
      DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Fri, 9 Nov 2001 17:31:29 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_ZUG7.15$4k.29463@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEB9A6B.38D8059D@icn.siemens.de> <9sgm0b$2sr$1@neptunium.btinternet.com>
David Laight wrote in message <9sgm0b$2sr$1@neptunium.btinternet.com>...
[Ross' attribution line lost]
>> I had reached the stage of blaming the OS, but I was wondering if the
>function
>> clock_gettime() might not be re-entrant? The reason I ask is that we have
>a lot
>> of tasks polling the clock and there could easily be a conflict here if
>this
>> code is not written for this. I know that in Linux for example, there are
>> separate local clock functions for reentrant usage.
>>
>> Do you know if it is safe to call clock_gettime() from multiple tasks
>> simultaneously?
>
>There is nothing in the image I have (disassemble clock_gettime() yourself)
>that would indicate it isn't re-entrant.
  However there IS (or perhaps was) a potential race condition in there.
Here's the diagnosis I was sent by one of WRS' engineers when I first
reported the clock corruption bug:
- ---
I found out that If clock_gettime() is interrupted between its two
reads of the system clock, it can return an invalid value.
A fix was suggested as follows:
The problem is that vxTicks is passed as a parameter to the
TV_CONVERT_TO_SEC macro, and that macro makes two
separate reads of whatever the passed parameter is. Therefore,
vxTicks is read two times, without any locking. If the task is pre-
empted, the value will be inconsistent.
The fix is to just create a local variable and read the timer value into
it, and pass that to TV_CONVERT_TO_SEC instead.
- ---
  (I then had to write back explaining that there was another bug and
disassembling their object code for them to point it out).
>Mind you having looked at the code you might wonder whether it is the
>correct
>item to poll...  Provided you never call tickSet(), use tickGet() for a
>100Hz (in your case) counter that won't jump....
  Or just extern declare the ULONG global variable vxAbsTicks and read from
it whenever you like...
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Network stack test [was: Pre-empting tNetTask]
Date: Fri, 9 Nov 2001 18:01:47 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_ZUG7.16$4k.29463@newsr2.u-net.net>
References: <ede7a042.0111021550.440b73e1@posting.google.com> <newscache$cledmg$e9g$1@lnews.actcom.co.il> <uelnbdgs1.fsf_-_@yahoo.com>
Bill Pringlemeir wrote in message ...
>>>>>> "Leonid" == Leonid Rosenboim <Dont_Spam_Leonid@Consultant.com>
writes:
>[snip]
> Leonid> to be connected into.  If you expect it to connect to a
> Leonid> public network, keep in mind this is a harsh place and bad
> Leonid> things are bound to happen...
>
>There use to be test that would send different TCP/UDP/IP packets at a
>box to test it for various bugs.  I ran this on NT 3.?? and it reset
>the machine.  I believe that we ran it against an older version of
>vxWorks.  A denial attack stop the box for a while, but it came up
>eventually.
>
>Can anyone point me to these test?  I don't know if it was Satan,
>angel, etc.  Maybe there are others?  Has anyone tried these on more
>recent versions of vxWorks?  I suppose CPU/network drivers would also
>be wise to test against (as well as open ports).
>
>regards,
>Bill Pringlemeir.
  Plenty of vxworks stuff is probably insecure, in the sense of being
bring-down-able by overflowing buffers or flooding it, but fortunately the
lack of proper virtual memory space in vworks prior to AE makes it very
difficult for anyone to attempt to exploit a buffer overflow to actually get
some of their own code executed on the stack.
         DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Fri, 9 Nov 2001 18:12:54 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_ZUG7.17$4k.29463@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de>
Ross Staton wrote in message <3BEBA352.9D414CFE@icn.siemens.de>...
>
>Dave, we ran a few more tests and our bug seems to match yours (see below):
 [snip a few confirmatory details]
>It happens to us when we are downloading large files over a Utopia bus
using
>FTP.
  Right; it could be either network timeouts *or* disk ones then I guess.
>>   The fix is to get WRS to give you the source code for clockLib and
replace
>> 'vxTicks' with 'vxAbsTicks' throughout.
>
>Ok we can try this, but first we need to know have you raised a TSR with
>Windriver, and if so what is the status of this? If not, why not?
>If there is an SPR available for this bug we need the reference number.
  It is/was TSR# 144712.  When they sent us the clockLib source, they asked
us if they could close it and we said OK because we were happy, so I have no
idea if they ever made an SPR or patch from it.  If they have any problems
finding the details from the TSR, drop me a line and I'll give you some
further info that might help them narrow it down.
>Hope to hear from you
>Ross
>
>Ps. The email address above doesn't work but you can email me at
>ross_staton@yahoo.no.more.spambots.com
Cc: sent!
    cheers,
           DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ftpd, dosFs2.0 unsupported ftpd
Date: Fri, 9 Nov 2001 20:26:19 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$zwqjmg$gro$1@lnews.actcom.co.il>
References: <197ea102.0111091007.26aef85e@posting.google.com>
The unsupported FTP server is what you need, will let you
make directories, use GUI FTP clients and much more.
I made the enhancements, of which I am rather proud.
The place in "unsupported" where the source is found
should also contain a README on how to install and initialize it.
- - Leonid
"Scott Davis" <rsdavis@isrparc.org> wrote in message
news:197ea102.0111091007.26aef85e@posting.google.com...
> How do I install the unsupported ftpd that is distributed with dosFs
> 2.0.  I am using Tornado 2.0, VxWorks 5.4 on a Solaris 2.8 host.  More
> importantly should I install.  I want to be able to create directories
> via ftp connection. Currently an attempt to perform mkdir {filename}
> errors out with 500 command not recognized which is what others
> observe.  I have installed dosFs 2.0 and created a filesystem on a
> SCSI drive that is connected to my target PPC 750 board.  PCC604 is
> the BSP nomenclature.  Is this unsupported ftpd workable.
---------------------------
Newsgroups: comp.os.vxworks
Subject: logMsg side-effects
Date: 9 Nov 2001 10:37:09 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0111091037.7e8ad439@posting.google.com>
Hi,
Does logMsg() have any side-effects like unmasking of interrupts?
Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
now, when logMsg() returns, will it unMask the interrupts?
What could be effects of calling logMsg() with local variables?
TIA
Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: [AE] VxWorks AE memory access
Date: 9 Nov 2001 11:16:35 -0800
From: dmasse@ele.etsmtl.ca (David Masse)
Organization: http://groups.google.com/
Message-ID: <14fc63a8.0111091116.69f08060@posting.google.com>
Hi,
I'm designing an application on PowerPC MPC860 that needs to access
the Parallel I/O port B.  The access to the port is done through a
memory map register. I want to know if VxWorks AE allow me to access
directly the memory map registers in the standard way:
    ex:
    int immrVal = vxImmrGet();
    *PBDAT( immrVal ) = 0x00001000;
Thank you.
---------------------------
Newsgroups: comp.os.vxworks
Subject: dosFs 2.0 unsupported but better ftpd does not describe how to install
Date: 9 Nov 2001 11:26:03 -0800
From: rsdavis@isrparc.org (Scott Davis)
Organization: http://groups.google.com/
Message-ID: <197ea102.0111091126.50bf1dc3@posting.google.com>
I am looking for instructions to install the unsupported ftpdLib.c and
header file that comes with dosFs 2.0.  I am working with T2 on
Solaris 2.8 with a PPC750 target, PPC604.  I can access the SCSI drive
with dosFs 2.0 filesystem on it.  I want to take advantage of improved
ftp server provided by dosFs 2.0 so I can get the additional ftp
server commands like mkdir.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Booting MV5100 with Motorola PPCbug firmware?
Date: Fri, 09 Nov 2001 13:43:40 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BEC31EC.3D87043@aps.anl.gov>
References: <f7fd1188.0111080619.20fef555@posting.google.com> <3BEAE19F.F8A08915@aps.anl.gov> <f7fd1188.0111090325.774037ce@posting.google.com>
Mark Heller wrote:
>
> We are using the network boot option in the PPCbug firmware.
> It downloads an image of the bootrom (boot.bin) into ram and
> jumps to it. That way we never have to burn bootroms. If they
> change, we just put in the new file, and reboot the system.
> We are currently using this method on mv1300's, mv1600's, mv2300's,
> and mv2700's. Wind River has a few technical notes on how to do this
> for some of the older Motorola boards.
So your systems go PPCbug -> bootrom -> vxWorks image do they?  You could
probably manage without the middle step, although it may be harder with
some BSPs.  I used to boot MVME167 boards straight into the vxWorks image
using network booting.  We blow the Tornado bootroms into flash on most of
our boards now (using PPCbug's niot and niop commands to fetch the bootrom
image of course) and we also set the jumpers to avoid PPCbug completely in
normal operational use.  Presumably the MVME5100 doesn't have flash which
is why you've developed your approach?
The INCLUDE_MOT_BUG_ROM option will almost certainly generate a binary
that you can program into flash or EPROM and be recognized properly by
PPCbug as an bootable ROM, but doubt if it's intended for network bootable
object code.  Have you tried autobooting into the vxWorks image directly?
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: Video streaming?
Date: Fri, 09 Nov 2001 15:16:44 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BEC47BC.BFA354F2@aps.anl.gov>
Does anybody know of a streaming video server library available for
vxWorks, (with frame grabber hardware iff it's PMC based)?  Personally I
believe the non-vxWorks solutions will be faster & cheaper to implement,
but I agreed to ask...
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks Envoy 9.2 SNMP Agent MIB
Date: 9 Nov 2001 13:31:58 -0800
From: vkinger@hotmail.com (Kinger)
Organization: http://groups.google.com/
Message-ID: <f57b3351.0111091331.51bbd4aa@posting.google.com>
I am having problem with my private MIBs, I don't see the object ids
when I run snmpwalk from HP Openview manager, I do see the standard
MIBs, but not the private MIBs that I have developed for my system.
Can somebody provide me a lead here??
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Memory loss with STL
Date: Fri, 09 Nov 2001 18:12:26 -0500
From: Emory Stagmer <Emory_Stagmer@yahoo.com>
Message-ID: <3BEC62DA.39040C37@yahoo.com>
References: <3bebd79e$1_2@news.datacomm.ch>
I apparently had the same problem using a
queue, but since I was 'pushing' in an ISR
and 'popping' from a task, I figured it was
related to executing in the ISR, replaced
the STL queue with a static array class that
had the same semantics and never investigated
further.  My version numbers 'look' similar,
but I don't have time to check at the moment...
If you get more info, please post here!
Emory Stagmer
  Northrup Grumman Space Systems Operation
"Daniel Flck" wrote:
>
> Hello
>
> our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22. May
> 1997 from Moscow group or something.
>
> our Problem: It looks like that we are loosing memory, while we use
> STL-Containers. It just doesn't clean up anymore all the used memory space
> at the end. If we test our code under Windows NT, we can't find the same
> leaks.
>
> Has anyone had the same problems?
> Should we update to a new STL, and which one?
>
> Thanks in advance
>
> Daniel
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Compact Flash.
Date: Fri, 09 Nov 2001 18:15:20 -0500
From: Emory Stagmer <Emory_Stagmer@yahoo.com>
Message-ID: <3BEC6388.A8220099@yahoo.com>
References: <c129947c.0111081138.51a43f9e@posting.google.com>
I'm using this on a PowerPC.  Files
are 'winbpic.h' and 'winbpic.c' from
WindRiver.
Here's the header from the .H file:
- -==========================-
/* winbPic.h - Winbond W83C553F System I/O Controller with PCI
definitions */
/* Copyright 1984-1998 Wind River Systems, Inc. */
/* Copyright 1996-1998 Motorola, Inc. */
/*
modification history
- --------------------
01g,11nov98,ms_ minor changes; code review feedback
01f,27oct98,ms_ modified to comply with WRS coding standards
01e,26Aug98,mo  Implement MMU for Map A and B
01d,08Apr98,My  Implemented auto-detect memory map.
01c,18Mar98,mo  Add all the PCI, ISA, chrp, and prep space defines
01b,16Mar98,mo  Change all occurances of IBC to PIC,
                change IBC_BYTE_IN and IBC_BYTE_OUT to more
                intuitive usage (and name to PIC_BYTE....)
                use global picBaseAdrs instead of RAVEN_BASE_ADRS
01a,12Mar98,mo  created file
*/
- -============================-
Emory Stagmer
   Northrup Grumman Space Systems Operation
Vinh wrote:
>
> Hi,
>   Support for booting from Compact Flash card:
>    The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on
>    many PC motherboards) for which Windriver says they
>    have no driver support. But Winbond says that this chip is
>    register compatible with Intel's PCI IDE specifications and
>    all IDE controllers used on PC motherboards use either
>    ISA or PCI bus, so Windriver should have support for some
>    other chip that is also compabile with Intel specs.
>
>   I would like to know if there is any support (WindRiver or Third party)
>   for Winbond W83C553 chip.
>
>   Or if any help/tip is appreciated.
>
> Thank you
> Vinh Lam
---------------------------
Newsgroups: comp.os.vxworks
Subject: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
Date: Fri, 9 Nov 2001 17:34:31 -0600
From: "Leland Mills" <lelandm@nortelnetworks.com>
Organization: Nortel
Message-ID: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com>
I'm trying to swap in and out the validity of a page in memory.  I'd like
for this page to be viewable sometimes and not other times.  Here, from the
command line, I'm just trying to invalidate it, and then validate it again.
I can invalidate it fine, but them I get an error with an errno equal to
S_vmLib_NOT_PAGE_ALIGNED when I try to validate the page again.  What am I
doing wrong?
Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0)
<Calling vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0)>
<Return value = 0 (0x00000000) >
Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1)
<Calling vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1)>
<Return value = -1 (0xffffffff) >
Card 0 -> d &errno,2
<Calling d(0x26f4d4,0x2)>
0026f4d0:            0002 0055                       *      U.........*
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: how to delete a IP address
Date: 9 Nov 2001 16:01:51 -0800
From: satyam_k@hotmail.com (Satyam)
Organization: http://groups.google.com/
Message-ID: <ede7a042.0111091601.102cb228@posting.google.com>
References: <221caa76.0111071842.52f7f76a@posting.google.com>
You can write a function like this:
ifAddrDel (char *interfaceName, char *interfaceAddr)
{
   return (ifIoctl (interfaceName, SIOCDIFADDR, interfaceAddr)) ;
}
kevinatnj@yahoo.com.cn (kewin) wrote in message news:<221caa76.0111071842.52f7f76a@posting.google.com>...
> hi all
>
>   I have used IfAddrAdd() to add the second IP adrress to one ethernet
> interface.But something is puzzling me,how can I delete the it.I mean
> delete the specific IP without affecting the other IP addresses.
>
> Any advice will be welcome
>
> kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: emergence how to delete a IP  address
Date: 9 Nov 2001 16:59:59 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111091659.10979edc@posting.google.com>
hi all
  I have used IfAddrAdd() to add the second IP adrress to one ethernet
interface.But something is puzzling me,how can I delete the it.I mean
delete the specific IP without affecting the other IP addresses.
Any advice will be welcome
kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: ccppc for Vxworks again
Date: 9 Nov 2001 18:00:24 -0800
From: Gary.Zhang@kla-tencor.com (Gary Zhang)
Organization: http://groups.google.com/
Message-ID: <8b05312a.0111091800.4f840f8b@posting.google.com>
The default wrs ccppc (2.7.2-960126) supports STL, but it
does not support namespace.
I downloaded ccppc (2.95.4 -20010319) from DaveK's website
http://www.lysergic.u-net.com/homepage.html.
It supports namespace alright. but it has two problems
when I use it as it is.
1) it is quiet. it does not generate errors. Why ?
   when it fails, it does so without generating .o file.
2) it stops supporting template !
    It simply stops half way.
here is output with -v option.
Reading specs from e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/specs
gcc version 2.95.4 20010319 (prerelease-DaveK)
 e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/cpp0.exe
- -lang-c++ -v -Ie:/Tornado/target/h -iprefix
e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/
- -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus
- -D__vxworks -D__PPC__ -D__VXVARGS__ -D__vxworks -D__PPC__
- -D__VXVARGS__ -Asystem(vxworks) -Asystem(embedded) -Acpu(powerpc)
- -Amachine(powerpc) -D__EXCEPTIONS -D__CHAR_UNSIGNED__ -Wall
- -D_CALL_SYSV -D__BIG_ENDIAN__ -Amachine(bigendian) -D_ARCH_PPC
- -DCPU=PPC604 -DNAMESPACE -DTEMPLATE junk9.cpp
/cygdrive/c/TEMP/cc7FqFWE.ii
 e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/cc1plus.exe
/cygdrive/c/TEMP/cc7FqFWE.ii -quiet -dumpbase junk9.cc -Wall -version
- -fdollars-in-identifiers -o /cygdrive/c/TEMP/ccaVwePp.s
Any fix to the above problems ?
Alternatively, what is the mostly compliant C++ compiler for Vxworks +
PPC ?
Thanks For your help.
Gary
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: 8260 DPRAM initialization
Date: Sat, 10 Nov 2001 04:26:36 GMT
From: "Stephen B. Johnson" <stevebj69@yahoo.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <002H7.132769$My2.76373844@news1.mntp1.il.home.com>
References: <d83bb8e3.0110301109.6918070@posting.google.com>
Usually a BSP will not touch it...unless it sets up the SMC for serial
console of the FCC for Ethernet...  At least this has been my experience
over the past 5 years with 860...and now 8260 BSPs.
"Raymond Yeung" <ryeung@earthlink.net> wrote in message
news:d83bb8e3.0110301109.6918070@posting.google.com...
> We got this SBC BSP from WindRiver.  Based on their target.nr
> file, I got one picture of the DPRAM Map.  However, when I
> dump the memory space, I found that certain regions that are
> marked as unused actually contains non-zeros.
>
> My question are that:  Does VxWorks zero DPRAM region?  Is it
> normal for an "unused" area (in DPRAM, of course) to have non-zero
> values.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Sat, 10 Nov 2001 04:44:57 GMT
From: Ephraim Gadsby <a@b.c>
Organization: - minimal
Message-ID: <qe9put044usp1541cpl7jm3ab9brue6hg0@4ax.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net>
On Thu, 8 Nov 2001 17:20:41 -0000, "Dave Korn"
<no.spam@my.mailbox.invalid> wrote:
>Ephraim Gadsby wrote in message
><3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>...
>>On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton
>><Ross.Staton.GP@icn.siemens.de> wrote:
>>You may have some code that is manipulating vxTicks directly and
>>corrupting it.
>
>  He does.  It's called "The vxworks kernel".  Anytime you set a delay - and
>this goes for timeouts too - that, when added to the vxTicks variable, would
>cause it to wrap round, the OS sets vxTicks back to zero and sets the delay
>timer to (zero plus delay length), rather than setting the delay timer to
>(current ticks + delay length) as it would otherwise do.
>
With a 100Hz clock 2^32 ticks is well over a year, so the bug you
describe would be virtually impossible to reproduce unless you have
timeouts of over a year, or  application code is giving a negative
timout.
In my opinion the latter would certainly count as an application bug -
I would not expect a RT kernel to validate this for me.
I haven't verfied this myself but someone from WRS told me that the
timeout queue is setup so that the next timeout to go-off stores an
offset from now, and all the others store an offset from the
preceeding timeout. I can't see why they would need to reset vxTicks.
Could you point out the kernel code that  resets vxTicks?  I'd like
to have a look.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Sat, 10 Nov 2001 04:46:07 GMT
From: Ephraim Gadsby <a@b.c>
Organization: - minimal
Message-ID: <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net>
On Fri, 9 Nov 2001 18:12:54 -0000, "Dave Korn"
<no.spam@my.mailbox.invalid> wrote:
>
>  It is/was TSR# 144712.  When they sent us the clockLib source, they asked
>us if they could close it and we said OK because we were happy, so I have no
>idea if they ever made an SPR or patch from it.
Its in the 5.4 version we have.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 9 Nov 2001 21:58:04 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111092158.6d053829@posting.google.com>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com>
Hello,
If called from interrupt level, logMsg, which is basically just a
called to msgQSend(), should not change the current interrupt
settings. If called from task level, it could cause a context switch
(likely since tLogTask has a pretty high priority), and that will
usually enable interrupts (depending on how the CPU works, and the how
they were disabled - check your docs for info). When the calling task
resumes, they will revert to the locked state.
As for local variables, they are OK, but watch out for pointers to
transient data (e.g. passing the address of an automatic variable).
You must make sure if you pass a pointer, that it points to something
that won't change!
HTH,
John...
mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> Hi,
> Does logMsg() have any side-effects like unmasking of interrupts?
> Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
> now, when logMsg() returns, will it unMask the interrupts?
>
> What could be effects of calling logMsg() with local variables?
>
> TIA
> Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: [AE] VxWorks AE memory access
Date: 9 Nov 2001 22:06:11 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111092206.89b49e7@posting.google.com>
References: <14fc63a8.0111091116.69f08060@posting.google.com>
Hello,
> I'm designing an application on PowerPC MPC860 that needs to access
> the Parallel I/O port B.  The access to the port is done through a
> memory map register. I want to know if VxWorks AE allow me to access
> directly the memory map registers in the standard way:
>
>     ex:
>     int immrVal = vxImmrGet();
>     *PBDAT( immrVal ) = 0x00001000;
This would work if the code was located in the kernel domain, but
would not be allowed from a user level domain.  Probably the simplest
way of getting this to work from user level is to create a small
function in your kernel that does this, make it an entry point and
call it from your application...
A more involved solution would involve mapping the appropriate part of
the address space into either (a) all user spaces, or (b) just the
user-level domain(s) that need it.
You can read about these ideas in a tech note available on WindSurf.
Here's a link to the relevant section of the tech note:
http://www.wrs.com/csdocs/technotes/ide/tae/WTN74/sharedData.html#kernel
You might also want to take a look at some of the others that are
there if you're just starting with AE. The index can be found at:
http://www.wrs.com/csdocs/product/tae/wtns.shtml
HTH,
John...
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: Sat, 10 Nov 2001 09:00:50 +0000
From: Mark Durham <mark@rosedene.demon.co.uk>
Message-ID: <vM1IJLACzO77EwIY@rosedene.demon.co.uk>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk>
 <9s49g3$2oe$1@plutonium.btinternet.com>
I've been advised by WRS that it would not be a good idea to upgrade the
GCC compiler. WRS reckon that they test GCC before releasing it and that
most of the bugs in GCC are spotted by the WRS people.
WRS are visiting shortly and bringing a guru with them - I'll see what
happens.
In article <9s49g3$2oe$1@plutonium.btinternet.com>, martin brook
<vgrade@btinternet.com> writes
>All you need to know
>
>http://www.lysergic.u-net.com/
>
>Why you have to get this free from the web when WRS could charge money for
>it I don't know.  I hope WRS shareholders are listening :)
>
>
>TTFN martin
>
>
>Mark Durham <mark@rosedene.demon.co.uk> wrote in message
>news:ns8KRJAs7O57Ewb6@rosedene.demon.co.uk...
>> Hi,
>>
>> I've searched the WindSurf area at WRS and cannot find any details on
>> how to upgrade the version of GCC that shipped with Tornado 2.0
>>
>> Is it just a case of getting the latest NT binaries and libraries for
>> GCC and installing them?
>>
>> Thanks.
>> --
>> Hummm. Looks complicated ..... might need a bigger hammer!
>> Mark Durham (mark@rosedene.demon.co.uk)
>>
>
>
- --
Hummm. Looks complicated ..... might need a bigger hammer!
Mark Durham (mark@rosedene.demon.co.uk)
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sun Nov 11 04:03:09 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Nov 11 04:03:11 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Nov 11 04:03:05 PST 2001
        Subject: Re: clock corruption
        Subject: Re: [AE] VxWorks AE memory access
        Subject: loadModule question
        Subject: Desperate for help: Between a rock and hard code...
        Subject: Re: Compact Flash.
        Subject: method address
        Subject: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
        Subject: Re: Desperate for help: Between a rock and hard code...
        Subject: Re: method address
        Subject: DESCRIPTION clause and OBJECT IDENTIFIER
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Sat, 10 Nov 2001 13:24:26 GMT
From: Ephraim Gadsby <a@b.c>
Organization: - minimal
Message-ID: <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com>
On Sat, 10 Nov 2001 04:46:07 GMT, Ephraim Gadsby <a@b.c> wrote:
>On Fri, 9 Nov 2001 18:12:54 -0000, "Dave Korn"
><no.spam@my.mailbox.invalid> wrote:
>
>
>>
>>  It is/was TSR# 144712.  When they sent us the clockLib source, they asked
>>us if they could close it and we said OK because we were happy, so I have no
>>idea if they ever made an SPR or patch from it.
>
>Its in the 5.4 version we have.
Sorry I was mixing up messages, its the change that takes a copy of
vxTicks that I have seen.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: [AE] VxWorks AE memory access
Date: Sat, 10 Nov 2001 17:54:28 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$8kelmg$wt1$1@lnews.actcom.co.il>
References: <14fc63a8.0111091116.69f08060@posting.google.com> <488e459a.0111092206.89b49e7@posting.google.com>
I think the first suggestion is better -
add a simple finction to your BSP to handle all the custom hardware
including this parallel port, so it is akin to other BSP functions with
respect
to protection domains. So your application will access the custom hardware
via the customized BSP, which will make a lot of sense in terms of proper
design, and will make it easier to adopt to hardware changes.
Leonid
"John" <john_94501@yahoo.com> wrote in message
news:488e459a.0111092206.89b49e7@posting.google.com...
> Hello,
>
> > I'm designing an application on PowerPC MPC860 that needs to access
> > the Parallel I/O port B.  The access to the port is done through a
> > memory map register. I want to know if VxWorks AE allow me to access
> > directly the memory map registers in the standard way:
> >
> >     ex:
> >     int immrVal = vxImmrGet();
> >     *PBDAT( immrVal ) = 0x00001000;
>
> This would work if the code was located in the kernel domain, but
> would not be allowed from a user level domain.  Probably the simplest
> way of getting this to work from user level is to create a small
> function in your kernel that does this, make it an entry point and
> call it from your application...
>
> A more involved solution would involve mapping the appropriate part of
> the address space into either (a) all user spaces, or (b) just the
> user-level domain(s) that need it.
>
> You can read about these ideas in a tech note available on WindSurf.
> Here's a link to the relevant section of the tech note:
>
> http://www.wrs.com/csdocs/technotes/ide/tae/WTN74/sharedData.html#kernel
>
> You might also want to take a look at some of the others that are
> there if you're just starting with AE. The index can be found at:
>
> http://www.wrs.com/csdocs/product/tae/wtns.shtml
>
> HTH,
>
> John...
---------------------------
Newsgroups: comp.os.vxworks
Subject: loadModule question
Date: Sat, 10 Nov 2001 19:40:53 GMT
From: "Kelly Hornsby" <klh1964@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <9pfH7.68737$zG.6305167@news1.rdc1.ga.home.com>
Hello All
When I do a loadModule call to pull an ELF module from flash (via memDev), I
cannot tell for sure if all the symbols are resolved.  Will I get a NULL
module id if there are unresolved symbols?  Is there any way to tell for
sure that everything resolved correctly?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Desperate for help: Between a rock and hard code...
Date: Sat, 10 Nov 2001 21:04:29 GMT
From: Chris Whitehead <Cdwhitehead@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <3BED96BA.418DF950@home.com>
Hello,
I have an unusual problem with a Vxworks system that we use within a PCB
board manufacturing "pick and place" machine. The board's function is to
run a specialized vision system for the machine, which runs under
Vxworks and  a PPC603e processor. One half of the board is custom ASICs
and video system, but the other half seems to be a generic PowerPC
configuration using SDRAM , PCI/Memory controller and two Intel
Flashdrive chips.
The problem is that one morning the system refused to run the
application program saying that drive F: was no longer accessible. The
boot PROM and rest of the processor system seems OK and  I can get into
Tornado and run the resident commands. Assuming that just one or both of
the Flashdrive chips has failed and we can replace them, my problem is
that I don't know the parameters for the functions to reinitialize the
flash file system. I also don't know if the flash file system is part of
a BSP or if it was written by the system designer. I have the original
application software and can write it back into the system, but not
until I can reformat the flash drive.
My question is can anyone tell me if WRS ever supplied a stock driver
for 28F016Jx  Intel flashdrive and what the parameter structure would be
for commands such as flashFsDevCreate, flashFsFormat, etc..
In case anyone is wondering why I'm not asking the vendor, they don't
know how to fix it because the project was terminated 3 years ago and
basically no one knows how it works anymore. The parties involved parted
ways on a sour note and have only been replacing faulty boards (which go
for 16K US at the moment) A new system costs even more. My only hope is
to go through Vxworks channels directly myself
Thanks VERY much for any help anyone has!
Chris Whitehead
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Compact Flash.
Date: 10 Nov 2001 17:58:03 -0800
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0111101758.6444d6fe@posting.google.com>
References: <c129947c.0111081138.51a43f9e@posting.google.com> <3BEC6388.A8220099@yahoo.com>
Hi Emory,
  Thank you for pointing me to these files, i will ask the FAE for it.
I would like to know if u are using dosFs 2.0 to access this device.
If so can u give me some pointer to documentation or tips.
Thank You,
Vinh Lam
Emory Stagmer <Emory_Stagmer@yahoo.com> wrote in message news:<3BEC6388.A8220099@yahoo.com>...
> I'm using this on a PowerPC.  Files
> are 'winbpic.h' and 'winbpic.c' from
> WindRiver.
>
> Here's the header from the .H file:
>
> -==========================-
>
> /* winbPic.h - Winbond W83C553F System I/O Controller with PCI
> definitions */
>
> /* Copyright 1984-1998 Wind River Systems, Inc. */
>
> /* Copyright 1996-1998 Motorola, Inc. */
>
> /*
> modification history
> --------------------
> 01g,11nov98,ms_ minor changes; code review feedback
> 01f,27oct98,ms_ modified to comply with WRS coding standards
> 01e,26Aug98,mo  Implement MMU for Map A and B
> 01d,08Apr98,My  Implemented auto-detect memory map.
> 01c,18Mar98,mo  Add all the PCI, ISA, chrp, and prep space defines
> 01b,16Mar98,mo  Change all occurances of IBC to PIC,
>                 change IBC_BYTE_IN and IBC_BYTE_OUT to more
>                 intuitive usage (and name to PIC_BYTE....)
>                 use global picBaseAdrs instead of RAVEN_BASE_ADRS
> 01a,12Mar98,mo  created file
> */
>
> -============================-
>
> Emory Stagmer
>    Northrup Grumman Space Systems Operation
>
> Vinh wrote:
> >
> > Hi,
> >   Support for booting from Compact Flash card:
> >    The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on
> >    many PC motherboards) for which Windriver says they
> >    have no driver support. But Winbond says that this chip is
> >    register compatible with Intel's PCI IDE specifications and
> >    all IDE controllers used on PC motherboards use either
> >    ISA or PCI bus, so Windriver should have support for some
> >    other chip that is also compabile with Intel specs.
> >
> >   I would like to know if there is any support (WindRiver or Third party)
> >   for Winbond W83C553 chip.
> >
> >   Or if any help/tip is appreciated.
> >
> > Thank you
> > Vinh Lam
---------------------------
Newsgroups: comp.os.vxworks
Subject: method address
Date: Sun, 11 Nov 2001 02:29:52 GMT
From: "koreiabip21" <koreiabip21@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <AolH7.11253$gQ1.4442293@news1.elmhst1.il.home.com>
Is there a way to print out the address of a method?
class A
{
    public:
        void printMyAddress();
};
void go()
{
    // somehow need to print the address of A::printMyAddress().
}
From the VxWorks5.4 prompt, i want to invoke this method, so I need the
address.
Thanks.
Beep.
---------------------------
Newsgroups: comp.os.vxworks
Subject: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
Date: Sun, 11 Nov 2001 05:16:37 GMT
From: "June" <longhuali@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <VQnH7.124730$IR4.38008381@news1.denver1.co.home.com>
Reply-To: "June" <dragonli@yahoo.com>
I've successfully built the libcrypto and libssl after i removed about 20
files (most of them are test programs, i think). But the lib files are too
big. One is more than 12M, another is 5M. For me i only need X509, MD5, SHA.
How can i reduce the size of the library with all the functions i need in
it? Is there anybody has this experiences? Cound you pls help me?
Thanks
June
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Desperate for help: Between a rock and hard code...
Date: Sun, 11 Nov 2001 09:18:00 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$hblmmg$x27$1@lnews.actcom.co.il>
References: <3BED96BA.418DF950@home.com>
Chris, today is your lucky day.
The Flash file system on your board is FlashLib, from RST Software
Industries Ltd (Israel),
which I founded and managed and sold to WindRiver in January 1997.
My conclusion is based on the function names you mentioned.
I hope these function names are accurate.
WindRiver has discontinued FlashLib some time in 1998 in favour of TrueFFS
which it OEM'ed from M-Systems. But because FlashLib was shipped in full
source code, there are some projects out there still using FlashLib with
self-support.
I will help you on this, by sending you the FlashLib manual in a separate
message.
Don't want to bloat the newsgroup.
Cheers,
 - Leonid
"Chris Whitehead" <Cdwhitehead@home.com> wrote in message
news:3BED96BA.418DF950@home.com...
> Hello,
>
> I have an unusual problem with a Vxworks system that we use within a PCB
> board manufacturing "pick and place" machine. The board's function is to
> run a specialized vision system for the machine, which runs under
> Vxworks and  a PPC603e processor. One half of the board is custom ASICs
> and video system, but the other half seems to be a generic PowerPC
> configuration using SDRAM , PCI/Memory controller and two Intel
> Flashdrive chips.
>
> The problem is that one morning the system refused to run the
> application program saying that drive F: was no longer accessible. The
> boot PROM and rest of the processor system seems OK and  I can get into
> Tornado and run the resident commands. Assuming that just one or both of
> the Flashdrive chips has failed and we can replace them, my problem is
> that I don't know the parameters for the functions to reinitialize the
> flash file system. I also don't know if the flash file system is part of
> a BSP or if it was written by the system designer. I have the original
> application software and can write it back into the system, but not
> until I can reformat the flash drive.
>
> My question is can anyone tell me if WRS ever supplied a stock driver
> for 28F016Jx  Intel flashdrive and what the parameter structure would be
> for commands such as flashFsDevCreate, flashFsFormat, etc..
>
> In case anyone is wondering why I'm not asking the vendor, they don't
> know how to fix it because the project was terminated 3 years ago and
> basically no one knows how it works anymore. The parties involved parted
> ways on a sour note and have only been replacing faulty boards (which go
> for 16K US at the moment) A new system costs even more. My only hope is
> to go through Vxworks channels directly myself
>
>
> Thanks VERY much for any help anyone has!
>
> Chris Whitehead
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: method address
Date: 11 Nov 2001 00:03:15 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111110003.269b546c@posting.google.com>
References: <AolH7.11253$gQ1.4442293@news1.elmhst1.il.home.com>
Hello,
You could just look it up by name; the name will be mangled, but the
shell is able to demangle these so you'll be able to call the
function.
That is the good news; the bad news is that you can't just call a
method like a normal function. Why? Well, because a method needs to be
called on an instance of the class of which it is a member.
Ths safest way to call member functions is to declare them as static
members. These have all the privilege of a member, except one: there
is no this pointer defined for a static member, so you cannot just
access data members directly. Have a search through the archives for
this group for info about calling C++ members from the shell (and also
using them as entry points for VxWorks tasks).
HTH,
John...
"koreiabip21" <koreiabip21@home.com> wrote in message news:<AolH7.11253$gQ1.4442293@news1.elmhst1.il.home.com>...
> Is there a way to print out the address of a method?
>
> class A
> {
>     public:
>         void printMyAddress();
> };
>
> void go()
> {
>     // somehow need to print the address of A::printMyAddress().
> }
>
> From the VxWorks5.4 prompt, i want to invoke this method, so I need the
> address.
>
> Thanks.
>
> Beep.
---------------------------
Newsgroups: comp.protocols.snmp,comp.os.psos,comp.os.vxworks
Subject: DESCRIPTION clause and OBJECT IDENTIFIER
Date: Sun, 11 Nov 2001 10:09:03 +0200
From: Alex Vinokur <alexvn@bigfoot.com>
Organization: Scopus Network Technologies
Message-ID: <3BEE321F.D01482B9@bigfoot.com>
Followup-To: comp.protocols.snmp
============================
pRISM+ for pSOSystem/PowerPC
pRISM+ 1.2.3 . pSOSystem 2.2.2
Diab Data D-CC Optimizing C compiler
Host       : Windows98
Target     : PowerPC (MPC860)
- ----------------------------
SNMP Release 7.4 (SNMPv1)
Epilogue Technology Emissary SNMP MIB Compiler, version 6.3
============================
Here is a fragment of some mib tree.
- --------------------------------------------
 xxx OBJECT IDENTIFIER ::= { top 1 }
 yyy OBJECT-TYPE
  SYNTAX INTEGER
  ACCESS read-write
  STATUS mandatory
  DESCRIPTION "This is yyy"
  ::= { xxx 1 }
- --------------------------------------------
I would like to add DESCRIPTION clause for xxx as well.
I tried to do it like :
 xxx OBJECT IDENTIFIER
  DESCRIPTION "This is xxx"
  ::= { top 1 }
However it doesn't work :
  mibcompiler produces "expected ::=, got DESCRIPTION" .
Is there any possibility to get what I want to?
  ===========================
  Alex Vinokur
    mailto:alexvn@bigfoot.com
    mailto:alexvn@dr.com
    http://up.to/alexvn
    http://go.to/alexv_math
  ===========================
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Mon Nov 12 01:46:07 2001
From: "Anja Krause" <anja_krause@hotmail.com>
Date: Mon Nov 12 01:46:09 PST 2001
Subject: Why vxWorks memPartInfoGet is so slow
Hi again,
I designed a memory supervisioning process in our system and noticed that
the memPartInfoGet needs lot of time to process. Does anyone one know
anything about this function and what is done that needs such log to
calculate. How can I retrieve otherwise the amount of free memory ??
Thanks in advance for any support
Anja
_________________________________________________________________
Downloaden Sie MSN Explorer kostenlos unter http://explorer.msn.de/intl.asp
From vxwexplo-errs@csg.lbl.gov  Mon Nov 12 02:42:21 2001
From: Jitendra kanitkar <Jitendrak@netbrahma.com>
Date: Mon Nov 12 02:42:23 PST 2001
Subject: Dummy n/w interface.(TUN/TAP)
vxWorks Greetings,
I wanted to know, is there any s/w network interface available in vxWorks.
Something like TUN/TAP in Linux. ( Instead of sending the packet on to h/w
interface it gives it to user space program in Linux).
What I want, is to have a dummy device which I may(/may not) start in
runtime.
If it is not directly available is there any way out for this?
(We have vxworks 5.4)
Thanks in advance,
Jitendra.
From vxwexplo-errs@csg.lbl.gov  Mon Nov 12 04:03:10 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Nov 12 04:03:13 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Nov 12 04:03:06 PST 2001
        Subject: Re: Max #of END objects connected to the MUX?
        Subject: Re: Updating GNU C Compiler
        Subject: Re: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
        Subject: Intel ev386ex's bsp!
        Subject: MMU &&Shared memory
        Subject: VxWorks 3.2 (OSF) variable subnet routes
        Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
        Subject: Re: clock corruption
        Subject: Re: clock corruption
        Subject: Re: clock corruption
        Subject: Re: Memory loss with STL
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Max #of END objects connected to the MUX?
Date: 11 Nov 2001 11:30:23 -0800
From: jperron@cetaceannetworks.com (Jason Perron)
Organization: http://groups.google.com/
Message-ID: <d491dc78.0111111130.178e81c9@posting.google.com>
References: <d491dc78.0111051412.4f5c3f98@posting.google.com> <3BE9FC40.000035.23568@nexusnet2.accio.com>
Thanks, but doesn't IP_MAX_UNITS control how many interfaces can be
attached to the IP stack?  What I am wondering is if there is a limit
on the number of interfaces that the MUX can handle?
Jason
snacjj@sbell.com.cn wrote in message news:<3BE9FC40.000035.23568@nexusnet2.accio.com>...
> Hi, you can change it in the file ConfigNet.h
>
> there are lines
> #ifndef IP MAX UNITS
> #   define IP MAX UNITS (NELEMENTS (endDevTbl) - 1)
> #endif
>
> change them as you need.
>
> >Hello,
> >
> >I am wondering if anybody knows what the maximum number of END objects
> >that can be attached to the MUX is?  If there is a set limit, is there
> >someplace where a user can change it?
> >
> >Thanks,
> >
> >Jason
> >
>
> <<<<>>>>
> Mensaje publicado mediante http://noticias.ipbusiness.com,
> las news a trav? de web.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Updating GNU C Compiler
Date: Sun, 11 Nov 2001 20:54:07 -0000
From: "martin brook" <vgrade@btinternet.com>
Organization: BT Internet
Message-ID: <9smo8d$h8m$1@plutonium.btinternet.com>
References: <ns8KRJAs7O57Ewb6@rosedene.demon.co.uk><9s49g3$2oe$1@plutonium.btinternet.com> <vM1IJLACzO77EwIY@rosedene.demon.co.uk>
This is why we are still in the dark ages with out compilers from WRS then.
Its a shame they can't put something back into GNU after selling GNU
products to us.
TTFN martin
Mark Durham <mark@rosedene.demon.co.uk> wrote in message
news:vM1IJLACzO77EwIY@rosedene.demon.co.uk...
> I've been advised by WRS that it would not be a good idea to upgrade the
> GCC compiler. WRS reckon that they test GCC before releasing it and that
> most of the bugs in GCC are spotted by the WRS people.
>
> WRS are visiting shortly and bringing a guru with them - I'll see what
> happens.
>
> In article <9s49g3$2oe$1@plutonium.btinternet.com>, martin brook
> <vgrade@btinternet.com> writes
> >All you need to know
> >
> >http://www.lysergic.u-net.com/
> >
> >Why you have to get this free from the web when WRS could charge money
for
> >it I don't know.  I hope WRS shareholders are listening :)
> >
> >
> >TTFN martin
> >
> >
> >Mark Durham <mark@rosedene.demon.co.uk> wrote in message
> >news:ns8KRJAs7O57Ewb6@rosedene.demon.co.uk...
> >> Hi,
> >>
> >> I've searched the WindSurf area at WRS and cannot find any details on
> >> how to upgrade the version of GCC that shipped with Tornado 2.0
> >>
> >> Is it just a case of getting the latest NT binaries and libraries for
> >> GCC and installing them?
> >>
> >> Thanks.
> >> --
> >> Hummm. Looks complicated ..... might need a bigger hammer!
> >> Mark Durham (mark@rosedene.demon.co.uk)
> >>
> >
> >
>
> --
> Hummm. Looks complicated ..... might need a bigger hammer!
> Mark Durham (mark@rosedene.demon.co.uk)
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
Date: 11 Nov 2001 20:17:10 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <upu6ookix.fsf@yahoo.com>
References: <VQnH7.124730$IR4.38008381@news1.denver1.co.home.com>
Sender: bpringlemeir@DeadDuck
 June> I've successfully built the libcrypto and libssl after i
 June> removed about 20 files (most of them are test programs, i
 June> think). But the lib files are too big. One is more than 12M,
 June> another is 5M. For me i only need X509, MD5, SHA.  How can i
 June> reduce the size of the library with all the functions i need in
 June> it? Is there anybody has this experiences? Cound you pls help
 June> me?
Hint 1, libraries are not code.  Link your code with libcrypto.a and
libssl.a.  If you have just server code or just client code, the image
size will decrease a lot.  Take a look at these defines,
# Utility
# -DNO_BIO=1 -DNO_BF=1
# Symmetric ciphers
# -DNO_DES=1 -DNO_RC2=1 -DNO_RC4=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1
# Asymmetric ciphers
# -DNO_RSA=1 -DNO_DSA=1 -DNO_DH=1
# Digests
# -DNO_MD2=1 -DNO_MD4=1 -DNO_MD5=1 -DNO_SHA=1 -DNO_RIPEMD=1 -DNO_MDC2=1
#ADDED_CFLAGS += -DNO_RC2=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1
#ADDED_CFLAGS += -DNO_MD2=1 -DNO_MD4=1 -DNO_RIPEMD=1
I especially like the define `NO_IDEA' ;-).  You need to compile
libraries and app with the same flags.  If you have compiled with the
default vxWorks flags, I suggest that you use -fno-volatile.  This
will reduce the image size by a little.
I also used these flags,
ADDED_CFLAGS += -DVXWORKS=1 -DGETPID_IS_MEANINGLESS -DNO_CHMOD
I would appreciate it if you email me with any other information that
you get.  I am also trying to do the same things... although I am
writing a `/dev/random' type device first.
regards,
Bill Pringlemeir.
- --
Have you ever been forced by your TV to eat brussel sprouts?  Or tried
to become one with a small midget while driving down the road at
120mph?  You will.  And the company that will bring it to you: AT&T.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Intel ev386ex's bsp!
Date: 11 Nov 2001 18:28:25 -0800
From: yongchen@online.sh.cn (chenyong)
Organization: http://groups.google.com/
Message-ID: <d5e50b0c.0111111828.123edd5@posting.google.com>
Hi,
I am using the intel ev386ex board with no ethernet card,and porting
the WindRiver's bsp on it !
The board has two serial ports,512k flash,4M Dram,etc.
Now I have some problems about BSP!
I want to use the serial port to connect target server, when I write
the VxWorks_Rom(I have involve some banner information!),power on ,and
no any words on HyperTerminal;but when I write bootrom_uncmp into
flash,I can see the bootline on the HyperTerminal.I do not
know how to use bootrom_cmp to download vxWorks image from this 512k
space.
I want to try other ways,anyone can tell me?
Thanks!
chen
---------------------------
Newsgroups: comp.os.vxworks
Subject: MMU &&Shared memory
Date: 11 Nov 2001 23:15:44 -0800
From: ruchama@septier.com (Ruchama Goldshmidt)
Organization: http://groups.google.com/
Message-ID: <5df340e0.0111112315.55186b3c@posting.google.com>
Hi vxWorkers!
I devlop a ppc8260 board.
now,I try to enable the MMU and caches but when we test it on other
boards it seemed that the BCR register must be configuerd to single
bus mode (and not to the 60X compateble),but since we are booting from
the shared memory device we have to conifigure the bcr to 60x
1.does anyone work with the shared memory and mmu together
2.what should be added to the bsp in order to enable the cache?
TIA
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks 3.2 (OSF) variable subnet routes
Date: 11 Nov 2001 23:31:12 -0800
From: robertas.simkeviciu@se.abb.com (Robertas Simkevicius)
Organization: http://groups.google.com/
Message-ID: <8bc365aa.0111112331.21e4904b@posting.google.com>
Hi,
I have this old VxWorks box with two NIC's and need to setup static
routes to other subnet's. So far I could not find a way to add route
to subnet with different subnet then *.*.*.0. I thought this is not
possible on this version of VxWorks, but it looks like VxWorks gets
dynamically created routes with variable subnets from ICMP message
that router sends. Now I wondering if have enough knowledge or maybe
there way around to setup variable subnet routes in this version. Is
there any other commands than
addRoute("X.X.X.0", "gateway") to add route to network in this
version?
Rigth now I am ussing routes to hosts to get it working, but sometimes
my VxWorks after local switch restart "forgets" to look into hosts
routing table and I'm loosing one interface.
I would appreciate any information on this topic.
Thanks in advance,
Robertas Simkevicius
System Engineer
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
Date: Mon, 12 Nov 2001 10:07:57 +0100
From: Sebastien Fauris <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BEF916D.DC396050@europem01.nt.com>
References: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com>
Reply-To: sfauris@europem01.nt.com
Leland Mills wrote:
>
> I'm trying to swap in and out the validity of a page in memory.  I'd like
> for this page to be viewable sometimes and not other times.  Here, from the
> command line, I'm just trying to invalidate it, and then validate it again.
> I can invalidate it fine, but them I get an error with an errno equal to
> S_vmLib_NOT_PAGE_ALIGNED when I try to validate the page again.  What am I
> doing wrong?
>
> Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0)
> <Calling vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0)>
> <Return value = 0 (0x00000000) >
> Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1)
> <Calling vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1)>
> <Return value = -1 (0xffffffff) >
> Card 0 -> d &errno,2
> <Calling d(0x26f4d4,0x2)>
> 0026f4d0:            0002 0055                       *      U.........*
Hi,
what is your targeted architecture ? PPC, x86 ?
First, in a WindShell, do a vmBasePageSizeGet and check that your
address (0xe57a000) is page aligned and the size (0x1000) is multiple
of the page size.
I have a such problem on PPC architecture but I get errno equal to
S_mmuLib_NO_DESCRIPTOR when I try to revalidate a page I invalidated.
It seems that the PTE of the invalidated page has been removed from the
page table and for this reason can not be modified again using a
vmBaseStateSet.
A new PTE should be created again into the page table but I don't know
how.
This is just my two cents help,
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Mon, 12 Nov 2001 11:16:40 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9soara$k29$1@uranium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com>
> >>
> >>  It is/was TSR# 144712.  When they sent us the clockLib source, they
asked
> >>us if they could close it and we said OK because we were happy, so I
have no
> >>idea if they ever made an SPR or patch from it.
> >
> >Its in the 5.4 version we have.
>
> Sorry I was mixing up messages, its the change that takes a copy of
> vxTicks that I have seen.
Nothing obviously wrong with eth clockLib objects I have (for ARM).
(the other code that uses vxTicks is $%&*ed)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Mon, 12 Nov 2001 11:51:44 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9soct3$2m1$1@neptunium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <qe9put044usp1541cpl7jm3ab9brue6hg0@4ax.com>
>
> With a 100Hz clock 2^32 ticks is well over a year, so the bug you
> describe would be virtually impossible to reproduce unless you have
> timeouts of over a year, or  application code is giving a negative
> timout.
No - just leave your system running for 16 months and try to schedule
something at the same time each day.  Not an unreasonable request for
an embedded system.  We've had unix servers up for those sorts of
periods (without a UPS, so only go down when the power fails...)
vxTicks can be zeroed by windWdStart, windReadyQRemove, windPendQPut or
windDelay.  I think they are all using the same macro - which is buggy
for other reasons.
windWdStart looks (something) like:
    now = vxTicks; /* this MAY just be the way the code has been optimised
*/
    if ((unsigned)(timeout + now) < (unsigned)now) {
        qPriListCalibrate( &tickQhead, -now );
        vxTicks = 0;
    }
    (timer->active ? qPriListResort : qPriListPut)
        ( &tickQhead, timer, vxTicks + timeout );
There are many bugs here.....  For one thing interrupts are not disabled.
I think we are inside the kernel lock - so an interrupt can cause a
reshedule.
However the timer interrupt can occur at any time - changing vxTicks.
So:
vxTicks = 0; should be intLock(); vxTicks -= now; intUnlock();
The value of 'vxTicks + timeout' used on the last line should be the one
which was checked for wrap at the top (because vxTicks might have been
incemented enough to cause it to wrap thge second time...)
I'm not entirely sure that the code that schedules the timeout
routines is disabled between the call to qPriListResort and vxTicks = 0.
If nothing stops it running then all the times will expire if a timer
interrupt occurs in that window.
There is also the question of what happens if enough interrupt activity
happens to vxTicks to have incremented past vxTicks + timeout by the time
qPriListPut tries to add the item to the list?
(this one could be that which causes the problems loading large files!)
This is apart from all the problems caused by zeroing vxTicks itself....
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Mon, 12 Nov 2001 11:53:01 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9socvu$2o3$1@neptunium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <qe9put044usp1541cpl7jm3ab9brue6hg0@4ax.com>
> I haven't verfied this myself but someone from WRS told me that the
> timeout queue is setup so that the next timeout to go-off stores an
> offset from now, and all the others store an offset from the
> preceeding timeout. I can't see why they would need to reset vxTicks.
I remember being told that - it must be in the course notes.
However that isn't the way the code works.
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Memory loss with STL
Date: Mon, 12 Nov 2001 12:29:58 +0100
From: "Geurt Vos" <G.Vos@rohill.nl>
Organization: Rohill Technologies BV
Message-ID: <nrbos9.0de.ln@svr004.rohill.nl>
References: <3bebd79e$1_2@news.datacomm.ch>
> Hello
>
> our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22.
May
> 1997 from Moscow group or something.
>
> our Problem: It looks like that we are loosing memory, while we use
> STL-Containers. It just doesn't clean up anymore all the used memory space
> at the end. If we test our code under Windows NT, we can't find the same
> leaks.
>
> Has anyone had the same problems?
> Should we update to a new STL, and which one?
>
During some stress-testing I ran into the same problem (of the 30Mb
allocated only 10 or so Mb got released) and figured out why this happens,
and it's a feature not a bug (well, in my case, using gcc 2.96, there's
actually
also a bug). I used several std::queues, which in turn by default use a
std::deque.
In the GCC implementation (2.96, not sure about 2.7.2), the default
allocator
used for std::deque doesn't release allocated memory. Instead for every type
it keeps a list of  'free' memory. That is, every time you erase an object,
instead
of calling operator delete(), it adds the pointer to the now available
memory to a
list. Every time an object is inserted, the allocator first checks the
'free' list. If
empty, only then operater new() is called.
I guess the reason for doing this is to speed-up memory
allocation/deallocation.
If this is not what you want, I guess you have to provide your own 'default'
allocator (which is quite simple to create), or maybe the default
std::allocator
can be used (I don't know if the default allocator used by std::deque _is_
the
default std::allocator...).
I don't know which other containers use the same allocator as std::deque...
I think at least std::vector doesn't...
Now to the bug: if I unload the module, the memory is not released, which in
my case resulted in a _huge_ memory leak...
HTH,
Geurt
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Tue Nov 13 04:03:15 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Nov 13 04:03:18 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Nov 13 04:03:10 PST 2001
        Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
        Subject: Problems with nfs
        Subject: Strange function behaviour
        Subject: Re: Strange function behaviour
        Subject: Re: Sending Broadcasts to 255.255.255.255
        Subject: Re: logMsg side-effects
        Subject: Re: MMU &&Shared memory
        Subject: Re: logMsg side-effects
        Subject: Re: method address
        Subject: Re: clock corruption
        Subject: dosFS2, Mounting Disk Volume/Building FAT
        Subject: Re: Problems with nfs
        Subject: Re: logMsg side-effects
        Subject: Vx 5.2 and warnings from vxTypesOld.h
        Subject: Re: logMsg side-effects
        Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
        Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
        Subject: Re: Problems with nfs
        Subject: gratuitous arp
        Subject: Re: gratuitous arp
        Subject: Re: traceroute for vxworks
        Subject: tffsDevFormat() in cfiscs.c on Intel strataFlash 28f320J3A
        Subject: Re: gratuitous arp
        Subject: trapped into the failure of tffsDevFormat on intel 28f320J3A
        Subject: Re: Desperate for help: Between a rock and hard code...
        Subject: smc problem ppc8260
        Subject: Re: method address
        Subject: Re: logMsg side-effects
        Subject: Re: Intel ev386ex's bsp!
        Subject: vxImmrGet ????????
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED?
Date: Mon, 12 Nov 2001 08:55:30 -0600
From: "Leland Mills" <lelandm@nortelnetworks.com>
Organization: Nortel
Message-ID: <9sonr9$78l$1@bcarh8ab.ca.nortel.com>
References: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com> <3BEF916D.DC396050@europem01.nt.com>
Sorry, I cut-n-pasted the wrong error code.  I am getting
S_mmuLib_NO_DESCRIPTOR instead of the one I previously mentioned.  Sebastien
seems to have run into the same problem I have.  Does anybody else know how
to get invalidated pages back into circulation?  Is this not the method for
read-protecting pages?
PS, Please hurry with an answer.  I'm quickly running out of valid memory
:-)
---------------------------
Newsgroups: comp.os.vxworks
Subject: Problems with nfs
Date: Mon, 12 Nov 2001 16:07:05 +0100
From: Niklas Jonsson <niklas.a.jonsson@era.ericsson.se>
Organization: Ericsson Radio Systems
Message-ID: <3BEFE599.2238CF31@era.ericsson.se>
Hi,
We got a small problem with nfs under vxworks, on one site we get huge
differences between upstream and downstream data.
VxWorks runs on a TSS (a machine simulatin cellphones calls)
Anyway, the machine got a local disk, and when we transfer from nfs to
the local disc we get around 4 megs. per second, if we do the opposite
we only get 600k/s. The same happens with ftp. We have checked for
packet losses and, isolated the network between the machines(this
occurres on 4 TSS'es on that site, on our site we do not got this
problem.) So are there any experienced problems with nfs being fast in
one direction and slow in the other? We have also tried with different
versions of VxWorks.
Regards
/Niklas
---------------------------
Newsgroups: comp.os.vxworks
Subject: Strange function behaviour
Date: 12 Nov 2001 15:15:38 GMT
From: pfk@c.zeiss.de (Frank Klemm)
Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?=
Message-ID: <slrn9uvsaa.11l.pfk@c.zeiss.de>
Reply-To: pfk@uni-jena.de
The following function should wait for some microseconds.
Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0, plattform is IA32.
As long as "REPORT_TIME" is defined the program works.
Otherwise the program hangs and nothing is printed, also no "Hallo".
What's the problem?
Also it is not possible to divide two 64 bit unsigned integers, a linker
error occures. Missing symbols are ___udivdi3 and ___cmpdi2.
- -----------------------------------------------------------------------------
#include <stdio.h>
#define CPU_CLOCK		233333333.333		/* CPU clock in Hz */
#define rdtscll(val)            __asm__ __volatile__ ("rdtsc" : "=A" (val))
static unsigned long long
ReadTimeStamp ( void )
{
    unsigned long long  ts;
    rdtscll (ts);
    return ts;
}
void
my_sleep ( double seconds )
{
    unsigned long long  time;
    unsigned long long  endtime;
    endtime  = ReadTimeStamp ();
    endtime += (unsigned long long) (seconds * CPU_CLOCK);
    do {
        time = ReadTimeStamp ();
#ifdef REPORT_TIME
        printf ( "%08lX%08lX %08lX%08lX\r",
		 (long)(time   >>32),
		 (long)(time   >> 0),
		 (long)(endtime>>32),
		 (long)(endtime>> 0) );
#endif
    } while ( time < endtime );
#ifdef REPORT_TIME
    printf ("\n");
#endif
}
int
start ( int argc, char** argv )
{
    int  i;
    printf ("Hallo\n");
    fflush (stdout);
    my_sleep (1.);
    for ( i = 0; i <= 20; i++ ) {
        printf ( "Wait now %f sec\n", 0.02*i*i );
        fflush (stdout);
        my_sleep (0.02*i*i);
    }
    return 0;
}
int
main ( void )
{
    start ( 0, NULL);
    return 0;
}
- --------------------------------------------------------------------------------
Frank Klemm
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Strange function behaviour
Date: Mon, 12 Nov 2001 16:59:08 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3beff29e$1@brateggebdc5.br-automation.co.at>
References: <slrn9uvsaa.11l.pfk@c.zeiss.de>
Hi,
For x86, the data type 'long long' is not 'officially' supported, IIRC.
Therefore the missing symbols ___udivdi3, etc.
I do not see an other obvious mistake, apart from the fact the you seem to
have a main() function.
You MUST NOT have a main function in any VxWorks project.
You can name it whatever is to your desire, but never main().
This will usually cause linker errors... at least when you link everything
into one image.
hth
Werner
"Frank Klemm" <pfk@c.zeiss.de> wrote in message
news:slrn9uvsaa.11l.pfk@c.zeiss.de...
> The following function should wait for some microseconds.
> Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0, plattform is
IA32.
>
> As long as "REPORT_TIME" is defined the program works.
> Otherwise the program hangs and nothing is printed, also no "Hallo".
> What's the problem?
>
> Also it is not possible to divide two 64 bit unsigned integers, a linker
> error occures. Missing symbols are ___udivdi3 and ___cmpdi2.
>
> --------------------------------------------------------------------------
- ---
> #include <stdio.h>
>
> #define CPU_CLOCK 233333333.333 /* CPU clock in Hz */
> #define rdtscll(val)            __asm__ __volatile__ ("rdtsc" : "=A"
(val))
>
> static unsigned long long
> ReadTimeStamp ( void )
> {
>     unsigned long long  ts;
>     rdtscll (ts);
>     return ts;
> }
>
> void
> my_sleep ( double seconds )
> {
>     unsigned long long  time;
>     unsigned long long  endtime;
>
>     endtime  = ReadTimeStamp ();
>     endtime += (unsigned long long) (seconds * CPU_CLOCK);
>
>     do {
>         time = ReadTimeStamp ();
> #ifdef REPORT_TIME
>         printf ( "%08lX%08lX %08lX%08lX\r",
> (long)(time   >>32),
> (long)(time   >> 0),
> (long)(endtime>>32),
> (long)(endtime>> 0) );
> #endif
>     } while ( time < endtime );
>
> #ifdef REPORT_TIME
>     printf ("\n");
> #endif
> }
>
> int
> start ( int argc, char** argv )
> {
>     int  i;
>
>     printf ("Hallo\n");
>     fflush (stdout);
>     my_sleep (1.);
>
>     for ( i = 0; i <= 20; i++ ) {
>         printf ( "Wait now %f sec\n", 0.02*i*i );
>         fflush (stdout);
>         my_sleep (0.02*i*i);
>     }
>
>     return 0;
> }
>
> int
> main ( void )
> {
>     start ( 0, NULL);
>     return 0;
> }
>
> --------------------------------------------------------------------------
- ------
>
> Frank Klemm
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Sending Broadcasts to 255.255.255.255
Date: Mon, 12 Nov 2001 17:27:47 +0100
From: "Horst Triebenbacher" <Horst.Triebenbacher@br-automation.co.at>
Message-ID: <3beff945$1@brateggebdc5.br-automation.co.at>
References: <3bb1bdfb$0$18120$6e365a64@newsreader02.highway.telekom.at> <Nlmu7.19$1F6.124908@newsr2.u-net.net> <3bc1c258$0$60726$6e365a64@newsreader02.highway.telekom.at> <O8Gw7.146$gW6.800854@newsr2.u-net.net> <3bcd277e$0$9460$6e365a64@newsreader02.highway.telekom.at> <Psez7.11$rQ4.132449@newsr2.u-net.net>
"Dave Korn" <no.spam@my.mailbox.invalid> schrieb im Newsbeitrag
news:Psez7.11$rQ4.132449@newsr2.u-net.net...
> Horst Triebenbacher wrote in message
> <3bcd277e$0$9460$6e365a64@newsreader02.highway.telekom.at>...
> >This is the original code for my broadcast. I have tried to do this with
> >udp-socket too -with same effects. I got the tip to add a default route
to
> >my ethernet interface before sending the broadcast - this works.
>
>   Hmm, it's good that you've got it working, but it shouldn't have been
> necessary to add a default route, should it?  I mean a broadcast should be
> sent through *all* the known network interfaces that are flagged as
> broadcast-capable, shouldn't it?
I think so, but it has no effects.
>
> > sock = socket(AF_INET,SOCK_RAW,IPPROTO_LNCP);
>
>   Mind you, you didn't mention that you were using raw sockets before, and
> that perhaps makes a lot of difference.  Raw sockets are one of the
> trickiest grey areas of network programming, since there's no clearly
> defined standard for how they operate, there are many specifications that
> have significantly different behaviour and semantics from each other, and
> there are a lot of buggy, restricted and/or partial implementations out
> there.
>
>   In particular, the SO_BROADCAST option is specified as applying to UDP
> sockets only, and so is probably ignored by your raw socket.  That being
the
> case, it may also be that the raw socket protocol layer doesn't have a
> concept of a broadcast address, and is attempting to route the packet as
if
> it were an ordinary packet; hence it sends it out the default interface
> (dropping it if there is none).  You could test this theory by adding a
> specific route to 255.0.0.0:ff000000 rather than adding a default route;
> then see if the packets still make it.
>
>   However, it should have worked when you tried it with UDP.  Is it
perhaps
> the case that in the course of development you first tried UDP, couldn't
get
> it working, then tried raw sockets, and only then added the SO_BROADCAST
> option?
My first approach was using UDP with SO_BROADCAST set. It doesn't work. Then
I mention that what I need is raw packets. So the last step was to implement
if fully as raw socket and make it work.
BTW Now I have to specify the whole protocol and another group have to
implent it. So if they have problems, I will support them. But now I know
how to do it.
>
> > BOOL fHeader = TRUE;
>
> > err = setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char
> >*)&fHeader,sizeof(BOOL));
>
>   Or is it possible that you are using a big-endian system on which BOOL
is
> not defined as a char, but is a short or int ?  You absolutely *must* pass
a
> pointer to a real char to the setsockopt function here, not merely cast a
> pointer to another type to char.  The receiving socket control function
deep
> inside the network stack expects to receive a pointer to a single byte
that
> is 0 or 1, so if you pass it a pointer to a short that is 0 or 1 on a
> big-endian system, it will look at the high byte of that short or int
which
> is always zero and you will never enable broadcasting!
>
>   If this is the case, you may also be able to consider using normal UDP
> packets instead of a custom protocol over raw sockets.  Apart from the
fact
> that UDP sockets are more reliable to code for (since more standard and
well
> tested) it doesn't make any difference if your kit is only ever going to
be
> used on private LANs but if you want these packets to traverse the public
> internet it would be very wrong indeed to start sending IP packets without
a
> standard IANA-allocated protocol number in them, you might well find that
> they didn't route reliably or that they get specifically filtered at
> backbone routers.
>
>      DaveK
> --
> Burn your ID card!  http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
>
>
thanks
Horst
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 12 Nov 2001 09:35:01 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0111120935.5d657c7f@posting.google.com>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com>
>
> If called from interrupt level, logMsg, which is basically just a
> called to msgQSend(), should not change the current interrupt
> settings. If called from task level, it could cause a context switch
> (likely since tLogTask has a pretty high priority), and that will
> usually enable interrupts (depending on how the CPU works, and the how
> they were disabled - check your docs for info). When the calling task
> resumes, they will revert to the locked state.
>
John,
Thanks for replying. Does a context switch unlocks the interrupts?
Where can i get more info on this? Also,if unlocking can happen on
context-switch, then all the system tasks, like tNetTask or any task
that has higher priority than my application task(which locked the ints,
because it is a requirement) will unlock interrupts.
Also, you said about doc's, could you pls give list of docs to read
(which i will try to get hold of). my board is ebsa285.
Thanks
Venkat
>
> mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > Hi,
> > Does logMsg() have any side-effects like unmasking of interrupts?
> > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
> > now, when logMsg() returns, will it unMask the interrupts?
> >
> > What could be effects of calling logMsg() with local variables?
> >
> > TIA
> > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU &&Shared memory
Date: Mon, 12 Nov 2001 09:40:17 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3bf009f3$0$59075$e2e8da3@nntp.cts.com>
References: <5df340e0.0111112315.55186b3c@posting.google.com>
"Ruchama Goldshmidt" <ruchama@septier.com> wrote in message
news:5df340e0.0111112315.55186b3c@posting.google.com...
> Hi vxWorkers!
>
> I devlop a ppc8260 board.
> now,I try to enable the MMU and caches but when we test it on other
> boards it seemed that the BCR register must be configuerd to single
> bus mode (and not to the 60X compateble),but since we are booting from
> the shared memory device we have to conifigure the bcr to 60x
> 1.does anyone work with the shared memory and mmu together
> 2.what should be added to the bsp in order to enable the cache?
First, it sounds like you are trying to debug 2 problems here, the MMU and
the caches.  First concentrate on getting your board working without the
caches, then enable the I-cache, then finally the D-cache.
Can your board boot and run without the MMU or caches ?  If it runs, then
it's not a BCR problem.  Since enabling the MMU requires software, it would
be difficult to enable it if you can't boot :-)   Can you boot from your
shared memory ?  Does the 8260 get it's HRCW from shared space or just try
to get it's boot code ?  What are the other devices (i.e. potential bus
masters) sharing the memory ?  Do you have pipelining turned off
(bcr[pldp]=1).  The 8260 does not support 60x pipelining unless all masters
are 8260s.  The first thing my bootcode does is turn off pipelining, since
(IIRC) I think it comes up enabled.  If you have non-8260 devices as bus
masters accessing the shared memory, for sure you'll need 60x bus mode, so
bcr[ebm]=1.   I also have the extended transfer mode turned off
(bcr[etm]=0), which means strict 60x bus mode.
You say it doesn't work with the MMU ?  What happens ?  Machine check ?  DSI
?  Hang ?  Are you sure you have all your areas setup in the MMU ?  Are you
using BATs or PTEs ?  If you're using PTEs, have you initialized the BATs
(since they come up in a random state) ?
As far as enabling the cache, are you running a WRS supplied 8260 BSP ?  If
so, all the stuff to enable the caches should be there, just setting a few
#defines should enable them.  Making sure your software is written to behave
properly (i.e. device drivers using cacheable or non-cacheable memory,
correctly initializing rfcr/tfcr fields for the peripherals) with caches
enabled is another story.
  hth,
    Dan Gold  gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Mon, 12 Nov 2001 18:42:40 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf00ad3@brateggebdc5.br-automation.co.at>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111120935.5d657c7f@posting.google.com>
Hi,
I'm not sure if the interrupts are really unlocked, but did not try it.
A task lock (through functions taskLock/taskUnlock) will be temporarily
disabled if your task blocks.
As soon as it is running again, the lock is up again.
In general, if you locked the interrupts (all ints), there is nothing
besides your task that could cause a context switch.
As long as you do not call some blocking OS function, I thing the Int lock
will never be disabled.
hth
Werner
"Venkat Mynampati" <mynamvs@nsc.network.com> wrote in message
news:65b2abfc.0111120935.5d657c7f@posting.google.com...
> >
> > If called from interrupt level, logMsg, which is basically just a
> > called to msgQSend(), should not change the current interrupt
> > settings. If called from task level, it could cause a context switch
> > (likely since tLogTask has a pretty high priority), and that will
> > usually enable interrupts (depending on how the CPU works, and the how
> > they were disabled - check your docs for info). When the calling task
> > resumes, they will revert to the locked state.
> >
> John,
> Thanks for replying. Does a context switch unlocks the interrupts?
> Where can i get more info on this? Also,if unlocking can happen on
> context-switch, then all the system tasks, like tNetTask or any task
> that has higher priority than my application task(which locked the ints,
> because it is a requirement) will unlock interrupts.
> Also, you said about doc's, could you pls give list of docs to read
> (which i will try to get hold of). my board is ebsa285.
>
> Thanks
> Venkat
>
>
>
>
>
> >
> > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message
news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > > Hi,
> > > Does logMsg() have any side-effects like unmasking of interrupts?
> > > Say, i am in ISR and i masked my interrupts , after that i did a
logMsg(),
> > > now, when logMsg() returns, will it unMask the interrupts?
> > >
> > > What could be effects of calling logMsg() with local variables?
> > >
> > > TIA
> > > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: method address
Date: Mon, 12 Nov 2001 16:00:25 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <ohUH7.6$wu1.962@newsr2.u-net.net>
References: <AolH7.11253$gQ1.4442293@news1.elmhst1.il.home.com> <488e459a.0111110003.269b546c@posting.google.com>
John wrote in message <488e459a.0111110003.269b546c@posting.google.com>...
>Hello,
>
>You could just look it up by name; the name will be mangled, but the
>shell is able to demangle these so you'll be able to call the
>function.
>
>That is the good news; the bad news is that you can't just call a
>method like a normal function. Why? Well, because a method needs to be
>called on an instance of the class of which it is a member.
  Oh yes you can.  Just pass the 'this' pointer are the first argument.
Every C++ compiler I've ever used so far has implemented the this pointer by
simply adding a hidden first argument to the member function.  Although
there's nothing to forbid compiler implementers from making it work some
other way, in the context of VxWorks and the gcc compilers available from
WRS, this is guaranteed to work, safely, reliably and correctly.  I'd be
very surprised if the Diab and Green Hills compilers did it any differently
from gcc either, but can't speak from experience there.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Mon, 12 Nov 2001 17:58:49 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <ohUH7.8$wu1.962@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com>
David Laight wrote in message <9soara$k29$1@uranium.btinternet.com>...
>> >>
>> >>  It is/was TSR# 144712.  When they sent us the clockLib source, they
>asked
>> >>us if they could close it and we said OK because we were happy, so I
>have no
>> >>idea if they ever made an SPR or patch from it.
>> >
>> >Its in the 5.4 version we have.
>>
>> Sorry I was mixing up messages, its the change that takes a copy of
>> vxTicks that I have seen.
  Yeh, that was their first effort at fixing our bug; we'd never seen it
occur but it is a possibility and did need fixing.
>Nothing obviously wrong with eth clockLib objects I have (for ARM).
>(the other code that uses vxTicks is $%&*ed)
>
>    David
  Just went and re-disassembled the object code on my box, just in case
t2cp2 or 3 had patched it.  Nope, it still uses vxTicks (ppc version).
         DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: dosFS2, Mounting Disk Volume/Building FAT
Date: Mon, 12 Nov 2001 14:25:29 -0500
From: "John R." <jroberts@unisperenetworks.com>
Message-ID: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net>
Once the file system is initialized and the device has been created the dick
volume is not mounted until the first access to the disk.  When mounting
begins there is a long period of time (more then 2 minutes) that the FAT is
getting built. The code sits in a tight loop building the FAT. I'm using a
6Gig disk so it takes a long time.
Once the FAT is created it sits in cache it is not written to the disk until
sometime later. If I reset the system (ctrl-x or hard reset) soon after the
FAT is built before it gets flush to the disk, I loose the FAT and upon the
next mounting of the disk I again have to wait for the FAT to be built (2+
more minutes). I would have expected the FAT to get flushed to the disk on a
soft reboot.
I've tried several ways of forcing the FAT to disk as soon as it is created
but I have had no success. Has anyone experienced this or have a better
understanding of these events and how I might resolve it?
Regards,
- -John
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problems with nfs
Date: Mon, 12 Nov 2001 13:25:09 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BF02215.E09A8631@aps.anl.gov>
References: <3BEFE599.2238CF31@era.ericsson.se>
Niklas Jonsson wrote:
>
> We got a small problem with nfs under vxworks, on one site we get huge
> differences between upstream and downstream data.
>
> VxWorks runs on a TSS (a machine simulatin cellphones calls)
>
> Anyway, the machine got a local disk, and when we transfer from nfs to
> the local disc we get around 4 megs. per second, if we do the opposite
> we only get 600k/s. The same happens with ftp. We have checked for
> packet losses and, isolated the network between the machines(this
> occurres on 4 TSS'es on that site, on our site we do not got this
> problem.) So are there any experienced problems with nfs being fast in
> one direction and slow in the other? We have also tried with different
> versions of VxWorks.
NFS Version 2 is almost by definition (if implemented strictly) going to
be slower to write than to read, because the server has to guarantee that
write data has been successfully stored in non-volatile storage (usually
meaning flushed to disk) before it returns an acknowledgement to the
client, whereas it can use read-ahead cacheing for the other direction.
Some servers will allow you to turn that write guarantee off, and NFS
Version 3 also provides some alternative speedup.  vxWorks only supports
NFS Version 2 AFAIK.
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 12 Nov 2001 11:34:06 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0111121134.47253558@posting.google.com>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com>
Hi,
I understood why system calls should not be called with
interrupts locked( intLock() ).It is stated in the VxWorks
Ref Manual 5.4 page 2-281.
Thanks to all for responding to my doubt. But...
Why does the manual say:
	"Thus, if a task locks out interrupts and invokes
	kernel services that cause the task to block or that
	cause a higher priority task to be ready, the rescheduling
	occurs and interrupts are unlocked while other tasks run."
Does this mean that, at every rescheduling event, interrupts are
unlocked? or it is that 'the new task might unlock them' ?
TIA
Venkat
john_94501@yahoo.com (John) wrote in message news:<488e459a.0111092158.6d053829@posting.google.com>...
> Hello,
>
> If called from interrupt level, logMsg, which is basically just a
> called to msgQSend(), should not change the current interrupt
> settings. If called from task level, it could cause a context switch
> (likely since tLogTask has a pretty high priority), and that will
> usually enable interrupts (depending on how the CPU works, and the how
> they were disabled - check your docs for info). When the calling task
> resumes, they will revert to the locked state.
>
> As for local variables, they are OK, but watch out for pointers to
> transient data (e.g. passing the address of an automatic variable).
> You must make sure if you pass a pointer, that it points to something
> that won't change!
>
> HTH,
>
> John...
>
> mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > Hi,
> > Does logMsg() have any side-effects like unmasking of interrupts?
> > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
> > now, when logMsg() returns, will it unMask the interrupts?
> >
> > What could be effects of calling logMsg() with local variables?
> >
> > TIA
> > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Vx 5.2 and warnings from vxTypesOld.h
Date: Mon, 12 Nov 2001 14:52:57 -0500
From: Stephen Roderick <stephen_roderick@ssl.umd.edu>
Organization: University of Maryland College Park
Message-ID: <3BF02891.69BFEB92@ssl.umd.edu>
Hi all
We're using VxWorks 5.2 on a MIPS board with gcc 2.5.8. Gcc is outputing two
errors for every file we compile, that stem from vxTypesOld.h. I was wondering
if anyone else sees the following two errors also, as our VxWorks source was
potentially modified in the past (we do have -pedantic and -ansi on):
<vxworks dir>/h/types/vxTypesOld.h:162: warning: `CHAR_FROM_CONST' defined but
not used
<vxworks dir>/h/types/vxTypesOld.h:164: warning: `VOID_FROM_CONST' defined but
not used
We also get
<vxworks dir>/h/arch/mips/archMips.h:90: warning: ANSI C does not support 'long
long'
which I understand and accept.
TIA
- -- Stephen
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Mon, 12 Nov 2001 21:03:54 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf02bed$1@brateggebdc5.br-automation.co.at>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111121134.47253558@posting.google.com>
Hi,
I think the interrupts are re-enabled with a task switch for at least 2
reasons
1) make the intLock the same state it was before you called the system
service. So I guess they are not just unlocked, but set to the state the
task being scheduled set them last.
2) If an other task would be scheduled to service your request, this task
would probably never again give up the CPU. Since interrupts remain locken,
which clock should ever preempt it?
hth
Werner
"Venkat Mynampati" <mynamvs@nsc.network.com> wrote in message
news:65b2abfc.0111121134.47253558@posting.google.com...
> Hi,
> I understood why system calls should not be called with
> interrupts locked( intLock() ).It is stated in the VxWorks
> Ref Manual 5.4 page 2-281.
> Thanks to all for responding to my doubt. But...
>
> Why does the manual say:
> "Thus, if a task locks out interrupts and invokes
> kernel services that cause the task to block or that
> cause a higher priority task to be ready, the rescheduling
> occurs and interrupts are unlocked while other tasks run."
>
> Does this mean that, at every rescheduling event, interrupts are
> unlocked? or it is that 'the new task might unlock them' ?
>
> TIA
> Venkat
>
> john_94501@yahoo.com (John) wrote in message
news:<488e459a.0111092158.6d053829@posting.google.com>...
> > Hello,
> >
> > If called from interrupt level, logMsg, which is basically just a
> > called to msgQSend(), should not change the current interrupt
> > settings. If called from task level, it could cause a context switch
> > (likely since tLogTask has a pretty high priority), and that will
> > usually enable interrupts (depending on how the CPU works, and the how
> > they were disabled - check your docs for info). When the calling task
> > resumes, they will revert to the locked state.
> >
> > As for local variables, they are OK, but watch out for pointers to
> > transient data (e.g. passing the address of an automatic variable).
> > You must make sure if you pass a pointer, that it points to something
> > that won't change!
> >
> > HTH,
> >
> > John...
> >
> > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message
news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > > Hi,
> > > Does logMsg() have any side-effects like unmasking of interrupts?
> > > Say, i am in ISR and i masked my interrupts , after that i did a
logMsg(),
> > > now, when logMsg() returns, will it unMask the interrupts?
> > >
> > > What could be effects of calling logMsg() with local variables?
> > >
> > > TIA
> > > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
Date: 12 Nov 2001 15:29:17 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uk7wvu40y.fsf@yahoo.com>
References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net>
Sender: bpringlemeir@DeadDuck
>>>>> "John" == John R <jroberts@unisperenetworks.com> writes:
 John> Once the file system is initialized and the device has been
 John> created the dick volume is not mounted until the first access
                   ^^^^
That is something I have never encountered before!
 John> to the disk.  When mounting begins there is a long period of
 John> time (more then 2 minutes) that the FAT is getting built. The
 John> code sits in a tight loop building the FAT. I'm using a 6Gig
 John> disk so it takes a long time.
[snip]
 John> I've tried several ways of forcing the FAT to disk as soon as
 John> it is created but I have had no success. Has anyone experienced
 John> this or have a better understanding of these events and how I
 John> might resolve it?
See my question from several days ago about "rebootHookAdd".  You can
add a flush of the disk.  Alternatively you could modify the
usrDosFs.c code so that a dcacheCbio wasn't created... but this would
slow you down a lot!
hth,
Bill Pringlemeir.
- --
Two other people put together will hit you this month.  God will
eventually reveal itself to be a friend.  Paint.  Your endothermic
therapsid will need to be burped tomorrow.  You'll someday be tired.
Your lucky number today is 29842924728.  Look for it everywhere.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
Date: Tue, 13 Nov 2001 00:46:56 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$c0npmg$8ab$1@lnews.actcom.co.il>
References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net>
You got this somewhat sideways:
The reason the mount operation takes some time is due to consistency
checking
which takes place upon first access, like "fsck" on Unix and "chkdsk" on
Windoz.
If the system is restarted abnormally, the disk data structure must be
checked
to make sure all subsequent file accesses are consistent and depndable.
The erason you see this as tight-loop (aka CPU bound) process, is probably
because your disk driver does not use DMA, for example the vanilla IDE and
ATA
drivers from WRS use PIO mode which wastes CPU cycles for all disk
transfers.
With FAT32, the FAT can get quite large, hence DosFs 2.0 "chkdsk" module has
two
operating modes: when sufficient memory can be malloc'ed, the FAT is copied
in RAM
to expedite the "chkdsk" process. If however such memory is not found, the
backup FAT
copy on the disk is used for this purpose, which lows down "chkdsk" by an
order of magnitude.
Regarding rebootHook, you could tie a decent FLUSH operation into it if you
can guarantee
task level execution, keep in mind the disk (IDE SCSI) driver must be
operational for this
to succeed. But still you dont get the power fail case solved doing this.
This "chkdsk" process does also get slowed by isufficiently large disk
cache, and it also
depends on the size of FAT and overall number of files on the volume.
Having said this, I cna suggest the following: either get more memory (more
disk cache and/or
more heap space for "chkdsk") or reduce the size of the FAT. The later can
be done by simply
increasing the cluster size, hence less clusters per volume, hence less FAT
space.
If you desire MSFT compatibility, a cluster can not exceed 255 sectors, but
with DosFs 2.0,
you can format the volume with larger clusters, at the cost of
MSFT-interchange and
leftover unusabed space per file.
Good luck,
 - Leonid
"John R." <jroberts@unisperenetworks.com> wrote in message
news:3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net...
> Once the file system is initialized and the device has been created the
dick
> volume is not mounted until the first access to the disk.  When mounting
> begins there is a long period of time (more then 2 minutes) that the FAT
is
> getting built. The code sits in a tight loop building the FAT. I'm using a
> 6Gig disk so it takes a long time.
>
> Once the FAT is created it sits in cache it is not written to the disk
until
> sometime later. If I reset the system (ctrl-x or hard reset) soon after
the
> FAT is built before it gets flush to the disk, I loose the FAT and upon
the
> next mounting of the disk I again have to wait for the FAT to be built (2+
> more minutes). I would have expected the FAT to get flushed to the disk on
a
> soft reboot.
>
> I've tried several ways of forcing the FAT to disk as soon as it is
created
> but I have had no success. Has anyone experienced this or have a better
> understanding of these events and how I might resolve it?
> Regards,
> -John
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problems with nfs
Date: Tue, 13 Nov 2001 01:04:39 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$utnpmg$xab$1@lnews.actcom.co.il>
References: <3BEFE599.2238CF31@era.ericsson.se> <3BF02215.E09A8631@aps.anl.gov>
I would agree with Andrew, except the original question stated that with FTP
they get similar behaviour, and FTP does not do notin like that.
Add to this that there is a SITE DEPENDENCY observed, which reinforces my
suspicion of the network switches, which got difficulties when mitigating
10Mbps
and 100Mbps Ethernet ports sans flow control.
Here is a previous discussion of this fenomena:
http://groups.google.com/groups?q=comp.os.vxworks+leonid+ethernet&hl=en&rnum
=6&selm=newscache%24qum8jg%24zo3%241%40lnews.actcom.co.il
Let me know if you find this useful!
- - Leonid
"Andrew Johnson" <anj@aps.anl.gov> wrote in message
news:3BF02215.E09A8631@aps.anl.gov...
> Niklas Jonsson wrote:
> >
> > We got a small problem with nfs under vxworks, on one site we get huge
> > differences between upstream and downstream data.
> >
> > VxWorks runs on a TSS (a machine simulatin cellphones calls)
> >
> > Anyway, the machine got a local disk, and when we transfer from nfs to
> > the local disc we get around 4 megs. per second, if we do the opposite
> > we only get 600k/s. The same happens with ftp. We have checked for
> > packet losses and, isolated the network between the machines(this
> > occurres on 4 TSS'es on that site, on our site we do not got this
> > problem.) So are there any experienced problems with nfs being fast in
> > one direction and slow in the other? We have also tried with different
> > versions of VxWorks.
>
> NFS Version 2 is almost by definition (if implemented strictly) going to
> be slower to write than to read, because the server has to guarantee that
> write data has been successfully stored in non-volatile storage (usually
> meaning flushed to disk) before it returns an acknowledgement to the
> client, whereas it can use read-ahead cacheing for the other direction.
> Some servers will allow you to turn that write guarantee off, and NFS
> Version 3 also provides some alternative speedup.  vxWorks only supports
> NFS Version 2 AFAIK.
>
> - Andrew
> --
> Perfection is reached, not when there is no longer anything to add,
> but when there is no longer anything to take away.
> - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: gratuitous arp
Date: 12 Nov 2001 15:28:49 -0800
From: james.fuhring@strixsys.com (sharky)
Organization: http://groups.google.com/
Message-ID: <9f8341e1.0111121528.59564e6e@posting.google.com>
If I update the arp table via an arpAdd(), does VxWorks perform the
gratuitous arp or do I have to implement that functionality?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: gratuitous arp
Date: Tue, 13 Nov 2001 01:43:28 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$lmppmg$jdb$1@lnews.actcom.co.il>
References: <9f8341e1.0111121528.59564e6e@posting.google.com>
I dont think the arpAdd should generate gratis-arp at all.
Gratis-arp is generated when the interface is given an IP address -
it xmits the gratis-arp to check for some other node on the same net
using the same IP address, and generates a meeage if there is a dup.
This is all it does, so adding some other node's IP to MAC address
translation
to the ARP table should not (and does not) generate any packets.
It may however cause the system to proxy-arp, i.e. reply on behalf of
some other node, if the arp entry has the PUBLIC flag raised.
Hope this helps,
 - Leonid
"sharky" <james.fuhring@strixsys.com> wrote in message
news:9f8341e1.0111121528.59564e6e@posting.google.com...
> If I update the arp table via an arpAdd(), does VxWorks perform the
> gratuitous arp or do I have to implement that functionality?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: traceroute for vxworks
Date: Tue, 13 Nov 2001 01:47:02 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$jsppmg$pdb$1@lnews.actcom.co.il>
References: <3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com>
Hmm, there is no known port of traceroute, although VxWorks
RAW socket API is quire Unix-like.
Probably the reason noone bothered to port it is because they did
not finf this a necesary tools, but obviously you have a need for it.
Coule you give some more detail about why is traceroute important
on your vxworks target ?
- - Leonid
"Chandwani" <rexrc@ubbsrv3.ho.lucent.com> wrote in message
news:3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com...
> Hi !
>
> Is there a traceroute ( or similar ) program available somewhere for
vxworks ?
>
> Rakesh
> ----
---------------------------
Newsgroups: comp.os.vxworks
Subject: tffsDevFormat() in cfiscs.c on Intel strataFlash 28f320J3A
Date: 12 Nov 2001 17:36:16 -0800
From: hsu_yuan@yahoo.com (Yuan Hsu)
Organization: http://groups.google.com/
Message-ID: <f41f83b1.0111121736.5b0264b9@posting.google.com>
Hi, all,
Currently I am trapped in tffsDevFormat() when using TFFS on our Intel
flash. I've looked throught comp.os.vxworks, and did find several
posts on this problem, ie, the failure of tffsDevFormat on Intel's
flash. But it seems further info. on this problem is lack. Could
anyone offer any help on this tricky problem?
We are using Intel strataFlash 28f320J3A. When I trace into the
funtion of tffsDevFormat(), I found it ultermately entered
cfiscsByteIdentify() after calling several socket-level functions and
cfiscsIdentify(),and it did recognize it as intel CFI flash, thought
in a uncorrect 8-bit mode, whereas the hardware engineering told me
the flash was set to 16-bit mode. That's the first stange point.
Second came from cfiscsByteWrite() I added in the end of
cfiscsByteIdentify() to test write capability, it failed.  From the
dump, I got the know the last function executed was
flWriteProtected(). What's its meaning?
Any help will be highly appreciated.
Best Regards,
Yuan
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: gratuitous arp
Date: Mon, 12 Nov 2001 18:05:08 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3bf0800d$0$87021$e2e8da3@nntp.cts.com>
References: <9f8341e1.0111121528.59564e6e@posting.google.com> <newscache$lmppmg$jdb$1@lnews.actcom.co.il>
"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:newscache$lmppmg$jdb$1@lnews.actcom.co.il...
> I dont think the arpAdd should generate gratis-arp at all.
> Gratis-arp is generated when the interface is given an IP address -
> it xmits the gratis-arp to check for some other node on the same net
> using the same IP address, and generates a meeage if there is a dup.
> This is all it does, so adding some other node's IP to MAC address
> translation
> to the ARP table should not (and does not) generate any packets.
My SENS sources confirm this :-)   The gratuitous ARP is sent out when a
SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as Leonid
pointed out above) when an interface is given an IP address.
 hth,
  Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: trapped into the failure of tffsDevFormat on intel 28f320J3A
Date: 12 Nov 2001 19:25:10 -0800
From: hsu_yuan@yahoo.com (Yuan Hsu)
Organization: http://groups.google.com/
Message-ID: <f41f83b1.0111121925.1d53f556@posting.google.com>
Hi, all
Currently I am trapped into the failure of tffsDevFormat when adding
TFFS support to our Intel strataFlash.
We are using Intel strataFlash 28f320J3A. When I trace into the
funtion of tffsDevFormat(), I found it ultermately entered
cfiscsByteIdentify() after calling several socket-level functions and
cfiscsIdentify(). It did recognize it as intel CFI flash, thought in a
uncorrect 8-bit mode, whereas the hardware engineering told me the
flash was set to 16-bit mode. That's the first stange point.
Second came from cfiscsByteWrite() I specially added in the end of
cfiscsByteIdentify() to test write capability, it failed and from the
dump, I got the know the last function executed was flWriteProtected.
So what's the meaning for it?
Regards,
Yuan Hsu
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Desperate for help: Between a rock and hard code...
Date: Tue, 13 Nov 2001 03:27:25 GMT
From: Chris Whitehead <Cdwhitehead@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <3BF0937B.A19A6A39@home.com>
References: <3BED96BA.418DF950@home.com> <newscache$hblmmg$x27$1@lnews.actcom.co.il>
Thank you!!
The best location to send the information is  my business address,
cwhitehead@consultronics.com
I will let you know if I am able to reconstruct the file system. I suspect one
chip has failed in at least one block. From flashFsBlkShow I get the response
"nBlocks(120), nBadBlocks(1), nSpareBlocks(2), nQuBlocks(6), Unable to mount
flash"  The system has normally 128 blocks.
Does this file system support marking of bad locations? Could I simply
reinitialize the current chips, accepting the loss in capacity? This is a
desirable method as it may be difficult to obtain  new pin-compatible devices.
Application code is only 4MB while the full capacity is 8MB.
In your debt,
Chris Whitehead
Leonid Rosenboim wrote:
> Chris, today is your lucky day.
> The Flash file system on your board is FlashLib, from RST Software
> Industries Ltd (Israel),
> which I founded and managed and sold to WindRiver in January 1997.
> My conclusion is based on the function names you mentioned.
> I hope these function names are accurate.
>
> WindRiver has discontinued FlashLib some time in 1998 in favour of TrueFFS
> which it OEM'ed from M-Systems. But because FlashLib was shipped in full
> source code, there are some projects out there still using FlashLib with
> self-support.
>
> I will help you on this, by sending you the FlashLib manual in a separate
> message.
> Don't want to bloat the newsgroup.
>
> Cheers,
>  - Leonid
>
> "Chris Whitehead" <Cdwhitehead@home.com> wrote in message
> news:3BED96BA.418DF950@home.com...
> > Hello,
> >
> > I have an unusual problem with a Vxworks system that we use within a PCB
> > board manufacturing "pick and place" machine. The board's function is to
> > run a specialized vision system for the machine, which runs under
> > Vxworks and  a PPC603e processor. One half of the board is custom ASICs
> > and video system, but the other half seems to be a generic PowerPC
> > configuration using SDRAM , PCI/Memory controller and two Intel
> > Flashdrive chips.
> >
> > The problem is that one morning the system refused to run the
> > application program saying that drive F: was no longer accessible. The
> > boot PROM and rest of the processor system seems OK and  I can get into
> > Tornado and run the resident commands. Assuming that just one or both of
> > the Flashdrive chips has failed and we can replace them, my problem is
> > that I don't know the parameters for the functions to reinitialize the
> > flash file system. I also don't know if the flash file system is part of
> > a BSP or if it was written by the system designer. I have the original
> > application software and can write it back into the system, but not
> > until I can reformat the flash drive.
> >
> > My question is can anyone tell me if WRS ever supplied a stock driver
> > for 28F016Jx  Intel flashdrive and what the parameter structure would be
> > for commands such as flashFsDevCreate, flashFsFormat, etc..
> >
> > In case anyone is wondering why I'm not asking the vendor, they don't
> > know how to fix it because the project was terminated 3 years ago and
> > basically no one knows how it works anymore. The parties involved parted
> > ways on a sour note and have only been replacing faulty boards (which go
> > for 16K US at the moment) A new system costs even more. My only hope is
> > to go through Vxworks channels directly myself
> >
> >
> > Thanks VERY much for any help anyone has!
> >
> > Chris Whitehead
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: smc problem ppc8260
Date: Tue, 13 Nov 2001 03:37:49 GMT
From: jamure <katmal@optonline.net>
Organization: Optimum Online
Message-ID: <3BF09578.CCC845E2@optonline.net>
Reply-To: katmal@optonline.net
Hi folks,
I am using sbc8260 board from EST corp with vxworks as OS. The shipped
cpu with the board is having spec - 133/66/33 Mhz, ie, core -133Mhz,
cpm-66, crystal osc-33Mhz.With this board the serial debug port using
SMC works fine, even changing the osc freq from 33 to 66MHz works fine
for the highest core/cpm combination mode according to chapter 10 of
8260 user manual (modH_mod13 is equal to 0101_111 - Table 9.2).
However, we are in the process of evaluating the newer derivatives of
8260, namely, 8260A (Hip4) with spec 266/200/66Mhz. The questions are -
1) Will replacing the 133/66/33Mhz cpu with the 8260A(Hip4) workon the
est's sbc8260 board?
     I am not able to make the est's sbc8260 board operate the debug
port, I see garbled characters on the terminal window. The SCCR is set
to use div by 4 mode. Corresponding changes have been made in
sysSerial.c file to compute the baud freq (sysBaudClkFreq()). All
combinations of modH_mod13 (with the user dip switch matching
configuration dip switch pins 6,78) have been tried for
modH=0101,0110,0111 and mod13=000 to 111, but without success. Any
pointers/solution will be appreciated to make it work.
gururaj
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: method address
Date: 12 Nov 2001 20:54:07 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111122054.59aea62c@posting.google.com>
References: <AolH7.11253$gQ1.4442293@news1.elmhst1.il.home.com> <488e459a.0111110003.269b546c@posting.google.com> <ohUH7.6$wu1.962@newsr2.u-net.net>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<ohUH7.6$wu1.962@newsr2.u-net.net>...
> John wrote in message <488e459a.0111110003.269b546c@posting.google.com>...
> >Hello,
> >
> >You could just look it up by name; the name will be mangled, but the
> >shell is able to demangle these so you'll be able to call the
> >function.
> >
> >That is the good news; the bad news is that you can't just call a
> >method like a normal function. Why? Well, because a method needs to be
> >called on an instance of the class of which it is a member.
>
>   Oh yes you can.  Just pass the 'this' pointer are the first argument.
> Every C++ compiler I've ever used so far has implemented the this pointer by
> simply adding a hidden first argument to the member function.
True enough, but to pass a this pointer you have to have an instance
of the object to point to, and that is not so easy to create from the
shell directly. You could, of course, create a function that creates
you an object, but then why not have that function invoke the method
too...
Regards,
John...
> Although
> there's nothing to forbid compiler implementers from making it work some
> other way, in the context of VxWorks and the gcc compilers available from
> WRS, this is guaranteed to work, safely, reliably and correctly.  I'd be
> very surprised if the Diab and Green Hills compilers did it any differently
> from gcc either, but can't speak from experience there.
>
>        DaveK
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 12 Nov 2001 21:26:48 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111122126.373ae5d7@posting.google.com>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111121134.47253558@posting.google.com>
Hello,
> Does this mean that, at every rescheduling event, interrupts are
> unlocked? or it is that 'the new task might unlock them' ?
Really it means that it might; it depends on which task is taking over
the CPU (at least for most of the chips I've seen). Often, interrupts
are enabled or disabled via a bit, or some bits, in the processor's
status register. Since this register forms part of a task's context,
switching tasks has the potential to enable (or disable) interrupts,
depending on the state of the register when the task was switched out.
As long as you never invoke any functions that could cause a context
switch while interrupts are locked, you will never see this though. If
you wish to perform actions that could cause a reschedule event, but
are non-blocking for the caller (e.g. semGive()), then combine
intLock() and taskLock().
So, for example, the following will make sure that both semaphores are
given without anything else running in between, including ISRs:
  key = intLock();
  taskLock();
  semGive (mySem1);
  semGive (mySem2);
  taskUnlock();
  intUnlock (key);
If the taskLock() is not present, there is nothing to stop a higher
priority task that is already pending on mySem1 from running between
these two semGive() calls. Should that task run, interrupts will
probably be re-enabled (assuming that task hadn't earlier called
intLock() and then blocked itself). When this task regains control of
the CPU, interrupts will once again be locked, until the intUnlock()
call.
Taking away the intLock() instead of the taskLock() would allow ISRs
to run, but not allow any tasks they cause to become ready to actually
run until the taskUnlock() call. In many cases, this is the desirable
behaviour.
HTH,
John...
> TIA
> Venkat
>
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0111092158.6d053829@posting.google.com>...
> > Hello,
> >
> > If called from interrupt level, logMsg, which is basically just a
> > called to msgQSend(), should not change the current interrupt
> > settings. If called from task level, it could cause a context switch
> > (likely since tLogTask has a pretty high priority), and that will
> > usually enable interrupts (depending on how the CPU works, and the how
> > they were disabled - check your docs for info). When the calling task
> > resumes, they will revert to the locked state.
> >
> > As for local variables, they are OK, but watch out for pointers to
> > transient data (e.g. passing the address of an automatic variable).
> > You must make sure if you pass a pointer, that it points to something
> > that won't change!
> >
> > HTH,
> >
> > John...
> >
> > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > > Hi,
> > > Does logMsg() have any side-effects like unmasking of interrupts?
> > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
> > > now, when logMsg() returns, will it unMask the interrupts?
> > >
> > > What could be effects of calling logMsg() with local variables?
> > >
> > > TIA
> > > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Intel ev386ex's bsp!
Date: 13 Nov 2001 09:43:58 +0200
From: Reinhold Wirth <wirth@softec.de>
Organization: WEB.DE
Message-ID: <3bf0dd53@netnews.web.de>
References:  <d5e50b0c.0111111828.123edd5@posting.google.com>
Hi chenyong,
>I am using the intel ev386ex board with no ethernet card,and porting
>the WindRiver's bsp on it !
>The board has two serial ports,512k flash,4M Dram,etc.
>Now I have some problems about BSP!
>I want to use the serial port to connect target server, when I write
>the VxWorks_Rom(I have involve some banner information!),power on ,and
>no any words on HyperTerminal;but when I write bootrom_uncmp into
>flash,I can see the bootline on the HyperTerminal.I do not
>know how to use bootrom_cmp to download vxWorks image from this 512k
>space.
>I want to try other ways,anyone can tell me?
* serial output:
Test your configuration: CONSOLE_TTY should be different from WDB_TTY_CHANNEL.
* You want use 512k flash for the bootloader and for vxWorks?
I think 512 k is not enough memory for both images.
It is less for vxWorks.
I see only 1 realy possibilitys:
- - uses the flash for vxWorks (vxWorks_rom or
  vxWorks_romCompress).
  (A application may be loaded to vxWorks)
It is possible to load vxWorks with the serial interface, but you need time.
- --
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de
---------------------------
Newsgroups: comp.os.vxworks
Subject: vxImmrGet ????????
Date: Tue, 13 Nov 2001 19:01:57 +0900
From: pch <chpark@sei.co.kr>
Organization: A poorly-installed InterNetNews site
Message-ID: <3BF0EF95.1040309@sei.co.kr>
hi.
i dont know what vxImmrGet() do ?
i cannot find about vxImmrGet at search engine...
i want to konw what vxImmerGET() is..
thanks u..
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Tue Nov 13 23:51:52 2001
From: Ilia Bosis <Ilia_Bosis@packetlight.com>
Date: Tue Nov 13 23:51:54 PST 2001
Subject: WindNet OSPF experience ?
Does anyone in the VxWorks land
had worked with the WindNet OSPF package ?
What can You tell about
it's stability, RFC compliance,
ease to integration, resource usage ?
Can anyone recommend (or not recommend) it,
suggest an alternatives,
point to caveats, etc. ?
Thanks in advance.
		Ilia.
--------------------------------------------
Ilia Bosis
Software Engineer
PacketLight Networks
Tel:    +972-9-7644228
Fax:    +972-9-7645444
E-mail: Ilia_Bosis@packetlight.com
Web:    www.packetlight.com
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Nov 14 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Nov 14 04:03:11 PST 2001
        Subject: Re: logMsg side-effects
        Subject: compile problem :does it rely on CPU type?
        Subject: Serial Wdb; LogMsg hangs system
        Subject: Re: clock corruption
        Subject: Re: vxImmrGet ????????
        Subject: Re: Strange function behaviour
        Subject: Sending IP detagrams on a specific interface
        Subject: Socket problem on Vxworks
        Subject: Does anybody have an example NPT driver?
        Subject: RFC2131 Dhcp code [for ARM].
        Subject: Re: FW: TSR #262641
        Subject: Target Server Console freezes after hitting Properties menu
        Subject: muxDevUnload & muxDevLoad after system boot up
        Subject: Any way to set MTU for entire network interface?
        Subject: Re: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
        Subject: remote shell daemon for vxWorks?
        Subject: bootpReply sometimes does not work on client
        Subject: Re: vxImmrGet ????????
        Subject: Re: logMsg side-effects
        Subject: Tornado 2 setup on win2k hangs
        Subject: Re: Solaris shared memory error
        Subject: Tornado v.2.0.2 (180 days license)&networking&NT
        Subject: Re: clock corruption
        Subject: Re: undefined relocation
        Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
        Subject: Re: Strange function behaviour
        Subject: Re: logMsg side-effects
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Tue, 13 Nov 2001 12:12:04 GMT
From: "Barry Kelly" <kellyb@spielo.ca>
Organization: NBTel Internet
Message-ID: <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com>
"Venkat Mynampati" <mynamvs@nsc.network.com> wrote in message
news:65b2abfc.0111091037.7e8ad439@posting.google.com...
> Hi,
> Does logMsg() have any side-effects like unmasking of interrupts?
> Say, i am in ISR and i masked my interrupts , after that i did a logMsg(),
> now, when logMsg() returns, will it unMask the interrupts?
>
> What could be effects of calling logMsg() with local variables?
>
> TIA
> Venkat
I think I have proof that logMsg() enables INT's. I still can't believe it!
I've used logMsg() in very INT-sensitive areas!
Here's my test code. Please tell me what I'm missing here:
/* Debug macro */
#define DRV_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \
 if (m5SerialDebug & FLG) \
    logMsg(X0, X1, X2, X3, X4, X5, X6)
#else
#define DRV_LOG(FLG, X0, X1, X2, X3, X4, X5, X6)
#endif
/* Code snippet */
    wvEvtLogStart();
    oldlevel = intLock();
    wvEvent( 2, NULL, 0);
    for(i=0;i<1500;i++)
     sysOutByte(0x160,0); /* Big delay to let serial (INT10) IRQ's pile up
*/
    i = rngNBytes(((TY_DEV_ID)(pChan->getTxArg))->wrtBuf); /* Read buffer
level */
    qPushEntry( request, arg, i); /* Simple queue entry, no semaphores, just
array manipulation */
    wvEvent( 3, NULL, 0);
    DRV_LOG( M5_SERIAL_DEBUG_IOCTL,"IOCTL %d pend (%d + %d)\n", arg,
i,pendQ.txCount,0,0,0); /* INT's happen immediately after this logMsg
macro*/
    wvEvent( 4, NULL, 0);
    intUnlock(oldlevel);
    wvEvtLogStop();
begin 666 wv1.bmp
M0DTRR ```````'8````H````40,``%T#```!``0``@```+S'```3"P``$PL`
M`! ````0``````````"$````_P``__\``$)"0@#6_WL`A(2$`/?WG ```/\`
M:Z?N`/1M]@#.UM8`TO?_`-[__P#W__\`____```28+^[NP`+N[MD`/Z__K_^
MOQZ_``2[^PR[`!ADO[N[``N[NV2[N[ ````28+^[N[ +N[MD`/[[_OO^^R+[
M#+L`&&2_N[L`N[N[9+N[L ```!)@O[N[NPN[NV0`_K_^O_Z_'K\`!+O[#+L`
M&&2_N[L+N[N[9+N[L ````1@OPR[`F3^^_[[_OLB^PR[``1DOPR[``ADN[NP
M````!&"_#+L"9/Z__K_^OQZ_``2[^PR[``1DOPR[``ADN[NP````!&"_#/\"
M9/[[_OO^^R#[#O\`!&2_#/\`"&2[N[ ```)@#KL"M/Z__K_^OQZ_$+L"M Z[
M``BTN[NP```"8&2[_@#^`.H```9$1$ ````"8&2[_@#^`.H```:V9F ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_NP`````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:___ ````"8&2[_@#^`.H```:[N[ ````"8&2[_@#^`.H```:_O[ ````"
M8&2[_@#^`.H```9$1$ ````"8&2[_@#^`.H```:V9F ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8 B[`!:P"[L```NP"[L```!&
MN_X`_@#J```&O[NP`````F (NP`8L NP"[ +L NP"[ +1+O^`/X`Z@``!K^[
ML ````)@"+L`%+ +L NP"[ +L M(N_X`_@#J```&O[NP`````F (NP`4L NP
M"[ +L NP"TB[_@#^`.H```:_N[ ````"8 B[`!BP"[ +L NP"[ ```M$N_X`
M_@#J```&O[NP`````F (NP`8L NP"[ +L NP"[ +1+O^`/X`Z@``!K^[L ``
M``)@"+L`%K +NP``"[ +NP```$:[_@#^`.H```:_N[ ````"8!"[``BP"[ +
M3+O^`/X`Z@``!K^[L ````)@"+L`$+ +N[NP"[ +3+O^`/X`Z@``!K^[L ``
M``)@"+L`$+ +N[NP"[ +3+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[
ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^
M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[
ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^
M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[
ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^
M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[
ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^
M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[
ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^
M`/X`Z@``!K^[L ````)@"KL`/@``"[ +L NP"[ +`+L`N[ `"[NP"[ +NP"[
M`+L`````'+O^`/X`Z@``!K^[L ````)@"+L`/+ +L NP"[ +L L`NP"[`+L`
MNP"[L NP"[L`NP"[`""[_@#^`.H```:_N[ ````"8 B[`"BP"[ +L NP"[ `
M"[L`NP"[`+L`NP@```R[`+L`NP`@NQ(``@*P(@`B@@```! ````0( ```0``
M``(`EB(`!H(```"0(@`4* ```! ````@`I(B`#0H````$ ```! ````0````
M$@```! ``+^[L ```F (NP`^L NP"[ +L NP`+N[`+L`NP"[`+L`L L`NP"[
M`+NP"P`>NQ(``@*P(@`B@@```0$```$!( ``$! ``!(`EB(`!H(```"0(@`4
M* ```0$```$@`I(B`#0H```!`0```0$```$!```!`@```0$``+^[L ```F (
MNP`^L NP"[ +L NP``N[`+L`NP"[`+L`L L`NP"[`+N[```>NQ(``@*P(@`B
M@A `$ `0`! `(0`!``$``0(`EB(`!H(0``"0(@`4*! `$ `0`! A`I(B`#0H
M$ `0`! `$ `0`! `$ `0`A `$ `0`+^[L ```F (NP! L NP"[ +L NP"P"[
M`+L`NP"[`+ +L NP"P"[`+N[L L<NQ(``@*P(@`B@@$!```!`0``(A 0```0
M$ (`EB(`!H(!`0"0(@`4* $!```!`0`B$I(B`#0H`0$```$!```!`0```0$`
M`B$!```!`;^[L ```F (NP! L NP"[ ``+NP"[ +```+N[ `"[ +N[NP"P``
M"[N[NP`<NQ(``@*P(@`B@@`0````$ ``(@$````!``(`EB(`!H(`$ "0(@`4
M* `0````$ `B`I(B`#0H`! ````0````$ ```! ``B 0````$+^[L ```F 8
MNP`$L LFNP`&`+L``!R[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[
ML ````)@&+L`!+ +)KL`!@"[```<NQ(``@+"``("# `"`OX`/@``! ("M `"
M( H```:_N[ ````"8!B[``2P"R:[``:P``L`'+L2``("( `"H(P``@H2``("
M# ``"@(````*`(P```P*```*`*",``*@#@``" ("`*",``(*(@`"( H```:_
MN[ ````"8&2[$@``!**@' ``! H*C ``"*75554,``("# ``#**@``"@H(H`
M``REU575J@J*```(#5U550H```@"HJH*C ``"J#55550`!H``B *```&O[NP
M`````F!DNQ ```8*`@H`' ``!J"@H "(```*"@U=554`# `"`@H```X*`@H`
M"@H*`(@``! *#5U=7:J@H(@```BEU=55"@``"@("JJ"@`(@```P*"EU555 :
M``(@"@``!K^[L ````)@9+L0```(H**@H @```2JH P`" H`# ```*JJJGH`
M`!H%U=75H%4``*JJ```"``H```2@H@R@``RJH "JJJIX```>!=75U:#=JJH*
MJ@``JJJJ`'@``"P%75U="E4```JJH**BJJH*````JJJJ? ``$M75U= %4 "J
MJ@`4``(@"@``!K^[L ````)@9+L.```*"@H""@H`" `""@X``!"@H "@H ``
MH'X``!H-755=754`"@``H `"``@``!H*"@(*"@H`"@H*``"@`'P``!H-755=
M7=6J"J"@``"@`'P``"@%U=55U=4``* `"@*BJ@J@H ``H'X``!8*755=7550
M"@``H `2``(@"@``!K^[L ````)@9+L.```4H* "`*"@````"@P``!(*"@``
M"@H```H`?@``#*70`%6@U0@```:@``(`" ``&J"@`@"@H ``H*H```H`? ``
M&J70`-6JW0"@J@H```H`? ``# U:`%4*70@``!2JH@(`H*H*```*?@``%J#5
M``70I5 ```"@`!(``B *```&O[NP`````F!DNPP``!@*"@`"``H*``JJJJ *
M```4H* ```"@H ``H'H```X*#55555U=``@``"J@``(````*"@`""@H*``JJ
MJJ ``* `> ``'@H-55U=W=T`"@J@H ``H !Z```JI=555575H ``"@JBH@`*
M"J"J``"@`'H``!@*"E5555U=4 ```* 2``(@"@``!K^[L ````)@9+L,```6
MH* ``@``H* *``H`"@``! H*" ``"@H*```*`'H``"J@I5 `50#5H ```* `
M`@```*"@``(`"* `#@H`JJ ```H`> ``'J"E4*#="M6@`*"J"@``"@!X```L
M"@U0`%4`70H``*"J`@(``*"J"@``"GH``!B@H%4`!5"ET ```* 2``(@"@``
M!K^[L ````)@9+L,```6"@```@``"@``H H`# `"H H```J@````H !X```$
M"@4(50`L70``"JH```(````*```""@`*``"@"@@``J!V```@"@55757570``
M"JJ@````H'@``J4*50`@H ``JJ"B`@``"@"@````H'@```0*``A5``I=4 `*
MJ@`4``(@"@``!K^[L ````)@9+L2``(""@``! H*( `""GH```P%4 !5`%4(
M```&H `"``P``@(*```$"@H(``(*> ``# 50`%4`51 ``@IX```,!5 `50!5
M" ``!@H"`@`0``(*? ``%%4`!5 %4 ```* 2``(@"@``!K^[L ````)@9+L2
M``(""@``! H*( `""GH``@4*50@```:@``(`# `"`@H```0*"@@``@IX``(%
M"E40``(*> `"!0I5" ``!@H"`@`0``(*? `*50`*4 ```* `$@`"( H```:_
MN[ ````"8&2[$@`"`@P``JH<```&H `*`'H``!H%4 !5554`"@``H `"``P`
M`@(,```,J@``H `*> ``'@50`%5550``H ```* `"@!X```:!5 `5555``"@
M``H"`@`,```&H `*`'P``!15``5555 *``"@$@`"( H```:_N[ ````"8&2[
M$@`"`@P``@H<```&"JJ@`'H```@%5555" ``"JJJ```"``P``@(,```,"@``
M"JJ@> ``" 55554(```."JH```JJH !X```(!55550@```H*JJ "`@`,```&
M"JJ@`'P``!)55550````JJH`% `"( H```:_N[ ````"8&2[$@`"`JH```@%
M5555$ `"`@P``@*0```(!55558X```@%5555#@``! ("C@``"%5555 >``(@
M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP
M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"
M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`
M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&
MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"
M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@5+L`! ``
M#+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!2NP`(L NP
M"PJ[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@5KL`!+ +
M"KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F *NP!:`+NP
M"[NP"[N[L N[L N[NP"P````N[L```NP"[ +L NP"[ +NP``"[ +N[N[`!(`
M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[`%RP"[NP"[NP
M"[N[L N[L N[L NP"[NP"[ +L NP"[ +L NP"[ +L NP"[ +N[N[$@`"`L(`
M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`_K +N[ +N[ +N[L`
M`+NP"[NP"[ +N[ +L NP"[ +L NP"P``L NP"[ +L N[N[L*``H`"@`*``H"
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H```#^"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H"
M`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@``3@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"B *``H`"K^[L ````)@"+L`_K +NP``NP``N[ +L NP"[NP"[ +N[ +
ML NP"[ +L NP"P``L NP"[ +L N[N[NJH*J@JJ"JH*JBJJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*J
MH*J@JJ"BH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@``#^JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JBHJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@J@``3J"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JB"JH*J@JK^[
ML ````)@"+L`_K +NP"PNPL`N[ +L NP````N[ +N[ +L NP"[ +L NP``NP
M``NP"[ +L N[N[L*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H``/X`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#^
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``3@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"B *``H`"K^[L ````)@"+L`7+ +
ML NP``NP"P"[NP"P"[NP"[ ```"[L NP"[ +L NP``NP``NP"[ +L "[N[L2
M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F (NP`V``"P"[ `
M"[ +`+N[`+ +N[ +L N[L NP"[ +``@``!ZP`+N[``N[```+L `+N[L`$@`"
M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`$K +`+N[`+N[
M```(NP`4L N[L NP"[NP"PB[`!2P"[ +L "[NP`+$KL2``("P@`"`@P``@+^
M`#X```0"`K0``B *```&O[NP`````F (NP`2L L`N[L`N[L```B[`!2P"[NP
M"[ +N[ +"+L`%+ +L NP"[N[L L2NQ(``@+"``("# `"`OX`/@``! ("M `"
M( H```:_N[ ````"8 R[``X`N[L`N[L```B[`!*P````N[ `````#+L`$@"[
M`+ +N[NP"P`2NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"
M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("
MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"
M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$
M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *
M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ `
M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2
M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("
M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^
M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0`
M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_
MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@
M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"
M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("
M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"
M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H`
M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ``
M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(`
M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8#J[``2P"R:[$@`"
M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@.KL`!+ +)KL2``("
MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F ZNP`$L LFNQ(``@+"
M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 J[`$ `L N[N[NP``N[
M`+N[`+ +L NP"[L```NP``"[NP``"QJ[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@"+L`0K +L N[N[L`NP"[`+NP"[ +L NP"[ +L NP
M"[ +L NP"P`:NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"
M8 B[`$*P"[ +N[N[`+L`NP"[L NP"[ +L NP"[ +L NP"[ +L L`&KL`_@H`
M"@`*``H`"@(*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`
M"@`*``H`"@("``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*( H`"@`*O[NP```"8 B[`$*P"[ +N[N[`+L`NP"[L NP"[ +
ML N[`+ +L NP"[ +L L`&KL`_JJ@JJ"JH*J@JJ*JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JHJJ@JJ"JH**@
MJJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*BH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J(*J@JJ"JO[NP```"8 B[
M`$*P"[ ```"[`+L`NP"[L NP"[ +L N[L `+L NP"[ +L L`&KL`_@H`"@`*
M``H`"@(*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`*
M``H`"@("``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*( H`"@`*O[NP```"8 B[`$*P"[ +N[ +`+L`NP`+L NP"[ +L NP
M"[ +L NP"[ +L L`&KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP
M`````F (NP`6``"P"[NP"[ `"[L`" `"L @``!J[NP``N[ ``+N[```+`!J[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`#K +L N[
ML L`#+L`!+ +(+L`!+ +&KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&
MO[NP`````F (NP`.L NP"[NP"P`,NP`$L L@NP`$L L:NQ(``@+"``("# `"
M`OX`/@``! ("M `"( H```:_N[ ````"8 R[``BP````,KL`!+ +&KL2``("
MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"
M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$
M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *
M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ `
M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2
M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("
M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^
M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0`
M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_
MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@
M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"
M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("
M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"
M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H`
M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ``
M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(`
M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,
M``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X`
M``0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"
M( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[
ML ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F *
MNP`JL N[NP``NP"[`+L```"[NP"[N[ +`#"[$@`"`L(``@(,``("_@`^```$
M`@*T``(@"@``!K^[L ````)@"KL`*K +N[ +L L`NP"[`+NP"[L`N[NP"P`P
MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 J[`"JP"[NP
M"[N[`+L`NP"[NP"[`+N[````,+L2``("P@`"`@P``@+^`#X```0"`K0``B *
M```&O[NP`````F *NP`LL N[L N[NP"[`+L`N[L`NP"[L NP"RZ[`/X*``H`
M"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``#^``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H`"@`*``H`"@`*``H`
M"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"B *``H`"K^[L ```F *NP`LL N[L N[NP"[`+L`N[L`NP"[L NP
M"RZ[`/ZJH*J@JJ"JH*JBJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*JH*J@JJ"BH*J@JJ"JH*J@JJ"J``#^
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH ``\*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*JBHJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JB"JH*J@JK^[L ```F *NP`LL N[L NP"P"[`+L`
MN[L`NP`+`+N[`"Z[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*
M``H`"@`*``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M````\ H`"@`*``H`"@`*``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"B *``H`"K^[L ```F *NP`LL N[
MNP``NP``"[L`N[L`NP```+N[`"Z[$@`"`L(``@(,``("_@`^```$`@*T``(@
M"@``!K^[L ````)@"KL`!+ +"KL`$ "[N[L`N[L`/+L2``("P@`"`@P``@+^
M`#X```0"`K0``B *```&O[NP`````F *NP`$L L*NP`0`+N[NP"[L L\NQ(`
M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[" `(NP`.`+N[
MNP`````^NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"
M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`
M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&
MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"
M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("
MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"
M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$
M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *
M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ `
M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2
M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("
M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^
M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0`
M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_
MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@
M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"
M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("
M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"
M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H`
M``:_N[ ````"8 J[`":P"[NP"[L```NP```+N[ +N[L``#2[$@`"`L(``@(,
M``("_@`^```$`@*T``(@"@``!K^[L ````)@"KL`)K +N[ +L NP"[ +NP"[
ML N[NP``-+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F *
MNP`H``"[L NP"[ +L N[L NP"[NP``LRNQ(``@+"``("# `"`OX`/@``! ("
MM `"( H```:_N[ ````"8 J[`"@``+NP"[ +L NP"[NP"[ +NP"[`#*[`/X*
M``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``#^``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H`"@`*``H`"@`*
M``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"B *``H`"K^[L ```F *NP`H"["[L NP"[ +L N[L NP"[L`
MNP`RNP#^JJ"JH*J@JJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JBJJ"JH*J@HJ"JH*J@JJ"JH*J@J@``
M_J"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ ``/"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JHJ*@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*H@JJ"JH*J_N[ ```)@"+L`++ +L NP"[ +L NP
M"[NP"[ `L N[L LPNP#^"@`*``H`"@`*`@H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H""@`*``H``@`*``H`
M"@`*``H`"@``_@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@```/ *``H`"@`*``H`"@`*``H`"@`*`@(`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H@"@`*``J_N[ ```)@"+L`++ +
ML NP"[L```NP"[NP"[ ```N[L LPNQ(``@+"``("# `"`OX`/@``! ("M `"
M( H```:_N[ ````"8 B[``BP"[ +"+L`#K +L N[L L`/KL2``("P@`"`@P`
M`@+^`#X```0"`K0``B *```&O[NP`````F (NP`<`+N[`+ +N[NP"[ +NP!
MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[`!P`N[L`
ML N[N[ +L ``"T"[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ``
M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(`
M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,
M``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X`
M``0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"
M( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[
ML ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!D
MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(`
M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^
M`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("
MM `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``
M!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP````
M`F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"
M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P`
M`@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``
M! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@
M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP
M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@%KL"`!J[``2P
M"RZ[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@%KL`!+ +
M&KL"`"Z[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@&+L"
M`!J[``2P"RR[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@
M"KL`/@"[```+N[L`N[L`NP"[`+NP``"[N[ +N[ +L N[````'+L2``("P@`"
M`@P``@+^`#X```0"`K0``B *```&O[NP`````F (NP!"L NP"[L`N[ `"[L`
MNP"[`+L`N[ +NP``N[ +L NP"[ +`!J[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@"+L`/K +L N[`+NP``N[`+L`NP"[`+NP"[L``+NP
M"[ +L L`'KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F (
MNP`^L N[N[L`NP"[`+L`NP"[`+N[N[ +L NP"[ +L NP"P`>NP#^"@`*``H`
M"@`*`@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H""@`*``H``@`*``H`"@`*``H`"@``_@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H`
M"@`*`@(`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H@"@`*``J_N[ ```)@"+L`/K +N[L`"[L`NP"[`+L`NP"[N[ `N[ +
ML NP"[ +L L`'KL`_JJ@JJ"JH*J@JJ*JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JHJJ@JJ"JH**@JJ"JH*J@
MJJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
M``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*BH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J(*J@JJ"JO[NP```"8 B[`$*P"[L`
M"[NP"[NP"P"[`+L`N[ `N[L`N[L`L NP"[ +L L`&KL`_@H`"@`*``H`"@(*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@("
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M( H`"@`*O[NP```"8 B[`!8``+ +N[NP"[NP"P`(```B"[L`N[N[`+N[`+ `
M`+N[````'+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F (
MNP`,L NP"[L`%KL`" "[L LRNQ(``@+"``("# `"`OX`/@``! ("M `"( H`
M``:_N[ ````"8 B[``RP"[ +NP`6NP`(`+NP"S*[$@`"`L(``@(,``("_@`^
M```$`@*T``(@"@``!K^[L ````)@#KL`!@``"P`6NP`&L ```#2[$@`"`L(`
M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^
M`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("
MM `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``
M!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP````
M`F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"
M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P`
M`@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``
M! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@
M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP
M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"
M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`
M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&
MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"
M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("
MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"
M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$
M`@*T``(@"@``!K^[L ````)@"+L`!+ +6+L2``("P@`"`@P``@+^`#X```0"
M`K0``B *```&O[NP`````F (NP`$L M8NQ(``@+"``("# `"`OX`/@``! ("
MM `"( H```:_N[ ````"8 B[``2P"UB[$@`"`L(``@(,``("_@`^```$`@*T
M``(@"@``!K^[L ````)@"+L`1K ``+N[```+NP``N[ `"[L`NP"[`+NP``"[
M`+L`NP``N[ +`!:[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ``
M``)@"+L`1K +L NP"[ +L NP"P"[`+L`NP"[`+L`NP"[`+ +L NP"[ +`!:[
M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`1K +L NP
M"[ +L N[NP"[N[L`L `+`+L`NP"[``"[L N[N[ +`!:[`/X#``,``P`#``,"
M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P(#``,``P`"``,``P`#``,``P`#``#^``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#````\ ,``P`#``,``P`#``,````0```"
M(C `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M`" `, `P`+^[L ```F (NP!&L NP"[L`L NP"[N[`+N[NP"P``L`N[ +`+L`
M"[NP"[N[L L`%KL`_@`P`# `, `P`#(`, `P`# `, `P`# `, `P`# `, `P
M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `,@`P`# `, (P`# `, `P
M`# `, ```/XP`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M``#P`# `, `P`# `, `P`````0$```(B`P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,`(P`#``,`O[NP```"8 B[`$:P"[ +
MN[ `"[ +N[L```"[``"[``"[NP``NP``N[ ```NP"P`6NP#^``,``P`#``,`
M`@`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`"``,``P`#`@,``P`#``,``P`#````_@,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,``/ ``P`#``,``P`#``,`$ `0`! `
M$B `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M`# @, `P`#"_N[ ```)@"+L`1K +L NP"[ +L NP"P"[`+L``+L``+L`NP"[
M`+ +L NP"[ ``!:[`/XP`# `, `P`# ", `P`# `, `P`# `, `P`# `, `P
M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, (P`# `, `R`# `, `P
M`# `, `P``#^`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M````\# `, `P`# `, `P`# !`0```0$"(P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,``R #``,``[^[L ```F (NP!(L ``
MN[L``+N[``"[L `+NP`+N[ `N[ `"[L`NP"[``"[L `+%+L`_@,``P`#``,`
M`P(#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#`@,``P`#``(``P`#``,``P`#``,``/X``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#
M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,`
M`P`#``,``P`#``,``P`#``,``P`#``,```#P`P`#``,``P`#``,``P`0````
M$ (@, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `
M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P
M`# `( `P`# `O[NP```"8"B[``H`"[NP```*NP(`)KL2``("P@`"`@P``@+^
M`/8``B *```&O[NP`````F HNP`*`+N[NP``"KL"`":[$@`"`L(``@(,``("
M_@#V``(@"@``!K^[L ````)@*+L`"@"[N[L```J[`@`FNQ(``@+"``("# `"
M`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@#V``(@"@``!K^[
ML ````)@9+L2``("P@`"`@P``@+^`#X``G"V``(@"@``!K^[L ````)@9+L2
M``("P@`"`@P``@+^`#X``G>V``(@"@``!K^[L ````)@9+L2``("P@`"`@P`
M`@+^`#X```1P<+0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``
M!' 'M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```&< !P`+(`
M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`. ``#'=W=W `![(``B *
M```&O[NP`````F!DNQ(``@+"``("# `"`OX`. ``#G!P``<``' `L `"( H`
M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`X```.< <``' `!P"P``(@"@``
M!K^[L ````)@9+L2``("P@`"`@P``@+^`#@``!!P`' `!P``<*X``B *```&
MO[NP`````F!DNQ(``@+"``("# `"`OX`. ``#G `!P``< <`L `"( H```:_
MN[ ````"8&2[$@`"`L(``@(,``("_@`X```.< ``< `'< "P``(@"@``!K^[
ML ````)@9+L2``("P@`"`@P``@+^`#@`"'<`! `'L@`"( H```:_N[ ````"
M8&2[$@`"`L(``@(,``("_@`^```&<'!P`+(``B *```&O[NP`````F!DNQ(`
M`@+"``("# `"`OX`/@``!' 'M `"( H```:_N[ ````"8&2[$@`"`L(``@(,
M``("_@`^```$<'"T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X`
M`G>V``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X``G"V``(@"@``
M!K^[L ````)@9+L2``("P@`"`@P``@+^`/8``B *```&O[NP`````F!DNQ(`
M`@+"``("# `"`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@#V
M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`/8``B *```&O[NP````
M`F!DNQ(``@+"``("# `"`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(,
M``("_@#V``(@"@``!K^[L ````)@"+L`++ +L NP"[ +NP``"[ ```N[L N[
MNP`PNQ(``@+"``("# `"`OX`]@`"( H```:_N[ ````"8 B[`"RP"[ +L NP
M"[ +L NP"[L`N[ +N[L`,+L2``("P@`"`@P``@+^`/8``B *```&O[NP````
M`F (NP`NL L``+ +L NP"[ +L N[L NP"[NP``L`+KL2``("N ``&@$````!
M`@```0``(H(`_@#>```J$ ```! ````0````( ``* ``O[NP`````F (NP`N
ML L``+ +L NP"[ +L N[L NP"[L`NP``+KL`_@H`"@`*``H`"@(*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@```! 0```0
M$@``$! `(H*@`* `H "@`* `H ```/Z@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@``#P`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@```!`0```0$```$!```!(0``* H`
MO[NP```"8 B[`"ZP``NP``NP"[ +L NP"[NP"[ +NP"[```NNP#^JJ"JH*J@
MJJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH0`!``$``0`"``$``0`BBJH*J@JJ"JH*J@JJ"@``_JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*
MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH``/ *J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*
MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH0`! `$ `0`! `
M$ `0`! @$ `HJJ"_N[ ```)@"+L`,+ `"[ `"[ +L NP"[ +N[ +L "P"[NP
M"RR[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`$! ``! 0``(0$ ``$"* H "@`* `H "@`* ```#^
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H ``\ "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH $!```!`0```0$```$!`" !`2@J`+^[L ```F (NP`PL "[NP`+L N[```+
ML N[L NP```+N[ +++L2``("M ``'@$````!```"`0````$B@ #^`-H``"X0
M````$ ```! ````0`" `$"@@`+^[L ````)@"+L`#+ `N[L`"PB[``ZP"[ +
MN[ +`#J[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP`````F (NP`@L N[
MN[ +L N[N[ +L N[`#R[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP````
M`F (NP`@L N[N[ +L N[N[ +L ``"SR[$@`"`L(``@(*``(@_@#X```2( ``
M(" `O[NP`````F!DNQ(``@+"``(""@``""5555#^`/(``!(@```E)56_N[ `
M```"8&2[$@`"`L(``@(*```(( ``4/X`\@``$B ``" @`+^[L ````)@9+L2
M``("P@``% (```!552554%#^`/(``!(@554E)5"_N[ ````"8&2[$@`"`L(`
M`!0"````4 `@4 !0_@#R```2(% `(" `O[NP`````F!DNQ(``@+"```4`@``
M`%!5(%504/X`\@``$B!052 E4+^[L ````)@9+L2``("P@``% (```!0`"!0
M`%#^`/(``!(@4 `@( "_N[ ````"8&2[$@`"`L(``!0"````4%4@55!0_@#R
M```2(%!5("50O[NP`````F!DNQ(``@+"```4`@```% `(% `4/X`\@``$B!0
M`" @`+^[L ````)@9+L2``("P@``% (```!052!54%#^`/(``!(@4%4@)5"_
MN[ ````"8&2[$@`"`L(``!0"````4 `@4 !0_@#R```2(% `(" `O[NP````
M`F!DNQ(``@+"```4`@```%!5(%554/X`\@``$B!052 E5;^[L ````)@9+L2
M``("P@``$ (```!0`"!0_@#V```2(% `(" `O[NP`````F!DNQ(``@+"```0
M`@```%55)5#^`/8``!(@554E( "_N[ ````"8&2[$@`"`L(``@(*``(@_@#X
M```2( ``(" `O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" @`+^[
ML ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@( "_N[ ````"8&2[$@`"
M`L(``@(*``(@_@#X```2( ``(" `O[NP`````F!DNQ(``@+"``(""@`"(/X`
M^ ``$B ``" @`+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@( "_
MN[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP`````F!DNQ(`
M`@+"``(""@`"(/X`^ ``$B ``" @`+^[L ````)@9+L2``("P@`"`@H``B#^
M`/@``!(@```@( "_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``(" `
MO[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" @`+^[L ````)@"+L`
M+ "[NP"[```+NP``"[ ```N[L N[NP`PNQ(``@+"``(""@`"(/X`^ ``$B `
M`" @`+^[L ````)@"+L`+ "[NP"P"[ +L NP"[ +NP"[L N[NP`PNQ(``@+"
M``(""@`"(/X`^ ``$B ``" @`+^[L ````)@"+L`+K ```NP"[ +L NP"[ +
MN[ +L N[L `+`"Z[$@`"`L(``@(*``(@_@#X```2(! `("*(O[NP`````F (
MNP`NL NP"[ +L NP"[ +L N[L NP"[L`NP``+KL`_@H`"@`*``H`"@(*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*`@H`"@`*( H`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``(0$`
M("* O[NP```"8 B[`"ZP"[ +L NP"[ +L NP"[NP"[ +NP"[```NNP#^JJ"J
MH*J@JJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*JBJJ"JH*H@JJ"JH*J@JJ"JH*J@J@``_J"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ ``/"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"J$ `@`! @(H"_N[ ```)@"KL`+@NPN[ +L NP"[ +L N[L NP`+ +
MN[ +`"R[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"B *``H`"@`*``H`"@`*
M``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H!`2 ``2$B@+^[L ```F *NP`N``"[L NP"[L`
M``NP"[NP"[ ```N[L L`++L2``("P@`"`@H``B#^`/8``!00( ``("*(O[NP
M```"8 J[``0```Z[``ZP"[ +N[ +`#J[$@`"`L(``@(*``(@_@#X```2( ``
M( ``O[NP`````F *NP`$L L.NP`,L NP"[L`/+L2``("P@`"`@H``B#^`/@`
M`!(@```@``"_N[ ````"8 J[``2P"PZ[``RP"[ ```L\NQ(``@+"``(""@`"
M(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@
M!56_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``( 4`O[NP`````F!D
MNQ(``@+"``(""@`"(/X`^ ``$B `!2555;^[L ````)@9+L2``("P@`"`@H`
M`B#^`/@``!(@``4@``6_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( `%
M)54%O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B `!2 `!;^[L ````)@
M9+L2``("P@`"`@H``B#^`/@``!(@``4E506_N[ ````"8&2[$@`"`L(``@(*
M``(@_@#X```2( `%( `%O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B `
M!255!;^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@``4@``6_N[ ````"
M8&2[$@`"`L(``@(*``(@_@#X```2( `%)54%O[NP`````F!DNQ(``@+"``("
M"@`"(/X`^ ``$B `!2 `!;^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@
M``4E556_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``( ``O[NP````
M`F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`"
M`@H``B#^`/@``!(@```@``"_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2
M( ``( ``O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L ``
M``)@9+L2``("P@`"`@H``B#^`/@``!(@```@``"_N[ ````"8&2[$@`"`L(`
M`@(*``(@_@#X```2( ``( ``O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``
M$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@``"_N[ `
M```"8&2[$@`"`L(``@(*``(@_@#X```2( ``( ``O[NP`````F!DNQ(``@+"
M``(""@`"(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@`
M`!(@```@``"_N[ ````"8 J[`#P```NP"[ +L NP"P"[`+NP``N[L NP"[L`
MNP"[NP`>NQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L ````)@"+L`/K +
ML NP"[ +L L`NP"[`+L`NP"[L NP"[L`NP"[NP``'KL2``("P@``#A(````B
M(B `_@#H```B$ ```! ````B(B(@``"_N[ ````"8 B[`"BP"[ +L NP"[ `
M"[L`NP"[`+L`NP@```Z[`+L`N[L``!Z[$@`"`L ``/X!`@```2(B*@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H```#^"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@```0$`````' $!```!(B(B*@`*O[NP```"8 B[`#ZP
M"[ +L NP"[ `N[L`NP"[`+L`NP"P"P"[`+L`N[L``!Z[$@`"`KP``/X0`! "
M$ `0(B*JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@``#^JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J$ `0````(! `$ `0`! B(B*JH*J_
MN[ ```)@"+L`/K +L NP"[ +L `+NP"[`+L`NP"[`+ +`+L`NP"[NP``'KL2
M``("O ``_@$!``(!`0`B(@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``
M`/X*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H!`0`````@`0$`
M``$!`"(B(@H`"K^[L ```F (NP`^L NP"[ +L NP"P"[`+L`NP"[`+ +L NP
M"P"[`+N[```>NQ(``@*^```0$ `"`! `(B+^`.8``"80````$ ```! `(B(B
M````O[NP`````F (NP`^L NP"[ ``+NP"[ +```+N[ `"[ +N[NP"P``"[N[
M```>NQ(``@+^`/X`U@``!K^[L ````)@&+L`!+ +*+L"`!Z[$@`"`OX`_@#6
M```&O[NP`````F 8NP`$L LFNP`$```>NQ(``@+(```&"9F0`/X`^ ``!@F9
MF0`(```&O[NP`````F 8NP`$L LHNP(`'KL2``("R ``!@F9D #^`/@```8)
MF9D`" ``!K^[L ````)@9+L2``("R ``!@F9D #^`/@```8)F9D`" ``!K^[
ML ````)@9+L2``("R ``!@F9D #^`/@```8)F9D`" ``!K^[L ````)@9+L2
M``("R ``!@F9D #^`/@```8)F9D`" ``!K^[L ````)@9+L2``("R ``!IF9
MD #^`/@```:9F9D`" ``!K^[L ````)@9+L2``("Q@``")F9F9#^`/8`")D(
M```&O[NP`````F!DNQ(``@+$``B9`I#^`/0`"ID(```&O[NP`````F!DNQ(`
M`@+"``J9`I#^`/(`#)D(```&O[NP`````F!DNQ(``@+ ``R9`I#^`/ `#ID(
M```&O[NP`````F!DNQ(``@+"``J9`I#^`/(`#)D(```&O[NP`````F!DNQ(`
M`@+$``B9`I#^`/0`"ID(```&O[NP`````F!DNQ(``@+&```(F9F9D/X`]@`(
MF0@```:_N[ ````"8&2[$@`"`L@```:9F9 `_@#X```&F9F9``@```:_N[ `
M```"8&2[$@`"`LH```29D/X`^@``!)F9" ``!K^[L ````)@9+L2``("_@#^
M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`
MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6
M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8`
M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``
M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&
MO[NP`````F *NP`X`+ +N[ +NP``N[L`N[ +N[L```N[``"[L NP"R*[$@`"
M`OX`_@#6```&O[NP`````F (NP`XL NP"[L`"[ +L NP"[NP"[NP"[ +L NP
M"[ +`"2[`/X````0````$ `"`! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0````
M``#^$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! `````\ `0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```+^[L ```F (NP`XL NP"[ `"[ +
MN[NP"[NP"[NP"[ +N[NP"[ `"R2[`/X```$!```!`0`"`0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!``#^`0```0$```$!```!`0```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$`````\ $!```!`0```0$```$!```!`0```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```;^[L ``
M`F (NP`VL NP"[ `"[ +N[NP"[NP"[N[`+ +NP``N[ ``":[`/X0`! `$ `0
M`! "$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0``#^`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0````\! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$+^[L ```F (NP`XL NP"P"P"[ ```NP"[NP"[N[L `+L N[
MN[ `"R2[`/X!`0```0$```$"```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$`
M``#^``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0``\ ``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!`0```0$```$!`+^[L ```F (NP`XL NP"P"P"[ +
ML NP"[NP"[NP"[ +L NP"[ +`"2[`/X`$ ```! ````2````$ ```! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ```#^```0````$ ```! ````0````$ ```! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ``\ ```! ````0````$ ```! ````0````$ ```! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0`+^[L ``
M`F (NP`Z``"P``NP"[L``+L``+NP"[N[``"[NP``N[ +L L`(KL2``("_@#^
M`-8```:_N[ ````"8 B[``ZP"[ `"[ +``B[``JP"[NP"P`2NP`$L LFNQ(`
M`@+^`/X`U@``!K^[L ````)@"+L`#K +L "[L L`"+L`"K +N[ +`!*[``2P
M"R:[$@`"`OX`_@#6```&O[NP`````F ,NP`*L N[L L`#+L(`!"[``2P"R:[
M$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2
M``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(`
M`@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"
M`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("
M_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^
M`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`
M_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^
M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`
MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6
M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8`
M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``
M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&
MO[NP`````F *NP! `+NP"[NP"[N[```+L ``N[NP"[N[```+NP``N[ +L L:
MNQ(``@+^`/X`U@``!K^[L ````)@"+L`0+ +N[ +N[ +N[ +L NP"[ +N[ +
MN[ +L NP"[ +L L`'+L2``("_@#^`-8```:_N[ ````"8 B[`$"P"[NP"[NP
M"[NP"[ +L NP"[NP"[NP"[ +N[NP"[ `"QR[`/X````0````$ `"`! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0``````#^$ ```! ````0````$ ```! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! `````\ `0````$ ```! ````0````$ ```! ````0
M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! `
M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`+^[L ```F (NP`^L N[``"[``"[L NP"[ +L N[L N[NP"P"[L``+NP```>
MNP#^```!`0```0$``@$!```!`0```0$```$!```!`0```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0``_@$`
M``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!`````/ !`0```0$`
M``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```&_N[ ```)@"+L`0+ +NP"PNPL`N[ +L NP
M"[ +N[ +N[NP``NP"[N[L `+'+L`_A `$ `0`! `$ (0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! ``/X`$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! ```#P$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0
M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `
M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0O[NP```"
M8 B[`$"P"[ +L `+L NP"[ +L NP"[NP"[NP"[ +L NP"[ +`!R[`/X!`0``
M`0$```$"```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!`0```0$```$!```!`0```0$```#^``$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!```!`0```0$```$!```!`0``\ ```0$```$!```!`0``
M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!
M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!
M```!`0```0$```$!`+^[L ```F (NP!"``"P"[ `"[ +NP``"[ ``+N[L N[
MNP``N[L``+NP"[ +`!J[`/X`$ ```! ````2````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0````
M$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0
M````$ ```! ```#^```0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0````
M$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0
M````$ ``\ ```! ````0````$ ```! ````0````$ ```! ````0````$ ``
M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0````
M$ ```! ````0````$ ```! ````0````$ ```! ````0`+^[L ```F (NP`H
ML L`N[L`N[L`N[NP"[ +N[N[L L2NP`$L L>NQ(``@+^`/X`U@``!K^[L ``
M``)@"+L`*+ +`+N[`+N[`+N[L NP"[N[N[ +$KL`!+ +'KL2``("_@#^`-8`
M``:_N[ ````"8 R[`!X`N[L`N[L`N[NP"[ +N[L`" `0NP`$L L>NQ(``@+^
M`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`
M_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^
M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`
MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6
M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8`
M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``
M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&
MO[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_
MN[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[
ML ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP
M`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ `
M```"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ``
M``)@"KL`(@"[```+NP"[`+NP``N[`+L``#B[$@`"`OX`_@#6```&O[NP````
M`F (NP`DL NP"[L`NP"[`+L`NP"[`+L`.+L2``("_@#^`-8```:_N[ ````"
M8 B[`"2P"[ +NP"[`+L`NP"[N[L`NP`XNQ(``@+^`/X`U@``!K^[L ````)@
M"+L`)+ +N[N[`+L`NP"[`+N[NP"[`#B[`/X*``H`"@`*``H""@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*````\ H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"K^[
ML ```F (NP`DL N[NP`+NP"[`+L```"[`+L`.+L`_JJ@JJ"JH*J@JJ*JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JO[NP```"8 B[`"2P"[L`"[N[`+L`NP"[`+L`NP`XNP#^"@`*``H`"@`*
M`@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``_@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``J_N[ ```)@"+L`) ``L N[N[L```N[L `+NP"[`#B[$@`"`OX`
M_@#6```&O[NP`````F (NP`0L NP"[L`NP`.NP`&`+L``#B[$@`"`OX`_@#6
M```&O[NP`````F (NP`0L NP"[L`NP`.NP`&`+L``#B[$@`"`OX`_@#6```&
MO[NP`````F .NP`*```+NP``#KL`!@"[```XNQ(``@+^`/X`U@``!K^[L ``
M``)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP````
M`F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"
M8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@
M9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!D
MNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[
M$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2
M``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(`
M`@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"
M`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("
M_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^
M`/X`U@``!K^[L ````)@'KL`! ``0KL2``("_@#^`-8```:_N[ ````"8!R[
M``BP"[ +0+L2``("_@#^`-8```:_N[ ````"8""[``2P"T"[$@`"`OX`_@#6
M```&O[NP`````F *NP`Z`+ ```"[``"[NP``"[NP"[N[```+NP``N[ +L L`
M(+L2``("_@#^`-8```:_N[ ````"8 B[`#JP"[ +N[NP"[ +L NP"[NP"[NP
M"[ +L NP"[ +```BNQ(``@+^`/X`U@``!K^[L ````)@"+L`.K +L N[N[ +
ML NP"[ +N[ +N[ +L N[N[ +L `+`"*["B(`"H(B(B*"`/X`_@#6```&O[NP
M`````F (NP`XL NP"[N[L NP"[ +L N[L N[NP"P"[L``+NP`"2["B(`_H(B
M(B*"H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H ```/Z@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@``#F`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H+^[L ````)@"+L`.K +L N[N[ +L NP"[ +N[ +N[NP``NP
M"[N[L `+`"*["B(`_H(B(B**J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*
MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@H``/ZJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*
MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M``#F"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ
M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*
MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JK^[L ````)@"+L`.K +L N[N[ +
ML NP"[ +N[ +N[ +L NP"[ +L L``"*["B(`_H(B(B* H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H ```/Z@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@``#F`* `H "@`* `H "@`* `H "@`* `H "@`* `
MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@
M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H+^[L ``
M``)@"+L`/ ``L N[N[L``+N[```+N[ +N[L``+N[``"[L NP"R"["B(`"H(B
M(B* `/X`_@#6```&O[NP`````F (NP`(L NP"Q:[``2P"Q*[``2P"R2[_@#^
M`.H```:_N[ ````"8 B[``BP"[ +%KL`!+ +$KL`!+ +)+O^`/X`Z@``!K^[
ML ````)@#+L`!+ +%+L(`!"[``2P"R2[$IG^`/X`V ``!K^[L ````)@9+L`
M"I[N[NZ>``CN``9555 `_@#^`-(```:_N[ ````"8&2[`!B>F9F>GIF9GND`
M`%#^`/X`T@``!K^[L ````)@9+L2[@`&55!0`/X`_@#2```&O[NP`````F!D
MNP`8F9Z>GIF>Z9Z94 !0_@#^`-(```:_N[ ````"8&2[`!CNGNZ>[I[N[NE5
M4%#^`/X`T@``!K^[L ````)@9+L`&)F>GIZ9GNF>F5 `4/X`_@#2```&O[NP
M`````F!DNP`8[I[NGNZ>[N[I55!0_@#^`-(```:_N[ ````"8&2[`!B9GIZ>
MF9[IGIE0`%#^`/X`T@``!K^[L ````)@9+L`&.Z>[I[NGN[NZ5504/X`_@#2
M```&O[NP`````F!DNP`8F9Z>GIF>Z9Z94 !0_@#^`-(```:_N[ ````"8&2[
M`!CNGN[N[I[N[NE555#^`/X`T@``!K^[L ````)@9+L`%)F>GIF9GNF9F5#^
M`/X`U@``!K^[L ````)@9+L`!N[NG@`,[@)0_@#^`-8```:_N[ ````"8&2[
M$IG^`/X`V ``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@"KL`.@"P````L N[L NP``N[L N[NP``"[L`
M`+NP"[ +`""[_@#^`.H```:_N[ ````"8 B[`#JP"[ +N[N[`+L`NP"[`+NP
M"[NP"[ +L NP"[ +```BN_X`_@#J```&O[NP`````F (NP`ZL NP"[N[N[ `
M"[L`N[N[L N[L NP"[N[L NP``L`(KO^`/X`Z@``!K^[L ````)@"+L`"+ +
ML L(NP`H`+N[`+N[N[ +N[L`L N[``"[L `DNP#^"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@``_@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``J_N[ ```)@"+L`.K +L N[N[NP``N[`+N[N[ +N[NP``NP"[N[L `+`"*[
M`/ZJH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J``#^H*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH ``\*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J
MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@
MJJ"JH*J@JJ"JH*J@JJ"JH*J@JK^[L ```F (NP`ZL NP```+NP"[`+L`NP"[
ML N[L NP"[ +L NP"P``(KL`_@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`
M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*
M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*O[NP```"8 B[
M`#P``+ +N[NP"[NP"[ `"[NP"[N[``"[NP``N[ +L L@N_X`_@#J```&O[NP
M`````F (NP`(L NP"Q:[``2P"Q*[``2P"R2[_@#^`.H```:_N[ ````"8 B[
M``BP"[ +%KL`!+ +$KL`!+ +)+O^`/X`Z@``!K^[L ````)@#+L`"+ ````0
MNP@`$+L`!+ +)+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@"+L`'+ +L N[L N[L N[NP``0+O^`/X`Z@``!K^[L ````)@
M"+L`'K +L N[``N[L N[L NP"P`^N_X`_@#J```&O[NP`````F (NP`>L NP
M"[ `"[NP"[NP"[ +`#Z[_@#^`!@``B(,``(BP@``!K^[L ````)@"+L`'K +
ML NP``N[L N[L NP"P`^N_X`_@`8``(B# `"(L(```:_N[ ````"8 B[`!ZP
M"[ +`+ +N[ +N[ +L L`/KO^`/X`& `"(@P``B+"```&O[NP`````F (NP`>
ML NP"P"P"[NP"[NP"[ +`#Z[_@#^`!@``B(,``(BP@``!K^[L ````)@"+L`
M'K +L `+L N[L N[L NP"P`^N_X`_@`8``(B# `"(L(```:_N[ ````"8 B[
M`!ZP"[ `"[ +N[ +N[ +L L`/KO^`/X`Z@``!K^[L ````)@"+L`'K +L "[
ML N[L N[L NP"P`^N_X`_@#J```&O[NP`````F (NP`.L NP"[NP"P`(```&
MNP```$"[_@#^`!0```J[N\N[L `(``*PP@``!K^[L ````)@9+O^`/X`$@``
M%I +`) +`) ```L+`,(```:_N[ ````"8&2[_@#^`!(``!@)`+"0L D```"P
M`+# ```&O[NP`````F!DN_X`_@`6```$"PL(```("P``"\ ```:_N[ ````"
M8&2[_@#^``X``@D(```*L ````D`"+L"L+X```:_N[ ````"8&2[_@#^`! `
M`!*0````D ```) `R ``!K^[L ````)@9+O^`/X`& `"F= ```:_N[ ````"
M8&2[_@#^`!@```29D,X```:_N[ ````"8&2[_@#^`!0`")G.```&O[NP````
M`F!DN_X`_@`4``B9`I#,```&O[NP`````F!DN_X`_@`.```&F9 ```J9``8`
MF9 `Q@``!K^[L ````)@9+O^`/X`% `(F0*0S ``!K^[L ````)@9+O^`/X`
M% `(F<X```:_N[ ````"8&2[_@#^`!@```29D,X```:_N[ ````"8&2[_@#^
M`!@``IG0```&O[NP`````F!DN_X`_@`0```2D ```) ```"0`,@```:_N[ `
M```"8&2[_@#^``X``@D0``()R ``!K^[L ````)@9+O^`/X`Z@``!K^[L ``
M``)@9+O^`/X`$@`""0@``@G,```&O[NP`````F!DN_X`_@`2```.D ``D ``
MD #*```&O[NP`````F!DN_X`_@`8``*0T ``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@"+L`'+ +L N[
ML N[L N[NP``0+O^`/X`Z@``!K^[L ````)@"+L`'K +L N[``N[L N[L NP
M"P`^N_X`_@#8```$`B(.```&O[NP`````F (NP`>L NP"[ `"[NP"[N[N[ +
M`#Z[_@#^`-@```0"(@X```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[N[L L`
M/KO^`/X`V ``! (B#@``!K^[L ````)@"+L`'K +L L`L N[L N[L NP"P`^
MN_X`_@#8```$`B(.```&O[NP`````F (NP`<L NP"P"P"[NP"[NP``! N_X`
M_@#8```$`B(.```&O[NP`````F (NP`:L NP``NP"[NP"[NP"P!"N_X`_@#J
M```&O[NP`````F (NP`:L NP``NP"[NP"[NP"P!"N_X`_@#J```&O[NP````
M`F (NP`:L NP`+NP"[NP"[NP"P!"N_X`_@#4``(+"+L,```&O[NP`````F (
MNP`.L NP"[NP"P`(```(L ``"SZ[_@#^`-8```JP55W=4 `*```&O[NP````
M`F!DN_X`_@#6```*"U7=5= `"@``!K^[L ````)@9+O^`/X`U ``#%55W= %
M6PH```:_N[ ````"8&2[_@#^`-0```Y55=W=W=NP``@```:_N[ ````"8&2[
M_@#^`-0```Q5``50!5 *```&O[NP`````F!DN_X`_@#4``I5`E *```&O[NP
M`````F!DN_X`_@#4```,50`%4 50"@``!K^[L ````)@9+O^`/X`U `*50)0
M"@``!K^[L ````)@9+O^`/X`U ``#%4`!5 %4 H```:_N[ ````"8&2[_@#^
M`-0`"E4"4 H```:_N[ ````"8&2[_@#^`-0```Q5``5555 *```&O[NP````
M`F!DN_X`_@#4```(55554 X```:_N[ ````"8&2[_@#^`-0```A55550#@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``
M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@
M"+L`'+ +L N[L N[L N[NP``0+O^`/X`Z@``!K^[L ````)@"+L`'K +L N[
M``N[L N[L NP"P`^N\8```0B(@P``B#^`.0```0B(AH``@(,```&O[NP````
M`F (NP`>L NP"[ `"[NP"[NP"[ +`#Z[Q@``!"(B# `"(/X`Y ``!"(B&@`"
M`@P```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[ +L L`/KO&```$(B(,``(@
M_@#D```$(B(:``("# ``!K^[L ````)@"+L`'K +L L`L N[L N[L NP"P`^
MN\8```0B(@P``B#^`.0```0B(AH``@(,```&O[NP`````F (NP`<L NP"P"P
M"[NP"[N[``! N\8```0B(@P``B#^`.0```0B(AH``@(,```&O[NP`````F (
MNP`>L NP``NP"[NP"[NP"[ +`#Z[_@#^`.H```:_N[ ````"8 B[`!ZP"[ `
M"[ +N[ +N[ +L L`/KO^`/X`Z@``!K^[L ````)@"+L`'K +L "[L N[L N[
ML NP"P`^N_X`_@#J```&O[NP`````F (NP`.L NP"[NP"P`(```&NP```$"[
MP ``# N[O=W=50H``K#^`. ```J[O=W=U0`8``(+# ``!K^[L ````)@9+O"
M```*L 55U54`" ``! L+_@#@```*"P55754`& ``!+"P"@``!K^[L ````)@
M9+O ```,!5U570!5" ``!K `L #^`-P```P%5=55L%46```&"P`+``H```:_
MN[ ````"8&2[P ``&@55U=5550````L```L`_@#<```,!55=7555%@``"+ `
M`+ (```&O[NP`````F!DN\ ``!(%4 M5`%4`````"+L"L/X`V@``# 50`-4`
M510``@L(NP@```:_N[ ````"8&2[P `"!0I5_@#J``(%"E4F```&O[NP````
M`F!DN\ ```P%4 !5`%7^`.H```P%4 !5`%4F```&O[NP`````F!DN\ ``@4*
M5?X`Z@`"!0I5)@``!K^[L ````)@9+O ```,!5 `50!5_@#J```,!5 `50!5
M)@``!K^[L ````)@9+O ``(%"E7^`.H``@4*528```:_N[ ````"8&2[P ``
M# 50`%555?X`Z@``# 50`%55528```:_N[ ````"8&2[P ``" 55557^`.X`
M``@%5555*@``!K^[L ````)@9+O ```(!5555?X`[@``" 55554J```&O[NP
M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`
M_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP
M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`
M_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP
M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F (NP`<
ML NP"[NP"[NP"[N[``! N_X`_@#J```&O[NP`````F (NP`>L NP"[L`"[NP
M"[NP"[ +`#Z[_@#^`.H```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[N[L L`
M/KO^`/X`P@`"(!@``@(,```&O[NP`````F (NP`>L NP"[ `"[NP"[N[N[ +
M`#Z[_@#^`,(``B 8``("# ``!K^[L ````)@"+L`'K +L L`L N[L N[NP``
M"P`^N_X`_@#"``(@& `"`@P```:_N[ ````"8 B[`!ZP"[ +`+ +N[ +N[ +
ML L`/KO^`/X`P@`"(!@``@(,```&O[NP`````F (NP`>L NP``NP"[NP"[NP
M"[ +`#Z[_@#^`,(``B 8``("# ``!K^[L ````)@"+L`'K +L `+L N[L N[
ML NP"P`^N_X`_@#J```&O[NP`````F (NP`>L NP`+NP"[NP"[NP"[ +`#Z[
M_@#^`.H```:_N[ ````"8 B[``ZP"[ +N[ +``@```:[````0+O^`/X`O `"
M"PB[%@`""PP```:_N[ ````"8&2[_@#^`+X```BP``"P%@``!+"P"@``!K^[
ML ````)@9+O^`/X`O@``!@L`"P`6```&"P`+``H```:_N[ ````"8&2[_@#^
M`, ```2PL!8```BP``"P" ``!K^[L ````)@9+O^`/X`P `""Q8``@L(NP@`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"
M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H`
M``:_N[ ````"8 B[`"2P"[ +N[ +N[ +N[NP"[N[```XN_X`_@#J```&O[NP
M`````F (NP`FL NP"[L`"[NP"[N[L N[L NP"P`VN_X`_@#J```&O[NP````
M`F (NP`FL NP"[ `"[NP"[N[L N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4
M``PB`B":``("%"(`!B `(@`,```&O[NP`````F (NP`FL NP"[ `"[NP"[N[
ML N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4``PB`B":``("%"(`!B `(@`,
M```&O[NP`````F (NP`FL NP"P"P"[NP"[N[L N[L NP"P`VN\H`#"(`"" B
M(B*@```$(B*4``PB`B":``("%"(`!B `(@`,```&O[NP`````F (NP`FL NP
M"P"P"[NP"[N[L N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4``PB`B":``("
M%"(`!B `(@`,```&O[NP`````F (NP`FL NP``NP"[NP"[N[L N[L NP"P`V
MN\H`#"(`"" B(B*@```$(B*4``PB`B":``("%"(`!B `(@`,```&O[NP````
M`F (NP`FL NP``NP"[NP"[N[L N[L NP"P`VN_X`_@#J```&O[NP`````F (
MNP`FL NP`+NP"[NP"[NP``N[L NP"P`VN_X`_@#J```&O[NP`````F (NP`.
ML NP"[NP"P`(```.N[ +N[L````XN\0```P+N[N[O_L,NP`$L+"8``(+"+N0
M``Z[``2PL)8```H+N[N_^P`.NP`(L ``L P```:_N[ ````"8&2[Q@``'+!5
M5=[M555=755=75U5F ``#+ %5=754(P``!0+!55=555=75U0E@``'K!57O5=
M5=5=5=5=555=6P`,```&O[NP`````F!DN\8```X+55U>Y=55``K5``15U9@`
M``P+!5U575".```2M575U575U570`)8``" +55_E5=5=U=U5U555U5"P"@``
M!K^[L ````)@9+O$```>5575U5[E75U575U=555=`)8```X%5=754%70`(H`
M`!8%55U=55U=75!56P"4```B5575WN5575W5W5U555U54 L`"@``!K^[L ``
M``)@9+O$```.555=55[E50`0W0*PE ``#@557=W=W=L`B@``& 555=555=7=
MW=W;L)(``"1555U>Y555U5U5U555W=W;N[ (```&O[NP`````F!DN\0```Y5
M5055[N50`!!5E@``#@55`%5055 `B@`"!0Y5``9055 `E ``"E55!>[E`!15
M`E ,```&O[NP`````F!DN\0```Q5557N[N42598``@4*50)0B@`"!1)5`E"4
M```*557N[N4`%%4"4 P```:_N[ ````"8&2[Q ``#E55GN[NY5 `$%66```.
M!54`55!54 "*``(%#E4`!E!54 "4```*5>Z>[N4`%%4"4 P```:_N[ ````"
M8&2[Q `"50CN`N42598``@4*50)0B@`"!1)5`E"4``CN`N4450)0# ``!K^[
ML ````)@9+O$```.[NZ>[N[E4 `0598```X%50!54%50`(H``@4.50`&4%50
M`)(```R9[NZ>[N4450)0# ``!K^[L ````)@9+O$``)5".X"Y1)5E@`"!0I5
M`E"*``(%$E4"4)0`".X"Y115`E ,```&O[NP`````F!DN\0```Y559[N[N50
M`!!5E@``#@55`%5555 `B@`"!1)5`E"4```*5>Z>[N4`%%4"4 P```:_N[ `
M```"8&2[Q ``#%555>[NY0Y5F@``"@555550`(X``@4.50)0F ``"E55[N[E
M`!!5`E 0```&O[NP`````F!DN\0`"%4`!.[E#E6:```*!55555 `C@`"!0Y5
M`E"8```*5555[N4`$%4"4! ```:_N[ ````"8&2[S@`"D/X`] `"D"(```:_
MN[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[
M_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_
MN[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[
M_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_
MN[ ````"8 B[`":P"[ +N[ +N[ +N[NP"[N[N[ +`#:[_@#^`.H```:_N[ `
M```"8 B[`":P"[ +NP`+N[ +N[NP"[N[N[ +`#:[_@#^`.H```:_N[ ````"
M8 B[`":P"[ +L `+N[ +N[NP"[NP```+`#:[_@#^`.H```:_N[ ````"8 B[
M`":P"[ +L `+N[ +N[NP"[NP"[ +`#:[_@#^`.H```:_N[ ````"8 B[`":P
M"[ +`+ +N[ +N[NP"[N[`+ +`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ +
M`+ +N[ +N[NP"[N[`+ +`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `"[ +
MN[ +N[NP"[N[L `+`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `"[ +N[ +
MN[NP"[N[L `+`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `N[ +N[ +N[ `
M"[N[NP`+`#:[_@#^`.H```:_N[ ````"8 B[``ZP"[ +N[ +``@``!"[L N[
MN[NP"S:[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^
M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ `
M```"8&:[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K 0
MNP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[
M`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[`@L.NP(+#KL"
ML!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P
M#KL"L R[``:_N[ ````"8&:[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[`K 0
MNP(+#KL""PZ[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[
M`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"
ML!"[`@L.NP(+#KL"L!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P
M$+L""PZ[`@L.NP*P#KL"L R[``:_N[ ````"8':[`K @NP(+'KL"L""[`@L>
MNP*P(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P(+L""QZ[`K @NP(+'KL"L""[
M`@L@NP(+'KL"L""[`@L>NP*P(+L""QZ[`K <NP`&O[NP`````F!VNP*P(+L"
M"QZ[`K @NP(+'KL"L""[`@L>NP*P(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P
M(+L""QZ[`K @NP(+(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P'+L`!K^[L ``
M``)@F+L""T"[`@M NP(+0+L""T"[`@M NP(+0+L""T"[`@M NP*P0+L"L$"[
M`K <NP`&O[NP`````F"8NP(+0+L""T"[`@M NP(+0+L""T"[`@M NP(+0+L"
M"T"[`K! NP*P0+L"L!R[``:_N[ ````"8/Z[_KO^NU"[``:___ ````"8/Z[
M_KO^NU2[`K ```)@_KO^N_Z[4+L`!K9F8 ````)@_KO^N_Z[4+L`!K^[L ``
M``)@FKL`( ``N[ +NP``N[ ```N[```BNP`@``"[L N[``"[L ``"[L``"*[
M`" ``+NP"[L``+N[``"[NP``(KL`( ``N[ +NP``N[L``+N[L LBNP`B``"[
ML N[``"[NP``N[ ```L`(+L`( ``N[ +NP``N[L``+N[```BNP`B``"[L N[
M``"[NP``N[N[L L`(+L`( ``N[ +NP``N[L``+N[```BNP`BL `+NP"[L `+
MN[ `"[NP``L`(+L`(+ `"[L`N[ `"[NP``N[L LBNP`BL `+NP"[L `+N[ `
M"[N_N[ ````"8)B[`"2P"[ +L NP"[ +L N[N[ +L L>NP`DL NP"[ +L NP
M"[ +N[NP"[ +'KL`)+ +L NP"[ +L NP"[ +L NP"QZ[`"*P"[ +L NP"[ +
ML NP"[NP"P`@NP`@L NP"[ +L NP"[ +L NP"R*[`"2P"[ +L NP"[ +L NP
M"[ +L L>NP`DL NP"[ +L NP"[ +L N[N[ +'KL`)+ +L NP"[ +L NP"[ +
ML NP"R"[`"(`NP"[`+L`NP"[`+L`NP"[```@NP`@`+L`NP"[`+L`NP"[`+NP
M"R*[`"(`NP"[`+L`NP"[`+L`N[^[L ````)@F+L`"+ +L L(NP`4L NP"[N[
ML NP"QZ[``BP"[ +"+L`"+ +L L(NP`$L L>NP`(L NP"PB[`!2P"[N[L NP
M"[ +'KL`"+ +L L(NP`2L N[N[ +N[ +`""[``BP"[ +"+L`$+ +N[NP"[ +
M(KL`"+ +L L(NP`4L N[N[ +N[NP"QZ[``BP"[ +"+L`%+ +N[NP"[ ```L>
MNP`(L NP"PB[`!2P"[N[L N[N[ +(+L`!@"[```*NP`2`+N[NP"[`+L``""[
M``8`NP``"KL`$ "[N[L`N[ +(KL`!@"[```*NP`2`+N[NP"[O[NP`````F"8
MNP`(L NP"PB[`!2P"[L`N[NP"[ +'KL`"+ +L L(NP`(L N[``B[``2P"QZ[
M``BP"[ +"+L`%+ +N[NP"[ +L L>NP`(L NP"PB[`!*P"[N[L N[L L`(+L`
M"+ +L L(NP`0L N[N[ +NP`BNP`(L NP"PB[`!2P"[N[L N[N[ +'KL`"+ +
ML L(NP`4L N[N[ +L NP"QZ[``BP"[ +"+L`%+ +N[NP"[N[L L@NP`&`+L`
M``J[`!(`N[N[`+L`NP``(+L`!@"[```*NP`0`+N[NP"[NP`BNP`&`+L```J[
M`!(`N[N[`+N_NP`````"8)B[`"2P"[ +N[NP"[ +N[ +N[ +L L>NP`DL NP
M"[N[L NP"[NP"[N[```+'KL`)+ +L N[N[ +L N[N[ +L NP"QZ[`"*P"[ +
MN[NP"[ +N[NP"[NP"P`@NP`BL NP"[N[L NP"[N[L N[L L`(+L`)+ +L N[
MN[ +L N[N[ +N[NP"QZ[`"2P"[ +N[NP"[ +N[NP"[L`L L>NP`DL NP"[N[
ML NP"[N[L NP"[ +(+L`(@"[`+N[NP"[`+N[NP"[`+L``""[`" `NP"[N[L`
MNP"[N[L`N[L`(KL`(@"[`+N[NP"[`+N[NP"[O[NP`````F"8NP`BL NP"[N[
ML ``N[N[`+N[````(+L`)+ +L N[N[ ``+N[NP"[L NP"QZ[`"2P"[ +N[NP
M``"[N[ `N[ +L L>NP`BL NP"[N[L ``N[NP`+N[L L`(+L`(K +L N[N[ `
M`+N[L "[N[L``""[`"*P"[ +N[NP``"[N[ `N[NP```@NP`DL NP"[N[L ``
MN[NP`+N[`+ +'KL`(K +L N[N[ ``+N[L "[L ```"*[`"(`NP"[N[L```N[
MNP`+NP``"P`@NP`@`+L`N[N[```+N[L`"[N[`"*[`"(`NP"[N[L```N[NP`+
MN[^[L ````)@F+L`$+ +L N[N[ +"+L`#+ +L NP"QZ[`!"P"[ +N[NP"PB[
M``RP"[ +L L>NP`0L NP"[N[L L(NP`,L NP"[ +'KL`$+ +L N[N[ +"+L`
M"K +N[ +`""[`!"P"[ +N[NP"PB[``RP"[N[L L>NP`0L NP"[N[L L(NP`,
ML N[N[ +'KL`$+ +L N[N[ +"+L`#+ +N[ `"QZ[`!"P"[ +N[NP"PB[``BP
M"[ +)+L`#@"[`+N[NP``"KL`!@"[```DNP`.`+L`N[N[```*NP`*`+N[L L`
M(+L`#@"[`+N[NP``"KL`"@"[O[NP`````F"8NP`DL NP"[N[L N[N[ +L NP
M"[ +'KL`)+ +L N[N[ +N[NP"[ +L NP"QZ[`!"P"[ +N[NP"PB[``RP"[ +
ML L>NP`0L NP"[N[L L(NP`*L N[L L`(+L`$+ +L N[N[ +"+L`#+ +L NP
M"QZ[`!"P"[ +N[NP"PB[``RP"[N[L L>NP`0L NP"[N[L L(NP`,L N[L `+
M'KL`$+ +L N[N[ +"+L`"+ +L LDNP`.`+L`N[N[```*NP`&`+L``"2[``X`
MNP"[N[L```J[``H`N[NP"P`@NP`.`+L`N[N[```*NP`*`+N_N[ ````"8)B[
M`"2P"[ +N[NP"[N[L NP"[ +L L>NP`DL NP"[N[L N[N[ +L NP"[ +'KL`
M)+ +L N[N[ +N[NP"[ +L NP"QZ[`"*P"[ +N[NP"[N[L NP"[ `"P`@NP`D
ML NP"[N[L N[N[ +L NP"[ +'KL`)+ +L N[N[ +N[NP"[ +L NP"QZ[`"2P
M"[ +N[NP"[N[L NP"[N[``L>NP`@L NP"[N[L N[N[ +L NP"R2[`"(`NP"[
MN[L`N[N[`+L`NP"[```@NP`B`+L`N[N[`+N[NP"[`+N[NP``(+L`(@"[`+N[
MNP"[N[L`NP"[O[NP`````F":NP`@``"[N[NP```+NP``N[L``"*[`" ``+N[
MN[ ```N[``"[NP``(KL`( ``N[N[L ``"[L``+N[```BNP`@``"[N[NP```+
MNP``N[NP"R*[`" ``+N[N[ ```N[``"[NP``(KL`( ``N[N[L ``"[L``+N[
M```BNP`B``"[N[NP```+NP``N[N[L L`(+L`(@``N[N[L ``"[L``+NP```+
M`""[`"*P``N[N[L```"[L `+N[ `"P`@NP`BL `+N[N[````N[ `"[L`````
M(+L`(K `"[N[NP```+NP``N[O[NP`````F#^N_Z[_KM0NP`&O[NP`````F#^
MN_Z[_KM0NP`&O__P`````F#^N_Z[_KM4NP*P```"8/Z[_KO^NU"[``8`````
M```"8/Z[_KO^NU"[``:V9F ````"8/Z[_KO^NU"[``:_N[ ````"8/Z[_KO^
MNU"[``:_N[ ````"8/Z[_KO^NU"[``:_N[ ````"8/Z[_KO^NU"[``:___ `
H```"8/Z[_KO^NU2[`K ```)@_@#^`/X`5@```/YF_F;^9E9F`F ``0``
`
end
---------------------------
Newsgroups: comp.os.vxworks
Subject: compile problem :does it rely on CPU type?
Date: 13 Nov 2001 04:38:44 -0800
From: mars_group@263.net (chenjun)
Organization: http://groups.google.com/
Message-ID: <71984f3.0111130438.15f253d0@posting.google.com>
I can't use compiler in tornado2.0 to compile a c file in my computer
which CPU is AMD DURON 700, but everything is ok when I used it in
INTEL PENTUM CPU,what about it?how can I solve this problem.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Serial Wdb; LogMsg hangs system
Date: Tue, 13 Nov 2001 13:41:56 +0000
From: Owain Phillips <owain.phillips@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <3BF12324.858BFEBF@siemenscomms.co.uk>
This is a multi-part message in MIME format.
- --------------4BF2BBD4870C55CF39A240D9
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi,
I'm running Wdb in serial mode to switch on a new Lan driver and have
seen that my Vxworks hangs as soon as the lan driver does a logMsg.
On starting the system (without Lan) I see the tLogTask is running.
Printfs from the windShell land in the windshell.
I try and call logMsg and the shell hangs.
Any ideas?
Regards,
Owain
- --------------4BF2BBD4870C55CF39A240D9
Content-Type: text/x-vcard; charset=us-ascii;
 name="owain.phillips.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Owain Phillips
Content-Disposition: attachment;
 filename="owain.phillips.vcf"
begin:vcard
n:Phillips;Owain
tel;fax:+44 115 943 4969
tel;work:+44 115 943 2167
x-mozilla-html:TRUE
url:http://www.siemenscomms.co.uk
org:Siemens Comunications Ltd
version:2.1
email;internet:owain.phillips@siemenscomms.co.uk
title:Software Engineer
adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom
fn:Owain Phillips
end:vcard
- --------------4BF2BBD4870C55CF39A240D9--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Tue, 13 Nov 2001 16:18:45 +0100
From: Martin Alle <m@hotmail.com>
Organization: Siemens Inc.
Message-ID: <3BF139D5.BDCEA769@hotmail.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net>
We applied a small hack using the following script command:
(short)*(clock_gettime+0x62)=(short)&vxAbsTicks
which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image.
**** And this fixed our problem ****
We shall be in touch with Windriver regarding the TSR.
thanks for your help!
Ross
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: vxImmrGet ????????
Date: Tue, 13 Nov 2001 16:16:16 GMT
From: "dgold1" <dgold1@san.rr.com>
Organization: Road Runner
Message-ID: <kHbI7.35091$D5.12582127@typhoon.san.rr.com>
References: <3BF0EF95.1040309@sei.co.kr>
pch wrote in message <3BF0EF95.1040309@sei.co.kr>...
>hi.
>i dont know what vxImmrGet() do ?
>i cannot find about vxImmrGet at search engine...
>
>i want to konw what vxImmerGET() is..
It gets the base address of the dual-port RAM on the Motorola PPC860 and
8260 network processors.  It might even do it on the 68360, but that was too
long ago for me to remember...
  hth,
   Dan Gold  gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Strange function behaviour
Date: 13 Nov 2001 18:30:21 GMT
From: pfk@c.zeiss.de (Frank Klemm)
Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?=
Message-ID: <slrn9v2s42.3g5.pfk@c.zeiss.de>
References: <slrn9uvsaa.11l.pfk@c.zeiss.de> <3beff29e$1@brateggebdc5.br-automation.co.at>
Reply-To: pfk@uni-jena.de
On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl <ws-news@gmx.at> wrote:
>Hi,
>
>For x86, the data type 'long long' is not 'officially' supported, IIRC.
>Therefore the missing symbols ___udivdi3, etc.
>
>I do not see an other obvious mistake, apart from the fact the you seem to
>have a main() function.
>You MUST NOT have a main function in any VxWorks project.
>
The main() function is for testing the same code unter NT, Linux, MS-DOS.
- --
Frank Klemm
---------------------------
Newsgroups: comp.os.vxworks
Subject: Sending IP detagrams on a specific interface
Date: Tue, 13 Nov 2001 19:05:15 +0000 (UTC)
From: "Indhu Shetty" <indhu01@yahoo.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <5ddcd6a7847f37df088ac9388844face.34031@mygate.mailgate.org>
Hi,
We have enabled multiple Ethernet ports on our board (PPC8260, running Tornado
2.0)
I have to implement a protocol which that generates IP packets. These packets
are not TCP/UDP. They use a separate IP protocol type. My box can be connected
to another box through any of the Ethernet ports.
Now my real problem is that my application needs to send IP packets out through
specific Ethernet port to the peer.
Similarly when I receive an IP packet, form the peer; I need to know which port
it was received.
Is there any why I can do this in Tornado?
Any advice will be welcome.
Thanks
Indhu
- --
Posted from  [66.7.6.122]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Socket problem on Vxworks
Date: Tue, 13 Nov 2001 13:34:47 -0600
From: "Aaron Kolega" <someone@somewhere.com>
Organization: Nortel
Message-ID: <9srsj4$ia6$1@bcarh8ab.ca.nortel.com>
hi,
I am having a socket disconnect from my server application on vxworks.  The
problem is I cannot find how to discover that the client has disconnected.
I have tried to do a getsockopt(....) with the SO_ERROR option and it gives
me error number 0.  I have also tried writing to the socket to test if it is
good or not.  When I write to the disconnected socket, it returns that I
have written a valid number of bytes to the socket.  I would expect that it
would return a -1.
Does anyone know if there is a way to test a socket connection to see if it
is still properly connected?
Thanks,
Aaron
supakol1@hotmail.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Does anybody have an example NPT driver?
Date: 13 Nov 2001 12:39:15 -0800
From: jperron@cetaceannetworks.com (Jason Perron)
Organization: http://groups.google.com/
Message-ID: <d491dc78.0111131239.54706a15@posting.google.com>
Hi Everybody,
I have recently installed T2CP4, which incorporates the new NPT
architecture into the OS.  I was hoping that this release would have
an example of an NPT-style driver, but it appears that the examples in
the "target\src\drv\end" (ln7990End.c and templateEnd.c) are the old,
END-style drivers.
I have the latest version of the NPT programmer's guide (edition 4),
but I'd really like to have a template or some example code that I
could compile and try out.  Does anything like this exist?
Also, if anybody out there has built an NPT-style driver, could you
comment on how stable the new NPT stuff is?  Does it work as
documented or did you have a bunch of undocumented "suprises" along
the way?
Thanks!
Jason
---------------------------
Newsgroups: comp.os.vxworks
Subject: RFC2131 Dhcp code [for ARM].
Date: 13 Nov 2001 16:49:39 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u4rnys5n0.fsf@yahoo.com>
Sender: bpringlemeir@DeadDuck
Would any care to share RFC2131 client code with me, or point me to
one?  Apparently, WRS is not supporting this for the ARM.  I have
several Linux DHCP clients.  I am just trying to decide which is
easier; to port the code or change the OS ;-) I guess March of 1997 is
rather current.
regards,
Bill Pringlemeir.
From: xxxxxxxxx <xxxxx.xxxxxxxx@windriver.com>
Subject: Re: FW: TSR #262641
To: Bill Pringlemeir <bpringlemeir@mistwireless.com>
Date: Tue, 13 Nov 2001 13:31:47 -0600
Organization: Wind River
Hi,
Unfortunately, the version you have does not support RFC 2131 and
WindRiver hasn't produced a version for ARM that does support it.
If you have any questions, let me know.  I'd recommend getting
in touch with your field engineer, who might have a better
alternative.
Sincerely,
xxxxxxxxxx
- --
I  can't  believe  how  bloated  you are.   Furthermore,  you  racist,
Napoleon is old.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Target Server Console freezes after hitting Properties menu
Date: Tue, 13 Nov 2001 13:50:44 -0800
From: "Mark Galecki" <MGalecki@SBS.com>
Message-ID: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net>
Hello,
we have Tornado 2.0 installation on NT 4.0 host.  I attach a Target Server
to a target running VxWorks, and I make it show a console.  Now, on console,
which is a DOS CommandPrompt Window, I hit the Properties menu item (which
is used to change the layout, colors and fonts).
Upon this, the Properties Dialog freezes.   I can shutdown the target server
and then the console vanishes and I can restart the target server.
The reason why I don't think this is DOS problem is because I can adjust
Properties of any other DOS window without any problem.
On the other hand, we have many NT workstations that use the same Tornado
exec over the network.  Some of them have this problem, some don't.
So is this Tornado problem, and if so what is the solution, or is it not?
Thank you,
Mark Galecki
SBS Technologies
---------------------------
Newsgroups: comp.os.vxworks
Subject: muxDevUnload & muxDevLoad after system boot up
Date: 13 Nov 2001 14:37:53 -0800
From: czhao@hns.com (Charlie Zhao)
Organization: http://groups.google.com/
Message-ID: <75b047bf.0111131437.6dc89950@posting.google.com>
I tried to test muxDevLoad and muxDevUnload after system boot up.
However, I got problem.
It is a standalone board and boot from flash disk "/tffs0/". And
"STANDALONE_NET" is defined in config.h. When bootup, the ethernet
interface is OK. Ping, ftp, telnet are all working.
However, I tried to use muxDevUnload to unload the ethernet driver.
After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
driver.
I check with muxShow and ifShow, everything seems OK. The mux driver
is there and network interface is there. However, I CANNOT do ping,
ftp and whatever network operation.
Any expert know what I missed?
Thanks a lot.
Charlie
---------------------------
Newsgroups: comp.os.vxworks
Subject: Any way to set MTU for entire network interface?
Date: Tue, 13 Nov 2001 22:10:36 GMT
From: Craig Johnston <craig.e.johnston@boeing.com>
Organization: The Boeing Company
Message-ID: <3BF19A5C.8FBBB3F4@boeing.com>
Sender: nntp@news.boeing.com (Boeing NNTP News Access)
I'd like to be able to set the maximum Maximum Transfer Unit (MTU) for an entire
ethernet interface (say ie0).  I can set this on a per socket basis with an
ioctl() call, but can't find a means to set it for the entire interface.  The
netShow() tool will show me the current MTU (1500 for my interface), so I suspect
there should be a way to set this value.
Any suggestions?
- --
Craig Johnston
Did you know you can't steer a boat that isn't moving?  Just like a life.
							-- Paul Lutus
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: openssl on vxworks -- how to reduce the size of  libcrypto and libssl?
Date: 13 Nov 2001 14:56:06 -0800
From: dragonli@yahoo.com (June)
Organization: http://groups.google.com/
Message-ID: <d48fa963.0111131456.12a4b967@posting.google.com>
References: <VQnH7.124730$IR4.38008381@news1.denver1.co.home.com> <upu6ookix.fsf@yahoo.com>
Thanks for your help. Actually i am the person who sent you an email
and asked for Makefile several days ago. You gave me a lot of help. I
am going to try what you told me. Thanks again. Now i am testing the
lib functions on my Intel IXP board (later i will do the
optimization). Also i found there are some persons who are trying to
reduce the size of the libraries on the news group for openssl users
http://groups.google.com/groups?hl=en&group=mailing.openssl.users.
have a nice day!
June
Bill Pringlemeir <bpringlemeir@yahoo.com> wrote in message news:<upu6ookix.fsf@yahoo.com>...
> June> I've successfully built the libcrypto and libssl after i
>  June> removed about 20 files (most of them are test programs, i
>  June> think). But the lib files are too big. One is more than 12M,
>  June> another is 5M. For me i only need X509, MD5, SHA.  How can i
>  June> reduce the size of the library with all the functions i need in
>  June> it? Is there anybody has this experiences? Cound you pls help
>  June> me?
>
> Hint 1, libraries are not code.  Link your code with libcrypto.a and
> libssl.a.  If you have just server code or just client code, the image
> size will decrease a lot.  Take a look at these defines,
>
> # Utility
> # -DNO_BIO=1 -DNO_BF=1
>
> # Symmetric ciphers
> # -DNO_DES=1 -DNO_RC2=1 -DNO_RC4=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1
>
> # Asymmetric ciphers
> # -DNO_RSA=1 -DNO_DSA=1 -DNO_DH=1
>
> # Digests
> # -DNO_MD2=1 -DNO_MD4=1 -DNO_MD5=1 -DNO_SHA=1 -DNO_RIPEMD=1 -DNO_MDC2=1
>
> #ADDED_CFLAGS += -DNO_RC2=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1
> #ADDED_CFLAGS += -DNO_MD2=1 -DNO_MD4=1 -DNO_RIPEMD=1
>
> I especially like the define `NO_IDEA' ;-).  You need to compile
> libraries and app with the same flags.  If you have compiled with the
> default vxWorks flags, I suggest that you use -fno-volatile.  This
> will reduce the image size by a little.
>
> I also used these flags,
>
> ADDED_CFLAGS += -DVXWORKS=1 -DGETPID_IS_MEANINGLESS -DNO_CHMOD
>
> I would appreciate it if you email me with any other information that
> you get.  I am also trying to do the same things... although I am
> writing a `/dev/random' type device first.
>
> regards,
> Bill Pringlemeir.
---------------------------
Newsgroups: comp.os.vxworks
Subject: remote shell daemon for vxWorks?
Date: 13 Nov 2001 15:11:55 -0800
From: pignorel@yahoo.com (sonia pignorel)
Organization: http://groups.google.com/
Message-ID: <36b73c7d.0111131511.4db188c7@posting.google.com>
Hi
I am looking for a remote shell daemon for a vxworks platform.
Indeed, I'd like to be able to run remote commands from one vxworks
platform card onto another vxworks platform card.
Thanks a lot,
Sonia.
---------------------------
Newsgroups: comp.os.vxworks
Subject: bootpReply sometimes does not work on client
Date: 13 Nov 2001 15:33:18 -0800
From: imohammed786@hotmail.com (fanzi)
Organization: http://groups.google.com/
Message-ID: <e7a53d29.0111131533.3c46ad8a@posting.google.com>
We are using vxWorks bootpParamsGet() on the target to request boot
params.  It works most of the time, but once in a while we get
following message on the client:
"Check file permission, world readable!" and displays server IP
address.
Since it is displaying server IP address, it means it is able to get
reply from the server, but I could not determine why the above message
is comming instead of bootp reply.  We have tried this with Unix-Sun
bootp server and also with WinNT bootp server.  In both cases we got
same problem.
If anyone seen this problem before and have any thoughts on this
please help me out.
Thanks
fanzi
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: vxImmrGet ????????
Date: Tue, 13 Nov 2001 17:16:37 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf1c642$0$4330$4c41069e@reader1.ash.ops.us.uu.net>
References: <3BF0EF95.1040309@sei.co.kr> <kHbI7.35091$D5.12582127@typhoon.san.rr.com>
Reply-To: "Gary M" <com.vertical@garym>
On the MPC860, vxImmrGet() returns a pointer to the base of the System
Interface Unit, usually at 0xFF000000. See chapter 2 of the MPC860 User's
Manual. The dual-port RAM starts at offset 0x2000 from this base. Just about
anything you need to do to control the MPC860 and its integrated peripherals
requires access to these registers, which must be included in your memory
map in syslib.c, should be accessed with the width as defined for each
register, and must have unmodified bits properly masked. Disobeying any of
these rules is usually fatal.
The documentation for this function should be included as part of the BSP
package for PPC, but I find it isn't on mine.
"dgold1" <dgold1@san.rr.com> wrote in message
news:kHbI7.35091$D5.12582127@typhoon.san.rr.com...
>
> pch wrote in message <3BF0EF95.1040309@sei.co.kr>...
> >hi.
> >i dont know what vxImmrGet() do ?
> >i cannot find about vxImmrGet at search engine...
> >
> >i want to konw what vxImmerGET() is..
>
>
>
> It gets the base address of the dual-port RAM on the Motorola PPC860 and
> 8260 network processors.  It might even do it on the 68360, but that was
too
> long ago for me to remember...
>   hth,
>    Dan Gold  gold@ensemble.com
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Tue, 13 Nov 2001 17:29:56 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca>
Reply-To: "Gary M" <com.vertical@garym>
From the VxWorks documentation for intLock():
"Do not call VxWorks system routines with interrupts locked. Violating this
rule may re-enable interrupts unpredictably."
Since logMsg() is implemented by sending a message to the LogTask, you have
effectively violated that rule.
"Barry Kelly" <kellyb@spielo.ca> wrote in message
news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca...
>
> I think I have proof that logMsg() enables INT's. I still can't believe
it!
> I've used logMsg() in very INT-sensitive areas!
>
> Here's my test code. Please tell me what I'm missing here:
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado 2 setup on win2k hangs
Date: Wed, 14 Nov 2001 02:19:18 GMT
From: "Mike Hanna" <mikehanna@yahoo.com>
Organization: Road Runner - NC
Message-ID: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com>
I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point
when it should be copying files.  The status bar shows 100%, but has no text
indicating what it is supposed to be copying.  I've seen some similar posts,
but no solutions.  Anybody know whats going on?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Solaris shared memory error
Date: Wed, 14 Nov 2001 15:40:42 +1000
From: Graham Crawford <crawford@dstc.qut.edu.au>
Organization: Distributed Systems Technology CRC
Message-ID: <3BF203DA.48BA34EE@dstc.qut.edu.au>
References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>
Hi,
Well I was using a knobbled Ultra 10 with 128Mb of memory.
I think this was the problem - I transferred to SparcStation 5
with 64Mb of memory (but I had super-user) and increased the
shared memory segment size - this basically corrected the
problem I reported but then I see the following message.
Cannot allocate Mainwin static colors.
Another mwcolormanager or Mainwin application might be running
I then transfered to an Ultra 10 with 256 Mb of memory and
without doing anything to the shared memory things ran better.
I still get awful colors on the launcher though !
- ---
Graham
Graham Crawford wrote:
> I get the following error when I try and start certain Tornado
> applications on
> SPARC Solaris 2.8
>
> gma_init_shm->shmget1: No space left on device
>
> In particular the MWColorMgr gives this as well as the Launcher
> Project application and the SETUP installer from the CDROM.  This
> message seems to indicate that the shmmax kernel setting should be
> increased.
>
> Has anyone seen this or managed to correct the problem ?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado v.2.0.2 (180 days license)&networking&NT
Date: Wed, 14 Nov 2001 11:17:51 +0100
From: Wojciech Czujowski <czujowski@poland.com>
Organization: Internet Partners
Message-ID: <3BF244CF.DF71C4FD@poland.com>
Reply-To: czujowski@poland.com
Hello,
I want to build simulator for networking on NT. Network dirver is
installed, component included (using find INCLUDE_NETWORK). When the
linker tries to make the vxWorks.exe I get the following:
(...)
ldsimpc --subsystem=windows -e _WinMainCRTStartup
C:\Tornado\host\x86-win32\i386-pc-mingw3
2\lib\crt1.o \
	dataSegPad.o partialImage.o ctdt.o -o vxWorks
C:\Tornado\host\x86-win32\i386-pc-mingw32\lib\crt1.o: In function
`mingw32_init_mainargs':
\homes\src\mingw-snapshots\mingw32-merge\init.c:63: undefined reference
to `_CRT_glob'
\homes\src\mingw-snapshots\mingw32-merge\init.c:63: undefined reference
to `__GetMainArgs'
C:\Tornado\host\x86-win32\i386-pc-mingw32\lib\crt1.o: In function
`mainCRTStartup':
\homes\src\mingw-snapshots\mingw32-merge\crt1.c:59: undefined reference
to `SetUnhandledEx
ceptionFilter@4'
(...)
make: *** [vxWorks] Error 0x1
Done.
Any ideas?
Thanks,
Wojtek
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Wed, 14 Nov 2001 10:01:04 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <lMrI7.1$c72.2171@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net> <3BF139D5.BDCEA769@hotmail.com>
Martin Alle <m@hotmail.com> wrote in message
<3BF139D5.BDCEA769@hotmail.com>...
  Martin, is there really a control-c in your email address ?!
>We applied a small hack using the following script command:
>
>(short)*(clock_gettime+0x62)=(short)&vxAbsTicks
>
>
>which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image.
  Whoaaa!!  That's brutal.  I *like* it!  :-)  I did pretty much the same to
fix the cacheArchLib bug but I wanted to make it a little bit safe so I made
it check that the opcodes were what it expected to find in the first place.
>**** And this fixed our problem ****
  Excellent!
>We shall be in touch with Windriver regarding the TSR.
  lol no comment!
           DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: undefined relocation
Date: Wed, 14 Nov 2001 10:38:57 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <mMrI7.2$c72.2171@newsr2.u-net.net>
References: <3BE96858.AEE45454@fnal.gov>
Dinker Charak wrote in message <3BE96858.AEE45454@fnal.gov>...
>hello,
>
>when doing
>
>-> ld < myapp.o
>
>i get
>
>undefined relocation: 23
>...
>
>errors .... what is this? i get two three kind of error value besides
>23. what is wrong? where can i find a doc telling me what this value
>means?
  It'll be in the ABI or object file format spec.  I believe that you must
be using ppc, since I think I recognize that code, so looking at the SysVr4
ppc abi (SVR4abippc.pdf, available somewhere on http://www.sun.com, and
which is the basis from which the EABI spec evolved), in chapter 4 (Object
files), page 4-17 (relocation types) we see
- -----
R_PPC_LOCAL24PC       23      low24*      see below
- -----
and the note that it says to see below is
- -----
R_PPC_LOCAL24PC This relocation type resembles R_PPC_REL24, except that it
uses
the value of the symbol within the object, not an interposed value, for
S in its calculation. The symbol referenced in this relocation normal-ly
is _GLOBAL_OFFSET_TABLE_, which additionally instructs the
link editor to build the global offset table.
- -----
  Now, vxworks doesn't support the GOT (nor the SDA either), and you really
shouldn't have such references or relocation types in your code.  The GOT is
described in chapter 5:
- -----
Position-independent code cannot, in general, contain absolute virtual
addresses. Global offset
tables hold absolute addresses in private data, thus making the addresses
available without
compromising the position-independence and sharability of a programs text.
A program
references its global offset table using position-independent addressing and
extracts absolute
values, thus redirecting position-independent references to absolute
locations.
- -----
  So my diagnosis is that you've been trying to use the -fpic flag to
generate position independent code.  VxWorks simply doesn't support pic.
Check the WRS gnu tools manual; somewhere in the first few pages you will
see the list of gcc options that WRS officially support for use with
VxWorks.  It doesn't include -fpic.  (It doesn't include quite a lot of
things, you may be surprised if you haven't examined this list before).
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: dosFS2, Mounting Disk Volume/Building FAT
Date: Wed, 14 Nov 2001 11:04:23 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <ucsI7.4$c72.2459@newsr2.u-net.net>
References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net> <uk7wvu40y.fsf@yahoo.com>
Bill Pringlemeir wrote in message ...
>>>>>> "John" == John R <jroberts@unisperenetworks.com> writes:
> John> I've tried several ways of forcing the FAT to disk as soon as
> John> it is created but I have had no success. Has anyone experienced
> John> this or have a better understanding of these events and how I
> John> might resolve it?
>
>See my question from several days ago about "rebootHookAdd".  You can
>add a flush of the disk.  Alternatively you could modify the
>usrDosFs.c code so that a dcacheCbio wasn't created... but this would
>slow you down a lot!
  The rate at which dcacheCbio syncs the file system is controllable by one
of the arguments passed to dcacheDevTune(), so it might be an idea to set it
to 0 (immediate write through) at bootup time and then set it to a
reasonable value for caching after the system's been running for however
many minutes it takes to sort the FAT out.
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Strange function behaviour
Date: Wed, 14 Nov 2001 10:59:10 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <ucsI7.3$c72.2459@newsr2.u-net.net>
References: <slrn9uvsaa.11l.pfk@c.zeiss.de> <3beff29e$1@brateggebdc5.br-automation.co.at> <slrn9v2s42.3g5.pfk@c.zeiss.de>
Frank Klemm wrote in message ...
>On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl <ws-news@gmx.at> wrote:
>>Hi,
>>
>>For x86, the data type 'long long' is not 'officially' supported, IIRC.
>>Therefore the missing symbols ___udivdi3, etc.
>>
>>I do not see an other obvious mistake, apart from the fact the you seem to
>>have a main() function.
>>You MUST NOT have a main function in any VxWorks project.
>>
>The main() function is for testing the same code unter NT, Linux, MS-DOS.
  Does this mean that you don't *call* the "main" function under vxworks,
but call directly into "start"?  That should be fine then.  But you
shouldn't try and call the "main" function from vxworks, as compilers put
secret compiler magic stuff into the beginning of functions called "main",
and this stuff will not work correctly on vxworks.
  Also in regard to the strange behaviour of your system: are you testing
this function from the command shell?  That runs at the highest priority in
the system, so as soon as it reaches that busy-wait loop, every other task
will be locked out including the network!  Does it work properly if you
spawn it using the 'sp' command instead of executing the function name
directly ?
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Wed, 14 Nov 2001 11:20:41 GMT
From: "Barry Kelly" <kellyb@spielo.ca>
Organization: NBTel Internet
Message-ID: <dssI7.11039$R%6.1591819@news-nb00s0.nbnet.nb.ca>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>
I was aware of the documentation, however, I really didn't expect a msgQSend
to manipulate the current state of interrupts and not put it back the way it
was.
"Gary M" <com.vertical@garym> wrote in message
news:3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net...
> From the VxWorks documentation for intLock():
> "Do not call VxWorks system routines with interrupts locked. Violating
this
> rule may re-enable interrupts unpredictably."
> Since logMsg() is implemented by sending a message to the LogTask, you
have
> effectively violated that rule.
>
> "Barry Kelly" <kellyb@spielo.ca> wrote in message
> news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca...
> >
> > I think I have proof that logMsg() enables INT's. I still can't believe
> it!
> > I've used logMsg() in very INT-sensitive areas!
> >
> > Here's my test code. Please tell me what I'm missing here:
>
>
>
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 08:10:32 2001
From: "Garner, William F (N-SDC)" <william.f.garner@lmco.com>
Date: Wed Nov 14 08:10:34 PST 2001
Subject: pcb cache lookup failed
Hi VxWorks Land,
Does anyone know why every UDP message passed to the Network Stack causes a
"pcb cache lookup failed"?
udpstatShow
UDP:
        678 total packets
        336 input packets
        342 output packets
        0 incomplete header
        0 bad data length field
        0 bad checksum
        0 broadcasts received with no ports
        0 full socket
        336 pcb cache lookups failed
        0 pcb hash lookup failed
value = 26 = 0x1a
This happens for SNMP, TFTP and the Wind River Debugger.  ICMP messages are
ok.
Thanks in advance.
Bill
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 11:23:21 2001
From: Rick Eis <reis@nuvasive.com>
Date: Wed Nov 14 11:23:23 PST 2001
Subject: VxWorks - Java
We are running Personal JWorks 3.1 under Tornado 2.0.2  (WindML). (Pentium
target)  If we invoke the garbage collector from the Java side a page fault
will occur (20% chance). If we invoke the garbage collector from the C side
using JNI calls we have no absolutely no problem. If anybody is using Java
with VxWorks I would be interested to hearing if you have experienced
anything remotely similar to this situation. Or perhaps someone has an idea
why this is happening. Thanks so much,
Rick Eis
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 12:26:40 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Wed Nov 14 12:26:42 PST 2001
Subject: RE: WindNet OSPF experience ?
VxWorks Greetings!
> Submitted-by: Ilia Bosis <Ilia_Bosis@packetlight.com>
>
> Does anyone in the VxWorks land
> had worked with the WindNet OSPF package ?
>
> What can You tell about
> it's stability, RFC compliance,
> ease to integration, resource usage ?
>
> Can anyone recommend (or not recommend) it,
> suggest an alternatives,
> point to caveats, etc. ?
>
>
Hi Ilia,
  Yes, I've worked with OSPF V1.1 and V1.2.  There are
lots of issues with these pieces of software WRT their
compatibility with SNMP.  V1.1 is compatible with
Envoy SNMP V8.0 -- not any of the 9.x flavors.  V1.2 is
compatible with Envoy SNMP 9.2, as long as you get the
special installation instructions.  V1.2 will also work
with the RTM (routing table manager) in T2.02 provided that
to enable features when building the code that are not
mentioned in either the documentation or the Makefiles.
However, V1.2 does work, once properly configured, and it's
values will be reflected in the Envoy 9.2 SNMP MIB.
  However, the MIB values are only one way with V1.2.  That
is, you can display the values, but not modify them.  That
feature is supposed to be enabled in V2.0 which will be coming
out soon.
  Once configured and running, OSPF is stable and doesn't appear to
have any memory leaks that we can determine.  It does seem to
be compliant with the RFCs, although it does not have an M-OSPF
facility.  Plan on using BGP-4 or DVMRP with V 1.2.
  It doesn't appear to be a real resource pig as long as your
links are fast (115K or faster).  It's an interrupt issue
based on the number of links, density of the network and the
connection media.  All of those LSAs going out can be an issue
over slow, serial PPP links.
  Integration was a nightmare.  However, I got a lot of help
from WRS folks and by doing a lot of reading between the lines
in the source, I got it working.  Now, I can get it installed
and working in a day or two.
  As for V2.0 of the OSPF code, it's difficult to say.  I
haven't seen it yet, but it's based on the V1.2 code.  So, I
would expect similar results.  The bidirectional integration with
SNMP is a key feature that would be worth the wait.
  To summarize, the product is good and reliable once it's installed
and configured.  However, installation and configuration is a
bear the first time you do it.  Plan on 3-4 weeks, if you want
to figure it out yourself.  Also, plan on buying Moy's OSPF
books so you can figure out what the configuration options
*really* mean.
  As for alternatives, I've found a couple of Indian companies who
were willing to port an OSPF for me.  But, they didn't have anything
for VxWorks available off-the-shelf.  And, I'd have to pay for the
port as well as live with the development delays.  Since, my customer
had a short fuse on their implementation, WRS's solutions were the
best route.
  If you have any other questions, please feel free to give me a
shout.
HTH,
Mike Anderson
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 15:34:48 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Wed Nov 14 15:34:50 PST 2001
Subject: Re: Strange function behaviour
VxWorks Greetings!
> From: pfk@c.zeiss.de (Frank Klemm)
>
> The following function should wait for some microseconds.
> Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0,
> plattform is IA32.
>
> As long as "REPORT_TIME" is defined the program works.
> Otherwise the program hangs and nothing is printed, also no "Hallo".
> What's the problem?
>
> Also it is not possible to divide two 64 bit unsigned integers, a linker
> error occures. Missing symbols are ___udivdi3 and ___cmpdi2.
>
[snip]
>
> For x86, the data type 'long long' is not 'officially' supported, IIRC.
> Therefore the missing symbols ___udivdi3, etc.
>
Yup, this is a 64-bit, unsigned integer divide.  Get a hold of the upgraded
GNU compiler (2.96) for VxWorks to fix this problem.
> I do not see an other obvious mistake, apart from the fact the you seem to
> have a main() function.
> You MUST NOT have a main function in any VxWorks project.
>
> You can name it whatever is to your desire, but never main().
> This will usually cause linker errors... at least when you link everything
> into one image.
>
This is why your code fails without the print statements:
  The "main()" causes some additional code to be linked
into your object code that tinkers with the stack (the code
that sets up the varargs).  The printfs will offset that stack
manipulation just enough to avoid the error.  By renaming the
"main()" the problem should go away.
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 15:45:05 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Wed Nov 14 15:45:08 PST 2001
Subject: Re: logMsg side-effects
VxWorks Greetings!
> >
> > If called from interrupt level, logMsg, which is basically just a
> > called to msgQSend(), should not change the current interrupt
> > settings. If called from task level, it could cause a context switch
> > (likely since tLogTask has a pretty high priority), and that will
> > usually enable interrupts (depending on how the CPU works, and the how
> > they were disabled - check your docs for info). When the calling task
> > resumes, they will revert to the locked state.
> >
> John,
> Thanks for replying. Does a context switch unlocks the interrupts?
[snip]
I believe that the problem you're encountering has nothing to do
with a context switch and everything to do with serial interrupts.
One of the features of a logMsg() call is to output the message to the
system console port.  This is typically one of the serial ports.
Upon return from an ISR (e.g., the serial port ISR), you will always
trap back to the kernel.  The last thing that the kernel does before
returning from the interrupt cleanup function will be to reenable
interrupts.  So, I believe that the interrupts being reenabled is
a side effect of the serial ISR and what the kernel does upon returning
from that ISR, not the side effect of a context switch.
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 15:55:27 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Wed Nov 14 15:55:30 PST 2001
Subject: RE: gratuitous ARP
VxWorks Greetings!
>"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
>news:newscache$lmppmg$jdb$1@lnews.actcom.co.il...
>> I dont think the arpAdd should generate gratis-arp at all.
>> Gratis-arp is generated when the interface is given an IP address -
>> it xmits the gratis-arp to check for some other node on the same net
>> using the same IP address, and generates a meeage if there is a dup.
>> This is all it does, so adding some other node's IP to MAC address
>> translation
>> to the ARP table should not (and does not) generate any packets.
>
>My SENS sources confirm this :-)   The gratuitous ARP is sent out when a
>SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as
Leonid
>pointed out above) when an interface is given an IP address.
Actually, this behavior is exactly what it should do.  The gratuitous ARP
is actually the interface ARPing itself to discover if there is another
interface with the same IP address already on that network segment.  If it
finds one with the same address, you'll get a "Duplicate IP address found!"
error message on the console.  Otherwise, everything continues working
where it left off.  Therefore, the gratuitous ARP is not a bug, but
a feature :-).
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 18:58:25 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Wed Nov 14 18:58:27 PST 2001
Subject: Re: Strange function behaviour
> From: pfk@c.zeiss.de (Frank Klemm)
>
> Also it is not possible to divide two 64 bit unsigned integers, a linker
> error occures. Missing symbols are ___udivdi3 and ___cmpdi2.
>
  BTW, you can also pick these symbols up under gcc 2.7.2 by adding
libgcc.a as an additional library to link with in your Tornado project.
This library is located in:
/tornado/host/x86-win32/lib/gcc-lib/i386-wrs-vxworks/cygnus-2.7.2-960126
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Wed Nov 14 20:54:06 2001
From: Jitendra kanitkar <Jitendrak@netbrahma.com>
Date: Wed Nov 14 20:54:08 PST 2001
Subject: Re: muxDevUnload & muxDevLoad after system boot up
VxWorks greetings,
If you can see the interface in muxShow() then
do
1. ipAttach()
2. ifMaskSet()
3. ifAddrSet()
Then you can do ping, ftp etc.
Thanks,
Jitendra.
Newsgroups: comp.os.vxworks
Subject: muxDevUnload & muxDevLoad after system boot up
Date: 13 Nov 2001 14:37:53 -0800
From: czhao@hns.com (Charlie Zhao)
Organization: http://groups.google.com/
Message-ID: <75b047bf.0111131437.6dc89950@posting.google.com>
I tried to test muxDevLoad and muxDevUnload after system boot up.
However, I got problem.
It is a standalone board and boot from flash disk "/tffs0/". And
"STANDALONE_NET" is defined in config.h. When bootup, the ethernet
interface is OK. Ping, ftp, telnet are all working.
However, I tried to use muxDevUnload to unload the ethernet driver.
After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
driver.
I check with muxShow and ifShow, everything seems OK. The mux driver
is there and network interface is there. However, I CANNOT do ping,
ftp and whatever network operation.
Any expert know what I missed?
Thanks a lot.
Charlie
From vxwexplo-errs@csg.lbl.gov  Thu Nov 15 04:03:18 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Nov 15 04:03:21 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Nov 15 04:03:13 PST 2001
        Subject: chkdsk deleting files
        Subject: Ready Queue and an ISR
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: non-stopping breakpoints
        Subject: Re: undefined relocation
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Question
        Subject: Re: non-stopping breakpoints
        Subject: Speeding up PCI block transfer
        Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A
        Subject: Re: chkdsk deleting files
        Subject: Boot a target with my application
        Subject: Re: logMsg side-effects
        Subject: Re: Ready Queue and an ISR
        Subject: Re: Question
        Subject: Re: muxDevUnload & muxDevLoad after system boot up
        Subject: Re: changing MSR
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: dosFs 2.0 unsupported but better ftpd does not describe how to install
        Subject: network problems past gateway
        Subject: TFFS 16 bit Flash MTD
        Subject: Re: Ready Queue and an ISR
        Subject: Re: remote shell daemon for vxWorks?
        Subject: Re: network problems past gateway
        Subject: Re: Ready Queue and an ISR
        Subject: Re: muxDevUnload & muxDevLoad after system boot up
        Subject: Doea TFFS have a size limit?
        Subject: Re: logMsg side-effects
        Subject: Re: muxDevUnload & muxDevLoad after system boot up
        Subject: Re: TFFS 16 bit Flash MTD
        Subject: Re: Doea TFFS have a size limit?
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A
        Subject: Re: TFFS 16 bit Flash MTD
        Subject: Re: MMU &&Shared memory
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: chkdsk deleting files
Date: Wed, 14 Nov 2001 07:16:21 -0500
From: Klein family <kola@erols.com>
Message-ID: <3BF26094.C0F865D3@erols.com>
My application is writing data to 2GB files on a FAT32 disk as fast as
possible using DosFs2.
I have a loop of create a file, write to it and then close it. Each file
create and close has a logMsg call telling me if it is successfull or
not, and the file descriptor number. I have found that the same file
descriptor is used and I am not receiving any errors.
After the system reboots, chkdsk is run on the disk. Occasionally,
chkdsk will determine that a file needs to be adjusted or deleted even
though that file had been successfully closed (the proof being that the
file descriptor was reused). For example, of a.dat, b.dat, c.dat, d.dat,
e.dat, f.dat,  and g.dat, chkdsk will have problems with c.dat and
f.dat.
Can anyone advise me about what to about losing data? Thank you.
Scott Klein
Northrop Grumman
Baltimore, MD
410-765-0910
scott_b_klein@md.northgrum.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Ready Queue and an ISR
Date: 14 Nov 2001 05:31:46 -0800
From: trosto@hotmail.com (Tal)
Organization: http://groups.google.com/
Message-ID: <705c7b34.0111140531.210a3c6f@posting.google.com>
Hi,
I am facing this dilema:
I have an ISR in which I am "giving" two semaphores in order to
activate two tasks (each task is waiting on a semaphore).
Both of the tasks have the same priority.
Can I be sure that the order in which I am giving the semaphores is
the order in which the tasks will run.
In other words, Is it true that when I "give" the first semaphore
(while I am in the ISR) the first task moves from the pending queue to
the ready queue and then when I "give" the second semaphore (still
inside the ISR) the second task moves to the ready queue. Then when I
finish the ISR, since the ready queue in a FIFO queue the task which
was waiting on the first semaphore will run before the other task.
If you can also point me to the manual in which the VxWorks tasks
queues are explained, cause in the basic manual those things are not
dealt with.
Thanks,
Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Wed, 14 Nov 2001 14:51:24 +0100
From: Maximilian Epple <maximilian.epple@gmx.net>
Organization: EPFL
Message-ID: <3BF276DC.36A919CB@gmx.net>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com>
Mike Hanna wrote:
>
> I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point
> when it should be copying files.  The status bar shows 100%, but has no text
> indicating what it is supposed to be copying.  I've seen some similar posts,
> but no solutions.  Anybody know whats going on?
Hi Mike,
I had the same problem when installing a patch (T2CP3 or T2CP4) on a
Solaris host. I tried a lot of things and one day the problem was gone
:)
It seemed to depend from the location of the patch-directory in my
directory tree. When it was in my $WIND_BASE directory, the setup was
freezing at the point  when it should be copying files. When I placed it
in the home-directory of another user it worked. Pretty mysterious.
Speaking only for myself
	Max
---------------------------
Newsgroups: comp.os.vxworks
Subject: non-stopping breakpoints
Date: Wed, 14 Nov 2001 15:17:05 +0100
From: Sebastien Fauris <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3BF27CE1.C7CC52F3@europem01.nt.com>
Reply-To: sfauris@europem01.nt.com
Hi vxWorkers,
for debug purposes I would like to be able to set non-stopping
breakpoints. For example I set a breakpoint at an address (instruction
or data) and when this instruction is executed or an access
to this data is performed, I would like to print out a message.
Is it possible to change the behavior of the vxWorks
breakpoints to make them non-stopping and instead for example
call a user hook routine ? This would be great !
Or do I have to redesign my own non-stopping breakpoint
mechanism and this just to send a trace when the address
is acceeded ?
Sebastien.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: undefined relocation
Date: Wed, 14 Nov 2001 08:37:49 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BF281BD.A1802D99@fnal.gov>
References: <3BE96858.AEE45454@fnal.gov> <mMrI7.2$c72.2171@newsr2.u-net.net>
>   So my diagnosis is that you've been trying to use the -fpic flag to
> generate position independent code.  VxWorks simply doesn't support pic.
yes that was the exact problem ...
thanx,
dinker
Dave Korn wrote:
>
> Dinker Charak wrote in message <3BE96858.AEE45454@fnal.gov>...
> >hello,
> >
> >when doing
> >
> >-> ld < myapp.o
> >
> >i get
> >
> >undefined relocation: 23
> >...
> >
> >errors .... what is this? i get two three kind of error value besides
> >23. what is wrong? where can i find a doc telling me what this value
> >means?
>
>   It'll be in the ABI or object file format spec.  I believe that you must
> be using ppc, since I think I recognize that code, so looking at the SysVr4
> ppc abi (SVR4abippc.pdf, available somewhere on http://www.sun.com, and
> which is the basis from which the EABI spec evolved), in chapter 4 (Object
> files), page 4-17 (relocation types) we see
>
> -----
> R_PPC_LOCAL24PC       23      low24*      see below
> -----
>
> and the note that it says to see below is
>
> -----
> R_PPC_LOCAL24PC This relocation type resembles R_PPC_REL24, except that it
> uses
> the value of the symbol within the object, not an interposed value, for
> S in its calculation. The symbol referenced in this relocation normal-ly
> is _GLOBAL_OFFSET_TABLE_, which additionally instructs the
> link editor to build the global offset table.
> -----
>
>   Now, vxworks doesn't support the GOT (nor the SDA either), and you really
> shouldn't have such references or relocation types in your code.  The GOT is
> described in chapter 5:
>
> -----
> Position-independent code cannot, in general, contain absolute virtual
> addresses. Global offset
> tables hold absolute addresses in private data, thus making the addresses
> available without
> compromising the position-independence and sharability of a program?s text.
> A program
> references its global offset table using position-independent addressing and
> extracts absolute
> values, thus redirecting position-independent references to absolute
> locations.
> -----
>
>   So my diagnosis is that you've been trying to use the -fpic flag to
> generate position independent code.  VxWorks simply doesn't support pic.
> Check the WRS gnu tools manual; somewhere in the first few pages you will
> see the list of gcc options that WRS officially support for use with
> VxWorks.  It doesn't include -fpic.  (It doesn't include quite a lot of
> things, you may be surprised if you haven't examined this list before).
>
>        DaveK
> --
> Burn your ID card!  http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Wed, 14 Nov 2001 08:41:27 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BF28297.9AC01EFA@fnal.gov>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com>
hi,
just a thought ... do you have ntfs? are access rights proerly defined?
etc
regards,
dinker
Mike Hanna wrote:
>
> I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point
> when it should be copying files.  The status bar shows 100%, but has no text
> indicating what it is supposed to be copying.  I've seen some similar posts,
> but no solutions.  Anybody know whats going on?
- --
Computing Division/Online and Database Systems     630-840-8604 (office)
Fermi National Accelerator Laboratory              http://www.fnal.gov
http://home.fnal.gov/~dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: Question
Date: Wed, 14 Nov 2001 14:54:44 GMT
From: "rina4579" <rina4579@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <UAvI7.13071$qO6.1038986363@newssvr13.news.prodigy.com>
Does anyone have any success using the visionICE to program a target Flash
with a rombootable vxWorks BSP image? If so, I would like to know how.
Please help!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: non-stopping breakpoints
Date: Wed, 14 Nov 2001 09:47:23 -0500
From: "Macleod, Randy [CAR:CW31:EXCH]" <macleodr@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3BF283FB.240FB9E7@americasm01.nt.com>
References: <3BF27CE1.C7CC52F3@europem01.nt.com>
Hi,
  See "e" & "bh" below.
For bh, write access, works the other modes may not...
  So for example:
- -> lkup "ifShow"
ifShow                    0x001e6884 text     (cesnetvx.pserv.o.sym)
value = 0 = 0x0
- -> e 0x001e6884, 0, 0, puts, "Calling ifShow!!!!!!"
value = 0 = 0x0
- -> ifShow
Calling ifShow!!!!!!
lnPci (unit number 0):
     Flags: (0x8863) UP BROADCAST MULTICAST ARP RUNNING
     Type: ETHERNET_CSMACD
...
// Randy
- -> dbgHelp
dbgHelp                         Print this list
dbgInit                         Install debug facilities
b                               Display breakpoints and eventpoints
b         addr[,task[,count]]   Set breakpoint
e         addr[,eventNo[,task[,func[,arg]]]]] Set eventpoint
bd        addr[,task]           Delete breakpoint
bdall     [task]                Delete all breakpoints and eventpoints
c         [task[,addr[,addr1]]] Continue from breakpoint
cret      [task]                Continue to subroutine return
s         [task[,addr[,addr1]]] Single step
so        [task]                Single step/step over subroutine
l         [adr[,nInst]]         List disassembled memory
tt        [task]                Do stack trace on task
bh        addr[,access[,task[,count[,quiet]]]] Set hardware breakpoint
                access: 0 - instruction         1 - read/write data
                        2 - read data           3 - write data
Sebastien Fauris wrote:
>
> Hi vxWorkers,
>
> for debug purposes I would like to be able to set non-stopping
> breakpoints. For example I set a breakpoint at an address (instruction
> or data) and when this instruction is executed or an access
> to this data is performed, I would like to print out a message.
> Is it possible to change the behavior of the vxWorks
> breakpoints to make them non-stopping and instead for example
> call a user hook routine ? This would be great !
> Or do I have to redesign my own non-stopping breakpoint
> mechanism and this just to send a trace when the address
> is acceeded ?
>
> Sebastien.
- --
 - - - - - The axis of the universe is irony. - - - - -
You are lost in a twisty maze of little standards, all different.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Speeding up PCI block transfer
Date: Wed, 14 Nov 2001 15:44:15 +0100
From: =?iso-8859-1?Q?Torbj=F6rn?= Frostemark <torfr@foi.se>
Organization: FOI
Message-ID: <3BF2833F.9E79DD83@foi.se>
This is a multi-part message in MIME format.
- --------------8AE199FEDC7B1C18F27EB86F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi!
I have a MVME5100 processorboard (Universe II) running  with a PMC
I/O-module with some DPRAM that is mapped into PCI memory space. It is
very important to dump the data to local memory as fast as possible when
needed.
Today I just read data (with sysIn32() )from the module and store it in
local RAM. This is too slow. I know that the Universe chip has lots of
registers to play with, but it is not easy to find what to do. Any
suggstions? DMA? How do I know I use block transfer (or not)?
regards,
Torbjorn
- --------------8AE199FEDC7B1C18F27EB86F
Content-Type: text/x-vcard; charset=us-ascii;
 name="torfr.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Torbjrn Frostemark
Content-Disposition: attachment;
 filename="torfr.vcf"
begin:vcard
n:Frostemark;Torbjrn
tel;cell:+46-70-249 76 27
tel;fax:+46-(13-37 80 49
tel;work:+46-13-37 80 14
x-mozilla-html:TRUE
org:FOI - Swedish Defence Research Agency;Electronic Warfare Systems
adr:;;Box 1165;SE-581 11  Linkping;;;SWEDEN
version:2.1
email;internet:torfr@foi.se
title:Research Engineer
fn:Torbjrn Frostemark
end:vcard
- --------------8AE199FEDC7B1C18F27EB86F--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A
Date: Wed, 14 Nov 2001 15:06:01 GMT
From: "Thierry De Corte" <tdecorte@wavesat.com>
Organization: GlobeTrotter
Message-ID: <tLvI7.4595$p31.3423958@carnaval.risq.qc.ca>
References: <f41f83b1.0111121925.1d53f556@posting.google.com>
Hi Yuan,
    We are currently having the same problems with 16 bits AMD, Toshiba and
Intel flash. We have traced the problem to the fact that TFFS calculate 1
byte per address (byte mode) while he should calculate 2 bytes per address
(word mode). The result is that if you try to format a 4 meg flash, the
resulting address range will be 0x400000 while it should 0x2000000. So a
format command will bust the valid range of addresses and a CPU exception
will occur.
So if you want to test your stuff right now, I suggest faking the size of
your flash to half of its actual size. For example, if you have a 4 megs
flash, initialize your driver with 2 megs for the flash size. You will loose
2 meg but you wont bust the address space anymore.
This is of course a temporary solution. We are currently trying to get
support from WindRiver on this problem. It's been a month but WindRiver is
still unable to help us.
So my suggestions are:
    - Complain about the crappy product to WindRiver.
    - Don't buy TFFS if your flash is not on their support list.
    - If you are stuck with TFFS and a 16 bits flash, ask your hardware
engineer to go back to 8 bits mode.
Good Luck
Thierry De Corte
"Yuan Hsu" <hsu_yuan@yahoo.com> wrote in message
news:f41f83b1.0111121925.1d53f556@posting.google.com...
> Hi, all
>
> Currently I am trapped into the failure of tffsDevFormat when adding
> TFFS support to our Intel strataFlash.
>
> We are using Intel strataFlash 28f320J3A. When I trace into the
> funtion of tffsDevFormat(), I found it ultermately entered
> cfiscsByteIdentify() after calling several socket-level functions and
> cfiscsIdentify(). It did recognize it as intel CFI flash, thought in a
> uncorrect 8-bit mode, whereas the hardware engineering told me the
> flash was set to 16-bit mode. That's the first stange point.
>
> Second came from cfiscsByteWrite() I specially added in the end of
> cfiscsByteIdentify() to test write capability, it failed and from the
> dump, I got the know the last function executed was flWriteProtected.
> So what's the meaning for it?
>
> Regards,
>
> Yuan Hsu
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: chkdsk deleting files
Date: 14 Nov 2001 10:17:47 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uofm5qt44.fsf@yahoo.com>
References: <3BF26094.C0F865D3@erols.com>
Sender: bpringlemeir@DeadDuck
>>>>> "Klein" == Klein family <kola@erols.com> writes:
[snip]
 Klein> Can anyone advise me about what to about losing data? Thank
 Klein> you.
Please see the thread "dosFS2, Mounting Disk Volume/Building FAT". It
is actually related.  The disk cache may not completely write out
before you reset.  The other behavior you descibed seems normal.
vxWorks will reuse closed file descriptors.
regards,
Bill Pringlemeir.
- --
I have nostalgia for the late Sixties!  In 1969 I left my laundry with
 a hippie!!  During an unauthorized Tupperware party it was chopped &
 diced!
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Boot a target with my application
Date: Wed, 14 Nov 2001 16:43:16 +0100
From: THARAUD =?iso-8859-1?Q?Micka=EBl?= <mickael.tharaud@c-s.fr>
Organization: CS-SI
Message-ID: <3BF29114.FE50DE4B@c-s.fr>
Il s'agit d'un message multivolet au format MIME.
- --------------7FB3AFBD0DAD22AF09AD34ED
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi,
We currently develops a project whose characteristics are as follows:
- - real-time monitor:  VxWorks 5.4 with Tornado 2.0
- - target :  PPC 604/PowerCore-6750 of the company forces Computer.
- - chains of generation:  PPC604gnu
We currently have problems to  generate, download in flashprom and to
carry out an image integrating our application and the VxWorks core.
We seek help  in this field to resolve the situation.  The points on
which we need help concern:
 - adequate configuration of VxWorks and/or the BSP for a ROMable image,
 - the generation a ROMable image,
 - downloading in Flash of this image,
 - activation of downloaded image.
Thanks in advance for your answers.
Best regards,
  Mickael.
- --------------7FB3AFBD0DAD22AF09AD34ED
Content-Type: text/x-vcard; charset=us-ascii;
 name="mickael.tharaud.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Carte pour THARAUD Mickal
Content-Disposition: attachment;
 filename="mickael.tharaud.vcf"
begin:vcard
n:THARAUD;Mickal
tel;fax:05.56.47.94.81.
tel;home:--
tel;work:05.56.34.77.70.
x-mozilla-html:FALSE
org:CS ;Systme d'Information
version:2.1
email;internet:mickael.tharaud@c-s.fr
title:Ingnieur informatique
adr;quoted-printable:;;Parc d'Activit=E9s Kennedy=0D=0AAvenue Becquerel B=E2timent I=0D=0ABP 19;MERIGNAC CEDEX;;33702;FRANCE
fn:THARAUD Mickal
end:vcard
- --------------7FB3AFBD0DAD22AF09AD34ED--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Wed, 14 Nov 2001 08:36:15 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf29dc4$0$10206$4c41069e@reader1.ash.ops.us.uu.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <dssI7.11039$R%6.1591819@news-nb00s0.nbnet.nb.ca>
Reply-To: "Gary M" <com.vertical@garym>
If the priority of your task is lower than LogTask, sending a message to
LogTask will cause rescheduling to occur. That will certainly affect the
interrupt system.
Now, if you were to try running your task at a higher priority than LogTask,
the results may be different. You could also try calling taskLock() in
conjunction with intLock(), and that may maintain the interrupt state, but I
still wouldn't consider that a guarantee of expected results.
"Barry Kelly" <kellyb@spielo.ca> wrote in message
news:dssI7.11039$R%6.1591819@news-nb00s0.nbnet.nb.ca...
> I was aware of the documentation, however, I really didn't expect a
msgQSend
> to manipulate the current state of interrupts and not put it back the way
it
> was.
>
> "Gary M" <com.vertical@garym> wrote in message
> news:3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net...
> > From the VxWorks documentation for intLock():
> > "Do not call VxWorks system routines with interrupts locked. Violating
> this
> > rule may re-enable interrupts unpredictably."
> > Since logMsg() is implemented by sending a message to the LogTask, you
> have
> > effectively violated that rule.
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Ready Queue and an ISR
Date: Wed, 14 Nov 2001 08:41:20 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf29ef4$0$10206$4c41069e@reader1.ash.ops.us.uu.net>
References: <705c7b34.0111140531.210a3c6f@posting.google.com>
Reply-To: "Gary M" <com.vertical@garym>
This will probably work, but relying on assumptions of the scheduler's
implementation of the task ready queue is not a recommended design practice.
Given the tight ordering you require, why not have the first task signal
(give) the semaphore which awakens the second task?
"Tal" <trosto@hotmail.com> wrote in message
news:705c7b34.0111140531.210a3c6f@posting.google.com...
> Hi,
>
> I am facing this dilema:
> I have an ISR in which I am "giving" two semaphores in order to
> activate two tasks (each task is waiting on a semaphore).
> Both of the tasks have the same priority.
> Can I be sure that the order in which I am giving the semaphores is
> the order in which the tasks will run.
> In other words, Is it true that when I "give" the first semaphore
> (while I am in the ISR) the first task moves from the pending queue to
> the ready queue and then when I "give" the second semaphore (still
> inside the ISR) the second task moves to the ready queue. Then when I
> finish the ISR, since the ready queue in a FIFO queue the task which
> was waiting on the first semaphore will run before the other task.
>
> If you can also point me to the manual in which the VxWorks tasks
> queues are explained, cause in the basic manual those things are not
> dealt with.
>
> Thanks,
>
> Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Question
Date: Wed, 14 Nov 2001 08:48:32 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf2a0a4$0$10204$4c41069e@reader1.ash.ops.us.uu.net>
References: <UAvI7.13071$qO6.1038986363@newssvr13.news.prodigy.com>
Reply-To: "Gary M" <com.vertical@garym>
Sure. Let us know what your target is, and what isn't working (what errors
do you get on the visionICE console and flash programming dialog?).
You're running the VxWorks ROM image through the "convert" utility, right?
"rina4579" <rina4579@pacbell.net> wrote in message
news:UAvI7.13071$qO6.1038986363@newssvr13.news.prodigy.com...
> Does anyone have any success using the visionICE to program a target Flash
> with a rombootable vxWorks BSP image? If so, I would like to know how.
> Please help!
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: muxDevUnload & muxDevLoad after system boot up
Date: 14 Nov 2001 09:19:30 -0800
From: czhao@hns.com (Charlie Zhao)
Organization: http://groups.google.com/
Message-ID: <75b047bf.0111140919.b3ed78e@posting.google.com>
References: <75b047bf.0111131437.6dc89950@posting.google.com>
I checked the traffic with protocol analyser. My board just keeps
sending ARP request for router IP address. The router did replied it,
but it seems my boards cannot get the replies.
I checked routeShow, I got some intersting result
1. before I did the muxDevUnload and reload, the show is:
- ->routeShow
ROUTE NET TABLE
destination     gateway           flag  Refcnt Use  Interface
- --------------------------------------------------------------
0.0.0.0         192.168.128.200   3      0      0    ekh0
192.168.128.0   192.168.128.100   101    0      0    ekh0
2. But after I did did the muxDevUnload and reload, the show is:
- ->routeShow
ROUTE NET TABLE
destination     gateway           flag  Refcnt Use  Interface
- --------------------------------------------------------------
0.0.0.0         192.168.128.200   3      0      0    ekh0
0.160.128.32    192.168.128.100   101    0      0    ekh0
192.168.128.0   192.168.128.100   101    0      0    ekh0
Can expert tell me why I got "0.160.128.32", is this the reason that
my ethernet interface is no longer working after I did did the
muxDevUnload and reload.
Thanks a lot
Charlie Zhao
czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111131437.6dc89950@posting.google.com>...
> I tried to test muxDevLoad and muxDevUnload after system boot up.
> However, I got problem.
>
> It is a standalone board and boot from flash disk "/tffs0/". And
> "STANDALONE_NET" is defined in config.h. When bootup, the ethernet
> interface is OK. Ping, ftp, telnet are all working.
>
> However, I tried to use muxDevUnload to unload the ethernet driver.
> After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
> ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
> driver.
>
> I check with muxShow and ifShow, everything seems OK. The mux driver
> is there and network interface is there. However, I CANNOT do ping,
> ftp and whatever network operation.
>
> Any expert know what I missed?
>
> Thanks a lot.
> Charlie
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: changing MSR
Date: Wed, 14 Nov 2001 15:59:24 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <g%xI7.12$c72.16168@newsr2.u-net.net>
References: <3BDDF2E7.4DFDF1DE@fnal.gov> <67bf868f.0110300836.1c75a143@posting.google.com> <3BDEF7F6.DA93144B@fnal.gov>
Dinker Charak wrote in message <3BDEF7F6.DA93144B@fnal.gov>...
>Hi
>
>> Look at the regsPpc.h file in target/h/arch/ppc....
>> There's one MSR per task. It is saved and restored
>> during task switch.
>
>so now am wondering when each task is spawned where does it pick the
>default MSR values from? and if we want to change, do we add hooks to
>task creations? and if yes, then what about task the kernel spawns like
>shell? what do we do in that case?
  Task create hooks work fine, and are called for kernel functions the same
as any other.  The task create hook is called at a point after the TCB is
setup, but before the task begins running, so is the perfect place to modify
settings in the TCB.  I provide one with my altivec compiler that has the
job of making sure the initial SP for a task is aligned to 16 bytes rather
than just 8, see
http://www.lysergic.u-net.com/vxworks-altivec.txt
for an example.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Wed, 14 Nov 2001 18:56:25 GMT
From: "Mike Hanna" <mikehanna@yahoo.com>
Organization: Road Runner - NC
Message-ID: <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov>
It is an ntfs drive, but I believe the access rights are ok.  The setup
program does create a couple directories and puts a few files there, so I
don't think thats it.  I also tried logging in using the local administrator
account and got the same results.
Thanks,
Mike
"Dinker Charak" <dinker@fnal.gov> wrote in message
news:3BF28297.9AC01EFA@fnal.gov...
> hi,
>
> just a thought ... do you have ntfs? are access rights proerly defined?
> etc
>
> regards,
> dinker
>
> Mike Hanna wrote:
> >
> > I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the
point
> > when it should be copying files.  The status bar shows 100%, but has no
text
> > indicating what it is supposed to be copying.  I've seen some similar
posts,
> > but no solutions.  Anybody know whats going on?
>
> --
> Computing Division/Online and Database Systems     630-840-8604 (office)
> Fermi National Accelerator Laboratory              http://www.fnal.gov
> http://home.fnal.gov/~dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: dosFs 2.0 unsupported but better ftpd does not describe how to install
Date: 14 Nov 2001 19:55:25 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9159D5004BBCBborkhuisagerecom@135.7.153.102>
References: <197ea102.0111091126.50bf1dc3@posting.google.com>
rsdavis@isrparc.org (Scott Davis) wrote:
> I am looking for instructions to install the unsupported ftpdLib.c and
> header file that comes with dosFs 2.0.  I am working with T2 on
> Solaris 2.8 with a PPC750 target, PPC604.  I can access the SCSI drive
> with dosFs 2.0 filesystem on it.  I want to take advantage of improved
> ftp server provided by dosFs 2.0 so I can get the additional ftp
> server commands like mkdir.
Just compile it and download it and it should work. But you have to call
the main routine.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: network problems past gateway
Date: 14 Nov 2001 12:39:14 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0111141239.64d37012@posting.google.com>
I have problems accessing hosts that are not in my host table.  If I
ping explicit IP addresses, the pings are successful only
occasionally, like 1%-5% of the time.  If I add the host to the host
table and ping, it works all the time.
Why is it that I must add a host to the host table before vxWorks will
receive packets from it?  I can watch the packets come in through the
ethernet driver, and somewhere between the mux and the application,
the packet is just dropped.
I have also noticed that hostGetByName() doesn't modify the host
table.  Every time I do a remote access to a new machine, I must add
that host to the host table, even if I don't have a domain name for
it.  This makes things extremely inconvenient, since I must
potentially do a hostAdd() at EVERY place in the application where a
remote socket is opened.
On top of that, the only way to keep track of the contents of the host
table seem to be: [1] keep track of them myself (using yet another
table in memory) or [2] redirect stdout, call hostShow(), and then
parse the output whenever I want to get the contents of the table.
Trying to keep track of the routing table brings up the same issues...
Any insights?
Aaron
---------------------------
Newsgroups: comp.os.vxworks
Subject: TFFS 16 bit Flash MTD
Date: Wed, 14 Nov 2001 21:33:35 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>
Hi,
    We are developing on a PPC405GP based board and are trying to write an
MTD for a flash device that supports 16-bit mode. The device is 4 MB which
results in an addressable range of 0x0 to 0x400000 in byte mode, but an
addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4
MB). The trouble is that VxWorks tries to format the addresses in the byte
mode range. Since we only have one chip @ 4MB, my identify routine sets up
the follwing variables but with no success:
noOfChips = 1;
erasableBlockSize = 0x10000L; (64 kB)
interleaving = 1;
chipSize = 0x400000; (4 MB)
Has anyone had any success in writing an MTD for 16 bit devices? Any help
would be appreciated!
- --
Ho-Kuo Chan
Software Designer, Digital Division
Wavesat Telecom
(514) 956-6322
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Ready Queue and an ISR
Date: Wed, 14 Nov 2001 22:34:14 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf2e41a$1@brateggebdc5.br-automation.co.at>
References: <705c7b34.0111140531.210a3c6f@posting.google.com>
Hi,
What is the reasons for the two tasks having the same priority?
If the task that should run first has a higher priority, VxWorks' priority
based scheduling should guarantee for what you want.
Otherwise, I think it would be better to let the first task notify the
second one - as Gary M points out in his post, since this does not rely on a
particular implementation of the scheduler.
hth
Werner
"Tal" <trosto@hotmail.com> wrote in message
news:705c7b34.0111140531.210a3c6f@posting.google.com...
> Hi,
>
> I am facing this dilema:
> I have an ISR in which I am "giving" two semaphores in order to
> activate two tasks (each task is waiting on a semaphore).
> Both of the tasks have the same priority.
> Can I be sure that the order in which I am giving the semaphores is
> the order in which the tasks will run.
> In other words, Is it true that when I "give" the first semaphore
> (while I am in the ISR) the first task moves from the pending queue to
> the ready queue and then when I "give" the second semaphore (still
> inside the ISR) the second task moves to the ready queue. Then when I
> finish the ISR, since the ready queue in a FIFO queue the task which
> was waiting on the first semaphore will run before the other task.
>
> If you can also point me to the manual in which the VxWorks tasks
> queues are explained, cause in the basic manual those things are not
> dealt with.
>
> Thanks,
>
> Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: remote shell daemon for vxWorks?
Date: 14 Nov 2001 13:57:18 -0800
From: jeremywalters@hotmail.com (Jeremy Walters)
Organization: http://groups.google.com/
Message-ID: <21fff711.0111141357.6874e87b@posting.google.com>
References: <36b73c7d.0111131511.4db188c7@posting.google.com>
Here is one you can try,
ftp://ftp.cspi.com/incoming/CSUPPORT/rshd.tar
- -Jeremy
pignorel@yahoo.com (sonia pignorel) wrote in message news:<36b73c7d.0111131511.4db188c7@posting.google.com>...
> Hi
> I am looking for a remote shell daemon for a vxworks platform.
> Indeed, I'd like to be able to run remote commands from one vxworks
> platform card onto another vxworks platform card.
>
> Thanks a lot,
> Sonia.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: network problems past gateway
Date: Wed, 14 Nov 2001 22:51:11 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf2e813$1@brateggebdc5.br-automation.co.at>
References: <95ebbe31.0111141239.64d37012@posting.google.com>
Hi,
May it be, that the ping just times out if it is not in the hostTable for
some odd reason?
You could try increase _pingTxTmo to a larger value, it defaults to 5
seconds.
See the help entry for ping in the tornado online help.
There is no need to add the host to the hostTable, whether for ping, nor for
other (socket) communication.
So you should not have a need to track the added hosts either.
I do not understand, though, why hostGetByName() should modify the
hostTable.
Is this stated in the manual, that it should?
At least you can add the resolveLib to lookup names from a DNS server, but I
guess you know that anyway.
hth
Werner
"Aaron Graham" <agraham@openglobe.net> wrote in message
news:95ebbe31.0111141239.64d37012@posting.google.com...
> I have problems accessing hosts that are not in my host table.  If I
> ping explicit IP addresses, the pings are successful only
> occasionally, like 1%-5% of the time.  If I add the host to the host
> table and ping, it works all the time.
>
> Why is it that I must add a host to the host table before vxWorks will
> receive packets from it?  I can watch the packets come in through the
> ethernet driver, and somewhere between the mux and the application,
> the packet is just dropped.
>
> I have also noticed that hostGetByName() doesn't modify the host
> table.  Every time I do a remote access to a new machine, I must add
> that host to the host table, even if I don't have a domain name for
> it.  This makes things extremely inconvenient, since I must
> potentially do a hostAdd() at EVERY place in the application where a
> remote socket is opened.
>
> On top of that, the only way to keep track of the contents of the host
> table seem to be: [1] keep track of them myself (using yet another
> table in memory) or [2] redirect stdout, call hostShow(), and then
> parse the output whenever I want to get the contents of the table.
> Trying to keep track of the routing table brings up the same issues...
>
> Any insights?
> Aaron
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Ready Queue and an ISR
Date: Wed, 14 Nov 2001 23:56:54 GMT
From: dbrya@yahoo.com
Organization: http://www.newsranger.com
Message-ID: <axDI7.25079$xS6.40918@www.newsranger.com>
References: <705c7b34.0111140531.210a3c6f@posting.google.com> <3bf2e41a$1@brateggebdc5.br-automation.co.at>
In article <3bf2e41a$1@brateggebdc5.br-automation.co.at>, Werner Schiendl
says...
>
>Hi,
>
>What is the reasons for the two tasks having the same priority?
>If the task that should run first has a higher priority, VxWorks' priority
>based scheduling should guarantee for what you want.
>
>Otherwise, I think it would be better to let the first task notify the
>second one - as Gary M points out in his post, since this does not rely on a
>particular implementation of the scheduler.
>
>hth
>Werner
>
>"Tal" <trosto@hotmail.com> wrote in message
>news:705c7b34.0111140531.210a3c6f@posting.google.com...
>> Hi,
>>
>> I am facing this dilema:
>> I have an ISR in which I am "giving" two semaphores in order to
>> activate two tasks (each task is waiting on a semaphore).
>> Both of the tasks have the same priority.
>> Can I be sure that the order in which I am giving the semaphores is
>> the order in which the tasks will run.
>> In other words, Is it true that when I "give" the first semaphore
>> (while I am in the ISR) the first task moves from the pending queue to
>> the ready queue and then when I "give" the second semaphore (still
>> inside the ISR) the second task moves to the ready queue. Then when I
>> finish the ISR, since the ready queue in a FIFO queue the task which
>> was waiting on the first semaphore will run before the other task.
>>
>> If you can also point me to the manual in which the VxWorks tasks
>> queues are explained, cause in the basic manual those things are not
>> dealt with.
>>
>> Thanks,
>>
>> Tal
>
>
I only mention this because Tal infers a different behavior in his original
post.  I think this is probably posted a number of times, but I'll continue
anyway...
VxWorks does not execute kernel calls (such as semGives) while in ISR context.
These calls are placed on a kernel workQueue until all interrupt processing is
complete.  This has many advantages (and some disadvantages) but we won't get
into that!!!
What's important is that for the situation Tal describes, the two semGives are
placed on the kernel workQueue.  When his ISR is complete all kernel calls on
the workQueue are handled (in a FIFO manner I belive) and the scheduler is run
once.
Dave
       T h e   P T R   G r o u p,   I n c.
    Embedded, Real-Time Solutions, and Training
David Bryan                      Manager, Embedded Services
www.ThePTRGroup.com              Dave@ThePTRGroup.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: muxDevUnload & muxDevLoad after system boot up
Date: 14 Nov 2001 17:37:37 -0800
From: czhao@hns.com (Charlie Zhao)
Organization: http://groups.google.com/
Message-ID: <75b047bf.0111141737.79ed3669@posting.google.com>
References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com>
Further information:
It seems that the ISR of my ethernet driver (ne2000) never be called
after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach,
ifMaskSet, ifAddrSet.
Something wrong with my driver?
czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111140919.b3ed78e@posting.google.com>...
> I checked the traffic with protocol analyser. My board just keeps
> sending ARP request for router IP address. The router did replied it,
> but it seems my boards cannot get the replies.
>
> I checked routeShow, I got some intersting result
>
> 1. before I did the muxDevUnload and reload, the show is:
> ->routeShow
>
> ROUTE NET TABLE
> destination     gateway           flag  Refcnt Use  Interface
> --------------------------------------------------------------
> 0.0.0.0         192.168.128.200   3      0      0    ekh0
> 192.168.128.0   192.168.128.100   101    0      0    ekh0
>
> 2. But after I did did the muxDevUnload and reload, the show is:
> ->routeShow
>
> ROUTE NET TABLE
> destination     gateway           flag  Refcnt Use  Interface
> --------------------------------------------------------------
> 0.0.0.0         192.168.128.200   3      0      0    ekh0
> 0.160.128.32    192.168.128.100   101    0      0    ekh0
> 192.168.128.0   192.168.128.100   101    0      0    ekh0
>
>
> Can expert tell me why I got "0.160.128.32", is this the reason that
> my ethernet interface is no longer working after I did did the
> muxDevUnload and reload.
>
> Thanks a lot
> Charlie Zhao
>
>
>
> czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111131437.6dc89950@posting.google.com>...
> > I tried to test muxDevLoad and muxDevUnload after system boot up.
> > However, I got problem.
> >
> > It is a standalone board and boot from flash disk "/tffs0/". And
> > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet
> > interface is OK. Ping, ftp, telnet are all working.
> >
> > However, I tried to use muxDevUnload to unload the ethernet driver.
> > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
> > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
> > driver.
> >
> > I check with muxShow and ifShow, everything seems OK. The mux driver
> > is there and network interface is there. However, I CANNOT do ping,
> > ftp and whatever network operation.
> >
> > Any expert know what I missed?
> >
> > Thanks a lot.
> > Charlie
---------------------------
Newsgroups: comp.os.vxworks
Subject: Doea TFFS have a size limit?
Date: 14 Nov 2001 21:37:37 -0800
From: Robin_ch@china.com (Robin Tcheng)
Organization: http://groups.google.com/
Message-ID: <3b9cf6e4.0111142137.662cdcc6@posting.google.com>
Hi,
   I'm working on creating TFFS on flash.The flash size is 8M.I call
sysTffsFormat() to leave first 512K unformatted for boot ROM image,
the rest is for TFFS.So the TFFS size should be 7.5M. But after I
called usrTffsConfig() to attach /tffs/ and copied a file with the
size 2M, it said write error after writing 1.5M of that file. A file
which is less than 1.5M can be written correctly, but the total size
that is usable is 1.5M still!
   My flash type is AMD29LV320.
   Any advice will be appreciated!
   Thanks!
                         Robin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Wed, 14 Nov 2001 18:30:28 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf3705e$0$24487$724ebb72@reader2.ash.ops.us.uu.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com>
Reply-To: "Gary M" <com.vertical@garym>
One additional observation...
An engineer on my project has observed that given two tasks at the same
priority, a call to logMsg() by the first task will cause the second task to
be scheduled before control returns to the first. Surprising, but not
entirely unexpected, since the first task will be preempted by the LogTask,
resulting in the first task being placed at the end of the ready queue of
tasks at that priority.
> mynamvs@nsc.network.com (Venkat Mynampati) wrote in message
news:<65b2abfc.0111091037.7e8ad439@posting.google.com>...
> > Hi,
> > Does logMsg() have any side-effects like unmasking of interrupts?
> > Say, i am in ISR and i masked my interrupts , after that i did a
logMsg(),
> > now, when logMsg() returns, will it unMask the interrupts?
> >
> > What could be effects of calling logMsg() with local variables?
> >
> > TIA
> > Venkat
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: muxDevUnload & muxDevLoad after system boot up
Date: Thu, 15 Nov 2001 08:33:26 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9svr5g$7v4$1@snoopy.bndlg.de>
References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com> <75b047bf.0111141737.79ed3669@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65b71.dip.t-dialin.net
Hi Charlie,
just an idea:
you normally can't disconnect an interrupt. So: could it be that your ISR is
connected twice after reinitialisation and the first connect handles all,
but moves data into old Qs ?
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Charlie Zhao" <czhao@hns.com> schrieb im Newsbeitrag
news:75b047bf.0111141737.79ed3669@posting.google.com...
> Further information:
>
> It seems that the ISR of my ethernet driver (ne2000) never be called
> after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach,
> ifMaskSet, ifAddrSet.
> Something wrong with my driver?
>
>
>
> czhao@hns.com (Charlie Zhao) wrote in message
news:<75b047bf.0111140919.b3ed78e@posting.google.com>...
> > I checked the traffic with protocol analyser. My board just keeps
> > sending ARP request for router IP address. The router did replied it,
> > but it seems my boards cannot get the replies.
> >
> > I checked routeShow, I got some intersting result
> >
> > 1. before I did the muxDevUnload and reload, the show is:
> > ->routeShow
> >
> > ROUTE NET TABLE
> > destination     gateway           flag  Refcnt Use  Interface
> > --------------------------------------------------------------
> > 0.0.0.0         192.168.128.200   3      0      0    ekh0
> > 192.168.128.0   192.168.128.100   101    0      0    ekh0
> >
> > 2. But after I did did the muxDevUnload and reload, the show is:
> > ->routeShow
> >
> > ROUTE NET TABLE
> > destination     gateway           flag  Refcnt Use  Interface
> > --------------------------------------------------------------
> > 0.0.0.0         192.168.128.200   3      0      0    ekh0
> > 0.160.128.32    192.168.128.100   101    0      0    ekh0
> > 192.168.128.0   192.168.128.100   101    0      0    ekh0
> >
> >
> > Can expert tell me why I got "0.160.128.32", is this the reason that
> > my ethernet interface is no longer working after I did did the
> > muxDevUnload and reload.
> >
> > Thanks a lot
> > Charlie Zhao
> >
> >
> >
> > czhao@hns.com (Charlie Zhao) wrote in message
news:<75b047bf.0111131437.6dc89950@posting.google.com>...
> > > I tried to test muxDevLoad and muxDevUnload after system boot up.
> > > However, I got problem.
> > >
> > > It is a standalone board and boot from flash disk "/tffs0/". And
> > > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet
> > > interface is OK. Ping, ftp, telnet are all working.
> > >
> > > However, I tried to use muxDevUnload to unload the ethernet driver.
> > > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
> > > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
> > > driver.
> > >
> > > I check with muxShow and ifShow, everything seems OK. The mux driver
> > > is there and network interface is there. However, I CANNOT do ping,
> > > ftp and whatever network operation.
> > >
> > > Any expert know what I missed?
> > >
> > > Thanks a lot.
> > > Charlie
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS 16 bit Flash MTD
Date: Thu, 15 Nov 2001 08:54:54 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9svsci$87v$1@snoopy.bndlg.de>
References: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65b71.dip.t-dialin.net
Hi,
have you called
flSetWindowBusWidth (vol.socket,16);
?
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Ho-Kuo Chan" <hchan@wavesat.com> schrieb im Newsbeitrag
news:PqBI7.4678$p31.3547158@carnaval.risq.qc.ca...
> Hi,
>     We are developing on a PPC405GP based board and are trying to write an
> MTD for a flash device that supports 16-bit mode. The device is 4 MB which
> results in an addressable range of 0x0 to 0x400000 in byte mode, but an
> addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4
> MB). The trouble is that VxWorks tries to format the addresses in the byte
> mode range. Since we only have one chip @ 4MB, my identify routine sets up
> the follwing variables but with no success:
>
> noOfChips = 1;
> erasableBlockSize = 0x10000L; (64 kB)
> interleaving = 1;
> chipSize = 0x400000; (4 MB)
>
> Has anyone had any success in writing an MTD for 16 bit devices? Any help
> would be appreciated!
>
> --
>
> Ho-Kuo Chan
> Software Designer, Digital Division
> Wavesat Telecom
> (514) 956-6322
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Doea TFFS have a size limit?
Date: Thu, 15 Nov 2001 09:01:21 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9svsoo$8db$1@snoopy.bndlg.de>
References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65b71.dip.t-dialin.net
Hi Robin,
should not be a size problem within TFFS. Size limit begins at 64MB, where
you have to recompile the lib (if you have got the sources) with bigger
cluster sizes. >128MB I haven't tried, but expect the next problems, after
having read some comments in the source ;-)
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Robin Tcheng" <Robin_ch@china.com> schrieb im Newsbeitrag
news:3b9cf6e4.0111142137.662cdcc6@posting.google.com...
> Hi,
>    I'm working on creating TFFS on flash.The flash size is 8M.I call
> sysTffsFormat() to leave first 512K unformatted for boot ROM image,
> the rest is for TFFS.So the TFFS size should be 7.5M. But after I
> called usrTffsConfig() to attach /tffs/ and copied a file with the
> size 2M, it said write error after writing 1.5M of that file. A file
> which is less than 1.5M can be written correctly, but the total size
> that is usable is 1.5M still!
>    My flash type is AMD29LV320.
>    Any advice will be appreciated!
>    Thanks!
>
>                          Robin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: 15 Nov 2001 00:18:41 -0800
From: seado@21cn.com (Seado)
Organization: http://groups.google.com/
Message-ID: <ba0cd0e3.0111150018.53c9cad1@posting.google.com>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com>
Maybe your destination path contains spaces. Try to install to a path
without spaces.
"Mike Hanna" <mikehanna@yahoo.com> wrote in message news:<t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com>...
> It is an ntfs drive, but I believe the access rights are ok.  The setup
> program does create a couple directories and puts a few files there, so I
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A
Date: 15 Nov 2001 00:28:41 -0800
From: hsu_yuan@yahoo.com (Yuan Hsu)
Organization: http://groups.google.com/
Message-ID: <f41f83b1.0111150028.16ee0c3d@posting.google.com>
References: <f41f83b1.0111121925.1d53f556@posting.google.com> <tLvI7.4595$p31.3423958@carnaval.risq.qc.ca>
Hi, Thierry,
We now have some advance from the point where we were in the day I
post the first article. We found that there are bugs in TFFS, which
didn't take into account of two 16-bit flashes interleaved while we
use two intel 28f320J3A to fit for 32-bit data bus width.
In cfiscsIdentify() in "cfiscs.c", it first test for 16-bit mode by
writing 0x98 to enter QUERY mode, but only in a umcomplete mode. It
just think there should have no interleaving for 16-bit flashes. So in
our case, it failed in testing 16-bit mode. Then cfiscsIdentify() go
to test for 8-bit mode by jumping to cfiscsByteIdentify(). The code
for testing 8-bit mode is much more comprehensive, taking into
consideration interleaving. Since it fount 'Q, R, Y' in 40H, 44H, 48H,
it think my flashes are 4 chips of 8-bit flashes interleaved. So I
found now I should write our new 32-bit write and erase functions to
accomodate the need.
As to tffsDrvFormat(), it calles functions in Socket to dealing with
raising voltage before writing(VppOn), or local address
mapping(SetWindow), and calles the write and erase functions in MTD
level to write header into in each Erase Unit. The header is 80 byte.
...
But the problem now is, could anyone offer help on 32-bit write and
erase templete code with our two 16-bit flashes? Any advice will be
highly appreciated.
Yuan Hsu
"Thierry De Corte" <tdecorte@wavesat.com> wrote in message news:<tLvI7.4595$p31.3423958@carnaval.risq.qc.ca>...
> Hi Yuan,
>
>     We are currently having the same problems with 16 bits AMD, Toshiba and
> Intel flash. We have traced the problem to the fact that TFFS calculate 1
> byte per address (byte mode) while he should calculate 2 bytes per address
> (word mode). The result is that if you try to format a 4 meg flash, the
> resulting address range will be 0x400000 while it should 0x2000000. So a
> format command will bust the valid range of addresses and a CPU exception
> will occur.
>
> So if you want to test your stuff right now, I suggest faking the size of
> your flash to half of its actual size. For example, if you have a 4 megs
> flash, initialize your driver with 2 megs for the flash size. You will loose
> 2 meg but you wont bust the address space anymore.
>
> This is of course a temporary solution. We are currently trying to get
> support from WindRiver on this problem. It's been a month but WindRiver is
> still unable to help us.
>
> So my suggestions are:
>     - Complain about the crappy product to WindRiver.
>     - Don't buy TFFS if your flash is not on their support list.
>     - If you are stuck with TFFS and a 16 bits flash, ask your hardware
> engineer to go back to 8 bits mode.
>
> Good Luck
> Thierry De Corte
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS 16 bit Flash MTD
Date: 15 Nov 2001 00:29:00 -0800
From: seado@21cn.com (Seado)
Organization: http://groups.google.com/
Message-ID: <ba0cd0e3.0111150029.7a89c087@posting.google.com>
References: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>
"Ho-Kuo Chan" <hchan@wavesat.com> wrote in message news:<PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>...
> Hi,
>     We are developing on a PPC405GP based board and are trying to write an
> MTD for a flash device that supports 16-bit mode. The device is 4 MB which
> results in an addressable range of 0x0 to 0x400000 in byte mode, but an
> addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4
Do you mean that your flash is only addressable in 16 bit mode? And
does the physical address line address only at 16 bit boundry? If that
is the case, that's the responsiblity of your flash erase and write
routine. You can just divide TFFS's address by 2 and use this value
for output operations.
Regards,
Seado
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU &&Shared memory
Date: 15 Nov 2001 00:34:03 -0800
From: ruchama@septier.com (Ruchama Goldshmidt)
Organization: http://groups.google.com/
Message-ID: <5df340e0.0111150034.58dcdb68@posting.google.com>
References: <5df340e0.0111112315.55186b3c@posting.google.com> <3bf009f3$0$59075$e2e8da3@nntp.cts.com>
"Dan Gold" <gold@ensemble.com> wrote in message news:<3bf009f3$0$59075
Hello Dan!
you wrote:
> Can your board boot and run without the MMU or caches ?  If it runs, then
> it's not a BCR problem.  Since enabling the MMU requires software, it would
> be difficult to enable it if you can't boot :-)   Can you boot from your
> shared memory ?
Yes, without the MMU everything is working great includeing the shared
memory
>Does the 8260 get it's HRCW from shared space or just try
> to get it's boot code ?
the HRCW comes from the flash
> What are the other devices (i.e. potential bus
> masters) sharing the memory ?
the master on the bus is an Mcp750 board
> Do you have pipelining turned off
> (bcr[pldp]=1).
yes
> You say it doesn't work with the MMU ?  What happens ?  Machine check ?  DSI
> ?  Hang ?
When I eanable the MMU after running the vmBaseGlobalMapInit routine
in usrMmuInit file the immr is clearing (I'm working with the powerTap
ice...)
and the RAM (from 10000- where I load the application) is all 0's.
  Are you sure you have all your areas setup in the MMU ?  Are you
> using BATs or PTEs ?
I use BATs and I hope I configure them o.k the only area cacheable is
the RAM and other areas are cache inhibited
> correctly initializing rfcr/tfcr fields for the peripherals) with caches
> enabled is another story.
what should be the rfcr diffrent then in a case theat there is no
cache?
thanks for the answers!
Ruchama
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Thu Nov 15 07:30:13 2001
From: "David Laight" <David.Laight@btinternet.com>
Date: Thu Nov 15 07:30:15 PST 2001
Subject: Re: ping timing out if hostname unknown
I suspect that the 'ping' response is fine, but the DNS name lookup is
timing out.
This can be detected because the timeout is about 80 seconds, whereas
the vxWorks ping will give up after 5 seconds (it has horrid behavour).
Adding the name to your local hosts table (I load that table from a local
/etc/hosts file at boot time) stops the DNS timeout.
Unfortunately there is no 'ping -n' equivalent.
    David
From vxwexplo-errs@csg.lbl.gov  Fri Nov 16 04:03:21 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Nov 16 04:03:23 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Nov 16 04:03:15 PST 2001
        Subject: Re: logMsg side-effects
        Subject: Memory usage
        Subject: Building all projects in workspace
        Subject: Probrem with TCP/IP
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: TFFS 16 bit Flash MTD
        Subject: Re: TFFS 16 bit Flash MTD
        Subject: Re: logMsg side-effects
        Subject: Help!Tornado start error.
        Subject: Re: Help!Tornado start error.
        Subject: Re: logMsg side-effects
        Subject: Re: Strange function behaviour
        Subject: Re: Probrem with TCP/IP
        Subject: Re: Doea TFFS have a size limit?
        Subject: Re: clock corruption
        Subject: Re: access greed?
        Subject: Re: MMU &&Shared memory
        Subject: Re: access greed?
        Subject: Problem using taskSpawn in C++
        Subject: VxWorks Restart/Reboot????
        Subject: Autoboot without allowing vxWorks to stop it
        Subject: Re: TFFS 16 bit Flash MTD
        Subject: Re: logMsg side-effects
        Subject: Re: Problem using taskSpawn in C++
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: Target Server issues -- Cache size??
        Subject: Re: Speeding up PCI block transfer
        Subject: Re: VxWorks Restart/Reboot????
        Subject: Re: muxDevUnload & muxDevLoad after system boot up
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: Re: VxWorks Restart/Reboot????
        Subject: Re: Problem using taskSpawn in C++
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: compile assembly codes?? "unresolved expression that must be .."
        Subject: Re: Does TFFS have a size limit?
        Subject: Re: compile assembly codes?? "unresolved expression that must be .."
        Subject: Re: Problem using taskSpawn in C++
        Subject: Re: Probrem with TCP/IP
        Subject: Re: arpresolve problem
        Subject: Re: logMsg side-effects
        Subject: Re: RFC2131 Dhcp code [for ARM].
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: Target Server Console freezes after hitting Properties menu
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Thu, 15 Nov 2001 10:13:16 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <JDPI7.23$c72.57263@newsr2.u-net.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>
>Gary M wrote in message
<3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>...
>"Barry Kelly" <kellyb@spielo.ca> wrote in message
>news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca...
>>
>> I think I have proof that logMsg() enables INT's. I still can't believe
>it!
>> I've used logMsg() in very INT-sensitive areas!
>>
>> Here's my test code. Please tell me what I'm missing here:
>
>From the VxWorks documentation for intLock():
>"Do not call VxWorks system routines with interrupts locked. Violating this
>rule may re-enable interrupts unpredictably."
>Since logMsg() is implemented by sending a message to the LogTask, you have
>effectively violated that rule.
  Surely this cannot apply to any of the functions on the list of ISR-safe
functions, which after all are frequently called from ISRs during which
interrupts are locked, and must not be unlocked ?
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Memory usage
Date: Thu, 15 Nov 2001 14:45:56 +0100
From: Mickael THARAUD <mickael.tharaud@c-s.fr>
Organization: CS-Telecom [Groupe CS - Compagnie des Signaux]
Message-ID: <3BF3C714.6359A200@c-s.fr>
Hi,
  I work with a PPC604 target (powercore 750 from force computer card).
When I use the memShow command, I just see 32Mo but I have much more in
my target.
  Does anyone know how to increase the pool of memory used for my
application ?
Thanks in advance,
  MTH.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Building all projects in workspace
Date: Thu, 15 Nov 2001 15:06:44 +0100
From: "Gunter Ritter" <gunter.ritter@tenovis.com>
Organization: Tenovis GmbH u. Co. KG
Message-ID: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com>
Hi,
I have a workspace containing a bootable project and a lot of downloadable
projects.
Does anybody know a possibility to build all downloadable projects and the
bootable project by clicking only one button?
Thanks.
Gunter
---------------------------
Newsgroups: comp.os.vxworks
Subject: Probrem with TCP/IP
Date: Thu, 15 Nov 2001 17:18:02 +0300
From: "Shrike" <alexey@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <9t0iqn$h44$1@gavrilo.mtu.ru>
 We have the following problem. During data exchange over TCP/IP with *big*
sockets (8192 bytes) we loose or miss some data, where as with *small*
sockets (1024 bytes) all is OK.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Thu, 15 Nov 2001 14:27:52 GMT
From: "Mike Hanna" <mikehanna@yahoo.com>
Organization: Road Runner - NC
Message-ID: <IhQI7.79068$9f4.11193427@typhoon.southeast.rr.com>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com> <ba0cd0e3.0111150018.53c9cad1@posting.google.com>
There no spaces in the path.  Thanks.
Mike
"Seado" <seado@21cn.com> wrote in message
news:ba0cd0e3.0111150018.53c9cad1@posting.google.com...
> Maybe your destination path contains spaces. Try to install to a path
> without spaces.
>
> "Mike Hanna" <mikehanna@yahoo.com> wrote in message
news:<t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com>...
> > It is an ntfs drive, but I believe the access rights are ok.  The setup
> > program does create a couple directories and puts a few files there, so
I
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS 16 bit Flash MTD
Date: Thu, 15 Nov 2001 14:39:44 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <QsQI7.5423$p31.3847099@carnaval.risq.qc.ca>
References: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca> <9svsci$87v$1@snoopy.bndlg.de>
Yes, the window bus width is also set as you describe below.
"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:9svsci$87v$1@snoopy.bndlg.de...
> Hi,
>
> have you called
> flSetWindowBusWidth (vol.socket,16);
> ?
>
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
>  SOFTEC GmbH               Tel +49-731-96600-0
>  Promenade 17                   Fax +49-731-96600-23
>  D-89073 Ulm                    Michael Lawnick
>  Germany                           lawnick@softec.de
>  ==============================================
>
> "Ho-Kuo Chan" <hchan@wavesat.com> schrieb im Newsbeitrag
> news:PqBI7.4678$p31.3547158@carnaval.risq.qc.ca...
> > Hi,
> >     We are developing on a PPC405GP based board and are trying to write
an
> > MTD for a flash device that supports 16-bit mode. The device is 4 MB
which
> > results in an addressable range of 0x0 to 0x400000 in byte mode, but an
> > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes =
4
> > MB). The trouble is that VxWorks tries to format the addresses in the
byte
> > mode range. Since we only have one chip @ 4MB, my identify routine sets
up
> > the follwing variables but with no success:
> >
> > noOfChips = 1;
> > erasableBlockSize = 0x10000L; (64 kB)
> > interleaving = 1;
> > chipSize = 0x400000; (4 MB)
> >
> > Has anyone had any success in writing an MTD for 16 bit devices? Any
help
> > would be appreciated!
> >
> > --
> >
> > Ho-Kuo Chan
> > Software Designer, Digital Division
> > Wavesat Telecom
> > (514) 956-6322
> >
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS 16 bit Flash MTD
Date: Thu, 15 Nov 2001 14:45:08 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <UxQI7.5425$p31.3848862@carnaval.risq.qc.ca>
References: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca> <ba0cd0e3.0111150029.7a89c087@posting.google.com>
Actually, I've tried dividing the address by 2 in my erase and write
routines, but it causes other problems when trying to mount the filesystem
(I beleive it fails in mountFTL). I'm no expert in Flash filesystems, but
tracing the code seems to indicate a problem in the virtual to physical
mapping of FTL. What exactly the problem is what I have difficulty
understanding. This is why I was asking if anyone has had any sucess with
16-bit devices. Thanks for your input!
- --
Ho-Kuo Chan
Software Designer, Digital Division
Wavesat Telecom
(514) 956-6322
"Seado" <seado@21cn.com> wrote in message
news:ba0cd0e3.0111150029.7a89c087@posting.google.com...
> "Ho-Kuo Chan" <hchan@wavesat.com> wrote in message
news:<PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>...
> > Hi,
> >     We are developing on a PPC405GP based board and are trying to write
an
> > MTD for a flash device that supports 16-bit mode. The device is 4 MB
which
> > results in an addressable range of 0x0 to 0x400000 in byte mode, but an
> > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes =
4
>
> Do you mean that your flash is only addressable in 16 bit mode? And
> does the physical address line address only at 16 bit boundry? If that
> is the case, that's the responsiblity of your flash erase and write
> routine. You can just divide TFFS's address by 2 and use this value
> for output operations.
>
> Regards,
> Seado
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Thu, 15 Nov 2001 15:33:57 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf3d319$1@brateggebdc5.br-automation.co.at>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <JDPI7.23$c72.57263@newsr2.u-net.net>
Hi,
are you sure about this?
Couldn't a function use
      intContext( )   Return TRUE if called from interrupt level.
to check if it is running in interrupt context and process differently
depending on that?
regards
Werner
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
news:JDPI7.23$c72.57263@newsr2.u-net.net...
> >Gary M wrote in message
> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>...
> >"Barry Kelly" <kellyb@spielo.ca> wrote in message
> >news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca...
> >>
> >> I think I have proof that logMsg() enables INT's. I still can't believe
> >it!
> >> I've used logMsg() in very INT-sensitive areas!
> >>
> >> Here's my test code. Please tell me what I'm missing here:
> >
> >From the VxWorks documentation for intLock():
> >"Do not call VxWorks system routines with interrupts locked. Violating
this
> >rule may re-enable interrupts unpredictably."
> >Since logMsg() is implemented by sending a message to the LogTask, you
have
> >effectively violated that rule.
>
>   Surely this cannot apply to any of the functions on the list of ISR-safe
> functions, which after all are frequently called from ISRs during which
> interrupts are locked, and must not be unlocked ?
>
>        DaveK
> --
> Burn your ID card!  http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Help!Tornado start error.
Date: Thu, 15 Nov 2001 17:47:41 +0300
From: "Shrike" <alexey@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <9t0kia$in2$1@gavrilo.mtu.ru>
When Tornado II starting it display message: Could'nt read file
WindView.win32.tcl no such file or directory. But it's not true - This file
is there. May be becouse of that RTI products frequently fails Tronado.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help!Tornado start error.
Date: Thu, 15 Nov 2001 16:09:09 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf3db59$1@brateggebdc5.br-automation.co.at>
References: <9t0kia$in2$1@gavrilo.mtu.ru>
Hi,
do you run it on Windows 2000?
The you probably need the Windows 2000 patch, otherwise WindView will not
work.
IIRC, it is included in Cumulative Patch 4, available at WindSurf.
There was a separate patch for the issue as well there.
hth
Werner
"Shrike" <alexey@newmail.ru> wrote in message
news:9t0kia$in2$1@gavrilo.mtu.ru...
> When Tornado II starting it display message: Could'nt read file
> WindView.win32.tcl no such file or directory. But it's not true - This
file
> is there. May be becouse of that RTI products frequently fails Tronado.
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Thu, 15 Nov 2001 08:06:54 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf3e862$0$24244$4c41069e@reader0.ash.ops.us.uu.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <JDPI7.23$c72.57263@newsr2.u-net.net>
Reply-To: "Gary M" <com.vertical@garym>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
news:JDPI7.23$c72.57263@newsr2.u-net.net...
> >Gary M wrote in message
> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>...
> >From the VxWorks documentation for intLock():
> >"Do not call VxWorks system routines with interrupts locked. Violating
this
> >rule may re-enable interrupts unpredictably."
> >Since logMsg() is implemented by sending a message to the LogTask, you
have
> >effectively violated that rule.
>
>   Surely this cannot apply to any of the functions on the list of ISR-safe
> functions, which after all are frequently called from ISRs during which
> interrupts are locked, and must not be unlocked ?
>
The important consideration is from what context the function calls are
made.
ISR-safe means that nothing unpredictable will happen if the function is
called from within an ISR. The ISR can make the call knowing that it will
regain control with the same machine context after the function call
completes.
ISR-safe doesn't apply if the function call occurs at task-level. By
necessity, certain functions must invoke the scheduler so that a newly
unblocked high priority task can run, which is the nature of an RTOS.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Strange function behaviour
Date: 15 Nov 2001 16:30:41 GMT
From: pfk@c.zeiss.de (Frank Klemm)
Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?=
Message-ID: <slrn9v7tsi.3g5.pfk@c.zeiss.de>
References: <slrn9uvsaa.11l.pfk@c.zeiss.de> <3beff29e$1@brateggebdc5.br-automation.co.at> <slrn9v2s42.3g5.pfk@c.zeiss.de> <ucsI7.3$c72.2459@newsr2.u-net.net>
Reply-To: pfk@uni-jena.de
On Wed, 14 Nov 2001 10:59:10 -0000, Dave Korn <no.spam@my.mailbox.invalid> wrote:
>Frank Klemm wrote in message ...
>>On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl <ws-news@gmx.at> wrote:
>>>Hi,
>>>
>>>For x86, the data type 'long long' is not 'officially' supported, IIRC.
>>>Therefore the missing symbols ___udivdi3, etc.
>>>
>>>I do not see an other obvious mistake, apart from the fact the you seem to
>>>have a main() function.
>>>You MUST NOT have a main function in any VxWorks project.
>>>
>>The main() function is for testing the same code unter NT, Linux, MS-DOS.
>
>  Does this mean that you don't *call* the "main" function under vxworks,
> but call directly into "start"?  That should be fine then.
>
Yes. main() is only used under Windows/Linux.
Under VxWorks I call:
- -> start
> But you shouldn't try and call the "main" function from vxworks, as
> compilers put secret compiler magic stuff into the beginning of functions
> called "main", and this stuff will not work correctly on vxworks.
>
What is that for stuff? First I know is that main() always uses C-Linking,
never C++ linking. Seconds is that main() can align the stack.
>  Also in regard to the strange behaviour of your system: are you testing
>this function from the command shell?  That runs at the highest priority in
>the system, so as soon as it reaches that busy-wait loop, every other task
>will be locked out including the network!  Does it work properly if you
>spawn it using the 'sp' command instead of executing the function name
>directly ?
>
Thank you for your help. The Network connection is very fragile.
Doing more than 10 ms of busy loop drops all network connection forever.
A
    taskPrioritySet ( 0, 51 );
solves the problem.
- --
Frank Klemm
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Probrem with TCP/IP
Date: Thu, 15 Nov 2001 16:52:06 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <9kSI7.34$c72.73269@newsr2.u-net.net>
References: <9t0iqn$h44$1@gavrilo.mtu.ru>
Shrike wrote in message <9t0iqn$h44$1@gavrilo.mtu.ru>...
> We have the following problem. During data exchange over TCP/IP with *big*
>sockets (8192 bytes) we loose or miss some data, where as with *small*
>sockets (1024 bytes) all is OK.
  First guess: you're losing the last packet or so when the socket is
closed.  You need to implement a graceful close rather than an abort.  Check
the shutdown() function, you'll need to use it prior to calling close at
each end of the socket.
     DaveK
 --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Doea TFFS have a size limit?
Date: Thu, 15 Nov 2001 09:21:47 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com>
References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de>
With TFFS 1.0 I've gone up to 256MB, with TFFS 2.0 I've gone up to 992MB.
Can't hit the magical 1GB due to TFFS limitations.
I can't remember the layout of the LV320 but make sure all the sectors
you're using for TFFS are the same size (64K I believe).
What does dosFsConfigShow() say after you've formatted your flash ?
  hth,
   Dan Gold   gold@ensemble.com
"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:9svsoo$8db$1@snoopy.bndlg.de...
> Hi Robin,
>
> should not be a size problem within TFFS. Size limit begins at 64MB, where
> you have to recompile the lib (if you have got the sources) with bigger
> cluster sizes. >128MB I haven't tried, but expect the next problems, after
> having read some comments in the source ;-)
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
>  SOFTEC GmbH               Tel +49-731-96600-0
>  Promenade 17                   Fax +49-731-96600-23
>  D-89073 Ulm                    Michael Lawnick
>  Germany                           lawnick@softec.de
>  ==============================================
>
> "Robin Tcheng" <Robin_ch@china.com> schrieb im Newsbeitrag
> news:3b9cf6e4.0111142137.662cdcc6@posting.google.com...
> > Hi,
> >    I'm working on creating TFFS on flash.The flash size is 8M.I call
> > sysTffsFormat() to leave first 512K unformatted for boot ROM image,
> > the rest is for TFFS.So the TFFS size should be 7.5M. But after I
> > called usrTffsConfig() to attach /tffs/ and copied a file with the
> > size 2M, it said write error after writing 1.5M of that file. A file
> > which is less than 1.5M can be written correctly, but the total size
> > that is usable is 1.5M still!
> >    My flash type is AMD29LV320.
> >    Any advice will be appreciated!
> >    Thanks!
> >
> >                          Robin
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Thu, 15 Nov 2001 17:26:02 GMT
From: Ephraim Gadsby <a@b.c>
Organization: - minimal
Message-ID: <iit7vtof7hi7sojor7rcvofeij3pcr94nj@4ax.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net> <3BF139D5.BDCEA769@hotmail.com>
On Tue, 13 Nov 2001 16:18:45 +0100, Martin Alle <
m@hotmail.com> wrote:
>
>We applied a small hack using the following script command:
>
>(short)*(clock_gettime+0x62)=(short)&vxAbsTicks
>
>
>which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image.
>
>
>**** And this fixed our problem ****
Presumably though you still have some code giving an incorrect tick
value to a vxWorks call. Otherwise vxTicks would only jump once  after
each 16 months of uptime.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: access greed?
Date: Thu, 15 Nov 2001 17:00:14 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <r2TI7.36$c72.80962@newsr2.u-net.net>
References: <94344945.dafc0346@nntp.salon.com>
  Beware the followups set on this post.  For those who haven't met him
before, this is an angry spammer who goes by the nick of hipcrime, and who
is actually dumb enough to believe his own propaganda that there are
millions of people out there who desparately want to receive and read mass
floods of spam and are disappointed when it gets cancelled.
  Anyone who wants to know more could check out
Message-ID: <3bf31b3a_1@nntp2.nac.net>
(M$OE users, click here:  news:<3bf31b3a_1@nntp2.nac.net> )
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: MMU &&Shared memory
Date: Thu, 15 Nov 2001 09:36:02 -0800
From: "Dan Gold" <gold@ensemble.com>
Message-ID: <3bf3fd53$0$23678$e2e8da3@nntp.cts.com>
References: <5df340e0.0111112315.55186b3c@posting.google.com> <3bf009f3$0$59075$e2e8da3@nntp.cts.com> <5df340e0.0111150034.58dcdb68@posting.google.com>
"Ruchama Goldshmidt" <ruchama@septier.com> wrote in message
news:5df340e0.0111150034.58dcdb68@posting.google.com...
> "Dan Gold" <gold@ensemble.com> wrote in message news:<3bf009f3$0$59075
>
> you wrote:
> > Can your board boot and run without the MMU or caches ?  If it runs,
then
> > it's not a BCR problem.  Since enabling the MMU requires software, it
would
> > be difficult to enable it if you can't boot :-)   Can you boot from your
> > shared memory ?
>
> Yes, without the MMU everything is working great includeing the shared
> memory
How about just the MMU and no caches ?  That at least lets you know your MMU
setup is ok.
> > What are the other devices (i.e. potential bus
> > masters) sharing the memory ?
>
> the master on the bus is an Mcp750 board
>
> > Do you have pipelining turned off
> > (bcr[pldp]=1).
>
> yes
>
> > You say it doesn't work with the MMU ?  What happens ?  Machine check ?
DSI
> > ?  Hang ?
>
> When I eanable the MMU after running the vmBaseGlobalMapInit routine
> in usrMmuInit file the immr is clearing (I'm working with the powerTap
> ice...)
> and the RAM (from 10000- where I load the application) is all 0's.
So it looks like something may be wrong in your MMU setup.
>   Are you sure you have all your areas setup in the MMU ?  Are you
> > using BATs or PTEs ?
>
> I use BATs and I hope I configure them o.k the only area cacheable is
> the RAM and other areas are cache inhibited
Normally vxWorks uses PTEs (in sysPhysMemDesc[]) to map in the RAM.  If
you're using BATs, did you disable the PTE mapping ?   Are you sure you have
the IBATs and DBATs setup properly ?  Do you have all your memory areas
(flash, RAM, 8260 DPRAM, etc...) covered in DBATs ?
When you say the RAM, is that the RAM the 8260 core is executing, or memory
that's shared between the 8260 and the master, or...
Are you expecting the 750 master and the 8260 to use snooping to maintain
coherency for the shared ram ?  Did you set the M bit in the DBATs on the
8260, and siumcr[ese], if appropriate ?
> what should be the rfcr diffrent then in a case theat there is no
> cache?
If there is caching, you want to set the rfcr[gbl] and tfcr[gbl].  If
there's no caching, you probably don't want it set.
Can your board run if the 8260 is executing and no one accesses the shared
memory ?
  hth,
   Dan Gold   gold@ensemble.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: access greed?
Date: 15 Nov 2001 13:12:59 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uadxnrjh0.fsf@yahoo.com>
References: <94344945.dafc0346@nntp.salon.com> <r2TI7.36$c72.80962@newsr2.u-net.net>
Sender: bpringlemeir@DeadDuck
>>>>> "Dave" == Dave Korn <no.spam@my.mailbox.invalid> writes:
[snip]
 Dave>   Anyone who wants to know more could check out
 Dave> Message-ID: <3bf31b3a_1@nntp2.nac.net>
 Dave> (M$OE users, click here: news:<3bf31b3a_1@nntp2.nac.net> )
Works for Emacs Gnus users as well... and of course, you can cancel
any post with followups set to "news.admin.net-abuse.usenet".
Stupidly easy as far as I am concerned.
regards,
Bill Pringlemeir.
- --
BOMBED BY IRC SERVER. UNABLE TO DIVE. SINKING. U-368.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Problem using taskSpawn in C++
Date: 15 Nov 2001 10:15:13 -0800
From: jxd171@psu.edu (Jared Daniels)
Organization: http://groups.google.com/
Message-ID: <9915878f.0111151015.7ef9b0ea@posting.google.com>
The lines below are causing compile errors using Tornado 2.1. This
same code gave warnings using Tornado 2.0, but worked correctly.
if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR)
{...}
if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR)
{...}
if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR)
{...}
The output from the compiler is listed below. Anyone have an idea of
what I need to do to fix this?
ccppc -mstrict-align -nostdinc  -fvolatile -fno-builtin -ffor-scope
- -fdollars-in-identifiers -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS
- -D_GNU_TOOL -DSHAREABLE_OBJECTS -D_G4
- -I/pub/vxworks/tornado-2.1-00/target/h
- -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2/std
- -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2
- -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include
- -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/powerpc-wrs-vxworks/include
- -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o
../Main/spMain.cpp
../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not
supported by dump_type
../Main/spMain.cpp: In function `void spMain(long unsigned int, int,
int, int, char *)':
../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to
`(...)'
../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not
supported by dump_type
../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to
`(...)'
../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not
supported by dump_type
../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to
`(...)'
make: *** [spMain.o] Error 1
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks Restart/Reboot????
Date: Thu, 15 Nov 2001 13:20:35 -0600
From: PC User <PCUser@hotmail.com>
Organization: ExecPC Internet - Milwaukee, WI
Message-ID: <3bf417cf$0$43576$272ea4a1@news.execpc.com>
Does anybody know how to initiate a restart/reboot through a user
program?  I would like to have the option in my application to reboot
based on certain conditions.
I would also like to be able to reinitialize my data immediately prior
to reboot in order to allow application tasks to recover state
information so that they may start from some point other than
initialization.
Thanks in advance.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Autoboot without allowing vxWorks to stop it
Date: Thu, 15 Nov 2001 11:28:20 -0800
From: Sridhar Ramanathan <sridharr@qualcomm.com>
Organization: QUALCOMM Incorporated
Message-ID: <3BF41754.6F5AFCDB@qualcomm.com>
Hi,
I need to reboot vxWorks without allowing vxWorks to stop the autoboot
process with the message "Press any key to stop auto-boot". In effect
the reboot should proceed without the countdown. Is it possible?
Thanks for replies in advance
- -Sridhar
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS 16 bit Flash MTD
Date: Thu, 15 Nov 2001 11:28:06 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3BF41746.B210A499@alcatel.com>
References: <PqBI7.4678$p31.3547158@carnaval.risq.qc.ca>
Ho-Kuo,
4MBytes is 0 to 0x40 0000 - doesn't matter if the chip is 8 or 16 bits wide.
I think your chip is 2M x 16-Bit. In this case you have to work in word (2Bytes)
mode. That means your write buffers have to be word alligned.
Check also with the H/W people how they mapped the flash memory. Usually in
such a case the first address line is not used - you cannot address only a byte. So
you will have to left shift your write and erase opcodes.
I have an operational MTD for the AMD 29LV64 which is a 4M x 16-bit. If you
still have pbs send me a mail - I'll send you some code examples.
Stephane.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 15 Nov 2001 11:38:09 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111151138.72d9207f@posting.google.com>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <JDPI7.23$c72.57263@newsr2.u-net.net> <3bf3d319$1@brateggebdc5.br-automation.co.at>
Hello,
Indeed, Werner's comment is accurate. It is important to note the
difference between calling a function from task level with interrupts
locked, and calling the function from an ISR (with or without
interrupts locked - makes no difference).
As was noted elsewhere in this thread, when kernel functions, such as
semGive() or logMsg(), are called from an ISR, some or all of the work
they perform is actually deferred. This means that during an ISR the
state of the interrupt lock will not change since the scheduler will
not be invoked until after the ISR code finishes.
If the same function is called from task level, the operation happens
immediately, and the scheduler will be invoked. If that causes a
change in the current highest priority ready task, then it is possible
that interrupts will be unlocked (depending on the interrupt lock
settings of the new 'current' task).
Does that make sense?
John...
"Werner Schiendl" <ws-news@gmx.at> wrote in message news:<3bf3d319$1@brateggebdc5.br-automation.co.at>...
> Hi,
>
> are you sure about this?
> Couldn't a function use
>
>       intContext( )   Return TRUE if called from interrupt level.
>
>
> to check if it is running in interrupt context and process differently
> depending on that?
>
> regards
> Werner
>
> "Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
> news:JDPI7.23$c72.57263@newsr2.u-net.net...
> > >Gary M wrote in message
>  <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>...
> > >"Barry Kelly" <kellyb@spielo.ca> wrote in message
> > >news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca...
> > >>
> > >> I think I have proof that logMsg() enables INT's. I still can't believe
>  it!
> > >> I've used logMsg() in very INT-sensitive areas!
> > >>
> > >> Here's my test code. Please tell me what I'm missing here:
> > >
> > >From the VxWorks documentation for intLock():
> > >"Do not call VxWorks system routines with interrupts locked. Violating
>  this
> > >rule may re-enable interrupts unpredictably."
> > >Since logMsg() is implemented by sending a message to the LogTask, you
>  have
> > >effectively violated that rule.
> >
> >   Surely this cannot apply to any of the functions on the list of ISR-safe
> > functions, which after all are frequently called from ISRs during which
> > interrupts are locked, and must not be unlocked ?
> >
> >        DaveK
> > --
> > Burn your ID card!  http://www.optional-identity.org.uk/
> > Help support the campaign, copy this into your .sig!
> >
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem using taskSpawn in C++
Date: Thu, 15 Nov 2001 20:28:52 +0000
From: molochai <molochai@vapour-trail.demon.co.uk>
Message-ID: <e311f8d94a%molochai@vapour-trail.demon.co.uk>
References: <9915878f.0111151015.7ef9b0ea@posting.google.com>
In message <9915878f.0111151015.7ef9b0ea@posting.google.com>
          jxd171@psu.edu (Jared Daniels) wrote:
> The lines below are causing compile errors using Tornado 2.1. This
> same code gave warnings using Tornado 2.0, but worked correctly.
>
> if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR)
> {...}
> if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR)
> {...}
> if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR)
> {...}
>
[snip]
> -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o
> ../Main/spMain.cpp
> ../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp: In function `void spMain(long unsigned int, int,
> int, int, char *)':
> ../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to
> `(...)'
> ../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to
> `(...)'
> ../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to
> `(...)'
> make: *** [spMain.o] Error 1
This is undoubtedly because ANSI C++ is much stricter about implicit casts -
in this case those between the function pointers and FUNCPTR - than previous
version of GCC (GCC 2.9.x which is included with T2.1 is practically fully
ANSI complient)
Use of the new(ish) C++ casting operators is well recommended. In this case
you need reinterpret_cast<>() - this is the most dangerous of them, and
allows casts of anything to anything else.
what the first warning is about I have no idea though,
M
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: Thu, 15 Nov 2001 20:31:40 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <MCVI7.117$ae.103437@carnaval.risq.qc.ca>
References: <3BF41754.6F5AFCDB@qualcomm.com>
Hi,
    In your bootConfig.c file in your $WIND_BASE/target/config/all
directory, look for a function called bootCmdLoop. In this function is a
call to autoboot. You can modify the timeout value and recompile a bootrom.
You may wish to edit the autobbot function in the same file so that it
doesn't print the "Press any ..."
- --
Ho-Kuo Chan
Software Designer, Digital Division
Wavesat Telecom
(514) 956-6322
"Sridhar Ramanathan" <sridharr@qualcomm.com> wrote in message
news:3BF41754.6F5AFCDB@qualcomm.com...
> Hi,
> I need to reboot vxWorks without allowing vxWorks to stop the autoboot
> process with the message "Press any key to stop auto-boot". In effect
> the reboot should proceed without the countdown. Is it possible?
>
> Thanks for replies in advance
>
> -Sridhar
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: Thu, 15 Nov 2001 13:35:16 -0700
From: "Behzad Abareshi" <abareshi@yahoo.com>
Organization: NOAO
Message-ID: <9t1911$2e59$1@noao.edu>
References: <3BF41754.6F5AFCDB@qualcomm.com>
The boot flag 0x08 is supposed to disable the countdown; on my system I
still see it, but briefly, enough to hit any key to go to the boot menu if
you are fast :-) I guess that's what you want.
Behzad.
"Sridhar Ramanathan" <sridharr@qualcomm.com> wrote in message
news:3BF41754.6F5AFCDB@qualcomm.com...
> Hi,
> I need to reboot vxWorks without allowing vxWorks to stop the autoboot
> process with the message "Press any key to stop auto-boot". In effect
> the reboot should proceed without the countdown. Is it possible?
>
> Thanks for replies in advance
>
> -Sridhar
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: Thu, 15 Nov 2001 12:47:03 -0800
From: Sridhar Ramanathan <sridharr@qualcomm.com>
Organization: QUALCOMM Incorporated
Message-ID: <3BF429C7.1F1B28D0@qualcomm.com>
References: <3BF41754.6F5AFCDB@qualcomm.com> <9t1911$2e59$1@noao.edu>
Thanks for the answer. But where do I specify the boot flag?
Behzad Abareshi wrote:
> The boot flag 0x08 is supposed to disable the countdown; on my system I
> still see it, but briefly, enough to hit any key to go to the boot menu if
> you are fast :-) I guess that's what you want.
>
> Behzad.
>
> "Sridhar Ramanathan" <sridharr@qualcomm.com> wrote in message
> news:3BF41754.6F5AFCDB@qualcomm.com...
> > Hi,
> > I need to reboot vxWorks without allowing vxWorks to stop the autoboot
> > process with the message "Press any key to stop auto-boot". In effect
> > the reboot should proceed without the countdown. Is it possible?
> >
> > Thanks for replies in advance
> >
> > -Sridhar
> >
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Target Server issues -- Cache size??
Date: Thu, 15 Nov 2001 16:43:15 -0500
From: Jeremiah Frick <jeremyf@improvsys.com>
Organization: Improv Systems, Inc.
Message-ID: <3BF436F3.D5192CC9@improvsys.com>
Hi all,
Another fun problem in the world of VxWorks.  I've been downloading my
project to my vxWorks target over the past few weeks during the
development stage.  Up till today this has been working just fine for
me.  Today, however, I started getting the following error on my target
when I attempt to download the object file:
tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
    Warning: Target server cache for agent memory is full.
 Use the '-m' option to increase the target server cache.
I know the default size of cache for the server is 1k, so I upped it to
4k, thinking that I may have run over or something.  No difference,
though, even with that size increase it produced the same result.  The
following is the server log for the entire session up to that point.
tgtsvr (malta@baldwin): Thu Nov 15 16:24:13 2001
    Wind River Systems Target Server: NT/Win95 version
    Connecting to target agent... succeeded.
    Attaching C++ interface... succeeded.
    Attaching elf OMF reader for MIPS CPU family... succeeded.
    Warning: Unable to start synchronization on target
tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
    Warning: Target server cache for agent memory is full.
 Use the '-m' option to increase the target server cache.
Any help is greatly appreciated.
Thanks,
Jeremy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Speeding up PCI block transfer
Date: Fri, 16 Nov 2001 08:36:51 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3BF43C7B.8EFA033@dsto.defence.gov.au>
References: <3BF2833F.9E79DD83@foi.se>
Maybe I missed something, but if data is to be transferred between a PMC and
local memory, why is the Universe involved? The Universe is for the VME
interface.  If you need to transfer to 'local memory' that resides on the
VME bus, then we have found a significant improvement by using VME DMA. To
enable DMA for the 5100, you need to define  INCLUDE_VME_DMA in config.h.
If you local memory is 5100 memory, then try using whatever DMA support is
available on the PMC PCI interface device (do you know what it is?).
HTH
Tim
Torbjrn Frostemark wrote:
> Hi!
>
> I have a MVME5100 processorboard (Universe II) running  with a PMC
> I/O-module with some DPRAM that is mapped into PCI memory space. It is
> very important to dump the data to local memory as fast as possible when
> needed.
>
> Today I just read data (with sysIn32() )from the module and store it in
> local RAM. This is too slow. I know that the Universe chip has lots of
> registers to play with, but it is not easy to find what to do. Any
> suggstions? DMA? How do I know I use block transfer (or not)?
>
> regards,
>
> Torbjorn
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Restart/Reboot????
Date: Fri, 16 Nov 2001 08:49:08 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3BF43F5C.2C5319EE@dsto.defence.gov.au>
References: <3bf417cf$0$43576$272ea4a1@news.execpc.com>
PC User wrote:
> Does anybody know how to initiate a restart/reboot through a user
> program?  I would like to have the option in my application to reboot
> based on certain conditions.
>
Use reboot( ) in your code.
>
> I would also like to be able to reinitialize my data immediately prior
> to reboot in order to allow application tasks to recover state
> information so that they may start from some point other than
> initialization.
>
> Thanks in advance.
If you use the BOOT_NORMAL option (the default) memory is not cleared on a
reboot. You can either use memory above sysMemTop( ) and below
sysPhysMemTop( ), or memory that will not be overwritten by the boot
sequence, or non volatile memory (see the sysNvRam entries in the
reference manual).  If the data to store is in a known location, you can
always initialise it using a reboot hook (see rebootHookAdd).
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: muxDevUnload & muxDevLoad after system boot up
Date: 15 Nov 2001 15:01:31 -0800
From: czhao@hns.com (Charlie Zhao)
Organization: http://groups.google.com/
Message-ID: <75b047bf.0111151501.692298db@posting.google.com>
References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com> <75b047bf.0111141737.79ed3669@posting.google.com> <9svr5g$7v4$1@snoopy.bndlg.de>
Michael, Thank you very much for response.
Actually the ISR is connected in endStart(), and disconnected in
endStop().
I called muxDevStop, ISR stop responding. then I call muxDevStart().
What supprised me is, the ISR is working again. I may do this many
times without any problem.
Now it is clear, once I call endUnload, then do endLoad, endStart, the
ISR will not be called any more.
So the conclusion is, I may only call endLoad only ONCE. Once I called
endUnload, I will never get my ISR working any more.
So something wrong in endLoad and/or endUnload. But these two
functions are not dealing with ISR, that is what I do not understand.
Thanks again for help.
Charlie
"Michael Lawnick" <Lawnick@softec.de> wrote in message news:<9svr5g$7v4$1@snoopy.bndlg.de>...
> Hi Charlie,
>
> just an idea:
> you normally can't disconnect an interrupt. So: could it be that your ISR is
> connected twice after reinitialisation and the first connect handles all,
> but moves data into old Qs ?
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
>  SOFTEC GmbH               Tel +49-731-96600-0
>  Promenade 17                   Fax +49-731-96600-23
>  D-89073 Ulm                    Michael Lawnick
>  Germany                           lawnick@softec.de
>  ==============================================
>
> "Charlie Zhao" <czhao@hns.com> schrieb im Newsbeitrag
> news:75b047bf.0111141737.79ed3669@posting.google.com...
> > Further information:
> >
> > It seems that the ISR of my ethernet driver (ne2000) never be called
> > after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach,
> > ifMaskSet, ifAddrSet.
> > Something wrong with my driver?
> >
> >
> >
> > czhao@hns.com (Charlie Zhao) wrote in message
>  news:<75b047bf.0111140919.b3ed78e@posting.google.com>...
> > > I checked the traffic with protocol analyser. My board just keeps
> > > sending ARP request for router IP address. The router did replied it,
> > > but it seems my boards cannot get the replies.
> > >
> > > I checked routeShow, I got some intersting result
> > >
> > > 1. before I did the muxDevUnload and reload, the show is:
> > > ->routeShow
> > >
> > > ROUTE NET TABLE
> > > destination     gateway           flag  Refcnt Use  Interface
> > > --------------------------------------------------------------
> > > 0.0.0.0         192.168.128.200   3      0      0    ekh0
> > > 192.168.128.0   192.168.128.100   101    0      0    ekh0
> > >
> > > 2. But after I did did the muxDevUnload and reload, the show is:
> > > ->routeShow
> > >
> > > ROUTE NET TABLE
> > > destination     gateway           flag  Refcnt Use  Interface
> > > --------------------------------------------------------------
> > > 0.0.0.0         192.168.128.200   3      0      0    ekh0
> > > 0.160.128.32    192.168.128.100   101    0      0    ekh0
> > > 192.168.128.0   192.168.128.100   101    0      0    ekh0
> > >
> > >
> > > Can expert tell me why I got "0.160.128.32", is this the reason that
> > > my ethernet interface is no longer working after I did did the
> > > muxDevUnload and reload.
> > >
> > > Thanks a lot
> > > Charlie Zhao
> > >
> > >
> > >
> > > czhao@hns.com (Charlie Zhao) wrote in message
>  news:<75b047bf.0111131437.6dc89950@posting.google.com>...
> > > > I tried to test muxDevLoad and muxDevUnload after system boot up.
> > > > However, I got problem.
> > > >
> > > > It is a standalone board and boot from flash disk "/tffs0/". And
> > > > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet
> > > > interface is OK. Ping, ftp, telnet are all working.
> > > >
> > > > However, I tried to use muxDevUnload to unload the ethernet driver.
> > > > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl,
> > > > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet
> > > > driver.
> > > >
> > > > I check with muxShow and ifShow, everything seems OK. The mux driver
> > > > is there and network interface is there. However, I CANNOT do ping,
> > > > ftp and whatever network operation.
> > > >
> > > > Any expert know what I missed?
> > > >
> > > > Thanks a lot.
> > > > Charlie
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: Thu, 15 Nov 2001 16:17:58 -0800
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3BF45B36.60DEF637@gv.net>
References: <3BF41754.6F5AFCDB@qualcomm.com> <9t1911$2e59$1@noao.edu> <3BF429C7.1F1B28D0@qualcomm.com>
Reply-To: mkesti@gv.net
Sridhar Ramanathan wrote:
>Thanks for the answer. But where do I specify the boot flag?
It's one of the boot parameters that you can alter it by stopping the
auto boot and entering the boot parameter editor.  Or you can specify
it on the default boot line that is defined in config.h.
- --
========================================================================
          Michael Kesti            |  "And like, one and one don't make
                                   |   two, one and one make one."
          mkesti@gv.net            |          - The Who, Bargain
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Restart/Reboot????
Date: 15 Nov 2001 16:33:36 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111151633.47b0665d@posting.google.com>
References: <3bf417cf$0$43576$272ea4a1@news.execpc.com>
Hello,
You really need to read the manuals before posting such trivial
questions ;-) There is a function called reboot() that will allow you
to programmatically reboot the target. A simple look in the index of
your reference guide would have found this function.
As for the second part, you need to declare some memory as reserved
(look for the USER_RESERVED_MEM macro in your BSP and in the manuals -
there is also a tech note about this on WindSurf I believe). Store the
state information in that memory prior to your reboot, and have the
tasks read from there when they start up again.
Make sure you rebuild and reprogram the bootrom on your board with a
version built using the same user reserved memory settings too,
otherwise the bootrom will zero it for you.
HTH,
John...
PC User <PCUser@hotmail.com> wrote in message news:<3bf417cf$0$43576$272ea4a1@news.execpc.com>...
> Does anybody know how to initiate a restart/reboot through a user
> program?  I would like to have the option in my application to reboot
> based on certain conditions.
>
> I would also like to be able to reinitialize my data immediately prior
> to reboot in order to allow application tasks to recover state
> information so that they may start from some point other than
> initialization.
>
> Thanks in advance.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem using taskSpawn in C++
Date: 15 Nov 2001 16:36:31 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111151636.13b11f63@posting.google.com>
References: <9915878f.0111151015.7ef9b0ea@posting.google.com>
Hello,
This is an odd one that occurs in AE too (same compiler). The solution
is relatively simple. Just add (FUNCPTR) in front of the entry
function names for your taskSpawn() call.
It seems that the compiler generates that odd message, instead of a
type mismatch error/warning, when you pass a function to taskSpawn
that doesn't exactly match the prototype. The cast to FUNCPTR should
fix it.
HTH,
John...
jxd171@psu.edu (Jared Daniels) wrote in message news:<9915878f.0111151015.7ef9b0ea@posting.google.com>...
> The lines below are causing compile errors using Tornado 2.1. This
> same code gave warnings using Tornado 2.0, but worked correctly.
>
> if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR)
> {...}
> if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR)
> {...}
> if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR)
> {...}
>
> The output from the compiler is listed below. Anyone have an idea of
> what I need to do to fix this?
>
> ccppc -mstrict-align -nostdinc  -fvolatile -fno-builtin -ffor-scope
> -fdollars-in-identifiers -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS
> -D_GNU_TOOL -DSHAREABLE_OBJECTS -D_G4
> -I/pub/vxworks/tornado-2.1-00/target/h
> -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2/std
> -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2
> -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include
> -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/powerpc-wrs-vxworks/include
> -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o
> ../Main/spMain.cpp
> ../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp: In function `void spMain(long unsigned int, int,
> int, int, char *)':
> ../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to
> `(...)'
> ../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to
> `(...)'
> ../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not
> supported by dump_type
> ../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to
> `(...)'
> make: *** [spMain.o] Error 1
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: 15 Nov 2001 17:45:32 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111151745.a058247@posting.google.com>
References: <3BF41754.6F5AFCDB@qualcomm.com>
Hello,
Take a look in target/config/all/bootConfig.c - in there you will find
a function called bootCmdLoop(). That function is the main command
processing loop for the bootrom. You can change this as much as you
like, including replacing all the command loop processing with just
the code to load the image and start it.
HTH,
John...
Sridhar Ramanathan <sridharr@qualcomm.com> wrote in message news:<3BF41754.6F5AFCDB@qualcomm.com>...
> Hi,
> I need to reboot vxWorks without allowing vxWorks to stop the autoboot
> process with the message "Press any key to stop auto-boot". In effect
> the reboot should proceed without the countdown. Is it possible?
>
> Thanks for replies in advance
>
> -Sridhar
---------------------------
Newsgroups: comp.os.vxworks
Subject: compile assembly codes?? "unresolved expression that must be .."
Date: Thu, 15 Nov 2001 20:04:29 -0700
From: "Okehee Goh" <ogoh@asu.edu>
Organization: Arizona State University
Message-ID: <9t1vih$75m$1@news.asu.edu>
Hello,
This is Okehee Goh in ASU.
I'd like to compile assembly codes for target machine, MBX860.
This assembly codes will not be associated with VxWorks OS.
As a compiler, I tried to use ccppc(gcc) compiler that comes with TornadoII
targeting MBX860.
But it complained with "Error: unresolved expression that must be resolved".
I don't know how to solve this problem.
The following is the command line to compile assembly code "ae3.s".
The next one includes error message that ccppc generated.
The third part is "ae3.s"
I will appreciate your help. Thank you so much.
1. <the command line to compile assembly code "ae3.s".>
ccppc -g -mcpu=860 -ansi -nostdinc -fvolatile -fno-builtin -fno-for-scope -P
 -x assembler-with-cpp -I. -IC:/Tornado/target/h -DCPU=PPC860 -c ae3.s
2.<error message that ccppc generated>
C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s: Assembler messages:
C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:9: Error: unresolved expression
that must be resolved
C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:10: Error: unresolved expression
that must be resolved
...
3. "ae3.s"
 .text
 .align  2
 .globl  main
main:
 .long  0
 .long  0
 .long  0
 lis  r7,0x0180
 addi  r7,r7,0x1000
 addi  r8,r0,0
 stw  r8,0(r7)
 stw  r8,0x1000(r7)
 stw  r8,0x2000(r7)
 lis  r5,0x0180
 li  r6,1
 stw  r6,0(r5)
.L4:
 lwz  r8,0(r7)
 addi  r8,r8,1
 stw  r8,0(r7)
 lwz  r8,0x1000(r7)
 addi  r8,r8,1
 stw  r8,0x1000(r7)
 lwz  r8,0x2000(r7)
 addi  r8,r8,1
 stw  r8,0x2000(r7)
 b  .L4
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Does TFFS have a size limit?
Date: 15 Nov 2001 20:00:49 -0800
From: robin_ch@china.com (Robin Tcheng)
Organization: http://groups.google.com/
Message-ID: <cdd93ac4.0111152000.751c6ae7@posting.google.com>
References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de> <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com>
here is the relpy after calling dosFsConfigShow()
- -> dosFsConfigShow "/tffs0/"
device name:               /tffs0/
total number of sectors:   2486
bytes per sector:          512
media byte:                0xf8
# of sectors per cluster:  4
# of reserved sectors:     1
# of FAT tables:           2
# of sectors per FAT:      2
max # of root dir entries: 192
# of hidden sectors:       1
removable medium:          false
disk change w/out warning: not enabled
auto-sync mode:            not enabled
long file names:           not enabled
exportable file system:    not enabled
lowercase-only filenames:  not enabled
volume mode:               O_RDWR (read/write)
available space:           1263616 bytes
max avail. contig space:   1263616 bytes
value = 0 = 0x0
but the size of my flash is 8M, not 1263616 bytes.
How to enlarge the available space to copy larger files in TFFS?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: compile assembly codes?? "unresolved expression that must be .."
Date: Thu, 15 Nov 2001 23:41:07 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf4c35a$0$178$4c41069e@reader0.ash.ops.us.uu.net>
References: <9t1vih$75m$1@news.asu.edu>
Reply-To: "Gary M" <com.vertical@garym>
Try adding the following to the top of your source file:
#define _ASMLANGUAGE
#include "vxWorks.h"
#include "asm.h"
These define the translation rules used by the compiler for the assembly
language opcodes. They won't cause extra code, data, or references to
externals to be added to your object files.
"Okehee Goh" <ogoh@asu.edu> wrote in message
news:9t1vih$75m$1@news.asu.edu...
> Hello,
>
> This is Okehee Goh in ASU.
>
>
> I'd like to compile assembly codes for target machine, MBX860.
>
> This assembly codes will not be associated with VxWorks OS.
>
> As a compiler, I tried to use ccppc(gcc) compiler that comes with
TornadoII
> targeting MBX860.
>
> But it complained with "Error: unresolved expression that must be
resolved".
>
> I don't know how to solve this problem.
>
>
> The following is the command line to compile assembly code "ae3.s".
>
> The next one includes error message that ccppc generated.
>
> The third part is "ae3.s"
>
> I will appreciate your help. Thank you so much.
>
> 1. <the command line to compile assembly code "ae3.s".>
>
>
ccppc -g -mcpu=860 -ansi -nostdinc -fvolatile -fno-builtin -fno-for-scope -P
>  -x assembler-with-cpp -I. -IC:/Tornado/target/h -DCPU=PPC860 -c ae3.s
>
> 2.<error message that ccppc generated>
>
> C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s: Assembler messages:
>
> C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:9: Error: unresolved expression
> that must be resolved
>
> C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:10: Error: unresolved expression
> that must be resolved
>
> ...
>
> 3. "ae3.s"
>
>  .text
>
>  .align  2
>  .globl  main
> main:
>  .long  0
>  .long  0
>  .long  0
>  lis  r7,0x0180
>  addi  r7,r7,0x1000
>  addi  r8,r0,0
>  stw  r8,0(r7)
>  stw  r8,0x1000(r7)
>  stw  r8,0x2000(r7)
>
>  lis  r5,0x0180
>  li  r6,1
>  stw  r6,0(r5)
>
> .L4:
>  lwz  r8,0(r7)
>  addi  r8,r8,1
>  stw  r8,0(r7)
>
>  lwz  r8,0x1000(r7)
>  addi  r8,r8,1
>  stw  r8,0x1000(r7)
>
>  lwz  r8,0x2000(r7)
>  addi  r8,r8,1
>  stw  r8,0x2000(r7)
>
>  b  .L4
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem using taskSpawn in C++
Date: Fri, 16 Nov 2001 10:21:06 +0100
From: "Geurt Vos" <G.Vos@rohill.nl>
Organization: Rohill Technologies BV
Message-ID: <4ql2t9.b34.ln@svr004.rohill.nl>
References: <9915878f.0111151015.7ef9b0ea@posting.google.com> <e311f8d94a%molochai@vapour-trail.demon.co.uk>
> Use of the new(ish) C++ casting operators is well recommended. In this
case
> you need reinterpret_cast<>() - this is the most dangerous of them, and
> allows casts of anything to anything else.
>
Almost. That is, with reinterpret_cast it is (at least) not allowed to to
cast
between pointers to functions and pointers to objects. GCC 2.7.2 did
allow this, but now the newer one (2.9x) correctly coughs up an error...
[ANSI C++ forbids casting between pointers to functions and objects]
Example:
void F() { }
int main()
{
    void *p = reinterpret_cast<void *>(F);
}
So if you have to call some function, where a pointer to function must
be passed as pointer to objects (usually as void*), either change the
API or use a C-style cast (unsure whether it should work, all I know
is that it _does_ work):
int main()
{
    void *p = (void *)F;
}
Geurt
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Probrem with TCP/IP
Date: Fri, 16 Nov 2001 12:57:30 +0300
From: "Shrike" <alexey@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <9t2nu7$2jdi$1@gavrilo.mtu.ru>
References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net>
Hi!
We shutdown the connection before we finish tasks. So, we think that we
loose data DURING the transfer. Another case is that the our program on the
host can't process OnReceive notification messages in time or loose them (if
it is possible).
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: arpresolve problem
Date: Fri, 16 Nov 2001 10:29:17 GMT
From: brede.thurmann@kongsberg-simrad.com (BT)
Message-ID: <3bf4e9b0.18129348@news.eunet.no>
References: <9r6tou$co5$1@news.storm.ca> <4f09bb68.0110300708.519dc187@posting.google.com>
I do also get this ARP problem when I went from VxWorks 5.3.1 to 5.4.
It seems to me, but I have not finnished investigating my problem yet
that on 5.3.1 the system "automatic" alocated more mbufs if needed up
to a maximum limit. On 5.4 I have to set up a fixed maximum mbuf
configuration. Is this correct or does anyone have any more comments
on this.
BT
On 30 Oct 2001 07:08:12 -0800, akarpov@my-deja.com (Alex) wrote:
>According to WindRiver three common reasons for "arpresolve: can't
>allocate llinfo" error message are:
>
>1. The default network stack system memory pool used for
>routes,sockets...is too small.
>2. The vxWorks target has a misconfigured route table.
>3. Calling a function like etherAddrResolve to resolve non-local
>addresses
>
>Hope this helps
>Alex
>
>"Yi Qin" <yi@ss8networks.com> wrote in message news:<9r6tou$co5$1@news.storm.ca>...
>> I have a system with which functions normally in a network. It
>> handles the IP traffic pretty well except from time to time, it
>> prints to the console
>>
>> "(tNetTask): arpresolve: can't allocate llinfo0x3d57e18"
>>
>> I can't tell if there are packets drop because of this, but my
>> system continues to handle about 1000 messages per second.
>>
>> Any idea what causes the tNetTask to complain? Does this
>> have to do with the pool sizes?
>>
>> TIA.
>>
>> Yi Qin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: 16 Nov 2001 11:01:58 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B7A9B82681borkhuisagerecom@135.7.153.101>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111120935.5d657c7f@posting.google.com>
mynamvs@nsc.network.com (Venkat Mynampati) wrote:
> Thanks for replying. Does a context switch unlocks the interrupts?
> Where can i get more info on this? Also,if unlocking can happen on
> context-switch, then all the system tasks, like tNetTask or any task
> that has higher priority than my application task(which locked the
> ints, because it is a requirement) will unlock interrupts.
> Also, you said about doc's, could you pls give list of docs to read
> (which i will try to get hold of). my board is ebsa285.
I know this happens for MIPS (IDT), where the status register is one of the
registers that is stored in the TCB, and restored on every task switch.
This caused the following problem: an interrupt was for some reason only
enabled during tNetTask. So when this interrupt occured it had to wait
until tNetTask started (even if the system was idle) and then it was
executed......
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: RFC2131 Dhcp code [for ARM].
Date: 16 Nov 2001 11:33:17 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B7FEB26A22borkhuisagerecom@135.7.153.101>
References: <u4rnys5n0.fsf@yahoo.com>
Bill Pringlemeir <bpringlemeir@yahoo.com> wrote:
> Would any care to share RFC2131 client code with me, or point me to
> one?  Apparently, WRS is not supporting this for the ARM.  I have
> several Linux DHCP clients.  I am just trying to decide which is
> easier; to port the code or change the OS ;-) I guess March of 1997 is
> rather current.
You could try to get T2.1 (WRS code: TDK-14181-ZC-00 afaik), that includes
the new DHCP code. Another possibility would be to ask your FAE to compile
the new code for your distribution (T2.0.1 I guess).
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: 16 Nov 2001 11:36:21 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B80709C675borkhuisagerecom@135.7.153.101>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com>
"Mike Hanna" <mikehanna@yahoo.com> wrote:
> It is an ntfs drive, but I believe the access rights are ok.  The setup
> program does create a couple directories and puts a few files there, so
> I don't think thats it.  I also tried logging in using the local
> administrator account and got the same results.
Did you try to install it on a local disk?
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server Console freezes after hitting Properties menu
Date: 16 Nov 2001 11:39:14 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B80EDABA00borkhuisagerecom@135.7.153.101>
References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net>
"Mark Galecki" <MGalecki@SBS.com> wrote:
> we have Tornado 2.0 installation on NT 4.0 host.  I attach a Target
> Server to a target running VxWorks, and I make it show a console.  Now,
> on console, which is a DOS CommandPrompt Window, I hit the Properties
> menu item (which is used to change the layout, colors and fonts).
>
> Upon this, the Properties Dialog freezes.   I can shutdown the target
> server and then the console vanishes and I can restart the target
> server.
I could be a file-permissions problem. When you open the properties window
I think Windows is trying to open a file, and from some stations it is
allowed to, from others it is not.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Fri Nov 16 07:59:02 2001
From: "David Laight" <David.Laight@btinternet.com>
Date: Fri Nov 16 07:59:04 PST 2001
Subject: Re: clock corruption
> We applied a small hack using the following script command:
>
> (short)*(clock_gettime+0x62)=(short)&vxAbsTicks
>
> which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image.
You need to patch clock_settime as well.....
Also do a better job of the patch!  Check the old intruction (in case
it all gets fixed), I suspect you have 32 bit addresses in the code
(or the above wouldn't work at all) so overwrite all 32 bits - or it will
fail when vxTicks and vxAbsTicks end up in different 64k blocks of data.
The other 'problem' is that this 'fixes' the clock problem, it doesn't
solve the underlying problem of why somwone is doing a timeout (etc)
call that causes a recalibration of vxTicks.
Try adding a breakpoint at qPriListCalibrate() and see who traps there.
You may have to use the target debugger, you may have to use
taskOptionsSet() to set tNetTask breakable....
Then you should find the real cause...
I just tried it...
-> ddd=wdCreate()
-> sp wdStart,ddd,20,logMsg,"zzz\n"
Will test a watchdog...
-> vxAbsTicks-vxTicks
value = 0 = 0x0
As expected...
-> sp wdStart,ddd,-20,logMsg,"zzz\n"
-> vxAbsTicks-vxTicks
value = something non zero...
My attempts to breakpoint qPriListCalibrate failed, however overwriting
the code did work! (I think the breakpoints are removed because this is
'kernel' code)  Find an undefined instruction - the one used for breakpoints
will do!  eg:
-> l qPriListCalibrate,1
001e3a34 e1a0c00d MOV r12,r13
-> b qpriListCalibrate
-> sp qpriListCalibrate,1
001e3a34 e7fddefe Illegal,,,
-> bdall
trash code.....
-> *0x1e3a34=0xe7fddefe
(you may have a one or 2 byte breakpoint instruction depending an the
architecture.  For i386 I's guess it is INT3 (0xcc).)
Now
-> sp wdStart,ddd,-20,logMsg,"zzz\n"
generates an undefined instruction trap, 'tt' will give the traceback.
In this case:
    vxTaskEntry + 28    : wdStart
    wdStart + d4        : windWdStart
    windWdStart + 60    : qPriListCalibrate
So where is your (or vxWorks) real bug?
    David
PS: I retyped all the above commands....
From vxwexplo-errs@csg.lbl.gov  Fri Nov 16 21:10:18 2001
From: Lele <shellyxu@svanetworks.com>
Date: Fri Nov 16 21:10:20 PST 2001
Subject: hope to get useful material about VxWorks
Dear Sir,
	Now I spend a lot of time studying VxWorks RTOS.
	I want to ask you for help to get some useful material including your discussing content.
Best Regards!
 Lele
 shellyxu@svanetworks.com
From vxwexplo-errs@csg.lbl.gov  Sat Nov 17 04:03:16 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Nov 17 04:03:18 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Nov 17 04:03:11 PST 2001
        Subject: Re: Target Server issues -- Cache size??
        Subject: Re: Building all projects in workspace
        Subject: Re: Memory usage
        Subject: Re: Target Server issues -- Cache size??
        Subject: Re: Target Server issues -- Cache size??
        Subject: TFFS inclusion problem
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: Building all projects in workspace
        Subject: Re: Target Server issues -- Cache size??
        Subject: T2.1 for Mips MIPS32sfgnu - bootrom/copyLongs
        Subject: end drives & IP fragmentation
        Subject: Options for Assembler and Listings
        Subject: Re: Target Server issues -- Cache size??
        Subject: Re: Options for Assembler and Listings
        Subject: Re: Options for Assembler and Listings
        Subject: Re: Building all projects in workspace
        Subject: Cygwin GDB Users ?
        Subject: Re: TFFS inclusion problem
        Subject: Re: RFC2131 Dhcp code [for ARM].
        Subject: Re: Options for Assembler and Listings
        Subject: Speeding up compressed builds
        Subject: Re: Autoboot without allowing vxWorks to stop it
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: arpresolve problem
        Subject: Re: Options for Assembler and Listings
        Subject: vxWorks Consulting
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: MPC 8260 DB discussion
        Subject: Re: Tornado 2 setup on win2k hangs
        Subject: Re: Does TFFS have a size limit?
        Subject: Tornado virtual console question
        Subject: a compilation of this main() function calls "__eabi."
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server issues -- Cache size??
Date: Fri, 16 Nov 2001 13:07:41 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf50251$1@brateggebdc5.br-automation.co.at>
References: <3BF436F3.D5192CC9@improvsys.com>
Hi,
1. the default for the memory cache size is 1M, not 1k, at least on my
Windows 2000 install of Tornado 2.
2. however, you specify the size if kB in the - same - configuration dialog
(this is a bit ugly, IMHO)
3. In the section command line, you can see what is passed as the -m option.
This uses bytes as unit (so that it uses all units at least somewhere)
A configuration of a target server of mine, with 8MB of memory cache size
reads as follows in command line:
tgtsvr.exe 10.43.80.177 -n pp100 -s -V -m 8388608 -B wdbrpc -c
Q:\AP\AP_Library\Image\debug\vxWorks
hth
Werner
"Jeremiah Frick" <jeremyf@improvsys.com> wrote in message
news:3BF436F3.D5192CC9@improvsys.com...
> Hi all,
>
> Another fun problem in the world of VxWorks.  I've been downloading my
> project to my vxWorks target over the past few weeks during the
> development stage.  Up till today this has been working just fine for
> me.  Today, however, I started getting the following error on my target
> when I attempt to download the object file:
>
> tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
>     Warning: Target server cache for agent memory is full.
>  Use the '-m' option to increase the target server cache.
>
> I know the default size of cache for the server is 1k, so I upped it to
> 4k, thinking that I may have run over or something.  No difference,
> though, even with that size increase it produced the same result.  The
> following is the server log for the entire session up to that point.
>
> tgtsvr (malta@baldwin): Thu Nov 15 16:24:13 2001
>     Wind River Systems Target Server: NT/Win95 version
>     Connecting to target agent... succeeded.
>     Attaching C++ interface... succeeded.
>     Attaching elf OMF reader for MIPS CPU family... succeeded.
>     Warning: Unable to start synchronization on target
> tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
>     Warning: Target server cache for agent memory is full.
>  Use the '-m' option to increase the target server cache.
>
> Any help is greatly appreciated.
>
> Thanks,
> Jeremy
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Building all projects in workspace
Date: 16 Nov 2001 12:15:12 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B870699F46borkhuisagerecom@135.7.153.101>
References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com>
"Gunter Ritter" <gunter.ritter@tenovis.com> wrote:
> Hi,
>
> I have a workspace containing a bootable project and a lot of
> downloadable projects.
>
> Does anybody know a possibility to build all downloadable projects and
> the bootable project by clicking only one button?
Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Memory usage
Date: 16 Nov 2001 12:13:44 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B86C6D38AAborkhuisagerecom@135.7.153.101>
References: <3BF3C714.6359A200@c-s.fr>
Mickael THARAUD <mickael.tharaud@c-s.fr> wrote:
> Hi,
>
>   I work with a PPC604 target (powercore 750 from force computer card).
> When I use the memShow command, I just see 32Mo but I have much more in
> my target.
>
>   Does anyone know how to increase the pool of memory used for my
> application ?
Take a look at you config.h file. Here your memory configuration is
defined, and it is probably fixed at 32Mb. I would suggest not to increase
this, as this can give problems with the 24 bits (short) addressing. What
you can do is to add the extra memory to the pool after initialising your
system using memPartAddToPool.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server issues -- Cache size??
Date: 16 Nov 2001 12:25:29 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915B88C53B1A8borkhuisagerecom@135.7.153.101>
References: <3BF436F3.D5192CC9@improvsys.com>
Jeremiah Frick <jeremyf@improvsys.com> wrote:
> Hi all,
>
> Another fun problem in the world of VxWorks.  I've been downloading my
> project to my vxWorks target over the past few weeks during the
> development stage.  Up till today this has been working just fine for
> me.  Today, however, I started getting the following error on my target
> when I attempt to download the object file:
>
> tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
>     Warning: Target server cache for agent memory is full.
>  Use the '-m' option to increase the target server cache.
Did you check the target server commandline in the config window? What is
the value for the -m option?
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server issues -- Cache size??
Date: Fri, 16 Nov 2001 08:03:23 -0500
From: Jeremiah Frick <jeremyf@improvsys.com>
Organization: Improv Systems, Inc.
Message-ID: <3BF50E9B.2E6E7EFB@improvsys.com>
References: <3BF436F3.D5192CC9@improvsys.com> <Xns915B88C53B1A8borkhuisagerecom@135.7.153.101>
Hi,
It's currently using the default value, which is 1MB, not 1KB, sorry.  I
tried upping the value to 4MB and still had the same problem.  There is no -m
option right now, I'm assuming that indicates the default 1MB value is being
used.
Thanks,
Jeremy
Johan Borkhuis wrote:
> Jeremiah Frick <jeremyf@improvsys.com> wrote:
>
> > Hi all,
> >
> > Another fun problem in the world of VxWorks.  I've been downloading my
> > project to my vxWorks target over the past few weeks during the
> > development stage.  Up till today this has been working just fine for
> > me.  Today, however, I started getting the following error on my target
> > when I attempt to download the object file:
> >
> > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
> >     Warning: Target server cache for agent memory is full.
> >  Use the '-m' option to increase the target server cache.
>
> Did you check the target server commandline in the config window? What is
> the value for the -m option?
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
>     >(________|__|_[_________]_|__________________________|
>     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: TFFS inclusion problem
Date: Fri, 16 Nov 2001 17:26:31 +0300
From: "Shrike" <alexey@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <9t37ml$31cs$1@gavrilo.mtu.ru>
After we include TFFS support in Tornado's VxWorks workspace the program
don't rebuild because of numerous "undefined reference to ..." errors. After
*explicit* inclusion of sysTffs.c two errors remain and we failed to
eliminate them.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Fri, 16 Nov 2001 14:26:57 GMT
From: "Mike Hanna" <mikehanna@yahoo.com>
Organization: Road Runner - NC
Message-ID: <Rm9J7.87297$9f4.13177229@typhoon.southeast.rr.com>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com> <Xns915B80709C675borkhuisagerecom@135.7.153.101>
Both the setup files and the target installation directory are on the local
c drive (which is ntfs formatted).
Mike
"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:Xns915B80709C675borkhuisagerecom@135.7.153.101...
> "Mike Hanna" <mikehanna@yahoo.com> wrote:
> > It is an ntfs drive, but I believe the access rights are ok.  The setup
> > program does create a couple directories and puts a few files there, so
> > I don't think thats it.  I also tried logging in using the local
> > administrator account and got the same results.
>
> Did you try to install it on a local disk?
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
>     >(________|__|_[_________]_|__________________________|
>     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Building all projects in workspace
Date: Fri, 16 Nov 2001 15:39:37 +0100
From: "Gunter Ritter" <gunter.ritter@tenovis.com>
Organization: Tenovis GmbH u. Co. KG
Message-ID: <9t38f1$lnv$1@proxy2.fe.internet.bosch.com>
References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> <Xns915B870699F46borkhuisagerecom@135.7.153.101>
"Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
news:Xns915B870699F46borkhuisagerecom@135.7.153.101...
> "Gunter Ritter" <gunter.ritter@tenovis.com> wrote:
>
> > Hi,
> >
> > I have a workspace containing a bootable project and a lot of
> > downloadable projects.
> >
> > Does anybody know a possibility to build all downloadable projects and
> > the bootable project by clicking only one button?
>
> Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
>     >(________|__|_[_________]_|__________________________|
>     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
>
Hi,
thanks for the link. This is what Ive been searching for.
But the example does only work, if the directory structure is as follows:
../project1
../project2
../project3
../project4
../superproject
But we have
../project1
../project2
../sub1/project3
../sub1/project4
../sub2/project5
../sub2project6
../superproject
I have tried to modify the example files, but I couldnt do it right yet.
Any hint.
Thanks.
Gunter
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server issues -- Cache size??
Date: Fri, 16 Nov 2001 15:33:51 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf52493$1@brateggebdc5.br-automation.co.at>
References: <3BF436F3.D5192CC9@improvsys.com> <Xns915B88C53B1A8borkhuisagerecom@135.7.153.101> <3BF50E9B.2E6E7EFB@improvsys.com>
Hi,
"Jeremiah Frick" <jeremyf@improvsys.com> wrote in message
news:3BF50E9B.2E6E7EFB@improvsys.com...
> Hi,
>
> It's currently using the default value, which is 1MB, not 1KB, sorry.  I
> tried upping the value to 4MB and still had the same problem.  There is
no -m
> option right now, I'm assuming that indicates the default 1MB value is
being
> used.
Yes of course, if there is no -m value in your command line, you will use
the default (1M).
But what you describe would be an error in the Tornado UI.
Are you changing the Memory Cache Size in the Target server configuration
dialog of Tornado?
And of course you also start it from there (and restart it after shutting
down the old one when changing parameters)?
But if specifying a memory cache size in this dialog does not yield a -m
option, this would be an error in Tornado.
Which host platform and version of Tornado are you using (and which
backend)?
As a workaround, you can start the target server from a command prompt and
add the -m option manually.
(it is specified in bytes here, as I already mentioned)
hth
Werner
>
> Thanks,
> Jeremy
>
> Johan Borkhuis wrote:
>
> > Jeremiah Frick <jeremyf@improvsys.com> wrote:
> >
> > > Hi all,
> > >
> > > Another fun problem in the world of VxWorks.  I've been downloading my
> > > project to my vxWorks target over the past few weeks during the
> > > development stage.  Up till today this has been working just fine for
> > > me.  Today, however, I started getting the following error on my
target
> > > when I attempt to download the object file:
> > >
> > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
> > >     Warning: Target server cache for agent memory is full.
> > >  Use the '-m' option to increase the target server cache.
> >
> > Did you check the target server commandline in the config window? What
is
> > the value for the -m option?
> >
> > Groeten,
> >         Johan
> >
> > --
> >         o o o o o o o . . .   _____________________________
> >        o      _____           ||    Johan Borkhuis        |
> >      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
> >     >(________|__|_[_________]_|__________________________|
> >     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> > === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: T2.1 for Mips MIPS32sfgnu - bootrom/copyLongs
Date: Fri, 16 Nov 2001 15:48:41 +0000
From: Owain Phillips <owain.phillips@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <3BF53559.35B72EFB@siemenscomms.co.uk>
This is a multi-part message in MIME format.
- --------------FED703F42BD40BB5468FAA90
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Seeing some funnies here in the bootroms I am generating...
Our BSP orginally used T2.0 and was based on the standard templates and
RC32364 BSPs. I have recently ported to T2.1 for Mips....but overlooked
generating bootroms....
I come to try and generate new bootroms and have hit several
problems....
romInit.s - The compiler generated wrong code for the relocation macro
that is used to call romStart (Or you could say the earlier compiler
generated extra instructions which allowed the macro to work; nop in
branch delay slot).....got round this one....
Now in romInit just about to in the copyLongs - Code generated by the
compiler wrong and performs jumps into hyperspace.
I am compiling a "Standard" bootInit.c using the makefiles supplied by
wrs and the
compiler is spitting out junk...
Z:\lp6200Platform\bsp>rm bootInit.o
Z:\lp6200Platform\bsp>make bootInit.o
ccmips -Be:\Tornado212/host/x86-win32/lib/gcc-lib/ -c -EB -mips2
- -mno-branch-lik
ely -G 0 -fno-builtin  -O0 -fvolatile -g -Wall -I/h   -I.
- -Ie:\Tornado212\target
\config\all -Ie:\Tornado212\target/h -Ie:\Tornado212\target/src/config
- -Ie:\Torn
ado212\target/src/drv -DCPU=MIPS32 -DMIPSEB -DCPU_VAR=RC32364
- -msoft-float -DSO
FT_FLOAT e:\Tornado212\target\config\all\bootInit.c
e:\Tornado212\target\config\all\bootInit.c:379: warning: `fillLongs'
defined but
 not used
Anyone have any ideas? Can point me at known problems in this
"new" Tornado distribution???
Thanks,
Owain
- --------------FED703F42BD40BB5468FAA90
Content-Type: text/x-vcard; charset=us-ascii;
 name="owain.phillips.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Owain Phillips
Content-Disposition: attachment;
 filename="owain.phillips.vcf"
begin:vcard
n:Phillips;Owain
tel;fax:+44 115 943 4969
tel;work:+44 115 943 2167
x-mozilla-html:TRUE
url:http://www.siemenscomms.co.uk
org:Siemens Comunications Ltd
version:2.1
email;internet:owain.phillips@siemenscomms.co.uk
title:Software Engineer
adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom
fn:Owain Phillips
end:vcard
- --------------FED703F42BD40BB5468FAA90--
---------------------------
Newsgroups: comp.os.vxworks
Subject: end drives & IP fragmentation
Date: 16 Nov 2001 15:50:13 +0000
From: Paul Flinders <P.Flinders@ftel.co.uk>
Organization: Fujitsu Telecommunications Europe Limited
Message-ID: <thv8zd6u34a.fsf@solar-flare.ftel.co.uk>
Can anyone explain the mblk structure that is passed to an END driver
when the IP stack needs to fragment a packet which is larger than the
MTU.
Walking the mblk->mBlkHdr.mNext chain starts out plausibly, I get an
mblk with M_PKTHDR set containing an IP header, followed by some mBlks
with data, followed by another mBlks with  M_PKTHDR set etc.
However it then breaks down. I get an MBLK with just an IP header (20
bytes), followed by three mBlks which have zero length, followed by
another mBlk with an MTU sized chunk, then a *lot* of zero length (i.e
mblk->mBlkHdr.mLen is zero) mBlks.
I haven't (after searching the web, newsgroups and the windsurf site)
found anything wich discusses what happens when IP packets need to be
fragmented. The template drivers don't shed any light on this, they
just call netMblkToBufCopy which copies all of the IP fragments to a
single buffer - I need to pass each fragment to the physical layer.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Options for Assembler and Listings
Date: Fri, 16 Nov 2001 15:52:36 +0000
From: Owain Phillips <owain.phillips@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <3BF53644.DF23EA4C@siemenscomms.co.uk>
This is a multi-part message in MIME format.
- --------------26C2BDB797C0E50F15AF4EF4
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Does GCC have a option to generate a nice mixed 'C' and assembly
listing that contains opcodes?
- -S and -save-temps gets me assembler output, is this as good as it
gets?
Owain
- --------------26C2BDB797C0E50F15AF4EF4
Content-Type: text/x-vcard; charset=us-ascii;
 name="owain.phillips.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Owain Phillips
Content-Disposition: attachment;
 filename="owain.phillips.vcf"
begin:vcard
n:Phillips;Owain
tel;fax:+44 115 943 4969
tel;work:+44 115 943 2167
x-mozilla-html:TRUE
url:http://www.siemenscomms.co.uk
org:Siemens Comunications Ltd
version:2.1
email;internet:owain.phillips@siemenscomms.co.uk
title:Software Engineer
adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom
fn:Owain Phillips
end:vcard
- --------------26C2BDB797C0E50F15AF4EF4--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server issues -- Cache size??
Date: Fri, 16 Nov 2001 10:53:34 -0500
From: Jeremiah Frick <jeremyf@improvsys.com>
Organization: Improv Systems, Inc.
Message-ID: <3BF5367E.5122C136@improvsys.com>
References: <3BF436F3.D5192CC9@improvsys.com> <Xns915B88C53B1A8borkhuisagerecom@135.7.153.101> <3BF50E9B.2E6E7EFB@improvsys.com> <3bf52493$1@brateggebdc5.br-automation.co.at>
Adding the 4096 value in the UI added a -m option, so the UI is fine.  I
actually just bumped it up to 8MB and it seems to be working correctly now.
Thanks everyone,
Jeremy
Werner Schiendl wrote:
> Hi,
>
> "Jeremiah Frick" <jeremyf@improvsys.com> wrote in message
> news:3BF50E9B.2E6E7EFB@improvsys.com...
> > Hi,
> >
> > It's currently using the default value, which is 1MB, not 1KB, sorry.  I
> > tried upping the value to 4MB and still had the same problem.  There is
> no -m
> > option right now, I'm assuming that indicates the default 1MB value is
> being
> > used.
>
> Yes of course, if there is no -m value in your command line, you will use
> the default (1M).
> But what you describe would be an error in the Tornado UI.
> Are you changing the Memory Cache Size in the Target server configuration
> dialog of Tornado?
> And of course you also start it from there (and restart it after shutting
> down the old one when changing parameters)?
>
> But if specifying a memory cache size in this dialog does not yield a -m
> option, this would be an error in Tornado.
> Which host platform and version of Tornado are you using (and which
> backend)?
>
> As a workaround, you can start the target server from a command prompt and
> add the -m option manually.
> (it is specified in bytes here, as I already mentioned)
>
> hth
> Werner
>
> >
> > Thanks,
> > Jeremy
> >
> > Johan Borkhuis wrote:
> >
> > > Jeremiah Frick <jeremyf@improvsys.com> wrote:
> > >
> > > > Hi all,
> > > >
> > > > Another fun problem in the world of VxWorks.  I've been downloading my
> > > > project to my vxWorks target over the past few weeks during the
> > > > development stage.  Up till today this has been working just fine for
> > > > me.  Today, however, I started getting the following error on my
> target
> > > > when I attempt to download the object file:
> > > >
> > > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001
> > > >     Warning: Target server cache for agent memory is full.
> > > >  Use the '-m' option to increase the target server cache.
> > >
> > > Did you check the target server commandline in the config window? What
> is
> > > the value for the -m option?
> > >
> > > Groeten,
> > >         Johan
> > >
> > > --
> > >         o o o o o o o . . .   _____________________________
> > >        o      _____           ||    Johan Borkhuis        |
> > >      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
> > >     >(________|__|_[_________]_|__________________________|
> > >     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> > > === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: 16 Nov 2001 15:59:40 +0000
From: Paul Flinders <P.Flinders@ftel.co.uk>
Organization: Fujitsu Telecommunications Europe Limited
Message-ID: <thv4rnuu2oj.fsf@solar-flare.ftel.co.uk>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk>
Owain Phillips <owain.phillips@siemenscomms.co.uk> writes:
> Does GCC have a option to generate a nice mixed 'C' and assembly
> listing that contains opcodes?
>
> -S and -save-temps gets me assembler output, is this as good as it
> gets?
That's all you can get from gcc
However the gnu objdump utility can disassemble and include source
(objdump -S) as long as the binary has debug symbols.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: Fri, 16 Nov 2001 16:31:48 +0000
From: Owain Phillips <owain.phillips@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <3BF53F74.9B3C0101@siemenscomms.co.uk>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <thv4rnuu2oj.fsf@solar-flare.ftel.co.uk>
This is a multi-part message in MIME format.
- --------------327E25C2FADB04E4437AA9F1
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Paul Flinders wrote:
> Owain Phillips <owain.phillips@siemenscomms.co.uk> writes:
>
> > Does GCC have a option to generate a nice mixed 'C' and assembly
> > listing that contains opcodes?
> >
> > -S and -save-temps gets me assembler output, is this as good as it
> > gets?
>
> That's all you can get from gcc
>
> However the gnu objdump utility can disassemble and include source
> (objdump -S) as long as the binary has debug symbols.
Sounded good tried it....it dissassembled the file but didn't give me
a mixed listing.
But anyway a nice little utility.....that I shall make use of.
Thanks,
Owain
- --------------327E25C2FADB04E4437AA9F1
Content-Type: text/x-vcard; charset=us-ascii;
 name="owain.phillips.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Owain Phillips
Content-Disposition: attachment;
 filename="owain.phillips.vcf"
begin:vcard
n:Phillips;Owain
tel;fax:+44 115 943 4969
tel;work:+44 115 943 2167
x-mozilla-html:TRUE
url:http://www.siemenscomms.co.uk
org:Siemens Comunications Ltd
version:2.1
email;internet:owain.phillips@siemenscomms.co.uk
title:Software Engineer
adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom
fn:Owain Phillips
end:vcard
- --------------327E25C2FADB04E4437AA9F1--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Building all projects in workspace
Date: Fri, 16 Nov 2001 17:53:35 +0100
From: "Martin Raabe" <Martin.Raabe@WindRiver.com>
Organization: T-Online
Message-ID: <9t3gam$na$05$1@news.t-online.com>
References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> <Xns915B870699F46borkhuisagerecom@135.7.153.101> <9t38f1$lnv$1@proxy2.fe.internet.bosch.com>
Hello Gunter,
if you like to link more complex structures and maybe also want to support
this for a team, then you may take a look at SNiFF+, which is a Tornado
PowerTool.
Take a look at the eval. Version on www.windriver.com for further details!
Have success!
Martin Raabe
"Gunter Ritter" <gunter.ritter@tenovis.com> schrieb im Newsbeitrag
news:9t38f1$lnv$1@proxy2.fe.internet.bosch.com...
>
> "Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
> news:Xns915B870699F46borkhuisagerecom@135.7.153.101...
> > "Gunter Ritter" <gunter.ritter@tenovis.com> wrote:
> >
> > > Hi,
> > >
> > > I have a workspace containing a bootable project and a lot of
> > > downloadable projects.
> > >
> > > Does anybody know a possibility to build all downloadable projects and
> > > the bootable project by clicking only one button?
> >
> > Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html
> >
> > Groeten,
> >         Johan
> >
> > --
> >         o o o o o o o . . .   _____________________________
> >        o      _____           ||    Johan Borkhuis        |
> >      .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
> >     >(________|__|_[_________]_|__________________________|
> >     _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
> > === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
> >
>
>
> Hi,
>
> thanks for the link. This is what Ive been searching for.
> But the example does only work, if the directory structure is as follows:
> ../project1
> ../project2
> ../project3
> ../project4
> ../superproject
>
>
> But we have
>
> ../project1
> ../project2
> ../sub1/project3
> ../sub1/project4
> ../sub2/project5
> ../sub2project6
> ../superproject
>
> I have tried to modify the example files, but I couldnt do it right yet.
> Any hint.
>
> Thanks.
> Gunter
>
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Cygwin GDB Users ?
Date: 16 Nov 2001 10:23:57 -0800
From: dward@appiancom.com (David Ward)
Organization: http://groups.google.com/
Message-ID: <679c25ff.0111161023.422de97c@posting.google.com>
Now that I appear to have the source for the ancient WRS-hacked GDB
(the one that uses WTX), I was thinking of trying to build it for
Cygwin.  Has anyone gone down this path ?
Of course I'd rather use GDB 5 but there is no WTX there, and it's
unclear
if the old WDB/RPC interface is still supported in the vxworks target
- - anyone know ?
Thank you,
Dave Ward
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS inclusion problem
Date: Fri, 16 Nov 2001 10:30:43 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3BF55B53.A8E68790@alcatel.com>
References: <9t37ml$31cs$1@gavrilo.mtu.ru>
You have to check if your vxWorks system library contains the ftllite.o module.
You get this one when you buy TFFS subsystem. Check every library in the
                                $WIND_BASE/target/lib
If you find it in a different lib than the one you are currently using you still can
extract it and link explicitly with.
stephane.
Shrike wrote:
> After we include TFFS support in Tornado's VxWorks workspace the program
> don't rebuild because of numerous "undefined reference to ..." errors. After
> *explicit* inclusion of sysTffs.c two errors remain and we failed to
> eliminate them.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: RFC2131 Dhcp code [for ARM].
Date: Fri, 16 Nov 2001 18:37:53 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9t3m6e$r54$1@uranium.btinternet.com>
References: <u4rnys5n0.fsf@yahoo.com> <Xns915B7FEB26A22borkhuisagerecom@135.7.153.101>
It all depends how much of rfc2131 you need.
I fixed the old code to interwork with rfc2131 servers several years ago.
WRS support ought to be able to give it out!#
Maybe I'll just find a home of the web for it......
    David
Johan Borkhuis <borkhuis@agere.com> wrote in message
news:Xns915B7FEB26A22borkhuisagerecom@135.7.153.101...
> Bill Pringlemeir <bpringlemeir@yahoo.com> wrote:
> > Would any care to share RFC2131 client code with me, or point me to
> > one?  Apparently, WRS is not supporting this for the ARM.  I have
> > several Linux DHCP clients.  I am just trying to decide which is
> > easier; to port the code or change the OS ;-) I guess March of 1997 is
> > rather current.
>
> You could try to get T2.1 (WRS code: TDK-14181-ZC-00 afaik), that includes
> the new DHCP code. Another possibility would be to ask your FAE to compile
> the new code for your distribution (T2.0.1 I guess).
>
> Groeten,
>         Johan
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: Fri, 16 Nov 2001 19:35:29 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf55d34$1@brateggebdc5.br-automation.co.at>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk>
Hi,
no idea if this is supported, but maybe you can make GCC to include the C
line numbers as comments into the assembly listing?
Then a tool to mix the two files would be a nice primer task for Perl,
Python or some other scripting language.
hth
Werner
"Owain Phillips" <owain.phillips@siemenscomms.co.uk> wrote in message
news:3BF53644.DF23EA4C@siemenscomms.co.uk...
> Does GCC have a option to generate a nice mixed 'C' and assembly
> listing that contains opcodes?
>
> -S and -save-temps gets me assembler output, is this as good as it
> gets?
>
> Owain
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Speeding up compressed builds
Date: Fri, 16 Nov 2001 18:57:36 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9t3nbc$n1m$1@plutonium.btinternet.com>
For a variety of reasons I've had to do a few build on a slow system.
One bit that seemed exceptionally slow is the 'binToAsm' call (just
after the 'deflate' generating vxWorks.Z.s)
This is done by 'od -bv $infile |
   sed -e "s/^[0-9]*[ ]*//;
    s/ /, 0/g;
    /^[0-9a-fA-F][0-9a-fA-F]/s/^/ .byte 0/"
(ie use od to generate a list of octal bytes, remove the offset, change
the spaces to comma, add the directive - an extra 0 is added to each
number to ensure they are octal).
The above is terribly slow...
Slightly faster (under solaris) is:
 od -An -v -tu1 $infile | tr ' ' ',' |
   sed -e 's/,00*\([0-9]\)/,\1/g;s/^,/      .byte   /'
However it is clear that a C program would be even faster...
It was still sluggish using printf, so...
    char map[256][4];
    for (count = 0; count <= 256; count++)
        sprintf( map[ count ], "%d", count );
    for (;;) {
        count = read( input_fd, buf, BLK_SZ );
        if (count <= 0)
            break;
        for (off = 0; off < count; off++) {
            if (off & 15)
                putchar( ',' );
            else
                fputs( "\n      .byte   ", stdout  );
            fputs( map[ buf[ off ] ], stdout );
        }
    }
now the system is spending very little of its time doing this bit (it was
a lot slower than the deflate!)
If you are using gcc/gas you can pipe EXTRACT_BIN, COMPRESS, BINTOASM
directly into AS - saving that massive intermediate file...
Build (compiling one small object) just took 6m50 - was over 10 minutes
before I played with binToAsm!
Ages ago I sped up 'munch' - by grepping out most of the symbols it
isn't interested in...
nmarm vxWorks.tmp | tee vxWorks.nm | grep " __" | munch > ctdt.c
(I use the symbol table from this stage for a variety of things...)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Autoboot without allowing vxWorks to stop it
Date: Fri, 16 Nov 2001 11:18:47 -0800
From: Sridhar Ramanathan <sridharr@qualcomm.com>
Organization: QUALCOMM Incorporated
Message-ID: <3BF56697.4B2F4D5D@qualcomm.com>
References: <3BF41754.6F5AFCDB@qualcomm.com> <MCVI7.117$ae.103437@carnaval.risq.qc.ca>
Thanks for the information. I ended up recompiling the bootrom and it worked
like a charm.
Thanks again
- -Sridhar
Ho-Kuo Chan wrote:
> Hi,
>     In your bootConfig.c file in your $WIND_BASE/target/config/all
> directory, look for a function called bootCmdLoop. In this function is a
> call to autoboot. You can modify the timeout value and recompile a bootrom.
> You may wish to edit the autobbot function in the same file so that it
> doesn't print the "Press any ..."
>
> --
>
> Ho-Kuo Chan
> Software Designer, Digital Division
> Wavesat Telecom
> (514) 956-6322
> "Sridhar Ramanathan" <sridharr@qualcomm.com> wrote in message
> news:3BF41754.6F5AFCDB@qualcomm.com...
> > Hi,
> > I need to reboot vxWorks without allowing vxWorks to stop the autoboot
> > process with the message "Press any key to stop auto-boot". In effect
> > the reboot should proceed without the countdown. Is it possible?
> >
> > Thanks for replies in advance
> >
> > -Sridhar
> >
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Fri, 16 Nov 2001 13:25:01 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3BF5680D.5A07AC8C@fnal.gov>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com> <Xns915B80709C675borkhuisagerecom@135.7.153.101> <Rm9J7.87297$9f4.13177229@typhoon.southeast.rr.com>
hi,
i had similar problem once ... but on unix where it was umask related
problem .. it could create only one depth sub-dir ... for sake of trying
... try to install it on a FAT fiel system ... you may also check the
access information o fthe sub0dir it _was) able to create ...
hth,
dinker
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: arpresolve problem
Date: Fri, 16 Nov 2001 13:24:37 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BF567F5.94C1250@aps.anl.gov>
References: <9r6tou$co5$1@news.storm.ca> <4f09bb68.0110300708.519dc187@posting.google.com> <3bf4e9b0.18129348@news.eunet.no>
BT wrote:
>
> It seems to me, but I have not finnished investigating my problem yet
> that on 5.3.1 the system "automatic" alocated more mbufs if needed up
> to a maximum limit. On 5.4 I have to set up a fixed maximum mbuf
> configuration. Is this correct or does anyone have any more comments
> on this.
That is correct.  Read section 4.6.3 of the VxWorks Network Programmer's
Guide carefully, use netStackDataPoolShow() and netStackSysPoolShow() to
help work out what your buffer usage is and adjust the pool sizes as
needed.  I do that by editing the tables in
target/src/config/usrNetwork.c, but there may be a way of doing this from
the GUI if that's how you build your projects (we just use make).
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: Fri, 16 Nov 2001 13:29:30 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BF5691A.3F102D34@aps.anl.gov>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <thv4rnuu2oj.fsf@solar-flare.ftel.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk>
Owain Phillips wrote:
>
> Paul Flinders wrote:
>
> > Owain Phillips <owain.phillips@siemenscomms.co.uk> writes:
> >
> > However the gnu objdump utility can disassemble and include source
> > (objdump -S) as long as the binary has debug symbols.
>
> Sounded good tried it....it dissassembled the file but didn't give me
> a mixed listing.
Are you sure you compiled the object file with -g?  It's possible some CPU
architectures don't support this, but it works for me.
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: vxWorks Consulting
Date: Fri, 16 Nov 2001 19:36:38 GMT
From: "cfk@pacbell.net" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <aVdJ7.13422$LU7.1024052382@newssvr21.news.prodigy.com>
Please pardon my unabashed salesmanship. I am hoping that a request for
consulting or contract work on vxWorks for an experienced Windriver
Consultant will get to someone who needs driver or BSP work done, preferably
in Orange County CA. My resume is at http://home.pacbell.net/cfk
Charles Krinke
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: Fri, 16 Nov 2001 21:13:45 GMT
From: "Mike Hanna" <mikehanna@yahoo.com>
Organization: Road Runner - NC
Message-ID: <dkfJ7.1096$QN6.310861@typhoon.southeast.rr.com>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com> <Xns915B80709C675borkhuisagerecom@135.7.153.101> <Rm9J7.87297$9f4.13177229@typhoon.southeast.rr.com> <3BF5680D.5A07AC8C@fnal.gov>
It creates three level of subdirs, must be a different problem.
Mike
---------------------------
Newsgroups: comp.os.vxworks,comp.sys.powerpc.tech
Subject: MPC 8260 DB discussion
Date: Fri, 16 Nov 2001 19:15:49 GMT
From: u687591552@spawnkill.ip-mobilphone.net  (BT)
Message-ID: <l.1005938150.1109069824@yangtze.fnc.fujitsu.com>
Sender: u687591552@spawnkill.ip-mobilphone.net
I'm using MPC 8260. I'm write a driver for SCC. I am facing two choix in
terms of pass packets to BD's data buffer.
1)simpler one, driver allocates a fixed number of data buffers, assign
them to DBs. When serving driver's user, the driver copy packets from
user data buffer to its own data buffers or vise versa. An extra copy here.
2)Assign directly user data buffer to SCC's BD. In this case most likely
every time the driver has to free buffer for the user after using it
and reallocate for RX. In this case software have to deal with the situation
like allocate buffer fails. This encrease ISR complexity and decrease
the performance.
I wonder if anyone has such experience before and make some comments.
- --
Sent by guangbutun  from  hotmail in area  com
This is a spam protected message. Please answer with reference header.
Posted via http://www.usenet-replayer.com/cgi/content/new
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 setup on win2k hangs
Date: 16 Nov 2001 22:17:52 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915BED339CE3Bborkhuisagerecom@135.7.153.101>
References: <GwkI7.66000$9f4.8601438@typhoon.southeast.rr.com> <3BF28297.9AC01EFA@fnal.gov> <t7zI7.110618$jq6.26761708@typhoon.southeast.rr.com> <Xns915B80709C675borkhuisagerecom@135.7.153.101> <Rm9J7.87297$9f4.13177229@typhoon.southeast.rr.com>
"Mike Hanna" <mikehanna@yahoo.com> wrote:
> Both the setup files and the target installation directory are on the
> local c drive (which is ntfs formatted).
Sorry, I read "nfs" instead of ntfs. Using ntfs I never had any problems
however.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Does TFFS have a size limit?
Date: Sat, 17 Nov 2001 00:14:07 GMT
From: Andray Kaganovsky <andreyk@home.com>
Organization: @Home
Message-ID: <Xns915BC3E42195Aandreykhomecom@24.2.9.58>
References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de> <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com> <cdd93ac4.0111152000.751c6ae7@posting.google.com>
robin_ch@china.com (Robin Tcheng) wrote in news:cdd93ac4.0111152000.751c6ae7
@posting.google.com:
> here is the relpy after calling dosFsConfigShow()
> -> dosFsConfigShow "/tffs0/"
> device name:               /tffs0/
> total number of sectors:   2486
> bytes per sector:          512
> media byte:                0xf8
> # of sectors per cluster:  4
> # of reserved sectors:     1
> # of FAT tables:           2
> # of sectors per FAT:      2
> max # of root dir entries: 192
> # of hidden sectors:       1
> removable medium:          false
> disk change w/out warning: not enabled
> auto-sync mode:            not enabled
> long file names:           not enabled
> exportable file system:    not enabled
> lowercase-only filenames:  not enabled
> volume mode:               O_RDWR (read/write)
> available space:           1263616 bytes
> max avail. contig space:   1263616 bytes
> value = 0 = 0x0
>
> but the size of my flash is 8M, not 1263616 bytes.
> How to enlarge the available space to copy larger files in TFFS?
[AndrayK]. If you happen to have source code for the MTD, I suggest
that you set a breakpoint at the end of the MTD's identification
routine, and look at contents of struct FLFlash. Make sure that
MTD reports flash parameters (number of flash blocks, block size
etc.) correctly.
- -Andray
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado virtual console question
Date: Fri, 16 Nov 2001 21:32:46 -0500
From: "Mike Gold" <mike.gold@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <LVjJ7.36023$vR4.4298458@news20.bellglobal.com>
Configure Tornado TargetServer to select
    - Redirect target IO
    - Create Virtual Console
    - Redirect target shell
then we have a Virtual Console comes out, so far so good.
But, when we use it and type command "i", the board is triggered with
a reboot;  however, if we use Tornado host shell, it would be
alright, the tasks info gets listed (a long list of 400 lines).
What is the problem here?
Thanks in advance!
---------------------------
Newsgroups: comp.os.vxworks
Subject: a compilation of this main() function calls "__eabi."
Date: Fri, 16 Nov 2001 20:55:17 -0700
From: "Okehee Goh" <ogoh@asu.edu>
Organization: Arizona State University
Message-ID: <9t4mtt$cpo$1@news.asu.edu>
Hello,
This is Okehee Goh in ASU.
Ihe application I'm developing will run on MBX860 without vxWorks.
I want to use gcc compiler of Tornado for MBX860 trarget machine.
I add main() function which is called from crt0.o.
The assembly code which gcc compiler generated as a compilation of this
main() function calls "__eabi."
But, ldppc complains due to this.
Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't accept
this option.
My survey seems that codes for RS6000 system needs "__eabi." But I don't
know why for MBX860.
How can I go forward to next step for linking?
Thank you so much for your any comments.
Okehee
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sun Nov 18 03:38:51 2001
From: Ilia Bosis <Ilia_Bosis@packetlight.com>
Date: Sun Nov 18 03:38:54 PST 2001
Subject: RE: Problem with TCP/IP
Hi Alexey !
This bells me the ring called "path MTU".
The idea is as such:
For each digital communication media
(Ethernet, FrameRelay, PPP over modem, etc.) there is
the maximum frame length limit. It's value depends on the properties of that
media. In terms of IP that means that there is the upper limit on the IP
datagram length, called Maximum Transfer Unit or MTU.
The point is, because this limit is media-dependant, the protocol layers 3 &
up (i.e. IP, TCP, UDP, and all the application-layer protocols) have
_no_idea_ of what that limit is.
To overcome the obstacle, the IP defines the fragmentation and reassembly
procedure. However, that procedure introduces problems of it's own, so that
it's widely recommended to avoid fragmentation as much, as possible.
Maybe due to this, in many TCP/IP implementations the fragmentation and
reassembly procedure is less debugged (read: bug-ridden) or even outright
broken.
I suspect, that You stuck into such a problem in the VxWorks' IP stack when
You force it to fragment the big (8192 bytes size) packet and than
reassemble it on the receive side.
Note also that as being media-dependant, the fragmentation and reassembly
requires cooperation from the device driver to do it right. If You use Your
own driver, check if it supports the fragmentation/reassembly.
Hope, this helps
 		Ilia.
--------------------------------------------
Ilia Bosis
Software Engineer
PacketLight Networks
Tel:    +972-9-7644228
Fax:    +972-9-7645444
E-mail: Ilia_Bosis@packetlight.com
Web:    www.packetlight.com
Newsgroups: comp.os.vxworks
Subject: Probrem with TCP/IP
Date: Thu, 15 Nov 2001 17:18:02 +0300
From: "Shrike" <alexey@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <9t0iqn$h44$1@gavrilo.mtu.ru>
 We have the following problem. During data exchange over TCP/IP with *big*
sockets (8192 bytes) we loose or miss some data, where as with *small*
sockets (1024 bytes) all is OK.
From vxwexplo-errs@csg.lbl.gov  Sun Nov 18 04:03:10 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Nov 18 04:03:12 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Nov 18 04:03:07 PST 2001
        Subject: Re: a compilation of this main() function calls "__eabi."
        Subject: Re: Intel ev386ex's bsp!
        Subject: TCP/IP Send problem
        Subject: Re: a compilation of this main() function calls "__eabi."
        Subject: Re: a compilation of this main() function calls "__eabi."
        Subject: usage of __asm__ with register name ??
        Subject: Re: Options for Assembler and Listings
        Subject: can someone explain the difference of vxWorks images
        Subject: semaphore question
        Subject: Re: usage of __asm__ with register name ??
        Subject: Re: can someone explain the difference of vxWorks images
        Subject: Re: semaphore question
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: a compilation of this main() function calls "__eabi."
Date: Sat, 17 Nov 2001 08:20:22 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3BF66415.A2AA4BB6@bellsouth.net>
References: <9t4mtt$cpo$1@news.asu.edu>
Okehee Goh wrote:
> Hello,
>
> This is Okehee Goh in ASU.
>
> Ihe application I'm developing will run on MBX860 without vxWorks.
> I want to use gcc compiler of Tornado for MBX860 trarget machine.
> I add main() function which is called from crt0.o.
> The assembly code which gcc compiler generated as a compilation of this
> main() function calls "__eabi."
> But, ldppc complains due to this.
> Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't accept
> this option.
> My survey seems that codes for RS6000 system needs "__eabi." But I don't
> know why for MBX860.
> How can I go forward to next step for linking?
>
> Thank you so much for your any comments.
>
> Okehee
You fundamental problem is that the compiler has made assumptions about
the underlying OS that are (probably) not true.  It sounds as if the compiler
is operating under the assumption that the code will operate on the host
operating system, whatever that is.  If this is not true, you need to
develop a cross-compiler for whatever OS you will use.  Note for
instance that crt0.o is specific for the OS the compiler is running
on, and will not be likely to work on the MB860.
Speaking only for myself,
Joe Durusau
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Intel ev386ex's bsp!
Date: 17 Nov 2001 05:24:46 -0800
From: yongchen@online.sh.cn (chenyong)
Organization: http://groups.google.com/
Message-ID: <d5e50b0c.0111170524.50562d61@posting.google.com>
References: <d5e50b0c.0111111828.123edd5@posting.google.com> <3bf0dd53@netnews.web.de>
Reinhold Wirth <wirth@softec.de> wrote in message news:<3bf0dd53@netnews.web.de>...
> Hi chenyong,
>
>
> >I am using the intel ev386ex board with no ethernet card,and porting
> >the WindRiver's bsp on it !
> >The board has two serial ports,512k flash,4M Dram,etc.
> >Now I have some problems about BSP!
> >I want to use the serial port to connect target server, when I write
> >the VxWorks_Rom(I have involve some banner information!),power on ,and
> >no any words on HyperTerminal;but when I write bootrom_uncmp into
> >flash,I can see the bootline on the HyperTerminal.I do not
> >know how to use bootrom_cmp to download vxWorks image from this 512k
> >space.
> >I want to try other ways,anyone can tell me?
>
>
> * serial output:
> Test your configuration: CONSOLE_TTY should be different from WDB_TTY_CHANNEL.
>
>
> * You want use 512k flash for the bootloader and for vxWorks?
> I think 512 k is not enough memory for both images.
> It is less for vxWorks.
>
>
> I see only 1 realy possibilitys:
> - uses the flash for vxWorks (vxWorks_rom or
>   vxWorks_romCompress).
>   (A application may be loaded to vxWorks)
>
>
> It is possible to load vxWorks with the serial interface, but you need time.
Hi,
Thanks a lot!
I have solved the problem.The problem is that the vxWorks was not
configured correctly under DOS envirment,but vxWorks_rom.bin could not
be built using project tool!some step must be changed that are
different from normal step,u must know how yo use GNU make!
chenyong
---------------------------
Newsgroups: comp.os.vxworks
Subject: TCP/IP Send problem
Date: 17 Nov 2001 07:18:13 -0800
From: paulgruet@hotmail.com (Paul Gruet)
Organization: http://groups.google.com/
Message-ID: <df99ee28.0111170718.3000bc3e@posting.google.com>
Background:
Our system comprises a motorrola MVME2401 target which is networked to
a number of PCs for various GUI functions.
We have for the most part established reliable communications between
these systems, however occasionally a call to send() blocks, hanging
the task handling the transmission of messages.
In order to get around this I have used a watchdog timer to timeout
the call to send(). If it takes more than a few seconds, I shutdown
and close the socket and taskDelete the blocked task. I then attempt
to reconnect the socket using the same procedure originally used to
connect it. In a nutshell this is:
//obtain a socket
sock = socket(AF_INET, SOCK_STREAM, 0)
sockaddr_in serverAddr;
sockaddr_in clientAddr;
serverAddr.sin_family=AF_INET;
serverAddr.sin_port= listenPort; //well known port (in this case 5000)
on which to establish comms
// bind the socket
bind(sock, &serverAddr, sizeof(serverAddr));
listen(sock,2)
accept(sock, &clientAddr, sizeof(clientAddr);
This is mostly successful, however I often see the call to accept()
fail with errno set to S_errno_ECONNABORTED. From this point nothing I
do will re-establish communications.
NB it is quite possible that the network hardware may be suffering
outages or noise which is causing the call to send() to block. My
problem is to make the software implementation robust enough to
withstand these and reconnect gracefully
Paul Gruet
Varian Medical Systems
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: a compilation of this main() function calls "__eabi."
Date: Sat, 17 Nov 2001 09:01:56 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>
References: <9t4mtt$cpo$1@news.asu.edu>
Reply-To: "Gary M" <com.vertical@garym>
Defining a function "main" causes some compilers to generate code to support
the environment. I'm not that familiar with the GNU infrastructure for PPC,
but it looks like the call to __eabi has something to do with extended
relocations.
If you change the name of "main" to anything else, the compiler won't
generate this call. So, you can either rename main to something else (if you
can change crt0), or, rename it and create a simple assembly language module
that defines main and simply branch to your C entry point.
"Okehee Goh" <ogoh@asu.edu> wrote in message
news:9t4mtt$cpo$1@news.asu.edu...
> Hello,
>
> This is Okehee Goh in ASU.
>
> Ihe application I'm developing will run on MBX860 without vxWorks.
> I want to use gcc compiler of Tornado for MBX860 trarget machine.
> I add main() function which is called from crt0.o.
> The assembly code which gcc compiler generated as a compilation of this
> main() function calls "__eabi."
> But, ldppc complains due to this.
> Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't
accept
> this option.
> My survey seems that codes for RS6000 system needs "__eabi." But I don't
> know why for MBX860.
> How can I go forward to next step for linking?
>
> Thank you so much for your any comments.
>
> Okehee
>
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: a compilation of this main() function calls "__eabi."
Date: Sat, 17 Nov 2001 17:14:40 -0700
From: "Okehee Goh" <ogoh@asu.edu>
Organization: Arizona State University
Message-ID: <9t6ucd$hok$1@news.asu.edu>
References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>
Yes, I changed the function "main" to another and it worked out.
Thank you so much.
"Gary M" <com.vertical@garym> wrote in message
news:3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net...
> Defining a function "main" causes some compilers to generate code to
support
> the environment. I'm not that familiar with the GNU infrastructure for
PPC,
> but it looks like the call to __eabi has something to do with extended
> relocations.
>
> If you change the name of "main" to anything else, the compiler won't
> generate this call. So, you can either rename main to something else (if
you
> can change crt0), or, rename it and create a simple assembly language
module
> that defines main and simply branch to your C entry point.
>
> "Okehee Goh" <ogoh@asu.edu> wrote in message
> news:9t4mtt$cpo$1@news.asu.edu...
> > Hello,
> >
> > This is Okehee Goh in ASU.
> >
> > Ihe application I'm developing will run on MBX860 without vxWorks.
> > I want to use gcc compiler of Tornado for MBX860 trarget machine.
> > I add main() function which is called from crt0.o.
> > The assembly code which gcc compiler generated as a compilation of this
> > main() function calls "__eabi."
> > But, ldppc complains due to this.
> > Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't
> accept
> > this option.
> > My survey seems that codes for RS6000 system needs "__eabi." But I don't
> > know why for MBX860.
> > How can I go forward to next step for linking?
> >
> > Thank you so much for your any comments.
> >
> > Okehee
> >
> >
> >
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: usage of __asm__ with register name ??
Date: Sat, 17 Nov 2001 17:55:38 -0700
From: "Okehee Goh" <ogoh@asu.edu>
Organization: Arizona State University
Message-ID: <9t70p7$hrj$1@news.asu.edu>
 I used __asm__ keyword for assembly code in C language source.
The C language source includes all necessary header files which have the
definition of registers. ( like toolPpc.h etc.)
But Tornado's assembler gave "Unresolved expression that must be resolved."
Is there any option or way to avoid this problem without replacing all
registers into correspondent register number?
The following code is what I used in C source and next one is the code that
was translated into assembly file.
     __asm__(" mfmsr   r5");   # in src.c    =>  mfmsr r5      # in src.s
Thank you so much.
Okehee
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: Sat, 17 Nov 2001 21:50:33 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9t7jhq$p73$1@newstest.laserlink.net>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk>
Hello Owain,
   Did you use the -Wa,-ahls=file.lst type of syntax. The GNU Toolkit for T2
pg 311 mentions these flags. Did you have a problem using these? I know that
T2.0 for PowerPC has a bug using this, so you have to use objdump, but for
other
architectures, this works.
"Owain Phillips" <owain.phillips@siemenscomms.co.uk> wrote in message
news:3BF53644.DF23EA4C@siemenscomms.co.uk...
> Does GCC have a option to generate a nice mixed 'C' and assembly
> listing that contains opcodes?
>
> -S and -save-temps gets me assembler output, is this as good as it
> gets?
>
> Owain
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: can someone explain the difference of vxWorks images
Date: 17 Nov 2001 22:55:58 -0800
From: joyce_sli@yahoo.com (Joyce)
Organization: http://groups.google.com/
Message-ID: <3e255a7a.0111172255.73e8312c@posting.google.com>
Can someone help me on these question?
1. What's the difference of "BootROM image" and "ROMed vxworks image"?
   what's "compressed", "uncompressed" and "ROM resident"?
2. In taskSpawn(), if I want to pass string(not integer) to the
created task, how do I do?
Thanks
Joyce
---------------------------
Newsgroups: comp.os.vxworks
Subject: semaphore question
Date: 18 Nov 2001 00:19:22 -0800
From: joyce_sli@yahoo.com (Joyce)
Organization: http://groups.google.com/
Message-ID: <3e255a7a.0111180019.409b845c@posting.google.com>
I have following two question about semaphore.
1. if task1 take the semaphore and forget semgive, after it finish.
does vxWorks release the semaphore after the task1 exit?
2. The following program output unexpected result, please help.
#include "vxWorks.h"
#include "taskLib.h"
#include "semLib.h"
#include "stdio.h"
#define REPEATION 5
void taskOne(void);
void taskTwo(void);
/* globals */
SEM_ID semBinary;
int global = 0;
void test(void)
{
int taskIdOne, taskIdTwo;
/* create semaphore */
semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL);
/* create two tasks */
taskIdOne = taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0);
taskIdTwo = taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0);
}
void taskOne(void)
{
int i;
for (i=0; i < REPEATION ; i++)
	{
	semTake(semBinary,WAIT_FOREVER);
	printf("taskOne and global = %d\n", ++global);
	semGive(semBinary); 	}
}
void taskTwo(void)
{
int i;
for (i=0; i < REPEATION ; i++)
	{
	semTake(semBinary,WAIT_FOREVER);
	printf("taskTwo and global = %d\n", --global);
	semGive(semBinary);
	}
}
The output is:
taskOne and global = 1
taskOne and global = 2
taskOne and global = 3
taskOne and global = 4
taskOne and global = 5
taskTwo and global = 4
taskTwo and global = 3
taskTwo and global = 2
taskTwo and global = 1
taskTwo and global = 0
If I want to get the following output, what should I do?
taskOne and global = 1
taskTwo and global = 0
......
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: usage of __asm__ with register name ??
Date: Sun, 18 Nov 2001 02:13:04 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf78a16$0$11216$4c41069e@reader0.ash.ops.us.uu.net>
References: <9t70p7$hrj$1@news.asu.edu>
Reply-To: "Gary M" <com.vertical@garym>
__asm__ passes everything literally to the assembler, so unless you build a
custom filter step between the compiler and the assembler, you are stuck
with replacing register names with numbers. Sorry.
"Okehee Goh" <ogoh@asu.edu> wrote in message
news:9t70p7$hrj$1@news.asu.edu...
> I used __asm__ keyword for assembly code in C language source.
> The C language source includes all necessary header files which have the
> definition of registers. ( like toolPpc.h etc.)
> But Tornado's assembler gave "Unresolved expression that must be
resolved."
> Is there any option or way to avoid this problem without replacing all
> registers into correspondent register number?
> The following code is what I used in C source and next one is the code
that
> was translated into assembly file.
>      __asm__(" mfmsr   r5");   # in src.c    =>  mfmsr r5      # in src.s
>
> Thank you so much.
>
> Okehee
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: can someone explain the difference of vxWorks images
Date: Sun, 18 Nov 2001 02:25:58 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf78d1b$0$11217$4c41069e@reader0.ash.ops.us.uu.net>
References: <3e255a7a.0111172255.73e8312c@posting.google.com>
Reply-To: "Gary M" <com.vertical@garym>
1. BootROM image is intended to initialize the hardware and then bootstrap
the application system from some source (network, disk, flash, etc.).
BootROM does contain VxWorks, a version that is tuned primarily for
supporting the bootstrap. A ROMed VxWorks image is your target VxWorks
system image, massaged to be programmed into ROM. A "compressed" image
contains a small loader and deflasher which is copied from ROM to RAM and
executed from RAM, decompressing the VxWorks image into RAM before executing
it. "Uncompressed" is the same as compressed, except no decompression is
needed. Both of these run out of RAM. "ROM resident" runs directly (and
slower) out of ROM.
2. You can pass a string pointer as an argument in taskSpawn(), casting it
from int to char* in your code. Just make sure the string is in memory that
will remain stable until the target task starts up and uses it.
"Joyce" <joyce_sli@yahoo.com> wrote in message
news:3e255a7a.0111172255.73e8312c@posting.google.com...
> Can someone help me on these question?
>
> 1. What's the difference of "BootROM image" and "ROMed vxworks image"?
>    what's "compressed", "uncompressed" and "ROM resident"?
>
> 2. In taskSpawn(), if I want to pass string(not integer) to the
> created task, how do I do?
>
> Thanks
>
> Joyce
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: Sun, 18 Nov 2001 02:41:57 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net>
References: <3e255a7a.0111180019.409b845c@posting.google.com>
Reply-To: "Gary M" <com.vertical@garym>
1. No. That's your responsibility. Never assume that the OS will clean up
your mess.
2. Actually, that is the expected output given a single semaphore
synchronizing two tasks at the same priority. When task1 gives the
semaphore, it will not cause task2 to run, and task1 will reenter the
for-loop and reclaim the semaphore again. The correct implementation
requires two binary semaphores, sem1 and sem2. sem1 would be created full,
sem2 as empty. task1 would take sem1, do its work, and give sem2. task2
would take sem2, do its work, and give sem1. This method guarantees
alternating execution of the tasks irregardless of their priorities.
"Joyce" <joyce_sli@yahoo.com> wrote in message
news:3e255a7a.0111180019.409b845c@posting.google.com...
> I have following two question about semaphore.
>
> 1. if task1 take the semaphore and forget semgive, after it finish.
> does vxWorks release the semaphore after the task1 exit?
>
> 2. The following program output unexpected result, please help.
>
> #include "vxWorks.h"
> #include "taskLib.h"
> #include "semLib.h"
> #include "stdio.h"
>
> #define REPEATION 5
>
> void taskOne(void);
> void taskTwo(void);
>
> /* globals */
> SEM_ID semBinary;
> int global = 0;
>
> void test(void)
> {
> int taskIdOne, taskIdTwo;
>
> /* create semaphore */
> semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL);
>
> /* create two tasks */
> taskIdOne =
taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0);
> taskIdTwo =
taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0);
> }
>
>
> void taskOne(void)
> {
> int i;
> for (i=0; i < REPEATION ; i++)
> {
> semTake(semBinary,WAIT_FOREVER);
> printf("taskOne and global = %d\n", ++global);
> semGive(semBinary); }
> }
>
> void taskTwo(void)
> {
> int i;
>
> for (i=0; i < REPEATION ; i++)
> {
> semTake(semBinary,WAIT_FOREVER);
> printf("taskTwo and global = %d\n", --global);
> semGive(semBinary);
> }
> }
>
> The output is:
>
> taskOne and global = 1
> taskOne and global = 2
> taskOne and global = 3
> taskOne and global = 4
> taskOne and global = 5
> taskTwo and global = 4
> taskTwo and global = 3
> taskTwo and global = 2
> taskTwo and global = 1
> taskTwo and global = 0
>
> If I want to get the following output, what should I do?
>
> taskOne and global = 1
> taskTwo and global = 0
> ......
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sun Nov 18 21:25:29 2001
From: "Vijay K.Raichurkar" <vijayr@cruise-controls.com>
Date: Sun Nov 18 21:25:31 PST 2001
Subject: Tornado:where is Hashtable implemented Sample code available?
Dear Readeres,
I am implementing hashtable in bridge,using Tornado 2.0 under WinNT
ope.sys(Ver 4.0) service pack 6.
Will anybody guide me , where is "Hashtable" implemented sample code
available? Is there any document,site name or code..etc.
Thanks,
Regards,
Vijay.K.Raichurkar
From vxwexplo-errs@csg.lbl.gov  Mon Nov 19 04:03:09 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Nov 19 04:03:11 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Nov 19 04:03:06 PST 2001
        Subject: Address Question
        Subject: Setting the tick clock rate
        Subject: what is the meaning of FOREVER?
        Subject: Re: semaphore question
        Subject: Re: what is the meaning of FOREVER?
        Subject: Re: Setting the tick clock rate
        Subject: [Q] wdb activating!
        Subject: Re: Options for Assembler and Listings
        Subject: Re: what is the meaning of FOREVER?
        Subject: Re: semaphore question
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Address Question
Date: Mon, 19 Nov 2001 01:52:37 GMT
From: "Young" <jyjung@kdcre.co.kr>
Organization: Dacom
Message-ID: <FBZJ7.24944$P%2.1297896@news.bora.net>
I have to know the Address for Text, Data and Bss Region of VxWorks Image.
moduleShow() Function just display those Regions, but I can't Use Those
Values.
Does Anyone Know the method to Get and Use the Address for Text, Data and
Bss Region of VxWorks?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Setting the tick clock rate
Date: Mon, 19 Nov 2001 08:03:03 +0200
From: "Morne Hartman" <mhartman@grintek.com>
Message-ID: <3bf8a08a$0$226@hades.is.co.za>
Hi all,
The default setting for my clock is 60 ticks/second. I would like to set
this to 1000 ticks/second, which would give me a 1ms interval. I am using a
Pentium III 600 processor, so the additional kernel interupts should not be
an issue. However once the value is set, I loose all communication with the
target. Can anyone explain this situation.
Your sincerely
Morne Hartman
mhartman@grintek.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: what is the meaning of FOREVER?
Date: Mon, 19 Nov 2001 14:42:20 +0800
From: "zhaoyandong" <zhaoyandong@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9ta9o5$4m2$1@mail.cn99.com>
Hi, I see the following here:, what is the definition of FOREVER?
FOREVER
 {
    for (nodeIdx = 0; nodeIdx < NUM_SAMPLE; nodeIdx++)
            {
    semTake (dataSemId, WAIT_FOREVER); /* Wait for datum */
    if (runState == SCHLEP_STOP)
    {
    runState = CRUNCH_STOP;
    semGive (syncSemId);
    return;
    }
    nodeAdd (cosmicData, nodeIdx);
    }
   semGive (syncSemId);   /* Wake up the cruncher! */
 }
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: Mon, 19 Nov 2001 08:22:38 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3bf8b2ff$0$230$4d4ebb8e@oce.news.eu.uu.net>
References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net>
Hi,
Ad 2. If you want the alternating behavior, why not put it
in a single task ? No sem needed at all!
Manuel
"Gary M" <com.vertical@garym> wrote in message
news:3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net...
> 1. No. That's your responsibility. Never assume that the OS will clean up
> your mess.
> 2. Actually, that is the expected output given a single semaphore
> synchronizing two tasks at the same priority. When task1 gives the
> semaphore, it will not cause task2 to run, and task1 will reenter the
> for-loop and reclaim the semaphore again. The correct implementation
> requires two binary semaphores, sem1 and sem2. sem1 would be created full,
> sem2 as empty. task1 would take sem1, do its work, and give sem2. task2
> would take sem2, do its work, and give sem1. This method guarantees
> alternating execution of the tasks irregardless of their priorities.
>
> "Joyce" <joyce_sli@yahoo.com> wrote in message
> news:3e255a7a.0111180019.409b845c@posting.google.com...
> > I have following two question about semaphore.
> >
> > 1. if task1 take the semaphore and forget semgive, after it finish.
> > does vxWorks release the semaphore after the task1 exit?
> >
> > 2. The following program output unexpected result, please help.
> >
> > #include "vxWorks.h"
> > #include "taskLib.h"
> > #include "semLib.h"
> > #include "stdio.h"
> >
> > #define REPEATION 5
> >
> > void taskOne(void);
> > void taskTwo(void);
> >
> > /* globals */
> > SEM_ID semBinary;
> > int global = 0;
> >
> > void test(void)
> > {
> > int taskIdOne, taskIdTwo;
> >
> > /* create semaphore */
> > semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL);
> >
> > /* create two tasks */
> > taskIdOne =
> taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0);
> > taskIdTwo =
> taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0);
> > }
> >
> >
> > void taskOne(void)
> > {
> > int i;
> > for (i=0; i < REPEATION ; i++)
> > {
> > semTake(semBinary,WAIT_FOREVER);
> > printf("taskOne and global = %d\n", ++global);
> > semGive(semBinary); }
> > }
> >
> > void taskTwo(void)
> > {
> > int i;
> >
> > for (i=0; i < REPEATION ; i++)
> > {
> > semTake(semBinary,WAIT_FOREVER);
> > printf("taskTwo and global = %d\n", --global);
> > semGive(semBinary);
> > }
> > }
> >
> > The output is:
> >
> > taskOne and global = 1
> > taskOne and global = 2
> > taskOne and global = 3
> > taskOne and global = 4
> > taskOne and global = 5
> > taskTwo and global = 4
> > taskTwo and global = 3
> > taskTwo and global = 2
> > taskTwo and global = 1
> > taskTwo and global = 0
> >
> > If I want to get the following output, what should I do?
> >
> > taskOne and global = 1
> > taskTwo and global = 0
> > ......
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what is the meaning of FOREVER?
Date: Mon, 19 Nov 2001 09:08:06 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9taepc$fio$1@snoopy.bndlg.de>
References: <9ta9o5$4m2$1@mail.cn99.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524b72.dip.t-dialin.net
while(1)
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"zhaoyandong" <zhaoyandong@163.net> schrieb im Newsbeitrag
news:9ta9o5$4m2$1@mail.cn99.com...
> Hi, I see the following here:, what is the definition of FOREVER?
>
> FOREVER
>  {
>     for (nodeIdx = 0; nodeIdx < NUM_SAMPLE; nodeIdx++)
>             {
>     semTake (dataSemId, WAIT_FOREVER); /* Wait for datum */
>     if (runState == SCHLEP_STOP)
>     {
>     runState = CRUNCH_STOP;
>     semGive (syncSemId);
>     return;
>     }
>     nodeAdd (cosmicData, nodeIdx);
>     }
>
>    semGive (syncSemId);   /* Wake up the cruncher! */
>  }
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Setting the tick clock rate
Date: Mon, 19 Nov 2001 09:08:39 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9taer9$gl9$1@snoopy.bndlg.de>
References: <3bf8a08a$0$226@hades.is.co.za>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524b72.dip.t-dialin.net
Did you use sysClkRateSet(1000) ?
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Morne Hartman" <mhartman@grintek.com> schrieb im Newsbeitrag
news:3bf8a08a$0$226@hades.is.co.za...
> Hi all,
>
> The default setting for my clock is 60 ticks/second. I would like to set
> this to 1000 ticks/second, which would give me a 1ms interval. I am using
a
> Pentium III 600 processor, so the additional kernel interupts should not
be
> an issue. However once the value is set, I loose all communication with
the
> target. Can anyone explain this situation.
>
> Your sincerely
> Morne Hartman
> mhartman@grintek.com
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: [Q] wdb activating!
Date: Mon, 19 Nov 2001 09:28:52 GMT
From: "withWind" <coolguy@sicc.co.kr>
Organization: Dacom
Message-ID: <oh4K7.25443$P%2.1367243@news.bora.net>
Hi,
I've got the Tornado 2.0.2, but the BSP and sources that I received from
friend made in Tornado 1.0.1 environment. And the structure of the BSP and
sources is very different with Tornado 2.0.
I don't care about Project facility. I just want to make the BSP and sources
that I received work well. So I need wdb working.
What can I do?
I tried to include 'INCLUDE_WDB' in config.h. It doesn't work well.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: 19 Nov 2001 09:36:32 +0000
From: Paul Flinders <P.Flinders@ftel.co.uk>
Organization: Fujitsu Telecommunications Europe Limited
Message-ID: <thvzo5jrtjz.fsf@solar-flare.ftel.co.uk>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <3bf55d34$1@brateggebdc5.br-automation.co.at>
"Werner Schiendl" <ws-news@gmx.at> writes:
> Hi,
>
> no idea if this is supported, but maybe you can make GCC to include the C
> line numbers as comments into the assembly listing?
> Then a tool to mix the two files would be a nice primer task for Perl,
> Python or some other scripting language.
>
$ man objdump
    ....
       -l
       --line-numbers
              Label  the  display  (using  debugging information)
              with the filename and source  line  numbers  corre
              sponding  to  the  object  code shown.  Only useful
              with -d, -D, or -r.
You will need to compile with debug output enabled (-g) for this to
work
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what is the meaning of FOREVER?
Date: Mon, 19 Nov 2001 06:24:06 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3BF8EBD6.2F6586A8@varndellengineering.com>
References: <9ta9o5$4m2$1@mail.cn99.com>
zhaoyandong wrote:
>
> what is the definition of FOREVER?
#define FOREVER while(1)
  or
#define FOREVER for(;;)
  or
#define FOREVER while(TRUE == TRUE)
  or
#define FOREVER while(TRUE != FALSE)
You get the idea. So what does this obscenity buy you?
while(1) - semantics are only unclear if you don't know the language
           syntax is obviously correct
FOREVER - semantics are questionable
          syntax needs to be verified
I spend hours per week searching through '.h' files trying to find
bugs that are directly or indirectly caused by such macro abuse.
I wish people would learn the language rather than redefine it.
Regards,
George Varndell
- --
PPC and XScale Expertise         Varndell Engineering, LLC.
GBIT END drivers available now.  http://www.varndellengineering.com
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: 19 Nov 2001 11:31:53 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915E7FA6372C0borkhuisagerecom@135.7.153.102>
References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net>
"Gary M" <com.vertical@garym> wrote:
> 1. No. That's your responsibility. Never assume that the OS will clean
> up your mess.
> 2. Actually, that is the expected output given a single semaphore
> synchronizing two tasks at the same priority. When task1 gives the
> semaphore, it will not cause task2 to run, and task1 will reenter the
> for-loop and reclaim the semaphore again. The correct implementation
> requires two binary semaphores, sem1 and sem2. sem1 would be created
> full, sem2 as empty. task1 would take sem1, do its work, and give sem2.
> task2 would take sem2, do its work, and give sem1. This method
> guarantees alternating execution of the tasks irregardless of their
> priorities.
There is another way to do this: add a taskDelay(0) after the semGive. This
will force the current task at the end of the ready queue, and allows the
other task to run.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Mon Nov 19 20:53:46 2001
From: Jitendra kanitkar <Jitendrak@netbrahma.com>
Date: Mon Nov 19 20:53:48 PST 2001
Subject: Dummy n/w interface.(TUN/TAP)
> vxWorks Greetings,
>
Sorry to put the question again on the list, but still I have not received
anything in reply, if there is no complete answer then some directions also
will do.
> I wanted to know, is there any s/w network interface available in vxWorks.
> Something like TUN/TAP in Linux. ( Instead of sending the packet on to h/w
> interface TUN/TAP gives it to user space program in Linux).
> What I want, is to have a dummy device which I may(/may not) start in
> runtime. Can I creat a dummy ethernet interface in vxWorks?
> If it is not directly available is there any way out for this?
> (We have vxworks 5.4)
>
> Thanks in advance,
> Jitendra.
>
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 02:14:54 2001
From: "David P Hidalgo" <dphidalg@crisa.es>
Date: Tue Nov 20 02:14:56 PST 2001
Subject: vxMemProbe and cPCI bridge
Hello, VxWorks people.
Now, I would like to know if the vxMemProbe function works correctly in a
cPCI environment. Is there another way to detect a bus error in a cPCI
architecture?
Also Im looking for a cPCI-to-cPCI bridge that let me expand my eight slots
rack. In my configuration there will be only a CPU, so I do not need any
intelligence from the board, simply a connection. Does anybody know a board
like that?
-------------------------------------
--  David P. Hidalgo
--  mailto:dphidalg@crisa.es
--  Tfn: 918068713
--  CRISA - www.crisa.es
-------------------------------------
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 03:27:43 2001
From: Michael.Ben-Ari@celtro.com
Date: Tue Nov 20 03:27:45 PST 2001
Subject: vxWorks, tNetTask, & Sniffers
We have an inhouse "if" driver for internal IP communications, and
we are looking for tools other the standard xxShow routines that can give
us statistics of packets that are being forwarded via our "internal"
interface.
1.  Are there any statistics related to tNetTask that we have access to
other then
via various the xxShow routines?
2.  Are there any sniffers that we can either upload captured data from the
terminal
or that we can use to attach to tNetTask to do sniffing from internal IP
addresses
that are NOT ethernet etc ?
3.  Any other solutions?
Thanks,
-Mike
-----------------------------------------------
Mike Ben-Ari
Celtro - Cellular BU of
NGTS ECI Telecom Ltd.
Mail:  mbenari@celtro.com
Tel:   +972-3-926-6794
Fax:   +972-3-926-6460
-----------------------------------------------
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 04:03:18 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Nov 20 04:03:21 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Nov 20 04:03:14 PST 2001
        Subject: File creation in vxworks
        Subject: The network stack locks completely solid
        Subject: Help required to create dos file system on hard disk.
        Subject: Re: The network stack locks completely solid
        Subject: Re: test test
        Subject: Re: File creation in vxworks
        Subject: printf and task stack
        Subject: Re: Address Question
        Subject: VxWorks Dump format
        Subject: Re: Options for Assembler and Listings
        Subject: Re: Help required to create dos file system on hard disk.
        Subject: Re: The network stack locks completely solid
        Subject: DosFS Questions
        Subject: Re: clock corruption
        Subject: Re: logMsg side-effects
        Subject: Re: Strange function behaviour
        Subject: Re: Cygwin GDB Users ?
        Subject: Re: what is the meaning of FOREVER?
        Subject: Re: a compilation of this main() function calls "__eabi."
        Subject: Re: Problem using taskSpawn in C++
        Subject: Re: what is the meaning of FOREVER?
        Subject: Re: Setting the tick clock rate
        Subject: intLock() question...
        Subject: Re: Help required to create dos file system on hard disk.
        Subject: Re: The network stack locks completely solid
        Subject: what's the real size of image
        Subject: Re: intLock() question...
        Subject: Re: Options for Assembler and Listings
        Subject: why flag can't gaurantee mutual exclusion?
        Subject: Re: intLock() question...
        Subject: Re: what's the real size of image
        Subject: Re: why flag can't gaurantee mutual exclusion?
        Subject: Re: Options for Assembler and Listings
        Subject: [Q] Interface information
        Subject: Re: intLock() question...
        Subject: PSO stack on IBM Walnut (PowerPC)
        Subject: Re: what's the real size of image
        Subject: Re: intLock() question...
        Subject: Re: why flag can't gaurantee mutual exclusion?
        Subject: Re: intLock() question...
        Subject: Re: intLock() question...
        Subject: Text, Bss & Data sizes
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: File creation in vxworks
Date: 19 Nov 2001 04:53:53 -0800
From: veera_sangeetha@bla.satyam.com (sangeetha)
Organization: http://groups.google.com/
Message-ID: <ceb8c35d.0111190453.5a3894de@posting.google.com>
Hi,
 I am unable to create a file using creat function in Vxworks.
 Can anybody please send me some sample program and the settings
 to do in VxWorks for file creation.
Rgds,
sangeetha
---------------------------
Newsgroups: comp.os.vxworks
Subject: The network stack locks completely solid
Date: Mon, 19 Nov 2001 13:18:49 GMT
From: "Chun tae young" <tychun@mail.lgis.co.kr>
Organization: Dacom
Message-ID: <ZE7K7.25447$P%2.1402792@news.bora.net>
Hello everyone..
We are facing a problem of network stack hangs.
We have several server target boards (MVME162P-242E, MC68040) running in
vxWorks5.4 using END(Enhanced Network Driver) and several Clients
(workstation) on Networks.
Both servers and clients are communicate using UDP/IP (Broadcast, unicast).
After some days(3 ~ 7 days) , a target board don't send or receive any
packet.
At that situation, at Client, We send PING  that target board but  No
Response.
In particularly, on shell-task (vxWorks support) in that target board, we
send PING other node but the shell task go dead-lock,so i can't any more. In
the result, I push the reset switch on board.
I don't Know why it is happend.
Thanks,
tae young
---------------------------
Newsgroups: comp.os.vxworks
Subject: Help required to create dos file system on hard disk.
Date: 19 Nov 2001 05:30:08 -0800
From: kamala.kodi@wipro.com (Kamala)
Organization: http://groups.google.com/
Message-ID: <27203e86.0111190530.1687ced1@posting.google.com>
Hi,
Iam trying to create DOS file system on PCPentium target hard disk(
Seagate hard disk ST32122A, 2GB), which is already formated for dos
file system.
Iam including ATA hard disk driver (IDE driver not supported) & doing
following steps.
1.Creating device for ATA disk using ataDevCreate() call.
ataDevCreate(0, 0, 0, 0);
2.Initialize dosFs volume configuration structure using
dosFsConfigInit() call.
dosFsConfigInit(&pConfig,63,1,2,256,112,0,0);
3.Initialize dos FS system using dosFsDevInit().
DosFSInit = dosFsDevInit("/hd0/", HardDisk, &pConfig);
after this when i give 'devs' command from shell prompt, /hd0/ is
getting listed. But when i change the directory i.e cd "/hd0/", it's
failing.
Also if i try creat any file, it's not creating any file on hard disk.
Pls. help me.
thanks & regards,
kamala
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Mon, 19 Nov 2001 09:12:20 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3BF91344.53A0224E@varndellengineering.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net>
Chun tae young wrote:
>
> Hello everyone..
>
> We are facing a problem of network stack hangs.
> We have several server target boards (MVME162P-242E, MC68040) running in
> vxWorks5.4 using END(Enhanced Network Driver) and several Clients
> (workstation) on Networks.
> Both servers and clients are communicate using UDP/IP (Broadcast, unicast).
> After some days(3 ~ 7 days) , a target board don't send or receive any
> packet.
> At that situation, at Client, We send PING  that target board but  No
> Response.
> In particularly, on shell-task (vxWorks support) in that target board, we
> send PING other node but the shell task go dead-lock,so i can't any more. In
> the result, I push the reset switch on board.
Hi,
I tried replying to your email address, but it bounced.
You should first contact WindRiver to see if they have a newer
version of the END driver for the 82596.
If you cannot get satisfactory help from WindRiver, please contact
us about providing you with a reliable, product-worthy, END driver.
Regards,
George Varndell
- --
PPC and XScale Expertise         Varndell Engineering, LLC.
GBIT END drivers available now.  http://www.varndellengineering.com
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: test test
Date: Mon, 19 Nov 2001 09:43:36 -0500
From: ted <nimov@nthwave.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <3BF91A98.ABFD025E@nthwave.com>
References: <3BF91A75.30684700@nthwave.com>
Sender: bhagu@optonline.net
try somewhere else
ted wrote:
> test
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: File creation in vxworks
Date: Mon, 19 Nov 2001 15:33:21 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bf918f6@brateggebdc5.br-automation.co.at>
References: <ceb8c35d.0111190453.5a3894de@posting.google.com>
Hi,
what is your exact problem? Where do you want to create the file, which are
the return values and error codes.
I can use creat as in the following example even in WindSh (the Tornado
shell)
- -> fdw = creat("/ata0a/dummy", 1)  /* 1 = O_WRONLY */
new symbol "fdw" added to symbol table.
fdw = 0x9e9198: value = 10 = 0xa
- -> fdprintf(fdw, "Hello, file!\n")
value = 13 = 0xd
- -> close(fdw)
value = 0 = 0x0
- -> fdr=open("/ata0a/dummy", 0)  /* 0 = O_RDONLY */
new symbol "fdr" added to symbol table.
fdr = 0x9e9170: value = 10 = 0xa
- -> bufx=malloc(100)
new symbol "bufx" added to symbol table.
bufx = 0x9e9168: value = 132679280 = 0x7e88670
- -> read(fdr,bufx,100)
value = 13 = 0xd
- -> printf bufx
Hello, file!
5value = 16 = 0x10
- -> d bufx
07e88670:  6548 6c6c 2c6f 6620 6c69 2165 350a 07e8   *Hello, file!.5..*
07e88680:  0000 0000 0000 0000 0000 0000 0009 0000   *................*
07e88690:  0009 0000 0002 0000 0000 0000 0000 0000   *................*
07e886a0:  0000 0000 0000 0000 0000 0000 0000 0000   *................*
07e886b0:  0000 0000 0000 0000 0000 0000 0000 0000   *................*
07e886c0:  0000 0000 0000 0000 0000 0000 0000 0000   *................*
07e886d0:  0000 0000 8668 07e8 000e 0000 da9c 001f   *....h...........*
07e886e0:  86ec 07e8 9170 009e 0000 0709 6466 0072   *....p.......fdr.*
07e886f0:  86d4 07e8 000c 0000 612f 6174 6130 642f   *......../ata0a/d*
07e88700:  6d75 796d 0000 0000 86f0 07e8 000e 0000   *ummy............*
07e88710:  f8fc 001f 8720 07e8 9198 009e 0000 0009   *.... ...........*
07e88720:  6466 0077 8708 07e8 0044 8000 35bc 07e8   *fdw.....D....5..*
07e88730:  0000 0000 8724 07e8 001c 0000 0055 0000   *....$.......U...*
07e88740:  0000 0000 8724 07e8 8724 07e8 0032 0000   *....$...$...2...*
07e88750:  5334 0020 5334 0020 0000 0000 1eb4 0016   *4S .4S .........*
07e88760:  1e94 0016 8750 07e8 2de0 07e8 0000 0000   *....P....-......*
value = 0 = 0x0
- ->
The example creates a file named dummy on my harddrive, which has the device
name /ata0a.
To create files on NFS driver, you should probably use open with option
O_CREAT, which allows you to pass chmod style access rights masks.
hth
Werner
"sangeetha" <veera_sangeetha@bla.satyam.com> wrote in message
news:ceb8c35d.0111190453.5a3894de@posting.google.com...
> Hi,
>
>  I am unable to create a file using creat function in Vxworks.
>  Can anybody please send me some sample program and the settings
>  to do in VxWorks for file creation.
>
> Rgds,
> sangeetha
---------------------------
Newsgroups: comp.os.vxworks
Subject: printf and task stack
Date: Mon, 19 Nov 2001 09:50:37 -0500
From: ted <nimov@nthwave.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <3BF91C3D.388A2D21@nthwave.com>
Sender: bhagu@optonline.net
folks,
According to section3.5.3 of vxworks programmer's guide - "using the
current task's stack for message formatting takes up significant stack
space". Does this statement imply using printf for standard output to
console takes up significant stack space? I observe the target shell and
telnet daemon crash when too may printfs (with taskDelay in between
printfs) is used to dump output to console. Will redirecting the task
output to a file with ioTaskStdSet/ioGlobalStdSet be more useful and
efficient to dump debug printfs?
Thank you for any help.
ted.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Address Question
Date: 19 Nov 2001 10:18:39 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ur8qu4wmo.fsf@yahoo.com>
References: <FBZJ7.24944$P%2.1297896@news.bora.net>
Sender: bpringlemeir@DeadDuck
>>>>> "Young" == Young  <jyjung@kdcre.co.kr> writes:
 Young> I have to know the Address for Text, Data and Bss Region of
 Young> VxWorks Image.  moduleShow() Function just display those
 Young> Regions, but I can't Use Those Values.
 Young> Does Anyone Know the method to Get and Use the Address for
 Young> Text, Data and Bss Region of VxWorks?
Please read your manual.  Look under the vxWorks Reference manual.
It is on your hard drive; something like,
   "file:///C|/Tornado/docs/vxworks/ref/moduleLib.html"
The specific library you want to look at is moduleLib, which has a
corresponding <moduleLib.h> in the vxWorks directory.  Amazing isn't
it!
hth,
Bill Pringlemeir.
- --
Ten-inchers are fun, right?  Furthermore, you peasant, every
unpleasant person is a DAF driver.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks Dump format
Date: Mon, 19 Nov 2001 16:59:54 +0100
From: Sylvain Goletto <sygoletto@airfrance.fr>
Organization: Air France
Message-ID: <3bf92c91$0$32591$626a54ce@news.free.fr>
Hello,
Does any body knows where I can find the format used in the 'dump' command
used to dump file system to an SCSI tape. All a know is that there is two
partitions:  partition 0 for the data files and partition 1 for the
directory. The partition 0 is simple. But Partitions 1 is a file describing
the directory and versions of files in partition 0.
The reason for this question is that I need to read/write tapes for My
WxWorks box on a Linux/Unix and/or NT workstation. In an Unix environement,
I can easily read the tape made whith the 'dump' command but I can't write
a tape readable by the VxWork box as I can't make this directory partition.
So I would like to know if :
        - somebody knows about the directory format of partition 0,
        - there is the sources of the dump programm available some where
        - can I use some kind of tar instead of this dump/restore,
        - there is any other info/solution to help me
Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: 19 Nov 2001 08:08:25 -0800
From: cpotenza@onetel.net.uk (Claudio Potenza)
Organization: http://groups.google.com/
Message-ID: <2025ac82.0111190808.6fa04b69@posting.google.com>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <thv4rnuu2oj.fsf@solar-flare.ftel.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk>
> > However the gnu objdump utility can disassemble and include source
> > (objdump -S) as long as the binary has debug symbols.
>
> Sounded good tried it....it dissassembled the file but didn't give me
> a mixed listing.
As others have said, first verify that you are compiling with -g.
Then you must have the sources for the object you are "odump"-ing  and
they must be in the same position in the file system as they were when
the object has been compiled.
In fact the object itself does not contain the lines of "C". It just
contains the path to the source file and the line number in it
corresponding to the assembly.
So "odump" needs the source to print the "C" line itself.
Then, there could be a platform problem:
I use the vxWorks GNU toolchain for PPC both for Unix and NT. When I
compile in Unix, "objdumpppc -S <object_file>" gives me the mixed
listing without problems.
But When I compile under NT, it seems that the compiler embeds
incorrectly the path for the source file in the object so that "odump"
cannot find it.
BUT you can do:
     odump -l -S <object>
and you will get the info of which line number corresponds to the
assembly (not as good as the "C" line itself but useable...
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help required to create dos file system on hard disk.
Date: Mon, 19 Nov 2001 17:16:38 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9tbb97$4kt$1@snoopy.bndlg.de>
References: <27203e86.0111190530.1687ced1@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524b72.dip.t-dialin.net
Hi,
did you try from host-shell ?
Do it from target shell (serial / local keyboard) or from host-shell use
- ->@cd "/hd0"
- ->@ls
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Kamala" <kamala.kodi@wipro.com> schrieb im Newsbeitrag
news:27203e86.0111190530.1687ced1@posting.google.com...
> Hi,
>
> Iam trying to create DOS file system on PCPentium target hard disk(
> Seagate hard disk ST32122A, 2GB), which is already formated for dos
> file system.
>
> Iam including ATA hard disk driver (IDE driver not supported) & doing
> following steps.
>
> 1.Creating device for ATA disk using ataDevCreate() call.
> ataDevCreate(0, 0, 0, 0);
>
> 2.Initialize dosFs volume configuration structure using
> dosFsConfigInit() call.
> dosFsConfigInit(&pConfig,63,1,2,256,112,0,0);
>
> 3.Initialize dos FS system using dosFsDevInit().
> DosFSInit = dosFsDevInit("/hd0/", HardDisk, &pConfig);
>
> after this when i give 'devs' command from shell prompt, /hd0/ is
> getting listed. But when i change the directory i.e cd "/hd0/", it's
> failing.
>
> Also if i try creat any file, it's not creating any file on hard disk.
>
> Pls. help me.
>
> thanks & regards,
> kamala
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Mon, 19 Nov 2001 09:05:09 -0800
From: Lori Fraleigh <lori@rti.com>
Organization: Real-Time Innovations
Message-ID: <3BF93BC5.A8FE355A@rti.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net>
If you run out of memory for your network driver, you can
completely hang the stack.  See SPR #27790 and ask your
Wind River contact when they plan to have a fix.
Regards,
Lori
Chun tae young wrote:
>
> Hello everyone..
>
> We are facing a problem of network stack hangs.
> We have several server target boards (MVME162P-242E, MC68040) running in
> vxWorks5.4 using END(Enhanced Network Driver) and several Clients
> (workstation) on Networks.
> Both servers and clients are communicate using UDP/IP (Broadcast, unicast).
> After some days(3 ~ 7 days) , a target board don't send or receive any
> packet.
> At that situation, at Client, We send PING  that target board but  No
> Response.
> In particularly, on shell-task (vxWorks support) in that target board, we
> send PING other node but the shell task go dead-lock,so i can't any more. In
> the result, I push the reset switch on board.
>
> I don't Know why it is happend.
>
> Thanks,
>
> tae young
- --
Lori Fraleigh                                Director of Engineering
Real-Time Innovations, Inc.                  http://www.rti.com
Phone: 408-734-4200 x121                     Fax: 408-734-5009
---------------------------
Newsgroups: comp.os.vxworks
Subject: DosFS Questions
Date: 19 Nov 2001 10:23:05 -0800
From: andy.moskoff@strixsys.com (Andy)
Organization: http://groups.google.com/
Message-ID: <e397b57.0111191023.4ee4f066@posting.google.com>
Hi,
1. What exactly must I do in order to use the DosFS?? I understand
that dosFsInit() must be called, but is there anything else??? I want
to move and copy files.
2. Related to the first question, how does one copy and move files???
It seems as if I have to use open/read/write/close methodology instead
of a simple "system" call. Is this true????
Andy
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Mon, 19 Nov 2001 18:26:18 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <6dcK7.14$kI3.6363@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net> <3BF139D5.BDCEA769@hotmail.com> <iit7vtof7hi7sojor7rcvofeij3pcr94nj@4ax.com>
Ephraim Gadsby wrote in message ...
>On Tue, 13 Nov 2001 16:18:45 +0100, Martin Alle <
>m@hotmail.com> wrote:
>
>>
>>We applied a small hack using the following script command:
>>
>>(short)*(clock_gettime+0x62)=(short)&vxAbsTicks
>>
>>
>>which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image.
>>
>>
>>**** And this fixed our problem ****
>
>
>
>Presumably though you still have some code giving an incorrect tick
>value to a vxWorks call. Otherwise vxTicks would only jump once  after
>each 16 months of uptime.
  Look, god only knows *why* the OS zeros vxTicks, but it does, and it does
it a lot more often than every 16 months, and this is a real bug and this is
the right solution for it and I'm sorry I just can't explain it any better
than that, and if you still don't believe any of us who've seen this bug
then set a low priority background task running that printf's vxTicks every
second or so on a ppc board and then try doing some serious activity such as
loading a meg in a single read from a SCSI disk and *see* *for* *yourself*
that vxTicks gets set to zero.
  Really.
  It does.
  *I've* done this experiment and I'm speaking from empirical knowledge
rather than any armchair reasoning about it.
  Honest!
  And if you want an even more convincing test, suspend the scsi task before
your app issues that 1 meg read, then let your app run until it reaches the
read command (it will pend), then suspend every other task in the system
except the shell and network task, then suspend your app (it's pended but
let's be sure, eh?), then check the value of vxTicks at the command shell,
then unsuspend the scsi task, then re-check the value of vxTicks and see how
it has been set back down to zero and started counting again.
  I've done that one too.
  And for a further experiment, make your background task print out both
vxTicks and the value of clock_gettime, and see how once vxTicks gets back
to the value it had when you init'ed the clock, the clock suddenly starts
returning sensible values again.
  I've done that one *too*.
  And it was doing those three experiments that gave me the notion what was
going on, and prompted me to disassemble the clock_gettime call and see how
it worked, and you could do that one for yourself.
  You don't have to take anyone's word for it, you can verify that this
happens for yourself.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: logMsg side-effects
Date: Mon, 19 Nov 2001 18:28:21 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <7dcK7.15$kI3.6363@newsr2.u-net.net>
References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <JDPI7.23$c72.57263@newsr2.u-net.net> <3bf3d319$1@brateggebdc5.br-automation.co.at> <488e459a.0111151138.72d9207f@posting.google.com>
>"Werner Schiendl" <ws-news@gmx.at> wrote in message
news:<3bf3d319$1@brateggebdc5.br-automation.co.at>...
>> Hi,
>>
>> are you sure about this?
>> Couldn't a function use
>>
>>       intContext( )   Return TRUE if called from interrupt level.
John wrote in message <488e459a.0111151138.72d9207f@posting.google.com>...
>Hello,
>
>Indeed, Werner's comment is accurate. It is important to note the
  Yeh, of course it could.  How silly of me to not think of it :)
      DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Strange function behaviour
Date: Mon, 19 Nov 2001 18:35:32 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <7dcK7.16$kI3.6363@newsr2.u-net.net>
References: <slrn9uvsaa.11l.pfk@c.zeiss.de> <3beff29e$1@brateggebdc5.br-automation.co.at> <slrn9v2s42.3g5.pfk@c.zeiss.de> <ucsI7.3$c72.2459@newsr2.u-net.net> <slrn9v7tsi.3g5.pfk@c.zeiss.de>
Frank Klemm wrote in message ...
>On Wed, 14 Nov 2001 10:59:10 -0000, Dave Korn <no.spam@my.mailbox.invalid>
wrote:
>> But you shouldn't try and call the "main" function from vxworks, as
>> compilers put secret compiler magic stuff into the beginning of functions
>> called "main", and this stuff will not work correctly on vxworks.
>>
>What is that for stuff? First I know is that main() always uses C-Linking,
>never C++ linking. Seconds is that main() can align the stack.
  Exception handling.  Static constructor and destructor calls.  For further
info, refer to the compiler's source code (where available!)
>>  Also in regard to the strange behaviour of your system: are you testing
>>this function from the command shell?  That runs at the highest priority
in
>>the system, so as soon as it reaches that busy-wait loop, every other task
>>will be locked out including the network!  Does it work properly if you
>>spawn it using the 'sp' command instead of executing the function name
>>directly ?
>>
>Thank you for your help. The Network connection is very fragile.
>Doing more than 10 ms of busy loop drops all network connection forever.
>A
>    taskPrioritySet ( 0, 51 );
>
>solves the problem.
  Yes, the shell is initialised to priority 1 by default, which is good in
some ways - it means it can always get cpu time to respond to you no matter
what goes on in the rest of the system - but is also a hazard, as your
command lines can steal all cpu from everything else if they busy loop!
Generally I think lowering the priority of the shell task is a good fix to
keep you safe from this danger.
      DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Cygwin GDB Users ?
Date: Mon, 19 Nov 2001 18:39:06 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <tgcK7.17$kI3.4039@newsr2.u-net.net>
References: <679c25ff.0111161023.422de97c@posting.google.com>
David Ward wrote in message
<679c25ff.0111161023.422de97c@posting.google.com>...
>Now that I appear to have the source for the ancient WRS-hacked GDB
>(the one that uses WTX), I was thinking of trying to build it for
>Cygwin.  Has anyone gone down this path ?
>
>Of course I'd rather use GDB 5 but there is no WTX there, and it's
>unclear
>if the old WDB/RPC interface is still supported in the vxworks target
>- anyone know ?
>
>Thank you,
>Dave Ward
  What a coincidence!  I just finally managed to get my hands on that source
as well.  I know for an absolute fact that the WDB stuff is dead and buried,
so my plan was to port over the module that interfaces the gdb internal
monitor protocol to the targetserver API into the GDB5/insight combination.
I don't however have any kind of idea when I might or might not have time to
do it though.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what is the meaning of FOREVER?
Date: Mon, 19 Nov 2001 18:40:14 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <xhcK7.18$kI3.3196@newsr2.u-net.net>
References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com>
George Varndell wrote in message
<3BF8EBD6.2F6586A8@varndellengineering.com>...
>zhaoyandong wrote:
>>
>> what is the definition of FOREVER?
>
>#define FOREVER while(1)
>  or
>#define FOREVER for(;;)
>  or
>#define FOREVER while(TRUE == TRUE)
>  or
>#define FOREVER while(TRUE != FALSE)
>
>You get the idea. So what does this obscenity buy you?
>
>while(1) - semantics are only unclear if you don't know the language
>           syntax is obviously correct
>
>FOREVER - semantics are questionable
>          syntax needs to be verified
>
>I spend hours per week searching through '.h' files trying to find
>bugs that are directly or indirectly caused by such macro abuse.
>I wish people would learn the language rather than redefine it.
  If you liked that, you'll love
#define BEGIN {
#define END     }
...and other classics of obfuscated programming, coming soon to a header
file near you!
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: a compilation of this main() function calls "__eabi."
Date: Mon, 19 Nov 2001 18:42:12 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <njcK7.19$kI3.6627@newsr2.u-net.net>
References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>
Gary M wrote in message
<3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>...
>Defining a function "main" causes some compilers to generate code to
support
>the environment. I'm not that familiar with the GNU infrastructure for PPC,
>but it looks like the call to __eabi has something to do with extended
>relocations.
  Nope, static object constructors, just FYI.
      DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem using taskSpawn in C++
Date: Mon, 19 Nov 2001 18:46:55 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <OncK7.20$kI3.7228@newsr2.u-net.net>
References: <9915878f.0111151015.7ef9b0ea@posting.google.com> <e311f8d94a%molochai@vapour-trail.demon.co.uk> <4ql2t9.b34.ln@svr004.rohill.nl>
Geurt Vos wrote in message <4ql2t9.b34.ln@svr004.rohill.nl>...
>
>> Use of the new(ish) C++ casting operators is well recommended. In this
>case
>> you need reinterpret_cast<>() - this is the most dangerous of them, and
>> allows casts of anything to anything else.
>>
>
>Almost. That is, with reinterpret_cast it is (at least) not allowed to to
>cast
>between pointers to functions and pointers to objects. GCC 2.7.2 did
>allow this, but now the newer one (2.9x) correctly coughs up an error...
>[ANSI C++ forbids casting between pointers to functions and objects]
>
>Example:
>
>void F() { }
>
>int main()
>{
>    void *p = reinterpret_cast<void *>(F);
>}
>
>
>So if you have to call some function, where a pointer to function must
>be passed as pointer to objects (usually as void*), either change the
>API or use a C-style cast (unsure whether it should work, all I know
>is that it _does_ work):
  I believe that should be fine.
  If you want to be really sure about it, just make sure that all the
functions you need to spawn are extern "C".  That defeats the C++
typechecking, because there's no mangled name for it to check the signature.
Of course you have to take great care to give them the right args in that
case...
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what is the meaning of FOREVER?
Date: Mon, 19 Nov 2001 11:34:59 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3BF95EE3.B17F28FF@alcatel.com>
References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com>
George Varndell wrote:
> I spend hours per week searching through '.h' files trying to find
> bugs that are directly or indirectly caused by such macro abuse.
> I wish people would learn the language rather than redefine it.
I agree 100% with George. There is an incredible source for frustration
and time wasting. I even saw a guy spending hours trying to understand
his own macros in his previously written programs!
One pearl I found in flbase.h:
#define vol (*pVol)
allows you to write functions calls like:
FLStatus flwAmdMTDIdentify (FLFlash vol)
{
...
      vol.interleaving = 2;
...
and gives you the illusion to work with values not references. The
beauty is the symbolic debuggers are totaly lost with such a code. And
what about the poor guy struggling to maintain.
/stephane.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Setting the tick clock rate
Date: Mon, 19 Nov 2001 19:53:41 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tbnst$8l8$1@uranium.btinternet.com>
References: <3bf8a08a$0$226@hades.is.co.za> <9taer9$gl9$1@snoopy.bndlg.de>
> Did you use sysClkRateSet(1000) ?
Followed by clock_setres( CLOCK_REALTIME, ... ).
Check that your BSPs timer code supports other resolutions...
There are also some vxWorks device drivers that assume the tick is
about 60-100Hz.  I ended up using:
    wdStart( x, sysClkRateGet()/64u + 1, ... )
to get a short delay which is reasonably clock rate independant - and cheap
to calculate - when testing with fast clok rates.
Also there are bugs lurking which stop high clock rates from working.
The first I know of is in select() which breaks for rates above 2147
(when pTimeOut.tv_usec * sysClkRateGet() < 0, the signed multiply makes
the effect of the overflow particularly horrid :-)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: intLock() question...
Date: Mon, 19 Nov 2001 14:50:02 -0600
From: PC User <PCUser@hotmail.com>
Organization: ExecPC Internet - Milwaukee, WI
Message-ID: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
Hi Folks,
I am having problems with locking interrupts.  I am doing this on a
power PC architecture.  I created a watchdog timer to go off every 3
seconds.  Then I wrote a code to lock task and then lock interrups.  The
task locking works fine, but the interrupt locking does not seem to work
since the watchdog timer still goes off during a long print loop that
takes more than 3 seconds.
I even tested this with an external serial I/O interrupt and still does
not work.  Can you tell me what the trick is.  Here is a copy of my code
in case you wonder what I am doing.
Thanks.
#include "vxWorks.h"
#include "taskLib.h"
#include "semLib.h"
#include "stdio.h"
#include "stdlib.h"
#include "wdlib.h"
#include "time.h"
/* Globals */
int taskId1;
int taskId2;
SEM_ID   semCounting;
SEM_ID   semBinary;
WDOG_ID  wdID;
/* Function Prototypes */
void taskNum1 ( void );
void taskNum2 ( void );
void wdISR ( void );
void Case_7 (void)
{
  int taskCount = 0;
  int sts;
  /* Create a watchdog */
  if ( ( wdID = wdCreate() ) == NULL)
  {
    printf ( "Error in creating watchdog\n" );
    return;
  }
  /* Set the timer to go off after 10 seconds */
  if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
ERROR )
  {
    printf ( "Error in starting the watchdog timer\n" );
    return;
  }
  /* Create a binary semaphore with semaphore available and queue tasks
on FIFO basis */
  if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL )
  {
    printf ( "Error in Creating Binary Semaphore\n");
    return;
  }
  else
  {
    printf ( "Success in Creating Binary Semaphore\n");
  }
  /* Lock the semaphore for scheduling purposes */
  semTake ( semBinary, WAIT_FOREVER );
  /* spawn the 2 tasks  starting with the highest priority task */
  if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR)
taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
  {
    printf ( "Error in spawning taskNum1\n" );
    return;
  }
  if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR)
taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
  {
    printf ( "Error in spawning taskNum2\n" );
    return;
  }
}
void taskNum1 ( void )
{
  static int  i = 0, j = 0, lock;
  for ( j = 0; j < 3; j++ )
  {
    /* wait indefinitely for semaphore */
    semTake ( semBinary, WAIT_FOREVER );
    /* Adding a critical section that would prevent the higher priority
    task to run until the locking task leaves the critical region */
    if ( taskLock () == OK )
    {
      lock = intLock ();
      /* A premitive delay to cause the wd to time out */
      /* A test to see if intLock() works.  The ISR should not go off */
      for ( i = 0; i < 100; i++)
      {
        printf ( "taskNum1 Running in critical region\n" );
      }
      /* This delay would prove that no matter how long, VxWorks will
      not permit any other tasks to run until execution is out of this
      critical region.  This is compared to the use of task delay in
      task two which VxWorks would automatically schedules task one to
      start running after a certain amount of delay.  So for each task
      delay call in taskNum2, taskNum1 gets to run also based on
      VxWorks priority and internal schedulings. */
      /*taskDelay ( 20 * sysClkRateGet()); */
      intUnlock (lock);
      taskUnlock ();
    }
    /* give up semaphore so the next task can run */
    semGive ( semBinary );
  }
}
void taskNum2 ( void )
{
  static int  i = 0, j = 0;
  semGive ( semBinary );
  for ( j = 0; j < 3; j++ )
  {
    /* wait indefinitely for semaphore */
    semTake ( semBinary, WAIT_FOREVER );
    for ( i = 0; i < 2; i++)
    {
      printf ( "taskNum2 Running\n" );
    }
    /* A delay to exercise for the binary semaphore
    scheduling capability where without it, each task
    will run untill finished based on their priorities
    sequentially. */
    taskDelay ( 2 * sysClkRateGet() );
    /* give up semaphore so the other task can run */
    semGive ( semBinary );
  }
}
/* This routine goes off every 3 seconds */
void wdISR ( void )
{
  printf ( "The watchdog timer expired after 3 seconds\n" );
  /* Re-start timer to go off after 10 seconds */
  if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
ERROR )
  {
    printf ( "Error in starting the watchdog timer in wdISR\n" );
  }
}
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Help required to create dos file system on hard disk.
Date: Mon, 19 Nov 2001 21:49:03 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tbul7$odf$1@plutonium.btinternet.com>
References: <27203e86.0111190530.1687ced1@posting.google.com> <9tbb97$4kt$1@snoopy.bndlg.de>
> ->@cd "/hd0"
> ->@ls
or maybe even:
- -> @cd "/hd0/."
not sure about "cd" - 'tis hopeless since it isn't an  inherited task
property.... - but "ls" doesn't like being given the root name of a
filesystem.   Probably to do with a driver open() routine not treating
the null pointer the same as the null string.......
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Mon, 19 Nov 2001 21:55:24 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tbv23$mbm$1@neptunium.btinternet.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net>
> We are facing a problem of network stack hangs.
> We have several server target boards (MVME162P-242E, MC68040) running in
> vxWorks5.4 using END(Enhanced Network Driver) and several Clients
> (workstation) on Networks.
> Both servers and clients are communicate using UDP/IP (Broadcast,
unicast).
> After some days(3 ~ 7 days) , a target board don't send or receive any
> packet.
> At that situation, at Client, We send PING  that target board but  No
> Response.
> In particularly, on shell-task (vxWorks support) in that target board, we
> send PING other node but the shell task go dead-lock,so i can't any more.
In
> the result, I push the reset switch on board.
1) if you spawn 'ping' as a separate task you'll be able to do further
   diagnostics......  (-> sp ping,<system>,5)
2) look at the buffer counts netStackDataPoolShow() and
netStacksysPoolShow()
   and netPoolShow( <the rx pool associated with your driver> )
   (PS: can someone at WRS strip out the lines where the counts are 0 so
these
   don't wrap off the screen)
   If you are out of buffers somewhere, look for the buffer loss bug...
3) look for a bug in your network driver......
4) are these old AMD 'lance' parts? the NMOS lance ca go 'deaf'
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: what's the real size of image
Date: 19 Nov 2001 17:27:10 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111191727.38575389@posting.google.com>
hi all
   When build my vxWorks image,the builder show like this:
"vxWorks: 626396(t) + 30716(d) +  22704(b) = 679816 (1351800 unused)"
.I think the "679816" means the size of this image.But in Windows
Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the
differece is between them and the the real which is the real size of
this image.
thanks
kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Mon, 19 Nov 2001 17:38:44 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bf9b42e$0$10751$4c41069e@reader1.ash.ops.us.uu.net>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
Reply-To: "Gary M" <com.vertical@garym>
If you had carefully read the documentation for wdLib, the watchdog timer
library, you would have seen the following:
"Note that the timeout routine is invoked at interrupt level, rather than in
the context of the task. Thus, there are restrictions on what the routine
may do. Watchdog routines are constrained to the same rules as interrupt
service routines. For example, they may not take semaphores, issue other
calls that may block, or use I/O system routines like printf( )."
"PC User" <PCUser@hotmail.com> wrote in message
news:3bf9721a$0$30970$272ea4a1@news.execpc.com...
> Hi Folks,
>
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
>
> (snip)
>
> /* This routine goes off every 3 seconds */
> void wdISR ( void )
> {
>   printf ( "The watchdog timer expired after 3 seconds\n" );
>
>   /* Re-start timer to go off after 10 seconds */
>   if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
> ERROR )
>   {
>     printf ( "Error in starting the watchdog timer in wdISR\n" );
>   }
> }
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: Tue, 20 Nov 2001 04:00:30 GMT
From: pkockritz@home.com (Pete Kockritz)
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <pkockritz-1911012200310001@192.168.0.99>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <thv4rnuu2oj.fsf@solar-flare.ftel.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk> <2025ac82.0111190808.6fa04b69@posting.google.com>
In article <2025ac82.0111190808.6fa04b69@posting.google.com>,
cpotenza@onetel.net.uk (Claudio Potenza) wrote:
> But When I compile under NT, it seems that the compiler embeds
> incorrectly the path for the source file in the object so that "odump"
> cannot find it.
Yes, what I do to get around this is I have a script that compiles the
.c file then runs objdumpppc on it. To create the script,
 - compile the file under Tornado (lets call it myFile.c)
 - copy the build cmd line from the 'build' window and paste it into your
   favorite editor. Make sure you have the -g option on the cmd.
 - clean up the line breaks so the command is all on one line (or has
   escapes for the line breaks)
 - add the cmd 'objdumpppc -S myFile.o' at the end of the script
So now you have a script that will compile the file, then reverse assemble
it. Of course, you can modify the script to accept an argument so you can
use it for any .c file.
Make sure the compiler is in your PATH, and the WIND_BASE env var (and
friends) are set properly so the compiler can find everything it needs.
Also, you must be sure the script uses exactly the same compile options
as the Tornado project, otherwise your assembly file may not reflect what's
in your project.
I'd post my script, but I'm at home and don't have it handy. If you want
it, email me and I'll forward it to you.
---------------------------
Newsgroups: comp.os.vxworks
Subject: why flag can't gaurantee mutual exclusion?
Date: 19 Nov 2001 23:50:48 -0800
From: joyce_sli@yahoo.com (Joyce)
Organization: http://groups.google.com/
Message-ID: <3e255a7a.0111192350.77e95343@posting.google.com>
I want to implement mutual exclusion to protect shared resouece.
Originaly I want to use flag.
When a process enters the critical region, the flag is set. When a
process leaves the critical region, the flag is reset. Whenever a
process wants to enter the critical region, it checks to see if the
flag is set. If it is, it will simply wait until the flag is not set
(i.e. while(flag);)
why this does not gaurantee mutual exclusion. Also, is there any other
problems with this solution.
Thanks in advance
- -joyce
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: 20 Nov 2001 00:13:27 -0800
From: matthieu_sevestre@yahoo.fr (Matthieu Sevestre)
Organization: http://groups.google.com/
Message-ID: <d428158b.0111200013.71783267@posting.google.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
Hi !
That's strange but yesterday I met the same problem on my PPC405 based
board. intLock() call does not lock interrupts (in fact, MSR[EE] is
not modified as it would have been).
I also tried to write my own intLock using the wrteei opcode and it
also fails modifying the MSR[EE] bit. I checked that the PPC is in
Supervisor mode.
Seems that we are two in the same case :-)
I suggest that the first one of us that obtain information tell it to
the other.
Matt
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
>
> I even tested this with an external serial I/O interrupt and still does
> not work.  Can you tell me what the trick is.  Here is a copy of my code
> in case you wonder what I am doing.
>
> Thanks.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what's the real size of image
Date: Tue, 20 Nov 2001 09:17:51 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9td3jh$1vs$1@snoopy.bndlg.de>
References: <221caa76.0111191727.38575389@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95248a7.dip.t-dialin.net
Hi kevin,
type
objdump<arch> -h filename
and you will see all the other informations, like symbol and debug.
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"kewin" <kevinatnj@yahoo.com.cn> schrieb im Newsbeitrag
news:221caa76.0111191727.38575389@posting.google.com...
> hi all
>    When build my vxWorks image,the builder show like this:
> "vxWorks: 626396(t) + 30716(d) +  22704(b) = 679816 (1351800 unused)"
> .I think the "679816" means the size of this image.But in Windows
> Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the
> differece is between them and the the real which is the real size of
> this image.
>
> thanks
>
> kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: why flag can't gaurantee mutual exclusion?
Date: Tue, 20 Nov 2001 00:22:19 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bfa12d8$0$22034$4c41069e@reader0.ash.ops.us.uu.net>
References: <3e255a7a.0111192350.77e95343@posting.google.com>
Reply-To: "Gary M" <com.vertical@garym>
This is the sort of problem typically seen in concurrent programming
classes, and rarely in the real world (unless you are building a
muti-tasking system from scratch), and certainly not in a system running
VxWorks. So I'm curious to know why you are asking.
Since you already seem to know this does not guarantee mutual exclusion, you
should be able to figure out why it doesn't.
"Joyce" <joyce_sli@yahoo.com> wrote in message
news:3e255a7a.0111192350.77e95343@posting.google.com...
> I want to implement mutual exclusion to protect shared resouece.
> Originaly I want to use flag.
>
> When a process enters the critical region, the flag is set. When a
> process leaves the critical region, the flag is reset. Whenever a
> process wants to enter the critical region, it checks to see if the
> flag is set. If it is, it will simply wait until the flag is not set
> (i.e. while(flag);)
>
> why this does not gaurantee mutual exclusion. Also, is there any other
> problems with this solution.
>
> Thanks in advance
>
> -joyce
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Options for Assembler and Listings
Date: 20 Nov 2001 09:08:46 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns915F676399AC5borkhuisagerecom@135.7.153.101>
References: <3BF53644.DF23EA4C@siemenscomms.co.uk>
Owain Phillips <owain.phillips@siemenscomms.co.uk> wrote:
> Does GCC have a option to generate a nice mixed 'C' and assembly
> listing that contains opcodes?
>
> -S and -save-temps gets me assembler output, is this as good as it
> gets?
Take a look at this:
http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.6-D
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: [Q] Interface information
Date: Tue, 20 Nov 2001 18:07:15 +0900
From: "lemmy" <lemmy777@netsgo.com>
Message-ID: <MKU7SKacBHA.219@news1.sys.netsgo.com>
Hi..
I was wondering if socket options IP_RECVIF are supported by
VxWorks environment.
If this option is not supported, is there any another way of
knowing the interface information?
Please help me!!
Thanks and have a nice day~~
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: 20 Nov 2001 01:18:44 -0800
From: matthieu_sevestre@yahoo.fr (Matthieu Sevestre)
Organization: http://groups.google.com/
Message-ID: <d428158b.0111200118.53b22d02@posting.google.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
Well,
I have a beginning of answer for my case:
- - intLock() executed from the target shell works fine, whereas...
- - ...it does not work in the windsh, even with the @intLock call.
FYI, vxMsrGet() returns the MSR value (the register modified by
intLock()).
So, on the target shell it works well:
- -> vxMsrGet
value = 168496 = 0x29230 = sysNvRamGet + 0x14c
- -> intLock
value = 168496 = 0x29230 = sysNvRamGet + 0x14c
- -> vxMsrGet                                        /* MSR well
modified */
value = 4656 = 0x1230
- -> intUnlock 0x29230
value = 168496 = 0x29230 = sysNvRamGet + 0x14c
When those same call are directly done in the wind shell, it does not
work. The MSR value returned is always 0x29230.
=> Calls from the windsh does not affect the MSR register for an
unknown reason for the moment and that's the reason why intLock() does
not work when called from the windsh.
So: do not call intLock() from the windsh directly (or do it through a
C function).
Hope that helps !
Matt
---------------------------
Newsgroups: comp.os.vxworks
Subject: PSO stack on IBM Walnut (PowerPC)
Date: 20 Nov 2001 01:22:28 -0800
From: bhyravap@yahoo.com (Bhyrava Prasad)
Organization: http://groups.google.com/
Message-ID: <fe798c56.0111200122.48fff40@posting.google.com>
Hi,
   I would like to try the free PSO stack on
an IBM Walnut PowerPC system. By default, the stack
seems to include ARM, Sparc and x86 support. Has
anyone tried getting it to work on PowerPC?
Any help appreciated. If I pull in the required arch/powepc
files from the NetBSD src, what do I need to look for/hack/rewrite?
   Also, is there any VxWorks magic to be done
to use gdb as a debugger? Seems like it should compile
out of the box and work.
TIA
Bhyrava Prasad
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what's the real size of image
Date: Tue, 20 Nov 2001 10:32:20 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfa23e9$1@brateggebdc5.br-automation.co.at>
References: <221caa76.0111191727.38575389@posting.google.com> <9td3jh$1vs$1@snoopy.bndlg.de>
Hi,
alternatively you can right-click the file in Tornado 2's project facility
and view its properties.
There are also displays for text, data and bss sizes.
The remainer of the file can for example be debug/symbol informations.
hth
Werner
"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:9td3jh$1vs$1@snoopy.bndlg.de...
> Hi kevin,
> type
> objdump<arch> -h filename
> and you will see all the other informations, like symbol and debug.
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
>  SOFTEC GmbH               Tel +49-731-96600-0
>  Promenade 17                   Fax +49-731-96600-23
>  D-89073 Ulm                    Michael Lawnick
>  Germany                           lawnick@softec.de
>  ==============================================
>
> "kewin" <kevinatnj@yahoo.com.cn> schrieb im Newsbeitrag
> news:221caa76.0111191727.38575389@posting.google.com...
> > hi all
> >    When build my vxWorks image,the builder show like this:
> > "vxWorks: 626396(t) + 30716(d) +  22704(b) = 679816 (1351800 unused)"
> > .I think the "679816" means the size of this image.But in Windows
> > Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the
> > differece is between them and the the real which is the real size of
> > this image.
> >
> > thanks
> >
> > kevin
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Tue, 20 Nov 2001 10:30:27 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfa2378$1@brateggebdc5.br-automation.co.at>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
Hi,
please see the comments between your code
"PC User" <PCUser@hotmail.com> wrote in message
news:3bf9721a$0$30970$272ea4a1@news.execpc.com...
> Hi Folks,
>
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
>
> I even tested this with an external serial I/O interrupt and still does
> not work.  Can you tell me what the trick is.  Here is a copy of my code
> in case you wonder what I am doing.
>
> Thanks.
>
> #include "vxWorks.h"
> #include "taskLib.h"
> #include "semLib.h"
> #include "stdio.h"
> #include "stdlib.h"
> #include "wdlib.h"
> #include "time.h"
>
> /* Globals */
>
> int taskId1;
> int taskId2;
>
> SEM_ID   semCounting;
> SEM_ID   semBinary;
> WDOG_ID  wdID;
>
> /* Function Prototypes */
> void taskNum1 ( void );
> void taskNum2 ( void );
> void wdISR ( void );
>
> void Case_7 (void)
> {
>   int taskCount = 0;
>   int sts;
>
>   /* Create a watchdog */
>   if ( ( wdID = wdCreate() ) == NULL)
>   {
>     printf ( "Error in creating watchdog\n" );
>     return;
>   }
>
>   /* Set the timer to go off after 10 seconds */
>   if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
> ERROR )
>   {
>     printf ( "Error in starting the watchdog timer\n" );
>     return;
>   }
>
>   /* Create a binary semaphore with semaphore available and queue tasks
> on FIFO basis */
>   if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL )
>   {
>     printf ( "Error in Creating Binary Semaphore\n");
>     return;
>   }
>   else
>   {
>     printf ( "Success in Creating Binary Semaphore\n");
>   }
>
>   /* Lock the semaphore for scheduling purposes */
>   semTake ( semBinary, WAIT_FOREVER );
Just curious, but why did you not create the semaphore with SEM_EMPTY
instead of taking it manually?
>
>   /* spawn the 2 tasks  starting with the highest priority task */
You do it exactly the other way round than this comment states.
Except you do not consider higher priority to be more priviledged (and a
lower value).
>   if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR)
> taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
>   {
>     printf ( "Error in spawning taskNum1\n" );
>     return;
>   }
>
>   if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR)
> taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
>   {
>     printf ( "Error in spawning taskNum2\n" );
>     return;
>   }
>
> }
>
> void taskNum1 ( void )
> {
>   static int  i = 0, j = 0, lock;
>
>   for ( j = 0; j < 3; j++ )
>   {
>     /* wait indefinitely for semaphore */
>     semTake ( semBinary, WAIT_FOREVER );
>
>     /* Adding a critical section that would prevent the higher priority
>     task to run until the locking task leaves the critical region */
>     if ( taskLock () == OK )
>     {
>       lock = intLock ();
>
>       /* A premitive delay to cause the wd to time out */
>       /* A test to see if intLock() works.  The ISR should not go off */
>
>       for ( i = 0; i < 100; i++)
>       {
>         printf ( "taskNum1 Running in critical region\n" );
printf is very likely to cause a task switch if some other task does I/O as
well or if you are using some kind of remote shell.
(Tornado host shell, Telnet, or whatsoever).
See the next comment for details.
>       }
>
>       /* This delay would prove that no matter how long, VxWorks will
>       not permit any other tasks to run until execution is out of this
>       critical region.  This is compared to the use of task delay in
>       task two which VxWorks would automatically schedules task one to
>       start running after a certain amount of delay.  So for each task
>       delay call in taskNum2, taskNum1 gets to run also based on
>       VxWorks priority and internal schedulings. */
>       /*taskDelay ( 20 * sysClkRateGet()); */
No, when your task blocks (e. g. on a timeout, like above), the scheduler
will be invoked, too.
Afterwards, the state of the interrupts of that very task will be restored,
at least on platforms where this information is stored in the task control
block (TCB).
So you will end up running some other task, with interrupts re-enabled.
Finally, read the documentation intLock()
Here is the most important part - the warnings that come with intLock()
WARNINGS
  Do not call VxWorks system routines with interrupts locked. Violating this
rule may re-enable interrupts unpredictably.
  The routine intLock( ) can be called from either interrupt or task level.
When called from a task context, the interrupt lock level is part of the
task context. Locking out interrupts does not prevent rescheduling. Thus, if
a task locks out interrupts and invokes kernel services that cause the task
to block (e.g., taskSuspend( ) or taskDelay( )) or that cause a higher
priority task to be ready (e.g., semGive( ) or taskResume( )), then
rescheduling occurs and interrupts are unlocked while other tasks run.
Rescheduling may be explicitly disabled with taskLock( ). Traps must be
enabled when calling this routine.
>
>       intUnlock (lock);
>       taskUnlock ();
>     }
>
>     /* give up semaphore so the next task can run */
>     semGive ( semBinary );
>   }
> }
>
> void taskNum2 ( void )
> {
>   static int  i = 0, j = 0;
>
>   semGive ( semBinary );
>
>   for ( j = 0; j < 3; j++ )
>   {
>     /* wait indefinitely for semaphore */
>     semTake ( semBinary, WAIT_FOREVER );
>
>     for ( i = 0; i < 2; i++)
>     {
>       printf ( "taskNum2 Running\n" );
>     }
>
>     /* A delay to exercise for the binary semaphore
>     scheduling capability where without it, each task
>     will run untill finished based on their priorities
>     sequentially. */
>     taskDelay ( 2 * sysClkRateGet() );
>
>     /* give up semaphore so the other task can run */
>     semGive ( semBinary );
>   }
> }
>
> /* This routine goes off every 3 seconds */
> void wdISR ( void )
> {
>   printf ( "The watchdog timer expired after 3 seconds\n" );
>
>   /* Re-start timer to go off after 10 seconds */
>   if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
> ERROR )
>   {
>     printf ( "Error in starting the watchdog timer in wdISR\n" );
As Dave already stated, you must not call printf() from interrupt context.
Unfortunately, this sometimes works.
But your machine will freeze if you have simultaneous calls to printf from
task and interrupt context.
(This happens at least on pc486 platform)
>   }
> }
>
>
hth
Werner
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: why flag can't gaurantee mutual exclusion?
Date: Tue, 20 Nov 2001 10:37:31 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfa2520$1@brateggebdc5.br-automation.co.at>
References: <3e255a7a.0111192350.77e95343@posting.google.com>
Hi,
you need to make sure that no task switch between you query your flag to be
reset and the command actually setting it.
Since in a normal C (or C++) program, these are distinct processor
instructions.
Therefore, a task switch _can_ occur between you query the flag to be reset
and you are able to set it.
Now imagine the newly running task does the same - trying to aquire your
flag.
You should be able to figure out what the problem is.
For VxWorks it is highly recommended to use the builtin semaphore facilities
for that task.
There is a specialized semaphore for mutual exclusion, that prevents some
other problems inherent to mutual exclusion.
See the documentation for semMCreate for details.
hth
Werner
"Joyce" <joyce_sli@yahoo.com> wrote in message
news:3e255a7a.0111192350.77e95343@posting.google.com...
> I want to implement mutual exclusion to protect shared resouece.
> Originaly I want to use flag.
>
> When a process enters the critical region, the flag is set. When a
> process leaves the critical region, the flag is reset. Whenever a
> process wants to enter the critical region, it checks to see if the
> flag is set. If it is, it will simply wait until the flag is not set
> (i.e. while(flag);)
>
> why this does not gaurantee mutual exclusion. Also, is there any other
> problems with this solution.
>
> Thanks in advance
>
> -joyce
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Tue, 20 Nov 2001 11:29:39 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfa3158@brateggebdc5.br-automation.co.at>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> <d428158b.0111200118.53b22d02@posting.google.com>
Hi,
This is because you _must_ not call any operating system functions with
interrupts locked.
When invoking intLock() from windSh, how do you expect that command to reach
the target?
It will be some kind of network or serial connection depending on your
target server configuration.
And _of_course_ this communication involves calling a whole lot of OS
functions in the target task / WDB agent.
Read the intLock() documentation.
It is designed to
lock interrupts
do something with your hardware, which must not be interrupted
but do NOT call _any_ VxWorks provided function, especially anything I/O
like
unlock interrupts
You should use intLock() carefully and rarely.
Usually someting is wrong with the overall design, when you find yourself
using intLock() too often.
hth
Werner
"Matthieu Sevestre" <matthieu_sevestre@yahoo.fr> wrote in message
news:d428158b.0111200118.53b22d02@posting.google.com...
> Well,
>
> I have a beginning of answer for my case:
> - intLock() executed from the target shell works fine, whereas...
> - ...it does not work in the windsh, even with the @intLock call.
>
> FYI, vxMsrGet() returns the MSR value (the register modified by
> intLock()).
>
> So, on the target shell it works well:
> -> vxMsrGet
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
> -> intLock
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
> -> vxMsrGet                                        /* MSR well
> modified */
> value = 4656 = 0x1230
> -> intUnlock 0x29230
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
>
> When those same call are directly done in the wind shell, it does not
> work. The MSR value returned is always 0x29230.
>
> => Calls from the windsh does not affect the MSR register for an
> unknown reason for the moment and that's the reason why intLock() does
> not work when called from the windsh.
>
> So: do not call intLock() from the windsh directly (or do it through a
> C function).
>
> Hope that helps !
> Matt
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: 20 Nov 2001 11:42:40 +0200
From: Reinhold Wirth <wirth@softec.de>
Organization: WEB.DE
Message-ID: <3bfa33bc@netnews.web.de>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> <d428158b.0111200118.53b22d02@posting.google.com>
matthieu_sevestre@yahoo.fr (Matthieu Sevestre) wrote:
>Well,
>
>I have a beginning of answer for my case:
>- intLock() executed from the target shell works fine, whereas...
>- ...it does not work in the windsh, even with the @intLock call.
>
>FYI, vxMsrGet() returns the MSR value (the register modified by
>intLock()).
>
>So, on the target shell it works well:
>-> vxMsrGet
>value = 168496 = 0x29230 = sysNvRamGet + 0x14c
>-> intLock
>value = 168496 = 0x29230 = sysNvRamGet + 0x14c
>-> vxMsrGet                                        /* MSR well
>modified */
>value = 4656 = 0x1230
>-> intUnlock 0x29230
>value = 168496 = 0x29230 = sysNvRamGet + 0x14c
intLock()in your test do not realy lock the interrupts. You MSR value shows the
status of disabled interrupts.
You are not able to use the target shell (serial interface)with realy locked
interrupts.
You should not call VxWorks system routines with interrupts locked (see
documentation of intlock()). You do not know which function are called with your
shell-call.
test the call of:
void test(void)
{
  intLock();
  for (;;)
}
You see, that your intLock() works with a call from both shells correct.
>
>When those same call are directly done in the wind shell, it does not
>work. The MSR value returned is always 0x29230.
>
>=> Calls from the windsh does not affect the MSR register for an
>unknown reason for the moment and that's the reason why intLock() does
>not work when called from the windsh.
>
>So: do not call intLock() from the windsh directly (or do it through a
>C function).
>
>Hope that helps !
>Matt
- --
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de
---------------------------
Newsgroups: comp.os.vxworks
Subject: Text, Bss & Data sizes
Date: Tue, 20 Nov 2001 11:48:38 +0000 (UTC)
From: "Raghunath Adhyapak" <raghunath@controlnet.co.in>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <NEBBJKOBKBDKADDJBJMFKEIACIAA.raghunath@controlnet.co.in>
Hi,
I have a downloadable module & I need to load it with loadModuleAt()
function.
I require to provide the function with addresses for text, bss & data.
Hence I need to know the sizes for text, bss & data. How can I find this?
Please guide me.
Regards,
Raghunath
(O) 91-832-783615 ext 505
(R) 91-832-423024
- --
Posted from hidden-user@dakiya.controlnet.co.in.116.54.202.in-addr.arpa [202.54.116.69] (may be forged)
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 04:12:05 2001
From: "Jignesh, Shah (IE10)" <Jignesh.Shah@honeywell.com>
Date: Tue Nov 20 04:12:07 PST 2001
Subject: About Memory Management
Hi,
	I have a typical problem here, please help me with some information.
	(1) Where can I find information on vxWorks memory management?
	(2) I want to configure the heap area that vxworks utilises, how can
I do it?
	(3) In my application, the fiollowing is a requirement.
	I am utilising some structures. I want the memory location of the
structures predefined. I need the compiler to know that the locations are
occupied and so it can not allocate the same in runtime. So please give me a
way out.
	Thanx in advance.
Warm Regards,
JIGNESH SHAH
Senior Software Engineer
Honeywell India Software Operation Pvt Ltd
151/1, Doraisanipalya,
Bannerghatta Road
Bangalore 560 076
Tel: # 91-80-6585751 Ext 2033
Email : jignesh.shah@honeywell.com
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 07:41:52 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov 20 07:41:54 PST 2001
Subject: RE: About Memory Management
VxWorks Greetings!
> Submitted-by: "Jignesh, Shah (IE10)" <Jignesh.Shah@honeywell.com>
>
> Hi,
>
> 	I have a typical problem here, please help me with some information.
>
> 	(1) Where can I find information on vxWorks memory management?
> 	(2) I want to configure the heap area that vxworks utilises, how can
> I do it?
> 	(3) In my application, the fiollowing is a requirement.
>
> 	I am utilising some structures. I want the memory location of the
> structures predefined. I need the compiler to know that the locations are
> occupied and so it can not allocate the same in runtime. So
> please give me a
> way out.
>
1) The VxWorks Programmer's Guide goes into detail on how the
   memory manager operates.  But, it is essentially, a first-fit memory
   manager with coallessed-chaining to recombine adjacent free memory
   blocks.  No garbage collection is used.
2) The easiest way to do this is to malloc a block of memory that is
   large enough for your needs and manage it yourself.  There are
   utilities in memPartLib that allow you to create your own memory
   partition and do memPartAllocs/memPartFrees directly, but this is
   usually more trouble than it's worth, unless you have a very specific
   application in mind such as a private block of SRAM that you're
   managing/using that is separate from the main RAM.
3) Use pointers.  You don't mention your CPU architecture, but there are
   typically "holes" in the memory that are not managed by VxWorks, but have
   RAM in them none the less.  An example would be the region between
   RAM_LOW_ADRS and the boot line in low memory.  Alternatively, you can
   move RAM_LOW_ADRS up in memory (remember to move RAM_HIGH_ADRS as
   well!) if you need low memory.  Or, you can set USER_RESERVED_MEM
   if you're looking for high memory.  Once reserved, set the pointer
   to that memory area and simply use it.  The memory will exist, but
   not be managed by VxWorks in the system memory pool.
Sounds like you need to take one of PTR's training classes... ;-)
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 07:51:59 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov 20 07:52:02 PST 2001
Subject: RE: vxWorks, tNetTask, & Sniffers
VxWorks Greetings!
> Submitted-by: Michael.Ben-Ari@celtro.com
>
>
> We have an inhouse "if" driver for internal IP communications, and
> we are looking for tools other the standard xxShow routines that can give
> us statistics of packets that are being forwarded via our "internal"
> interface.
>
> 1.  Are there any statistics related to tNetTask that we have access to
> other then
> via various the xxShow routines?
>
It depends.  Are you using the BSD interface or Wind's END/NPT interface?
If it is an "if" driver, that indicates a BSD interface.  tNetTask is really
a very simple beast.  It really just takes a function pointer and a set of
parameters (that you pass via a netJobAdd) and invokes the function.  Any
instrumentation can be added in the function that's being called.  You
said that you wrote this driver, yes?  If so, then add your statistics
in the function being called by netJobAdd.
> 2.  Are there any sniffers that we can either upload captured
> data from the
> terminal
> or that we can use to attach to tNetTask to do sniffing from internal IP
> addresses
> that are NOT ethernet etc ?
The etherInputHook is really a bit of a misnomer.  It's not Ethernet
specific.
If your interface driver uses the standard BSD/END calls, you should be
able to use etherInputHook to grab packets.  Otherwise, place your sniffing
function into the chain of the netJobAdd call and then call the *real*
function
from your intercept function.  This will slow packet processing down, so
watch for it.
>
> 3.  Any other solutions?
>
Lots of them.  The answers all begin with "well, it depends..." :-)
You've not provided enough information to be more specific.
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 07:57:52 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov 20 07:57:55 PST 2001
Subject: RE: vxMemProbe and cPCI bridge
VxWorks Greetings!
> Submitted-by: "David P Hidalgo" <dphidalg@crisa.es>
>
> Now, I would like to know if the vxMemProbe function works correctly in a
> cPCI environment. Is there another way to detect a bus error in a cPCI
> architecture?
>
It depends.  Which CPU architecture are you using?  I've seen bus errors
work correctly with PPC & CPCI.  I've not played with x86 on CPCI, so I
can't
comment on that one.  As for other ways to detect a bus error, there
are many.  All of them are dependent on your H/W and how good a job
you BSP developer did when thay implemented the CPCI interface.
> Also Im looking for a cPCI-to-cPCI bridge that let me expand my
> eight slots
> rack. In my configuration there will be only a CPU, so I do not need any
> intelligence from the board, simply a connection. Does anybody
> know a board
> like that?
>
There are several of these.  For example:
http://www.comtel-online.com/bridging.htm
http://www.kaparel.com/products/bridges/ps1130ds.htm
But, you'll still have to set up the bridge chip for your cPCI
address mapping.  This will require a driver be developed to set your
mapping up correctly.
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 07:57:54 2001
From: "Mike Anderson" <mike@theptrgroup.com>
Date: Tue Nov 20 07:57:58 PST 2001
Subject: RE: Dummy n/w interface.(TUN/TAP)
VxWorks Greetings!
> Submitted-by: Jitendra kanitkar <Jitendrak@netbrahma.com>
>
> > vxWorks Greetings,
> >
> Sorry to put the question again on the list, but still I have not received
> anything in reply, if there is no complete answer then some
> directions also
> will do.
>
> > I wanted to know, is there any s/w network interface available
> in vxWorks.
> > Something like TUN/TAP in Linux. ( Instead of sending the
> packet on to h/w
> > interface TUN/TAP gives it to user space program in Linux).
> > What I want, is to have a dummy device which I may(/may not) start in
> > runtime. Can I creat a dummy ethernet interface in vxWorks?
> > If it is not directly available is there any way out for this?
> > (We have vxworks 5.4)
> >
Yes.  There are several ways to do this.  If you are using END/NPT, you can
register a SNARFing protocol that will monitor all of the network traffic
and allow to to pass it to your applications via a message queue or pipe or
buffer interface or whatever...  Remember that, usless you're using VxWorks
AE,
there is no distinction between user and system space in VxWorks.
EtherInputHooks
might also work for you depending on your interface.
Alternatively, you can create an END loopback driver and use it as a
software interface.  The June Drivers patch included an almost-working
example of this in src/drivers.
HTH,
Mike
--
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
V: (703) 585-9384         F: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 09:12:00 2001
From: Michael.Ben-Ari@celtro.com
Date: Tue Nov 20 09:12:03 PST 2001
Subject: RE: vxWorks, tNetTask, & Sniffers
> ...
>instrumentation can be added in the function that's being called.  You
>said that you wrote this driver, yes?  If so, then add your statistics
>in the function being called by netJobAdd.
For 1. Thanks... Adding extra data to the driver directly
is an idea that I didn't think of.  I gather then that other
statistics standard to tNetTask don't exists.
You guessed correctly, it is an not an END based driver but
rather BSD.  In the future we MAY upgrade the driver to an
END conforming driver (not yet required).
For 2. I was hoping if there are any third party sniffing
tools (on a protocol level) that has open APIs; such that I
can send it incoming/outgoing packets in its capture phase
that may even be integrated (not req'd) into vxWorks.
>>
>> 3.  Any other solutions?
>>
>
>Lots of them.  The answers all begin with "well, it depends..." :-)
>You've not provided enough information to be more specific.
I deserved that one :-)
Rephrase that one... Any other Ideas debugging IP from within
vxWorks automatically without tooo much effort?
Thanks.
-Mike
-----------------------------------------------
Mike Ben-Ari
Celtro - Cellular BU of
NGTS ECI Telecom Ltd.
Mail:  mbenari@celtro.com
Tel:   +972-3-926-6794
Fax:   +972-3-926-6460
-----------------------------------------------
From vxwexplo-errs@csg.lbl.gov  Tue Nov 20 22:45:52 2001
From: Jitendra kanitkar <Jitendrak@netbrahma.com>
Date: Tue Nov 20 22:45:54 PST 2001
Subject: RE: Dummy n/w interface.(TUN/TAP)
> VxWorks Greetings,
>
Thanks for the replies. In our setup the situation is bit tricky.
We have ethernet driver(which is not mux compatible) and vxworks
image(prebuilt). We wanted to establish connection between the TCP/IP stack
and the ethernet driver(which is not END driver).
The solution we thought, is to have a s/w(dummy like TUN/TAP in Linux)
interface and using vxworks filters and hooks alongwith some wrapper
functions, connect driver to IP stack.
I got a suggestion to use loopback device but it does not provide any hooks
like normal END.
So is there any standard way to work with non-END (device drivers) in
vxWorks(5.4).
Thanks in advance,
Jitendra.
> Submitted-by vxwexplo-errs@csg.lbl.gov  Tue Nov 20 07:57:54 2001
> Submitted-by: "Mike Anderson" <mike@theptrgroup.com>
>
> Yes.  There are several ways to do this.  If you are using END/NPT, you
> can
> register a SNARFing protocol that will monitor all of the network traffic
> and allow to to pass it to your applications via a message queue or pipe
> or
> buffer interface or whatever...  Remember that, usless you're using
> VxWorks
> AE,
> there is no distinction between user and system space in VxWorks.
> EtherInputHooks
> might also work for you depending on your interface.
>
> Alternatively, you can create an END loopback driver and use it as a
> software interface.  The June Drivers patch included an almost-working
> example of this in src/drivers.
>
> HTH,
>
> Mike
> --
> =======================================================
>        T h e   P T R   G r o u p,   I n c.
> =====================================================
From vxwexplo-errs@csg.lbl.gov  Wed Nov 21 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Nov 21 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Nov 21 04:03:13 PST 2001
        Subject: Re: gratuitous arp
        Subject: Re: why flag can't gaurantee mutual exclusion?
        Subject: Re: network problems past gateway
        Subject: Re: Text, Bss & Data sizes
        Subject: Porting GCC for Motorola MBX860 using MPC860?
        Subject: Arm Integrator 940 compiler options and linking question
        Subject: Problem trying to interface RS 422 PMC on Vmetro's Powermidas board over the VME backplane
        Subject: Re: intLock() question...
        Subject: DOSFS2 MOUNTING
        Subject: Does fstat() work incorrectly?
        Subject: Re: what's the real size of image
        Subject: Re: intLock() question...
        Subject: Re: intLock() question...
        Subject: Re: clock corruption
        Subject: Re: Boot a target with my application
        Subject: Re: DOSFS2 MOUNTING
        Subject: Re: The network stack locks completely solid
        Subject: using -mlongcall for SDRAM more than 32MB/powerpc
        Subject: Re: The network stack locks completely solid
        Subject: DNS SERVER ADDRESS
        Subject: yur6yu
        Subject: Re: what is the meaning of FOREVER?
        Subject: Why did the SCSI get a error type event?
        Subject: What is the difference between SIUMCR[GBL] and FCRx[GBL] in 8260?
        Subject: Can we do Raw socket programming ?
        Subject: Re: Cygwin GDB Users ?
        Subject: Re: Does fstat() work incorrectly?
        Subject: What is ?
        Subject: Source Code to detect Pointer bugs in C ode
        Subject: error message!!! [what's wrong?]
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: gratuitous arp
Date: Tue, 20 Nov 2001 12:44:27 GMT
From: "Don Dewar" <ddewar@gothamnetworks.com>
Message-ID: <LesK7.151$hE4.52302@paloalto-snr1.gtei.net>
References: <9f8341e1.0111121528.59564e6e@posting.google.com> <newscache$lmppmg$jdb$1@lnews.actcom.co.il> <3bf0800d$0$87021$e2e8da3@nntp.cts.com>
I thought this was true also, but never saw it work in practice.  I sniffed
the line and never saw a gratuitous arp go out.  I ended up making a
gratEtherAddrResolve that looks mostly like etherAddrResolve that calls a
gratarpresolve that looks mostly like arpresolve, but always forces out the
arp packet.
Then when I want to issue a gratutitous arp the code calls
gratEtherAddrResolve.
"Dan Gold" <gold@ensemble.com> wrote in message
news:3bf0800d$0$87021$e2e8da3@nntp.cts.com...
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> news:newscache$lmppmg$jdb$1@lnews.actcom.co.il...
> > I dont think the arpAdd should generate gratis-arp at all.
> > Gratis-arp is generated when the interface is given an IP address -
> > it xmits the gratis-arp to check for some other node on the same net
> > using the same IP address, and generates a meeage if there is a dup.
> > This is all it does, so adding some other node's IP to MAC address
> > translation
> > to the ARP table should not (and does not) generate any packets.
>
> My SENS sources confirm this :-)   The gratuitous ARP is sent out when a
> SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as
Leonid
> pointed out above) when an interface is given an IP address.
>
>  hth,
>   Dan Gold   gold@ensemble.com
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: why flag can't gaurantee mutual exclusion?
Date: Tue, 20 Nov 2001 13:35:54 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tdm4g$dpb$1@neptunium.btinternet.com>
References: <3e255a7a.0111192350.77e95343@posting.google.com>
> I want to implement mutual exclusion to protect shared resouece.
> Originaly I want to use flag.
>
> When a process enters the critical region, the flag is set. When a
> process leaves the critical region, the flag is reset. Whenever a
> process wants to enter the critical region, it checks to see if the
> flag is set. If it is, it will simply wait until the flag is not set
> (i.e. while(flag);)
>
> why this does not gaurantee mutual exclusion. Also, is there any other
> problems with this solution.
It doesn't work for a variety of reasons:
1) the scheduler won't schedule the other process while one is
   doing 'while (flag);'  So you have to do something like:
   'while (flag) taskDelay(1);' to give the other process a chance.
2) you have to tie together the 'test' and 'set' actions on entry
   just in case the scheduler decides to run a different task half
   way through.
   on a single cpu system intLock() will do, so you have something like:
   s = intLock();
   while (flag) {
      intUnlock(s);
      taskDelay(1);
      s = intLock();
   }
   flag = 1;
   intUnlock(s);
3) the 'flag = 1' assignment will sit in the cpu 'store buffer' for a
   few instructions before making it out to the data cache.
   On a multi-cpu system you have to ensure that the write completes to
   stop a different cpu reading flag == 0 after you wrote it out
   (in this case intLock() isn't good enough - but neither is an atomic
   test and set or exchange instruction).
4) you don't really want to wait until the timer tick when the lock is
   released.  So you need help from the scheduler....
By now you have re-invented semaphores!
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: network problems past gateway
Date: 20 Nov 2001 06:43:12 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0111200643.c386b78@posting.google.com>
References: <95ebbe31.0111141239.64d37012@posting.google.com> <3bf2e813$1@brateggebdc5.br-automation.co.at>
Increasing ping timeout has no effect, and the problem is not only
with ping.  A DNS lookup has the same behavior, sometimes taking
several minutes to accomplish a lookup.  Since both ICMP and TCP seem
to have the problem over IP, I would assume this problem is
independent of the protocol or application.  (Once again, the packet
is dropped somewhere between the mux and the application -- I can't
figure out where because all of that code is compiled into the
libraries.)
I wouldn't expect hostGetByName() to modify the host table.  However,
the following paragraph in the documentation really makes me wonder
why not:
[From the hostAdd() section in the VxWorks Reference Manual]
DESCRIPTION: This routine adds a hostname to the local host table.
This must be called before sockets on the remote host are opened, or
before files on the remote host are accessed via netDrv or nfsDrv.
So what's going on here?  Why are my packets dropped 95-99% of the
time if my remote host is not in the host table (and are NEVER dropped
if the host is in the table), despite the fact that the packets make
it all the way up the stack?  I can't believe nobody else is observing
this behavior.
Aaron
"Werner Schiendl" <ws-news@gmx.at> wrote in message news:<3bf2e813$1@brateggebdc5.br-automation.co.at>...
> Hi,
>
> May it be, that the ping just times out if it is not in the hostTable for
> some odd reason?
>
> You could try increase _pingTxTmo to a larger value, it defaults to 5
> seconds.
> See the help entry for ping in the tornado online help.
>
> There is no need to add the host to the hostTable, whether for ping, nor for
> other (socket) communication.
> So you should not have a need to track the added hosts either.
>
> I do not understand, though, why hostGetByName() should modify the
> hostTable.
> Is this stated in the manual, that it should?
>
> At least you can add the resolveLib to lookup names from a DNS server, but I
> guess you know that anyway.
>
> hth
> Werner
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Text, Bss & Data sizes
Date: Tue, 20 Nov 2001 07:41:42 -0800
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3BFA79B6.F03404BA@gv.net>
References: <NEBBJKOBKBDKADDJBJMFKEIACIAA.raghunath@controlnet.co.in>
Reply-To: mkesti@gv.net
Raghunath Adhyapak wrote:
>I have a downloadable module & I need to load it with loadModuleAt()
>function.
>I require to provide the function with addresses for text, bss & data.
>Hence I need to know the sizes for text, bss & data. How can I find this?
>Please guide me.
In most cases you don't need to provide loadModuleAt() with specific
addresses.  You may instead load the pointers to the text, bss, and
data segments with the value LD_NO_ADDRESS.  The OS will then figure
out where to load the specified module for you.
- --
========================================================================
          Michael Kesti            |  "And like, one and one don't make
                                   |   two, one and one make one."
          mkesti@gv.net            |          - The Who, Bargain
---------------------------
Newsgroups: comp.os.vxworks
Subject: Porting GCC for Motorola MBX860 using MPC860?
Date: Tue, 20 Nov 2001 08:57:39 -0700
From: "Okehee Goh" <ogoh@asu.edu>
Organization: Arizona State University
Message-ID: <9tducu$3av$1@news.asu.edu>
Hello,
I tried to use TornadoII's GNU CC compiler with its stdio library except BSP
supporting library
 but it seems to need to link libPPC860gnuvx.a, which I don't want to link.
So, now I'd like to port GNU CC cross compiler for the target machine
Motorola MBX860 using MPC860.
Would it be enough to give "--target=powerpc-elf" or
""--target=powerpc-eabi" to generate GCC compiler for target PPC860?
The GCC source's version is 2.9.3.
Thank you so much.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Arm Integrator 940 compiler options and linking question
Date: Tue, 20 Nov 2001 11:20:06 -0500
From: Ben Kuhn <benk@improvsys.com>
Organization: Improv Systems, Inc.
Message-ID: <3BFA82B6.CDD83F59@improvsys.com>
Reply-To: benk@improvsys.com
This is a multi-part message in MIME format.
- --------------D783BB0ED1FFACB84763EAFC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Linker problem:  When generating the tmp.1 building a vxworks.st_rom.bin
image, I end up with the text symbols for
t:\tornado-arm940/target/lib/libARMARCH4gnuvx.a and all the object files
defined and present, but the symbols for
T:/Radvision/309_arm/WinTornado/lib/librtp.a and
T:/Radvision/309_arm/WinTornado/lib/librvh323.a end up undefined.  The
compiler options for the librtp and librvh323 libraries (radvision) as
well as our own code are shown below.  Can anyone point out anything
that would be incompatible that might cause the radvision symbols to not
be included and not generate any warnings (I'm still a little new at
this)?  Ultimately the last link fails when it can't find the radvision
symbols anywhere, when they should be defined in tmp.1.
Please CC replies to benk@improvsys.com.
Thanks all,
Ben Kuhn
# link line
ccarm -nostdlib -r -Wl,-X -o tmp.1 dataSegPad.o sysALib.o sysLib.o   \
    usrConfig_st.o version.o
t:\tornado-arm940/target/lib/libARMARCH4gnuvx.a t:\
tornado-arm940/host/x86-win32/lib/gcc-lib/arm-wrs-vxworks/2.7.9-970819/libgcc.a
T:/Radvision/309_arm/WinTornado/lib/librtp.a
T:/Radvision/309_arm/WinTornado/lib
/librvh323.a VxVpsQueue.o queue.o msgUtils.o callerID.o vps_api.o
vps_private.o
vps_ringbuffer.o vps_target.o vps_tdm.o sstelcom.o RTP_VoIP.o RTCP.o
RTP.o proto
col.o SMLrtp.o SMLcallBack.o SMLcommands.o SMLjitter.o ADMcommands.o
voipcfg.o v
xjdrv.o cardinfo.o arm2k.o arm2k_dual.o fifoBuf.o vxVoipRadH323.o
RadH323Events.
o mainRadH323.o
# The object files for our application were built with the following
flags:
- -g -mcpu=arm8 -mapcs-32 -ansi -nostdinc -mno-sched-prolog -fno-builtin
- -fvolatile
- -Wcomment -DCPU_940T -DARMMMU=ARMMMU_940T -DARMCACHE=ARMCACHE_940T
- -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS -DCPU=ARMARCH4 -DPRJ_BUILD
- -DARM940 -DRadH323 -DNOTHREADS -D__VXWORKS__
# The radvision objects were built with the following flags:
- -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc -O0 -Wall
- -DCPU=ARMARCH4
- -DARMEL -DRMONVER_1 -DRMONVER_SA -DNOLOGSUPPORT -O2 -Wall -pedantic
- -DTINY -DNOTHREADS -DNOTHREADS -D__VXWORKS__ -DNOFILESYSTEM
- --
Ben Kuhn
Improv Systems
(716) 756-5411 x25
- --------------D783BB0ED1FFACB84763EAFC
Content-Type: text/x-vcard; charset=us-ascii;
 name="benk.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Ben Kuhn
Content-Disposition: attachment;
 filename="benk.vcf"
begin:vcard
n:Kuhn;Benjamin
tel;cell:716 739 2171
tel;work:(716) 756 - 5411 x25
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:benk@improvsys.com
fn:Benjamin Kuhn
end:vcard
- --------------D783BB0ED1FFACB84763EAFC--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Problem trying to interface RS 422 PMC on Vmetro's Powermidas board over the VME backplane
Date: 20 Nov 2001 08:33:46 -0800
From: nischal.s.amin@boeing.com (Nischal Amin)
Organization: http://groups.google.com/
Message-ID: <10cd0b8b.0111200833.5af4a0bd@posting.google.com>
Hello everyone
I am trying to interface RS 422 board from SBS on the Vmetro's
Powermidas
board over the VME backplane. I am using a Vxworks software for the
development.
I was able to flash my bootrom into the carrier board. The
hyperterminal boots up fine - with Vxworks logo. It even detects the
RS 422 PMC board on the Power Midas board. I just don't think that it
initilizes the RS 422 driver. I am going through the steps that RS 422
people has send me. The first step says...
"On Power Pc this configuration has to be done in the BSP> Typically
it is done in sysHwInit(). Some BSPs provide pciAutoConfig mechanism,
which will do the work. I am trying to configure BAR0 and interrupt
line of the device." I just don't know where should I start - trying
to configure the BAR 0? How would I know if there is Pciautoconfig?
THANKS
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Tue, 20 Nov 2001 10:39:27 -0600
From: PC User <PCUser@hotmail.com>
Organization: ExecPC Internet - Milwaukee, WI
Message-ID: <3bfa89b9$0$65158$272ea4a1@news.execpc.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
I appreciate every one for you help.  By removing the printf() I was able to
lock the interrupt being generated throught the watchdog expiration.  I just
was not sure that the printf() was also effected the call like other system
calls as prohibited by the documentation.
Thanks again.
PC User wrote:
> Hi Folks,
>
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
>
> I even tested this with an external serial I/O interrupt and still does
> not work.  Can you tell me what the trick is.  Here is a copy of my code
> in case you wonder what I am doing.
>
> Thanks.
>
> #include "vxWorks.h"
> #include "taskLib.h"
> #include "semLib.h"
> #include "stdio.h"
> #include "stdlib.h"
> #include "wdlib.h"
> #include "time.h"
>
> /* Globals */
>
> int taskId1;
> int taskId2;
>
> SEM_ID   semCounting;
> SEM_ID   semBinary;
> WDOG_ID  wdID;
>
> /* Function Prototypes */
> void taskNum1 ( void );
> void taskNum2 ( void );
> void wdISR ( void );
>
> void Case_7 (void)
> {
>   int taskCount = 0;
>   int sts;
>
>   /* Create a watchdog */
>   if ( ( wdID = wdCreate() ) == NULL)
>   {
>     printf ( "Error in creating watchdog\n" );
>     return;
>   }
>
>   /* Set the timer to go off after 10 seconds */
>   if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
> ERROR )
>   {
>     printf ( "Error in starting the watchdog timer\n" );
>     return;
>   }
>
>   /* Create a binary semaphore with semaphore available and queue tasks
> on FIFO basis */
>   if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL )
>   {
>     printf ( "Error in Creating Binary Semaphore\n");
>     return;
>   }
>   else
>   {
>     printf ( "Success in Creating Binary Semaphore\n");
>   }
>
>   /* Lock the semaphore for scheduling purposes */
>   semTake ( semBinary, WAIT_FOREVER );
>
>   /* spawn the 2 tasks  starting with the highest priority task */
>   if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR)
> taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
>   {
>     printf ( "Error in spawning taskNum1\n" );
>     return;
>   }
>
>   if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR)
> taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR )
>   {
>     printf ( "Error in spawning taskNum2\n" );
>     return;
>   }
>
> }
>
> void taskNum1 ( void )
> {
>   static int  i = 0, j = 0, lock;
>
>   for ( j = 0; j < 3; j++ )
>   {
>     /* wait indefinitely for semaphore */
>     semTake ( semBinary, WAIT_FOREVER );
>
>     /* Adding a critical section that would prevent the higher priority
>     task to run until the locking task leaves the critical region */
>     if ( taskLock () == OK )
>     {
>       lock = intLock ();
>
>       /* A premitive delay to cause the wd to time out */
>       /* A test to see if intLock() works.  The ISR should not go off */
>
>       for ( i = 0; i < 100; i++)
>       {
>         printf ( "taskNum1 Running in critical region\n" );
>       }
>
>       /* This delay would prove that no matter how long, VxWorks will
>       not permit any other tasks to run until execution is out of this
>       critical region.  This is compared to the use of task delay in
>       task two which VxWorks would automatically schedules task one to
>       start running after a certain amount of delay.  So for each task
>       delay call in taskNum2, taskNum1 gets to run also based on
>       VxWorks priority and internal schedulings. */
>       /*taskDelay ( 20 * sysClkRateGet()); */
>
>       intUnlock (lock);
>       taskUnlock ();
>     }
>
>     /* give up semaphore so the next task can run */
>     semGive ( semBinary );
>   }
> }
>
> void taskNum2 ( void )
> {
>   static int  i = 0, j = 0;
>
>   semGive ( semBinary );
>
>   for ( j = 0; j < 3; j++ )
>   {
>     /* wait indefinitely for semaphore */
>     semTake ( semBinary, WAIT_FOREVER );
>
>     for ( i = 0; i < 2; i++)
>     {
>       printf ( "taskNum2 Running\n" );
>     }
>
>     /* A delay to exercise for the binary semaphore
>     scheduling capability where without it, each task
>     will run untill finished based on their priorities
>     sequentially. */
>     taskDelay ( 2 * sysClkRateGet() );
>
>     /* give up semaphore so the other task can run */
>     semGive ( semBinary );
>   }
> }
>
> /* This routine goes off every 3 seconds */
> void wdISR ( void )
> {
>   printf ( "The watchdog timer expired after 3 seconds\n" );
>
>   /* Re-start timer to go off after 10 seconds */
>   if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) ==
> ERROR )
>   {
>     printf ( "Error in starting the watchdog timer in wdISR\n" );
>   }
> }
---------------------------
Newsgroups: comp.os.vxworks
Subject: DOSFS2 MOUNTING
Date: Tue, 20 Nov 2001 11:43:48 -0500
From: "John R." <jroberts@unisperenetworks.com>
Message-ID: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net>
When the dos Volumne is mounted via the function fat16VolMount(), there is a
call to fat16NFree (&fileDesc);. These two functions are located in
dosfsfat.c.
The fat16NFree() function takes 3+ minutes to compile the free space on the
disk. It counts the free bytes on the disk. I use a six gig disk so I see
why it takes so long.This free count is store...I'm not sure where.
If I format/initialize the file system then mount the volumne (when I first
access a file) I have to wait 3+ minutes for fat16NFree. Once the system is
up and running for a while generating disk traffic, when I reboot, the next
time I mount the volumne (without formating) the mount is virtually instant
and does not require a 3 minute wait. I assume this data got stored in a
structure on the disk.
Now if I format/initialize, mount the volumne waiting 3 minutes for
fat16NFree() and reboot shortly after the mount; the next time I mount the
volumne(without formating) I have to wait the 3 minutes again.
I don't quite understand what is happening here but I assume the free count
data is being stored in disk cache and if I reboot prior to a cahe flush the
data is lost.
Could someone shed more light on this situation and tell me if and how I can
assure the free count data is only gathered once post formatting.
Thanks,
- -John
---------------------------
Newsgroups: comp.os.vxworks
Subject: Does fstat() work incorrectly?
Date: 20 Nov 2001 09:34:17 -0800
From: maciejm@s3group.com.pl (Maciej)
Organization: http://groups.google.com/
Message-ID: <2483f34a.0111200934.1a67d6f2@posting.google.com>
Hi,
Does anybody know why fstat() function returns incorrect value for file
size?  For just created file it returns 1006276439 instead of 0 ?
I use VxSim full simulator on Tornado Prototyper ver 2.0.2 (evaluation
version) installed on my PC with Windows 2000. VxWorks version is 5.4.2.
Network facilities are included.
Thanks in advance for your help,
Maciej
- ----------------------------------------------------
Code is as follows:
  fd = open("the_file.txt", O_CREAT | O_RDWR, 0644);
  fstat(fd, &sb);
  printf("FILE SIZE = %lu\n", sb.st_size);
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what's the real size of image
Date: Tue, 20 Nov 2001 18:00:07 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9te5ju$o7t$1@uranium.btinternet.com>
References: <221caa76.0111191727.38575389@posting.google.com>
>    When build my vxWorks image,the builder show like this:
> "vxWorks: 626396(t) + 30716(d) +  22704(b) = 679816 (1351800 unused)"
> .I think the "679816" means the size of this image.But in Windows
> Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the
> differece is between them and the the real which is the real size of
> this image.
depends what you mean by 'real'
The file size is 1.34Mb, however it contains loads of red tape around
the code and data as well as the full symbol table information.
the 680k is the amount of space that the image will take up when loaded
into memory.
the 1.3Mb unused is a random stab at the size the image can get before
you get into trouble... but it probably isn't doing the correct check
(certainly gives teh wrong figure for my builds)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Tue, 20 Nov 2001 18:11:59 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9te6a9$1j2$1@neptunium.btinternet.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
This is what you expect.... rtfm....
printf() will block because the serial port output fifo becomes full.
At this point you drop into the system idle loop - which will enable
interrupts.
The taskLock() will stop any other task being scheduled, but you are
still in the idle loop.
The serial port interrupt ISR has to run to re-enable your task.
The timer interrupt has to run to count 3 seconds.
If you want your system to lock up solid, use a polling output
routine for the serial port.  If it is a 16550:
    while (!(*(uart+5) & 0x40));
    *uart=*msg++;
    if (*(uart+5) & 1)
       /* rx data - abort your infinite loop..... */
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: Tue, 20 Nov 2001 18:11:59 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9te6d2$8te$1@plutonium.btinternet.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com>
> I am having problems with locking interrupts.  I am doing this on a
> power PC architecture.  I created a watchdog timer to go off every 3
> seconds.  Then I wrote a code to lock task and then lock interrups.  The
> task locking works fine, but the interrupt locking does not seem to work
> since the watchdog timer still goes off during a long print loop that
> takes more than 3 seconds.
This is what you expect.... rtfm....
printf() will block because the serial port output fifo becomes full.
At this point you drop into the system idle loop - which will enable
interrupts.
The taskLock() will stop any other task being scheduled, but you are
still in the idle loop.
The serial port interrupt ISR has to run to re-enable your task.
The timer interrupt has to run to count 3 seconds.
If you want your system to lock up solid, use a polling output
routine for the serial port.  If it is a 16550:
    while (!(*(uart+5) & 0x40));
    *uart=*msg++;
    if (*(uart+5) & 1)
       /* rx data - abort your infinite loop..... */
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Tue, 20 Nov 2001 18:16:19 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9te6i9$1tg$1@neptunium.btinternet.com>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net> <3BF139D5.BDCEA769@hotmail.com> <iit7vtof7hi7sojor7rcvofeij3pcr94nj@4ax.com> <6dcK7.14$kI3.6363@newsr2.u-net.net>
If you have a system that unexpectedly resets vxTicks, try the trick
I suggested last week of 'damaging' the code at the top of
qPriListCalibrate.
Since the calibrate is done in the context of the code doing the -ve
delay the system might stay up long enough....
But you almost certainly need the target shell...
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Boot a target with my application
Date: Tue, 20 Nov 2001 20:11:56 GMT
From: "Mike Anderson" <mike@theptrgroup.com>
Organization: RoadRunner - Cox
Message-ID: <gOyK7.21397$QN6.9266998@typhoon.southeast.rr.com>
References: <3BF29114.FE50DE4B@c-s.fr>
VxWorks Greetings!
"THARAUD Mickal" <mickael.tharaud@c-s.fr> wrote in message
news:3BF29114.FE50DE4B@c-s.fr...
> Hi,
>
>
[snip]
> We seek help  in this field to resolve the situation.  The points on
> which we need help concern:
>  - adequate configuration of VxWorks and/or the BSP for a ROMable image,
>
>  - the generation a ROMable image,
>  - downloading in Flash of this image,
>  - activation of downloaded image.
>
This is a lot of stuff!  The short answer is:
1) - adequate configuration of VxWorks and/or the BSP for a ROMable image,
      It depends.  What are you building?  Are you using Tornado or building
from the
      command line?  What host?
2)  - the generation a ROMable image,
       make vxworks_rom (loads from ROM/FLASH but runs from RAM)
       make vxworks_rom_res (if you want it run from ROM)
3)  - downloading in Flash of this image,
     It depends.  What hardware are you using?  Is there a manufacturer's
ROM monitor?
     JTAG interface?  Custom board?
4) - activation of downloaded image.
     It depend ;-).  How did you add you app?  As an object linked via
MACH_EXTRA?
     A library?  Source code?  Typically, you'd call the entrypoint of your
code in the
     usrAppInit() function.  But it completely depends on the operational
concept for how
     your app is supposed to work.
You need to take one of our training classes ;-)
HTH,
Mike
- --
==================================================
       T h e   P T R   G r o u p,   I n c.
==================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist               http://www.ThePTRGroup.com
C: (703) 585-9384       V: (703) 430-3748
==================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DOSFS2 MOUNTING
Date: 20 Nov 2001 15:41:37 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uadxhqiny.fsf@yahoo.com>
References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net>
Sender: bpringlemeir@DeadDuck
>>>>> "John" == John R <jroberts@unisperenetworks.com> writes:
[snip]
 John> If I format/initialize the file system then mount the volumne
 John> (when I first access a file) I have to wait 3+ minutes for
 John> fat16NFree. Once the system is up and running for a while
 John> generating disk traffic, when I reboot, the next time I mount
 John> the volumne (without formating) the mount is virtually instant
 John> and does not require a 3 minute wait. I assume this data got
 John> stored in a structure on the disk.
Look at the fat16NFree() function you reference.  It has the statement
"if(freeCount == 0xffffffff)".  Inside the logic, it runs through the
FAT counter every entry to see if it is free or not.  If free count in
the volume structure does not equal 0xfffffff, then this function will
return almost instantly.  Talking too much about dosFs source might be
rude to those that don't have it...
 John> Now if I format/initialize, mount the volumne waiting 3 minutes
 John> for fat16NFree() and reboot shortly after the mount; the next
 John> time I mount the volumne(without formating) I have to wait the
 John> 3 minutes again.
 John> I don't quite understand what is happening here but I assume
 John> the free count data is being stored in disk cache and if I
 John> reboot prior to a cahe flush the data is lost.
As was discussed before here, the dosFs system has a dcacheCbio.  A
CBIO is a block layer that DosFS uses to implement partitions, disk
cache, ram disk, etc.  Your disk is probably being cached during the
format and you must wait for the disk information to leak out to the
disk.  Dave Korn[*] gave some hint on using dcacheDevTune().  You can
use this function to change the disk cache so that it writes to disk
almost instantaneously.  You could also issue a FLUSH command to the
disk device after you have finished formatting.  I don't know which
FLUSH command, but since you have the source you can find it.
regards,
Bill Pringlemeir.
[* this could be Dave Laight.  I get them mixed up because they are
both named Dave and they both know what they are talking about.  If
only one of them was stupid...]
- --
You have the right to remain silent -- so shut up!
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Tue, 20 Nov 2001 14:33:54 -0600
From: Andrew Johnson <anj@aps.anl.gov>
Organization: APS, Argonne National Laboratory
Message-ID: <3BFABE32.544F3262@aps.anl.gov>
References: <ZE7K7.25447$P%2.1402792@news.bora.net>
Chun tae young wrote:
>
> We are facing a problem of network stack hangs.
> We have several server target boards (MVME162P-242E, MC68040) running in
> vxWorks5.4 using END(Enhanced Network Driver) and several Clients
> (workstation) on Networks.
> Both servers and clients are communicate using UDP/IP (Broadcast, unicast).
> After some days(3 ~ 7 days) , a target board don't send or receive any
> packet.
This sounds like a known problem with MVME162P series boards for which you
might not have the fix in your BSP - the Petra chip behaves slightly
differently when interrupts are disabled than its predecessors did.  The
solution is to modify the sys596IntDisable routine in sysLib.c so that it
sets the interrupt level to zero rather than clearing the interrupt enable
bit.  Our mv162 bsp uses this definition:
void sys596IntDisable
    (
    int unit            /* ignored on MVME162 and MVME162LX */
    )
    {
    int level;
    /* The CPU interrupt level is raised prior to modifying the bit in the
     * MCC device.  This is done to avoid a known hardware problem in the
     * MCC device that can cause spurious interrupts.  The newer MVME162P
     * boards based on the Petra chip don't behave properly when disabled,
     * so we use Level 0 instead which has the same effect.
     */
    level = intLock ();
    *MCC_LANC_IRQ_CR &= ~ABORT_IRQ_LEVEL; /*interrupt level 0 => no
interrupt*/
    intUnlock (level);
    }
- - Andrew
- --
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- - Antoine de Saint-Exupery
---------------------------
Newsgroups: comp.os.vxworks
Subject: using -mlongcall for SDRAM more than 32MB/powerpc
Date: Tue, 20 Nov 2001 16:54:35 -0500
From: justin zobel <zobel@nospam.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <3BFAD11B.77D0BE0B@nospam.com>
Sender: bpatel@fwion.com
hello,
will the use of -mlongcall for compiling bootrom, vxworks.st and
application code cause performance degradation due to use of "brlr
instruction" instead of "bl instruction" in assembly. Does anyone use
SDRAM more than 32MB for powerpc82xx boards, and what is the software
performance benchmarks with the use of  "-mlongcall" during compilation?
justin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Wed, 21 Nov 2001 00:33:23 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tesl8$mg8$1@plutonium.btinternet.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com>
> See SPR #27790 and ask your Wind River contact when they plan to have a
fix
but don't hold your breath........
---------------------------
Newsgroups: comp.os.vxworks
Subject: DNS SERVER ADDRESS
Date: Tue, 20 Nov 2001 16:37:29 -0800
From: Naveen Singh <nsingh@tality.com>
Message-ID: <3BFAF749.6DCCB858@tality.com>
I am unable to get DNS Server Address though DHCP client.
I get the IP address ,dhcp SERVER ADDRESS but I never get DNS Server
address
Can anybody tell me solution to this.
Is there anyothe way to get dns address.
thanx
---------------------------
Newsgroups: comp.os.vxworks
Subject: yur6yu
Date: Tue, 20 Nov 2001 16:40:01 -0800
From: Naveen Singh <nsingh@tality.com>
Message-ID: <3BFAF7E1.6D256F98@tality.com>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what is the meaning of FOREVER?
Date: Wed, 21 Nov 2001 00:46:19 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tetdi$569$1@uranium.btinternet.com>
References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com> <xhcK7.18$kI3.3196@newsr2.u-net.net>
> #define BEGIN {
> #define END     }
other 'useful' macros (from the netbsd source):
#define ISSET(a,b) ((a)&(b))
#define SET(a,b) ((a)|=(b))
#define CLR(a,b) ((a)&=~(b))
I've also seen:
#define ATOMIC_INC(x) (x++)
which isn't quite as stupid - provided the architecture supports the request
- - and the compiler generates the expected code!
Hunting header files reminds me of checking that code can't exceed array
bounds.
You have (in C)
#define MAX 10
char array[MAX];
for(i=0;i<MAX;i++)
    ... array[i]....
checking that 'i' won't exceed the bounds of 'array' involves locating BOTH
the other definitions.  In C they might be together, in strict PASCAL all
the
constant definitions have to come before the types - so will be in a
different
header file!
Of course:
char array[10];
for (i = 0; i <sizeof(array)/sizeof(array[0]);i++)
is clearly fine...
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Why did the SCSI get a error type event?
Date: 20 Nov 2001 18:06:02 -0800
From: errant@263.net (Jerry Wong)
Organization: http://groups.google.com/
Message-ID: <fd7b75c0.0111201806.55e43d97@posting.google.com>
Hi,everyone
   I'm working on a board of 8260 and scsi(53c895a).Recently a problem
puzzlem me .When I added the MMU and cache support,the scsi function
returned error.the debug information like below.I don't know why this
happen.What does the type of "99" mean? I'm using the ncr810lib.
    Could anyone give me a hint?
...
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df86a8
(status: 0, errno
: 0)
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8728
0x3df9ad8 (tScsiTask): ncr810ThreadActivate: thread 0x03df8728:
activating
0x3df9ad8 (tScsiTask): ncr810XferParamsCvt: converted to: offset     =
0, period
      = 0
xferParams = 0, clockDivide = 3
0x3df9ad8 (tScsiTask): ncr810ThreadStateSet: thread 0x03df8728: 1 -> 6
0x3df9ad8 (tScsiTask): ncr810Event: received event 99 (thread =
0x03df8728)
0x3df9ad8 (tScsiTask): ncr810ThreadEvent: thread 0x03df8728: received
event 99
0x3df9ad8 (tScsiTask): ncr810InitEvent: invalid event type (99)
0x3df9ad8 (tScsiTask): ncr810ThreadEvent: failed to resume thread
0x3df9ad8 (tScsiTask): ncr810ThreadFail: thread 0x03df8728 failed
(errno = 36045
01)
0x3df9ad8 (tScsiTask): ncr810ThreadStateSet: thread 0x03df8728: 6 -> 0
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8728
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8728
(status: -1, errn
o: 3604501)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df87a8
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df87a8 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df87a8
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df87a8
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8828
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8828 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8828
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8828
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df88a8
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df88a8 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df88a8
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df88a8
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8928
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8928 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8928
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8928
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df89a8
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df89a8 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df89a8
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df89a8
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8228
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8228 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8228
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8228
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df82a8
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df82a8 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df82a8
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df82a8
(status: -1, errn
o: 3604498)
0x3d96c10 (scsitask2): scsiCommand: thread execution failed
0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR.
0x3d96c10 (scsitask2): scsiRdSecs:
0x3d96c10 (scsitask2): scsi2Transact:
0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8328
0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8328 (state =
1) timed o
ut
0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8328
0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8328
(status: -1, errn
o: 3604498)
...
---------------------------
Newsgroups: comp.os.vxworks
Subject: What is the difference between SIUMCR[GBL] and FCRx[GBL] in 8260?
Date: 20 Nov 2001 18:20:07 -0800
From: errant@263.net (Jerry Wong)
Organization: http://groups.google.com/
Message-ID: <fd7b75c0.0111201820.7143df28@posting.google.com>
Hi,everyone
    Who can tell me what is the meaning of the GBL in SIUMCR and in
FCRx?
According to the 8260 manual,when siumcr[ESE]is set, this pin is
configurated as GBL and the External snoop is enable. while in FCC
chapter,it also describes when the FCRx[GBL]is set,snooping is
enabled.Then,what is the defference between the two GBL and
snooping?Or wether the SIUMCR[GBL] is globle and the FCRx[GBL] is only
affect FCC ? If we set SIUMCR[ESE]=0,and set FCRx[GBL]=1,what will
happen?is snooping enable or not?
    Thanks in advance!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Can we do Raw socket programming ?
Date: Tue, 20 Nov 2001 19:24:05 -0600
From: "Shesha Bhushan" <shesha@asu.edu>
Organization: Arizona State University
Message-ID: <9tf39s$5li$1@news.asu.edu>
Hi,
  Can we do raw socket programming on VxWorks ?
 If Yes can any body give me the link for the meterial that aids in doing
raw socket programming.
Thanks in advance
Shesha Bhushan
Arizona State University
Research Assistant.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Cygwin GDB Users ?
Date: 20 Nov 2001 22:30:57 -0800
From: dward@appiancom.com (David Ward)
Organization: http://groups.google.com/
Message-ID: <679c25ff.0111202230.22c7a5b6@posting.google.com>
References: <679c25ff.0111161023.422de97c@posting.google.com> <tgcK7.17$kI3.4039@newsr2.u-net.net>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<tgcK7.17$kI3.4039@newsr2.u-net.net>...
> David Ward wrote in message
> <679c25ff.0111161023.422de97c@posting.google.com>...
> >Now that I appear to have the source for the ancient WRS-hacked GDB
> >(the one that uses WTX), I was thinking of trying to build it for
> >Cygwin.  Has anyone gone down this path ?
> >
> >Of course I'd rather use GDB 5 but there is no WTX there, and it's
> >unclear
> >if the old WDB/RPC interface is still supported in the vxworks target
> >- anyone know ?
> >
> >Thank you,
> >Dave Ward
>
>   What a coincidence!  I just finally managed to get my hands on that source
> as well.  I know for an absolute fact that the WDB stuff is dead and buried,
> so my plan was to port over the module that interfaces the gdb internal
> monitor protocol to the targetserver API into the GDB5/insight combination.
> I don't however have any kind of idea when I might or might not have time to
> do it though.
>
>        DaveK
Thanks Dave.  Yes I believe it could take awhile, but GDB5 would be sweet.
Too bad Wind River won't take the time to do it.  After all the GNU code
they took they really should give something *useful* back.
Hmmm, no more WDB... so we are stuck with the target server.  They didn't
give me the source for that !  FYI - their old GDB source did build under
Cygwin with a little cajoling.  There were a few issues I had to run down.
I used the GDB packaged with Cygwin to debug it.  Anyway now with a true
Xemacs under Cygwin, GUD is happy.  Even the SIGINT works !
DaveW
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Does fstat() work incorrectly?
Date: 21 Nov 2001 08:12:21 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91605DC436A37borkhuisagerecom@135.7.153.102>
References: <2483f34a.0111200934.1a67d6f2@posting.google.com>
maciejm@s3group.com.pl (Maciej) wrote:
> Hi,
>
> Does anybody know why fstat() function returns incorrect value for file
> size?  For just created file it returns 1006276439 instead of 0 ?
>
> ----------------------------------------------------
> Code is as follows:
>
>   fd = open("the_file.txt", O_CREAT | O_RDWR, 0644);
>   fstat(fd, &sb);
>   printf("FILE SIZE = %lu\n", sb.st_size);
What is the return code of fstat?
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: What is ?
Date: 21 Nov 2001 00:46:25 -0800
From: errant@263.net (Jerry Wong)
Organization: http://groups.google.com/
Message-ID: <fd7b75c0.0111210046.30868189@posting.google.com>
Hi, everyone
    Excuse me to post SCSI problem again. I was rather upset by the
SCSI configuration.
    In sysScsi.c, there are codes like below:
#if (USER_D_CACHE_MODE & CACHE_SNOOP_ENABLE)
    scsiCacheSnoopEnable ((SCSI_CTRL *) pSysScsiCtrl);
#else
    scsiCacheSnoopDisable ((SCSI_CTRL *) pSysScsiCtrl);
#endif
    Does this mean if cache mode is COPY_BACK | SNOOP_ENABLE , the
scsiCacheSnoop should be enable,and if the mode is WRITE_THROUGH,we
should not enable the scsi cache snoop?But in my bsp,if I disable scsi
snoop(cache mode WRITRE_THOUGH), the scsi configuration would hang at
" scsiPhysDevCreate() ".the debug infomation showed it was stopped
after issuing a "inquiry" command.
0x3fffdf8 (tRootTask): scsiReqSense:
0x3fffdf8 (tRootTask): scsi2Transact:
0x3df8488 (tScsiTask): scsiMgrRequestProc: client request: 0
0x3df8488 (tScsiTask): scsiMgrActivateRequest: thread 0x03df6bd8
0x3df8488 (tScsiTask): ncr810ThreadActivate: thread 0x03df6bd8:
activating
0x3df8488 (tScsiTask): ncr810XferParamsCvt: converted to: offset     =
0, period
      = 0
xferParams = 0, clockDivide = 3
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x01, SCSI
status0 = 0x00
, SCSI status1 = 0x00DMA status = 0x84
logTask: 5 log messages lost.
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b16b8, type = 0.
interrupt: ncr810Intr: state 1 -> 2
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 1 -> 6
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
status0 = 0x00
, SCSI status1 = 0x00DMA status = 0x84
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1798, type = 10.
interrupt: ncr810Intr: state 2 -> 0
0x3df8488 (tScsiTask): ncr810Event: received event 10 (thread =
0x03df6bd8)
0x
3df8488data access (
tScsiTaskExceptio): n current instrucncr810ThreadEvent: ttion address:
0xhrea00d
 0x19c5880
3df6bdMachine Status Regis8ter: 0x: received e0000vent 903010
Dat0xa Access Register:3df8488 0x (ffffff1atScsiTask
): ConditiWIDE DATA TRANSFER Ron Register: 0xEQUES44000040T message ou
t
    xferWidth = D1ata storage interru where 0 => 8 bits 1pt Register:
0x => 1000
06...
90300x
3df8Task: 4880x (3fffdf8tScsiTask "): tRootTncr810Resume: threadask:
0x"
03df6bd8: state 0 -> 2
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
status0 = 0x00
, SCSI status1 = 0x00DMA status = 0x84
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1948, type = 12.
interrupt: ncr810Intr: state 2 -> 0
0x3df8488 (tScsiTask): ncr810Event: received event 12 (thread =
0x03df6bd8)
0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
event 12
0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
status0 = 0x00
, SCSI status1 = 0x00DMA status = 0x84
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1970, type = 11.
interrupt: ncr810Intr: state 2 -> 0
0x3df8488 (tScsiTask): ncr810Event: received event 11 (thread =
0x03df6bd8)
0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
event 11
0x3df8488 (tScsiTask): WIDE DATA TRANSFER REQUEST message in
    xferWidth = 1 where 0 => 8 bits 1 => 16...
0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
status0 = 0x10
, SCSI status1 = 0x00DMA status = 0x84
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b18e0, type = 21.
interrupt: ncr810Intr: state 2 -> 1
interrupt: Uninitialized interrupt
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
status0 = 0x00
, SCSI status1 = 0x00DMA status = 0x84
interrupt: ncr810EventTypeGet: script completed.
interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b1618, type = 22.
interrupt: ncr810Intr: state 1 -> 0
0x3df8488 (tScsiTask): ncr810Event: received event 21 (thread =
0x03df6bd8)
0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
event 21
0x3df8488 (tScsiTask): DISCONNECT message in
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 2
0x3df8488 (tScsiTask): ncr810Event: received event 22 (thread =
0x00000000)
0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df86c8: received
event 22
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 0 -> 4
0x3df8488 (tScsiTask): ncr810ThreadReconnect: reconnecting thread
0x03df6bd8
0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 2 -> 6
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 4 -> 0
0x3df8488 (tScsiTask): ncr810Event: received event 20 (thread =
0x03df6bd8)
0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
event 20
0x3df8488 (tScsiTask): COMMAND COMPLETE message in
0x3df8488 (tScsiTask): ncr810ThreadComplete: thread 0x03df6bd8
completed
0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 0
0x3df8488 (tScsiTask): scsiMgrThreadComplete: thread 0x03df6bd8
0x3df8488 (tScsiTask): scsiMgrReplyProc: client reply: 0
0x3df8488 (tScsiTask): scsiMgrCompleteReply: thread 0x03df6bd8
(status: 0, errno
: 0)
0x3fffdf8 (tRootTask): scsiPhysDevCreate: reqSenseData[0] = 0
0x3fffdf8 (tRootTask): scsiInquiry:   <- hang at this time
    Who can tell me what is the use of "scsiCacheSnoopEnable"?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Source Code to detect Pointer bugs in C ode
Date: 21 Nov 2001 01:52:40 -0800
From: monishabarooah@yahoo.com (Monisha Barooah)
Organization: http://groups.google.com/
Message-ID: <68ef19de.0111210152.ac5f08e@posting.google.com>
Hi,
  I wanted a tool or any source code which helps in detecting pointer
bugs in C code. I would like if I can get any source code regarding it
in any OS so that I can port to vxworks if required.
Regards,
Monisha.
---------------------------
Newsgroups: comp.os.vxworks
Subject: error message!!! [what's wrong?]
Date: Wed, 21 Nov 2001 19:50:14 +0900
From: "it2xpert" <it2xpert@korea.com>
Organization: ONSE Telecom
Message-ID: <9tg0su$cs9$1@hiline.shinbiro.com>
hi ...
My company desinged a new mpc850sr board..
The brief specification is following.
cpu:mpc850sr
flash rom : 4M (ffc00000 ~ ffffffff)
sdram:16M......(00000000 ~ 00ffffff)
[ RAM_HIGH_ADRS = 00E00000
  RAM_LOW_ADRS = 00100000 ]
os : vxworks 5.4
I used the Vision ICE for debug tool.
When i input the power in my board, the following error message is occurred.
(in addition, i use the vision Click for the debug application)
- ----------------------------------------------------------------------------
bootConfig.c -> usrInit() ->
kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE,
#ifdef INCLUDE_WDB
      (char *) FREE_RAM_ADRS + WDB_POOL_SIZE,
#else
  (char *) FREE_RAM_ADRS,
#endif
  sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL);
 /* start the kernel specifying usrRoot as the root task */
[in the BSP ]
this funtion(kernelInit) is executed, error is occurred. the Vision Click
application generate the following error messages....
- ---------------------------------------------------------------------
!ERROR! - Unexpected Exception(s) Taken at 00000000
Exception(s) Reported are (ECR) : Software Emulation,
Current Address Pointer (SRR0)  : 00000000
Machine State Register (MSR)    : 00001002
Data Address Register (DAR)     : 00000000
Data Interrupt Register (DSISR) : 00000000
Break Address Register (BAR)    : 00000000
Interrupt Cause Register (ICR)  : 00004000
PPC Instruction at    $00000000 : 0xFFFDFF00 : ??? DC.L     0xfffdff00
- ----------------------------------------------------------------------
then, i open the Funciton call windows in the Vision click. message is ....
- ------------------------------------------------------------------------
+f{} bootConfig.c\usrInit() Line #943(0x00e0063c)
 - f{} (0x00e35edc) [kernellnit +0x144]
  - f{} (0x00e3a900) [taskActiveate + 0x10]
   - f{} (0x00e3b608) [taskResume +0x1c8]
    - f{} (0x00e3779c) [reschedule +0x2c]
        --f{} makebuf.c Line #281 (0x00000000)  ##### <- error position
- ----------------------------------------------------------------------------
i wonder that this problems is occurred by the hardware or software??
because this board is not confirmed.
i wait the seniors advices .
thanks for your interesting !!
have a good day !!
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Wed Nov 21 05:20:07 2001
From: "Mohan Kumar S - CTD, Chennai." <mohankr@ctd.hcltech.com>
Date: Wed Nov 21 05:20:09 PST 2001
Subject: GDB
Hi,
Can anyone tell me how to invoke GDB in Vxworks?
Thanks
Mohan
From vxwexplo-errs@csg.lbl.gov  Wed Nov 21 14:05:24 2001
From: "Smith, Mike" <Mike_Smith@littonas.com>
Date: Wed Nov 21 14:05:26 PST 2001
Subject: Disabling Machine Checks on PPC750 (VxWorks)
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C172D8.974EA2A0
Content-Type: text/plain;
	charset="iso-8859-1"
Hi,
I'm trying to deal with a VME slave that crashes, but my target stays up.
As part of my design I've been trying to disable machine check exceptions on
a PowerPC 750 target by clearing the EMCP, DBP, EBA and EBD bits in the HID0
register using gethid0/sethid0 functions.  Unfortunately, I'm still getting
machine checks when I intentionally read from a bad vme address.  I've also
read the SRR1 register in my machine check exception handler and found that
none of the HID0 maskable conditions seem to be causing the exception --
although I'm not sure I can fully trust this finding.
Does anyone know of different/better way to disable machine checks?
Once the checks are disabled I have an ISR for SYSFAIL to handle detection
of the failed board -- although that's another story.
Thanks in advance,
Mike
------_=_NextPart_000_01C172D8.974EA2A0
Content-Type: image/jpeg;
	name="Notebook.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="Notebook.jpg"
Content-ID: <210455021@21112001-2c5b>
/9j/4AAQSkZJRgABAgEASABIAAD/7QSyUGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgAAwAAAEgA
SAAAAAADBgJS//f/9wMPAlsDRwUoA/wAAgAAAEgASAAAAAAC2AIoAAEAAABkAAAAAQADAwMAAAAB
Jw8AAQABAAAAAAAAAAAAAAAAYAgAGQGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4
QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAA
AAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEA
L2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklN
A/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////
////A+gAAAAA/////////////////////////////wPoAAAAAP//////////////////////////
//8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAAAIAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAAC
QAAAAAA4QklNBAkAAAAAAqIAAAABAAAAgAAAAAIAAAGAAAADAAAAAoYAGAAB/9j/4AAQSkZJRgAB
AgEASABIAAD//gAnRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcKggNC4wAP/uAA5BZG9i
ZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwR
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAAIAgAMBIgACEQEDEQH/3QAEAAj/xAE/
AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkK
CxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWS
U/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpam
tsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGx
QiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSV
xNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/APROif0Kv6X81T9L
j+ar/m/5K0F8rJJIfqlJfKySKn6pSXyskkp+qUl8rJJKfqlJfKySSn6pSXyskkp+qUl8rJJKfqlJ
fKySSn//2ThCSU0EBgAAAAAABwABAAAAAQEA//4AJ0ZpbGUgd3JpdHRlbiBieSBBZG9iZSBQaG90
b3Nob3CoIDQuMAD/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgNCQ0VDAwVGhQQFBogGxoaGyAiFxcX
FxciEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0NDREOERsRERsUDg4OFBQO
Dg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAYBaAD
ASIAAhEBAxEB/90ABABa/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEB
AQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU
kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5Sk
hbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQAC
EQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RF
VTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMB
AAIRAxEAPwCv0T+n4/8AxrP+qavW15J0U/r+P/xrP+qavWg8eKElsWSHZfXWYe4A+ZUMjIFTJBE/
Fc1kXbg63mJP+amk0uesGqdc19Sup2ZrLmWGQxwLR4B35v8A0V0qKlJJJIqUkkkkpSSSSSlJJJJK
UkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSS
SSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJ
KUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpS
SSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJ
JKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkp
SSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJ
JJKUkkkkpSSSSSn/0J9G6oKn04zKKXOdYA6x7d1kOP8Ag/3Hs/MXY/sOl/0hYfCT/wCQavnZJArQ
/S1HTXVN21+weYa7/vqzcroeQ+Q3XcYOn/mbF89pIaJfpboXRK+k1uDQPUsILyONPotZ/JatRfKq
SSX6qSXyqkip+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJ
KfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp
+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6
qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqp
JfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl
8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXy
qkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKq
SSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJ
KfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp
+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6
qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn/2Q==
------_=_NextPart_000_01C172D8.974EA2A0--
From vxwexplo-errs@csg.lbl.gov  Wed Nov 21 18:42:29 2001
From: Haruyuki Ohtani <ohtani@isl.melco.co.jp>
Date: Wed Nov 21 18:42:32 PST 2001
Subject: need a suggestion to adopt STL
Hello,
I'm pretty new to VxWorks. I'm using Tornado 2.1.
I've heard the STL implemetation shipped with Tornado is not good.
Is it true ? Should I avoid to use STL in VxWorks ?
Regards,
---
Haru (Haruyuki Ohtani)
From vxwexplo-errs@csg.lbl.gov  Wed Nov 21 19:32:36 2001
From: "Jignesh, Shah (IE10)" <Jignesh.Shah@honeywell.com>
Date: Wed Nov 21 19:32:38 PST 2001
Subject: About archieve
Hi,
	Please can you tell me how to make an archieve in Tornado?
	Where can i find the information regarding the same?
Thanx in advance.
Warm Regards,
Jignesh
JIGNESH SHAH
Senior Software Engineer
Honeywell India Software Operation Pvt Ltd
151/1, Doraisanipalya,
Bannerghatta Road
Bangalore 560 076
Tel: # 91-80-6585751 Ext 2033
Email : jignesh.shah@honeywell.com
From vxwexplo-errs@csg.lbl.gov  Thu Nov 22 04:03:16 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Nov 22 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Nov 22 04:03:12 PST 2001
        Subject: Trying to reuse a port between two sockets
        Subject: Making a .lib file
        Subject: Re: Probrem with TCP/IP
        Subject: PING johan [Re: Speeding up compressed builds]
        Subject: Re: Can we do Raw socket programming ?
        Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
        Subject: Re: Does fstat() work incorrectly?
        Subject: Re: clock corruption
        Subject: Re: Probrem with TCP/IP
        Subject: Re: ccppc for Vxworks again
        Subject: Re: Target Server Console freezes after hitting Properties menu
        Subject: Re: semaphore question
        Subject: Re: The network stack locks completely solid
        Subject: Re: Address Question
        Subject: Re: printf and task stack
        Subject: Re: The network stack locks completely solid
        Subject: Re: error message!!! [what's wrong?]
        Subject: Re: semaphore question
        Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
        Subject: symFindByValue too slow! Alternatives?
        Subject: Re: What is ?
        Subject: Large symbol tables
        Subject: DNS Address through DHCP
        Subject: need help with shell I/O (scanf)
        Subject: PPP problem
        Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
        Subject: Re: Large symbol tables
        Subject: Re: semaphore question
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Trying to reuse a port between two sockets
Date: 21 Nov 2001 05:50:33 -0800
From: lee.glanville@gd-decisionsystems.com (Lee Glanville)
Organization: http://groups.google.com/
Message-ID: <bd50438d.0111210550.282c5ff2@posting.google.com>
We have two threads, one for recieving UDP messages and one for
sending them. The the socket for the receive thread is bound to a
specific port and we want to be able to bind the socket used in the
transmit thread to the same port. Can this be done?
We have tried using the SO_REUSEADDR option for both sockets. The code
used looks like the following:
    int optVal = 1;
    int optlength;
    Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
                       (char *) &optVal, sizeof(optVal));
    if(Error != 0)
    {
        printf("Error setting socket options\n");
    }
    optlength = sizeof(optVal);
    Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
                        (char *)&optVal, &optlength);
    printf("The socket option is set to %i\n", optVal);
    if(Error != 0)
    {
        printf("Error getting socket options\n");
    }
There are no errors returned yet the getsockopt call returns a 4. Is
this right? After the above code we bind the first socket successfully
but the bind for the second socket fails. help.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Making a .lib file
Date: 21 Nov 2001 06:30:25 -0800
From: trosto@hotmail.com (Tal)
Organization: http://groups.google.com/
Message-ID: <705c7b34.0111210630.7e8b496a@posting.google.com>
Hi,
I need your help with making a .lib file in Tornado IDE (with a GNU compiler).
TIA,
Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Probrem with TCP/IP
Date: Wed, 21 Nov 2001 14:26:21 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <J%OK7.57$ZO3.93706@newsr2.u-net.net>
References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net> <9t2nu7$2jdi$1@gavrilo.mtu.ru>
Shrike wrote in message <9t2nu7$2jdi$1@gavrilo.mtu.ru>...
>Hi!
>
>We shutdown the connection before we finish tasks. So, we think that we
>loose data DURING the transfer. Another case is that the our program on the
>host can't process OnReceive notification messages in time or loose them
(if
>it is possible).
Ok, so what kind of transfers are you doing ?  TCP should not be possible to
lose data during a transfer, not by the network stack, anyway: the rx end
only sends ACKs up as far as it has successfully received, the tx end might
carry on sending until the receiver's window fills, but after that if the rx
end doesn't expand the window by ACKing some more at the trailing edge, the
tx end won't send any new data and will try resending until the rx finally
does ACK the missing data.  IOW, there is no way a tcp connection can lose
data in the middle of a send and carry on going as if nothing happened,
since sooner rather than later the whole conversation will just lock up.
I'd start to suspect a logic error in your application.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: PING johan [Re: Speeding up compressed builds]
Date: Wed, 21 Nov 2001 14:43:36 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <J%OK7.58$ZO3.93706@newsr2.u-net.net>
References: <9t3nbc$n1m$1@plutonium.btinternet.com>
David Laight wrote in message <9t3nbc$n1m$1@plutonium.btinternet.com>...
>For a variety of reasons I've had to do a few build on a slow system.
>
>One bit that seemed exceptionally slow is the 'binToAsm' call (just
>after the 'deflate' generating vxWorks.Z.s)
>The above is terribly slow...
  Yeh, massive use of 'sed' is one of the reason gnu configure scripts take
so long, it's a big overhead.
>Ages ago I sped up 'munch' - by grepping out most of the symbols it
>isn't interested in...
>
>nmarm vxWorks.tmp | tee vxWorks.nm | grep " __" | munch > ctdt.c
>
>(I use the symbol table from this stage for a variety of things...)
  AHA!
  Johan, when I wrote the post that you quoted in FAQ 1.1:
>Q: When compiling I see the following output in the build-window:
I did mention that it was a trick I remembered reading but didn't know who
said it first.  Seems like we found him, give Dave a credit too!
  BTW Dave, I think GLOBAL is a better discriminator for munching than "__",
since a) it'll break for targets such as ppc that don't prefix an underscore
to assembly symbols, and b) it'll match any function that begins with one or
more underscores in C (on those platforms that do prefix the assembler
label) or two or more (on those that don't).
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Can we do Raw socket programming ?
Date: 21 Nov 2001 06:52:55 -0800
From: monishabarooah@yahoo.com (Monisha Barooah)
Organization: http://groups.google.com/
Message-ID: <68ef19de.0111210652.66a94a93@posting.google.com>
References: <9tf39s$5li$1@news.asu.edu>
"Shesha Bhushan" <shesha@asu.edu> wrote in message news:<9tf39s$5li$1@news.asu.edu>...
> Hi,
>   Can we do raw socket programming on VxWorks ?
>  If Yes can any body give me the link for the meterial that aids in doing
> raw socket programming.
>
> Thanks in advance
>
> Shesha Bhushan
> Arizona State University
> Research Assistant.
Hi Shesha,
  Yes you can do Raw Socket Programming in Vxworks. The method is the
same as you do in Linux. Except that you need to take the extra care
of disabling the ICMP option in the bootable Vxworks image.
Regards,
Monisha.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
Date: Wed, 21 Nov 2001 15:02:37 GMT
From: "Mike Anderson" <mike@theptrgroup.com>
Organization: RoadRunner - Cox
Message-ID: <hmPK7.32853$QN6.10766773@typhoon.southeast.rr.com>
References: <3BFAD11B.77D0BE0B@nospam.com>
VxWorks Greetings!
"justin zobel" <zobel@nospam.com> wrote in message
news:3BFAD11B.77D0BE0B@nospam.com...
> hello,
>
> will the use of -mlongcall for compiling bootrom, vxworks.st and
> application code cause performance degradation due to use of "brlr
> instruction" instead of "bl instruction" in assembly. Does anyone use
> SDRAM more than 32MB for powerpc82xx boards, and what is the software
> performance benchmarks with the use of  "-mlongcall" during compilation?
>
  Typically, the bootrom and VxWorks itself will not have to be built
with -mlongcall
because they will not be making calls into code beyond the 32MB limit.  The
only
place where this could be a problem for VxWorks is if you install any O/S
hooks
that point to your functions that are living beyond the 32MB boundary.  The
obvious
answer to this is to load that code first before adding the next 32MB chunk
to
the system memory pool.  Then all of the call backs will be within "bl"
range.
Your applications code can then be compiled with -mlongcalls to get access
to
the region beyond 32MB.
HTH,
Mike
- --
- --
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
C: (703) 585-9384         V: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Does fstat() work incorrectly?
Date: 21 Nov 2001 07:18:56 -0800
From: maciejm@s3group.com.pl (Maciej)
Organization: http://groups.google.com/
Message-ID: <2483f34a.0111210718.5969576f@posting.google.com>
References: <2483f34a.0111200934.1a67d6f2@posting.google.com> <Xns91605DC436A37borkhuisagerecom@135.7.153.102>
Johan Borkhuis <borkhuis@agere.com> wrote in message news:<Xns91605DC436A37borkhuisagerecom@135.7.153.102>...
>
> > Hi,
> >
> > Does anybody know why fstat() function returns incorrect value for file
> > size?  For just created file it returns 1006276439 instead of 0 ?
> >
> > ----------------------------------------------------
> > Code is as follows:
> >
> >   fd = open("the_file.txt", O_CREAT | O_RDWR, 0644);
> >   fstat(fd, &sb);
> >   printf("FILE SIZE = %lu\n", sb.st_size);
>
> What is the return code of fstat?
>
> Groeten,
>         Johan
Function fstat() returns 0 (OK).
Thanks,
Maciej
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: clock corruption
Date: Wed, 21 Nov 2001 15:20:22 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <nsQK7.60$ZO3.96878@newsr2.u-net.net>
References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <Z4zG7.84$vy6.88192@newsr2.u-net.net> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <ohUH7.8$wu1.962@newsr2.u-net.net> <3BF139D5.BDCEA769@hotmail.com> <iit7vtof7hi7sojor7rcvofeij3pcr94nj@4ax.com> <6dcK7.14$kI3.6363@newsr2.u-net.net> <9te6i9$1tg$1@neptunium.btintern
David Laight wrote in message <9te6i9$1tg$1@neptunium.btinternet.com>...
>If you have a system that unexpectedly resets vxTicks, try the trick
>I suggested last week of 'damaging' the code at the top of
>qPriListCalibrate.
>
>Since the calibrate is done in the context of the code doing the -ve
>delay the system might stay up long enough....
>
>But you almost certainly need the target shell...
  Do you mean Message-ID: <9soct3$2m1$1@neptunium.btinternet.com> ?  I don't
see anything there that I understand as 'damaging' it, though if you mean
'somehow make it crash if/when it gets there' I think I could manage
that....  If you mean some other post, you'll have to post a reference for
me.  Completeness has picked up on my swerver lately but I think it still
misses a few posts.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Probrem with TCP/IP
Date: Wed, 21 Nov 2001 16:22:27 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <osQK7.63$ZO3.96878@newsr2.u-net.net>
References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net> <9t2nu7$2jdi$1@gavrilo.mtu.ru>
Shrike wrote in message <9t2nu7$2jdi$1@gavrilo.mtu.ru>...
>Hi!
>
>We shutdown the connection before we finish tasks. So, we think that we
>loose data DURING the transfer. Another case is that the our program on the
>host can't process OnReceive notification messages in time or loose them
(if
>it is possible).
  Ah, I forgot something in my other post.
  As well as doing a graceful close with shutdown() you might need to use
setsockopt() to set the SO_LINGER flag.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ccppc for Vxworks again
Date: Wed, 21 Nov 2001 15:27:50 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <osQK7.61$ZO3.96878@newsr2.u-net.net>
References: <8b05312a.0111091800.4f840f8b@posting.google.com>
Gary Zhang wrote in message
<8b05312a.0111091800.4f840f8b@posting.google.com>...
>The default wrs ccppc (2.7.2-960126) supports STL, but it
>does not support namespace.
>
>I downloaded ccppc (2.95.4 -20010319) from DaveK's website
>http://www.lysergic.u-net.com/homepage.html.
>
>It supports namespace alright. but it has two problems
>when I use it as it is.
>1) it is quiet. it does not generate errors. Why ?
>   when it fails, it does so without generating .o file.
>
>2) it stops supporting template !
>    It simply stops half way.
      Hi Gary,
  Sorry for taking so long to reply; I did receive your mail but I have been
very busy.
  I never used templates before myself, so I don't understand the issues
about them, but I know it is complicated.  Have you looked into the -frepo
option?  There is a document somewhere on windsurf about how to make
templates work, if you haven't read it you should look for it - I didn't
read it because I don't know about templates, so I don't know if it would
solve your problem.  Is it possible that your template code has not been
instantiated into the .o module so there is simply nothing to output but no
error either ?  Can you post the example junk9.cpp ?
>Alternatively, what is the mostly compliant C++ compiler for Vxworks +
>PPC ?
  I did once come across an article on the web somewhere that compared
various compilers and their STL implementations for compliance, Gcc wasn't
bad but it wasn't the best; I'm afraid I don't remember where but you could
probably find good information with a web search.
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server Console freezes after hitting Properties menu
Date: Wed, 21 Nov 2001 15:30:48 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <osQK7.62$ZO3.96878@newsr2.u-net.net>
References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> <Xns915B80EDABA00borkhuisagerecom@135.7.153.101>
Johan Borkhuis wrote in message ...
>"Mark Galecki" <MGalecki@SBS.com> wrote:
>> we have Tornado 2.0 installation on NT 4.0 host.  I attach a Target
>> Server to a target running VxWorks, and I make it show a console.  Now,
>> on console, which is a DOS CommandPrompt Window, I hit the Properties
>> menu item (which is used to change the layout, colors and fonts).
>>
>> Upon this, the Properties Dialog freezes.   I can shutdown the target
>> server and then the console vanishes and I can restart the target
>> server.
>
>I could be a file-permissions problem. When you open the properties window
>I think Windows is trying to open a file, and from some stations it is
>allowed to, from others it is not.
...which you could diagnose by using the Filemon utility from
www.sysinternals.com.
  Alternatively, you could just adopt the WDDTT solution.  <g>
         DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: Wed, 21 Nov 2001 16:34:07 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <jDQK7.64$ZO3.91188@newsr2.u-net.net>
References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> <Xns915E7FA6372C0borkhuisagerecom@135.7.153.102>
Johan Borkhuis wrote in message ...
>"Gary M" <com.vertical@garym> wrote:
>
>> 1. No. That's your responsibility. Never assume that the OS will clean
>> up your mess.
>> 2. Actually, that is the expected output given a single semaphore
>> synchronizing two tasks at the same priority. When task1 gives the
>> semaphore, it will not cause task2 to run, and task1 will reenter the
>> for-loop and reclaim the semaphore again. The correct implementation
>> requires two binary semaphores, sem1 and sem2. sem1 would be created
>> full, sem2 as empty. task1 would take sem1, do its work, and give sem2.
>> task2 would take sem2, do its work, and give sem1. This method
>> guarantees alternating execution of the tasks irregardless of their
>> priorities.
>
>There is another way to do this: add a taskDelay(0) after the semGive. This
>will force the current task at the end of the ready queue, and allows the
>other task to run.
Didn't we just have this discussion and decide that taskDelay(0) didn't work
and the best you could do was taskDelay(1), which means the first task
wouldn't get rescheduled until the next tick even if the second task
completed really quick ?
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: 21 Nov 2001 13:09:19 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ug078ov1s.fsf@yahoo.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com>
Sender: bpringlemeir@DeadDuck
 >> See SPR #27790 and ask your Wind River contact when they plan to
I have encountered a problem where I have the network task hanging.
On my target, I have "tyCo/0" and "tyCo/5" connecting to PPP sessions
0 and 1.  The session 0 (tPPP0, tPPP0Wrt, etc) is invoked in
passive mode a boot time and is connected to via RAS etc and used with
the Tornado Tools.  We have added an Ethernet chip and the PPP0 is
generally unused.  The PPP1 does an active connect (client) to an ISP.
I made a custom image that disabled the PPP0 and put a shell on the
/tyCo/O instead.  I have configured vxWorks to have symbols in the
target as well as the network code, WDB, etc running.
We were getting the network to lock periodically.  These factors seem
to contribute to the locks.  Having PPP0 in the passive mode, waiting
for a connection. pppDelete 0 will delete this connection and lower
the lock frequency.  Having many interrupts in system.  I am not sure
if the interrupts must be networks related (ethernet/tty drivers).
Having interrupts marked as pre-emptable.  Turning on PPP debug
statements and running WDB in network mode (as opposed to END).
The only one that solves the problem is to turn of the PPP debug.  The
lock always occurs when PPP1 is connecting to a host.
By using the custom image with the shell on `tyCo/0'.  We connect with
the debugger via ethernet.  I set the shell I/O to an fd associated
with `/tyCo/0' (using ioTaskStdSet?).  The other I/O goes to a target
server (vio) and is transfered over the network.  Eventually I come to
a state where,
tWdbTask PEND  wdbUdpSocketIfInit+1e8 (select call)
tNetTask PEND  printf, write, isoWrite+B4
tPPP1    PEND  printf, write, isoWrite+B4
tPPP1Wrt PEND  vxTaskEntry+28
AppTask  PEND  printf, write, isoWrite+B4
These are stack traces from an ARM 710A cpu.  I have only included
tasks that are pending.  (UGL is also pending, put I can use it by
issuing command from the shell).  I think that there is some sort of
dead-lock in a PPP connect/disconnect sequence.  Unfortunately the
built-in shell does not have `w' or taskWait... functions, so I can
not see a definitive deadlock.  I tried spelunking the TID structure.
tWdbTask and AppTask had the same selectSem partition (show on
TID+0x90).  However, eventually I entered a wrong command and crashed
the shell.
I have also observed lockups on PPP0 when dosfs/tffs is formatting a
flash device; this is locking interrupts for whatever reason on our
device.  I don't believe that PPP0 should have debug enabled.
Also, if PPP0 is used to debug will the connection to PPP1 is
happening, we experience the lock every time with pre-emptive
interrupts.  It does not happen as often with pre-emption turned off.
Is it possible that this is related to the SPR shown?  I am using an
END driver in all cases.  I would also be interested to know if anyone
else has experienced network lockups during PPP connect/disconnect
sequences.
This information was difficult to come by.  I hope it helps someone;
making interrupts non-preemptable _ALMOST_ eliminates the problem.  It
only happens once in about 120 PPP connects/disconnects.  With few
interrupts on the system, the test code has run over a weekend
executing a 600-700 times [the ISP really likes us]!
regards,
Bill Pringlemeir.
- --
Don't you realise that whales are fun?  You make me sick.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Address Question
Date: Wed, 21 Nov 2001 16:36:25 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <HcSK7.67$ZO3.98522@newsr2.u-net.net>
References: <FBZJ7.24944$P%2.1297896@news.bora.net> <ur8qu4wmo.fsf@yahoo.com>
Bill Pringlemeir wrote in message ...
>>>>>> "Young" == Young  <jyjung@kdcre.co.kr> writes:
>
> Young> I have to know the Address for Text, Data and Bss Region of
> Young> VxWorks Image.  moduleShow() Function just display those
> Young> Regions, but I can't Use Those Values.
>
> Young> Does Anyone Know the method to Get and Use the Address for
> Young> Text, Data and Bss Region of VxWorks?
>
>Please read your manual.  Look under the vxWorks Reference manual.
>It is on your hard drive; something like,
>
>   "file:///C|/Tornado/docs/vxworks/ref/moduleLib.html"
  Hey Bill, I tried your link but it's 404.  Musta been shut down for
spamming... <g>
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: printf and task stack
Date: Wed, 21 Nov 2001 16:52:26 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <HcSK7.69$ZO3.98522@newsr2.u-net.net>
References: <3BF91C3D.388A2D21@nthwave.com>
ted wrote in message <3BF91C3D.388A2D21@nthwave.com>...
>folks,
>
>According to section3.5.3 of vxworks programmer's guide - "using the
>current task's stack for message formatting takes up significant stack
>space". Does this statement imply using printf for standard output to
>console takes up significant stack space? I observe the target shell and
>telnet daemon crash when too may printfs (with taskDelay in between
>printfs) is used to dump output to console.
  It could add a couple of KB to your maximum stack usage, but I've never
known either of those two to fail for that reason; what kind of crash is it?
I regularly spew out megs and megs of printfs as fast as I can and nothing
goes wrong.  Any chance you might manage to get an exception handler to call
checkStack() for you before the whole thing keels over ?
> Will redirecting the task
>output to a file with ioTaskStdSet/ioGlobalStdSet be more useful and
>efficient to dump debug printfs?
  I suspect you have an underlying problem worthy of further investigation.
I don't see that fprintf to a file would use less stack than printf to
stdout, but logMsg is a fairly worthy substitute in extremis.
      DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Wed, 21 Nov 2001 16:44:29 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <HcSK7.68$ZO3.98522@newsr2.u-net.net>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com>
David Laight wrote in message <9tesl8$mg8$1@plutonium.btinternet.com>...
>> See SPR #27790 and ask your Wind River contact when they plan to have a
>fix
>
>but don't hold your breath........
>
considering they are now up to SPR # 70048 and haven't fixed it yet...
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: error message!!! [what's wrong?]
Date: Wed, 21 Nov 2001 12:59:52 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bfc1644$0$22580$4c41069e@reader1.ash.ops.us.uu.net>
References: <9tg0su$cs9$1@hiline.shinbiro.com>
Reply-To: "Gary M" <com.vertical@garym>
Actually, it looks like your board is working fairly well, since it seems to
be surviving kernel initialization.
The problem appears to occur when it invokes the usrRoot task. You might try
setting a breakpoint on the usrRoot entry point to see if you get that far.
If not, try breaking earlier in the initialization process.
An address of 0x00000000 sometimes indicates either a bad stack frame or
indirect jump pointer (containing 0x00000000).
Good luck.
"it2xpert" <it2xpert@korea.com> wrote in message
news:9tg0su$cs9$1@hiline.shinbiro.com...
> hi ...
> My company desinged a new mpc850sr board..
> The brief specification is following.
> cpu:mpc850sr
> flash rom : 4M (ffc00000 ~ ffffffff)
> sdram:16M......(00000000 ~ 00ffffff)
> [ RAM_HIGH_ADRS = 00E00000
>   RAM_LOW_ADRS = 00100000 ]
> os : vxworks 5.4
>
> I used the Vision ICE for debug tool.
>
> When i input the power in my board, the following error message is
occurred.
> (in addition, i use the vision Click for the debug application)
> --------------------------------------------------------------------------
- --
> bootConfig.c -> usrInit() ->
> kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE,
> #ifdef INCLUDE_WDB
>       (char *) FREE_RAM_ADRS + WDB_POOL_SIZE,
> #else
>   (char *) FREE_RAM_ADRS,
> #endif
>   sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL);
>  /* start the kernel specifying usrRoot as the root task */
> [in the BSP ]
>
> this funtion(kernelInit) is executed, error is occurred. the Vision Click
> application generate the following error messages....
> ---------------------------------------------------------------------
> !ERROR! - Unexpected Exception(s) Taken at 00000000
> Exception(s) Reported are (ECR) : Software Emulation,
> Current Address Pointer (SRR0)  : 00000000
> Machine State Register (MSR)    : 00001002
> Data Address Register (DAR)     : 00000000
> Data Interrupt Register (DSISR) : 00000000
> Break Address Register (BAR)    : 00000000
> Interrupt Cause Register (ICR)  : 00004000
> PPC Instruction at    $00000000 : 0xFFFDFF00 : ??? DC.L     0xfffdff00
> ----------------------------------------------------------------------
>
> then, i open the Funciton call windows in the Vision click. message is
....
> ------------------------------------------------------------------------
> +f{} bootConfig.c\usrInit() Line #943(0x00e0063c)
>  - f{} (0x00e35edc) [kernellnit +0x144]
>   - f{} (0x00e3a900) [taskActiveate + 0x10]
>    - f{} (0x00e3b608) [taskResume +0x1c8]
>     - f{} (0x00e3779c) [reschedule +0x2c]
>         --f{} makebuf.c Line #281 (0x00000000)  ##### <- error position
> --------------------------------------------------------------------------
- --
>
> i wonder that this problems is occurred by the hardware or software??
> because this board is not confirmed.
>
> i wait the seniors advices .
>
> thanks for your interesting !!
>
> have a good day !!
>
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: Wed, 21 Nov 2001 13:05:05 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net>
References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> <Xns915E7FA6372C0borkhuisagerecom@135.7.153.102> <jDQK7.64$ZO3.91188@newsr2.u-net.net>
Reply-To: "Gary M" <com.vertical@garym>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
news:jDQK7.64$ZO3.91188@newsr2.u-net.net...
> Johan Borkhuis wrote in message ...
> >
> >There is another way to do this: add a taskDelay(0) after the semGive.
This
> >will force the current task at the end of the ready queue, and allows the
> >other task to run.
>
> Didn't we just have this discussion and decide that taskDelay(0) didn't
work
> and the best you could do was taskDelay(1), which means the first task
> wouldn't get rescheduled until the next tick even if the second task
> completed really quick ?
>
I'm not fond of taskDelay(1) approach, simply because it adds a timing
dependency, whereas using two semaphores has no timing dependencies. After
all, a tick can be a really "long" time (1/60 of a second), depending on the
target.
taskDelay(0) is implementation dependent, so it works on old VRTX systems
but not on VxWorks.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
Date: Wed, 21 Nov 2001 21:59:48 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9th81j$pnt$1@uranium.btinternet.com>
References: <3BFAD11B.77D0BE0B@nospam.com> <hmPK7.32853$QN6.10766773@typhoon.southeast.rr.com>
> >
> > will the use of -mlongcall for compiling bootrom, vxworks.st and
> > application code cause performance degradation due to use of "brlr
> > instruction" instead of "bl instruction" in assembly. Does anyone use
> > SDRAM more than 32MB for powerpc82xx boards, and what is the software
> > performance benchmarks with the use of  "-mlongcall" during compilation?
> >
>
>   Typically, the bootrom and VxWorks itself will not have to be built
> with -mlongcall because they will not be making calls into code beyond
> the 32MB limit.
true...
>  The only place where this could be a problem for VxWorks
> is if you install any O/S hooks that point to your functions that are
> living beyond the 32MB boundary.
wrong - these are all indirect calls and don't (on any architecture I know
of) have any restriction.
It is a problem if you have to link and vxWorks library code with your
application in order for it to load.
>  The obvious answer to this is to load
> that code first before adding the next 32MB chunk to the system memory
> pool.  Then all of the call backs will be within "bl" range.
Trouble is that fragments the memory pool - right in the middle!
> Your applications code can then be compiled with -mlongcalls to get
> access to the region beyond 32MB.
When loaded beyond 32Mb it has to be compiled with -mlongcalls in order
to call routines in the normal kernel.
The vxWorks dynamic loader should generate the extra 'hook' code so that
these modules will link - it's not actually too hard (unless you are
loading something that is 64Mb)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: symFindByValue too slow! Alternatives?
Date: Wed, 21 Nov 2001 18:26:15 -0500
From: "Macleod, Randy [CAR:CW31:EXCH]" <macleodr@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3BFC3817.E9D986F6@americasm01.nt.com>
Hi,
  I'm generating stack traces using trcStack() and I want to convert
from the function address to a function name using the symbol table.
Typically, I'll call symFindByValue() 5-10 times. Each call takes >1000
us (since
it just does a linear search). This is too long for my application.
I could:
1. Collect the list of symbols and then use symEach() and check
  each of my symbols thereby reducing the number of passes.
2. Get the addresses with trcStack and convert to function
   names in a lower priority task. This is okay in some cases.
3. At load time, build a tree, skiplist, whatever on the list of symbols
to do faster
   indexing by value.
Anyone got a better idea? Is there something already in vxWorks
that does the reverse lookup in ~50 us?
Thanks in advance,
// Randy
 - - - - - The axis of the universe is irony. - - - - -
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What is ?
Date: Thu, 22 Nov 2001 10:15:15 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3BFC3C8B.1AAB65B8@dsto.defence.gov.au>
References: <fd7b75c0.0111210046.30868189@posting.google.com>
Jerry,
Many SCSI devices use DMA for transferring data from memory to the scsi
device. Depending on the chip set and configuration, cache snooping will
automatically ensure that the DMA transfer from main memory will be
consistent with data held in a cache (ie the cache will intervene when
cached data is accessed). If your board does not support this in hardware,
then the scsi driver must ensure consistency, so you use
scsiCacheSnoopDisable. If the hardware supports snooping, then use
scsiCacheSnoopEnable. Write through caches write data to main memory every
time that data is written to cache, so main memory is (nearly) always
consistent with cached data. Write-back (or copy back) only writes data to
main memory if the cache line is to be replaced and one or more elements
in the line has been modified. So data in main memory may be different to
data in a cache, therefore, the cache line must be flushed (either with
hardware or software) before the memory can be accessed with a DMA
transfer.
HTH
Tim
Jerry Wong wrote:
> Hi, everyone
>     Excuse me to post SCSI problem again. I was rather upset by the
> SCSI configuration.
>     In sysScsi.c, there are codes like below:
>
> #if (USER_D_CACHE_MODE & CACHE_SNOOP_ENABLE)
>     scsiCacheSnoopEnable ((SCSI_CTRL *) pSysScsiCtrl);
> #else
>     scsiCacheSnoopDisable ((SCSI_CTRL *) pSysScsiCtrl);
> #endif
>
>     Does this mean if cache mode is COPY_BACK | SNOOP_ENABLE , the
> scsiCacheSnoop should be enable,and if the mode is WRITE_THROUGH,we
> should not enable the scsi cache snoop?But in my bsp,if I disable scsi
> snoop(cache mode WRITRE_THOUGH), the scsi configuration would hang at
> " scsiPhysDevCreate() ".the debug infomation showed it was stopped
> after issuing a "inquiry" command.
>
> 0x3fffdf8 (tRootTask): scsiReqSense:
> 0x3fffdf8 (tRootTask): scsi2Transact:
> 0x3df8488 (tScsiTask): scsiMgrRequestProc: client request: 0
> 0x3df8488 (tScsiTask): scsiMgrActivateRequest: thread 0x03df6bd8
> 0x3df8488 (tScsiTask): ncr810ThreadActivate: thread 0x03df6bd8:
> activating
> 0x3df8488 (tScsiTask): ncr810XferParamsCvt: converted to: offset     =
> 0, period
>       = 0
> xferParams = 0, clockDivide = 3
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x01, SCSI
> status0 = 0x00
> , SCSI status1 = 0x00DMA status = 0x84
> logTask: 5 log messages lost.
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b16b8, type = 0.
> interrupt: ncr810Intr: state 1 -> 2
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 1 -> 6
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
> status0 = 0x00
> , SCSI status1 = 0x00DMA status = 0x84
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1798, type = 10.
> interrupt: ncr810Intr: state 2 -> 0
> 0x3df8488 (tScsiTask): ncr810Event: received event 10 (thread =
> 0x03df6bd8)
> 0x
> 3df8488data access (
> tScsiTaskExceptio): n current instrucncr810ThreadEvent: ttion address:
> 0xhrea00d
>  0x19c5880
> 3df6bdMachine Status Regis8ter: 0x: received e0000vent 903010
>
> Dat0xa Access Register:3df8488 0x (ffffff1atScsiTask
> ): ConditiWIDE DATA TRANSFER Ron Register: 0xEQUES44000040T message ou
> t
>     xferWidth = D1ata storage interru where 0 => 8 bits 1pt Register:
> 0x => 1000
> 06...
> 90300x
> 3df8Task: 4880x (3fffdf8tScsiTask "): tRootTncr810Resume: threadask:
> 0x"
> 03df6bd8: state 0 -> 2
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
> status0 = 0x00
> , SCSI status1 = 0x00DMA status = 0x84
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1948, type = 12.
> interrupt: ncr810Intr: state 2 -> 0
> 0x3df8488 (tScsiTask): ncr810Event: received event 12 (thread =
> 0x03df6bd8)
> 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
> event 12
> 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
> status0 = 0x00
> , SCSI status1 = 0x00DMA status = 0x84
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1970, type = 11.
> interrupt: ncr810Intr: state 2 -> 0
> 0x3df8488 (tScsiTask): ncr810Event: received event 11 (thread =
> 0x03df6bd8)
> 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
> event 11
> 0x3df8488 (tScsiTask): WIDE DATA TRANSFER REQUEST message in
>     xferWidth = 1 where 0 => 8 bits 1 => 16...
> 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
> status0 = 0x10
> , SCSI status1 = 0x00DMA status = 0x84
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b18e0, type = 21.
> interrupt: ncr810Intr: state 2 -> 1
> interrupt: Uninitialized interrupt
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI
> status0 = 0x00
> , SCSI status1 = 0x00DMA status = 0x84
> interrupt: ncr810EventTypeGet: script completed.
> interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b1618, type = 22.
> interrupt: ncr810Intr: state 1 -> 0
> 0x3df8488 (tScsiTask): ncr810Event: received event 21 (thread =
> 0x03df6bd8)
> 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
> event 21
> 0x3df8488 (tScsiTask): DISCONNECT message in
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 2
> 0x3df8488 (tScsiTask): ncr810Event: received event 22 (thread =
> 0x00000000)
> 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df86c8: received
> event 22
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 0 -> 4
> 0x3df8488 (tScsiTask): ncr810ThreadReconnect: reconnecting thread
> 0x03df6bd8
> 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 2 -> 6
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 4 -> 0
> 0x3df8488 (tScsiTask): ncr810Event: received event 20 (thread =
> 0x03df6bd8)
> 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received
> event 20
> 0x3df8488 (tScsiTask): COMMAND COMPLETE message in
> 0x3df8488 (tScsiTask): ncr810ThreadComplete: thread 0x03df6bd8
> completed
> 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 0
> 0x3df8488 (tScsiTask): scsiMgrThreadComplete: thread 0x03df6bd8
> 0x3df8488 (tScsiTask): scsiMgrReplyProc: client reply: 0
> 0x3df8488 (tScsiTask): scsiMgrCompleteReply: thread 0x03df6bd8
> (status: 0, errno
> : 0)
> 0x3fffdf8 (tRootTask): scsiPhysDevCreate: reqSenseData[0] = 0
> 0x3fffdf8 (tRootTask): scsiInquiry:   <- hang at this time
>
>     Who can tell me what is the use of "scsiCacheSnoopEnable"?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Large symbol tables
Date: Wed, 21 Nov 2001 23:55:14 GMT
From: "Don Dewar" <ddewar@gothamnetworks.com>
Message-ID: <C9XK7.2097$WC3.168880@paloalto-snr1.gtei.net>
Has anyone seen any problems with very large symbol tables corrupting memory
or stacks.  I am seeing a case where everytime I load a specific .out file
that I often see global static variables either not initialized correctly or
being overwritten with the same garbage data every time.  The only thing
that distinguishes this .out from any other is that it is very large and its
symbol table is also very large.  Any pointers would be appreciated.
- -- Don
---------------------------
Newsgroups: comp.os.vxworks
Subject: DNS Address through DHCP
Date: Wed, 21 Nov 2001 17:13:53 -0800
From: "naveen" <nsingh@tality.com>
Message-ID: <3bfc5142$1@news.cadence.com>
Hi
I am trying to configure network after system comes up via DHCP .My client
gets the ip address and network is configured ,but when I try to look for
DNS address it is some random value.Just wanted to know did anybody had this
problem before.Is there any other way to get DNS server address.
Thanx
Naveen
---------------------------
Newsgroups: comp.os.vxworks
Subject: need help with shell I/O (scanf)
Date: Wed, 21 Nov 2001 21:20:38 -0500
From: RBailey <r.m.bailey@larc.nasa.gov>
Organization: NASA LaRC
Message-ID: <3BFC60F6.9ABED695@larc.nasa.gov>
I am a VxWorks newbie.  Using Tornado II on a WinNT host with MVME 2604
target.  The project builds and downloads OK.
I am developing a 'C' - based downloadable application and am having
trouble with shells and I/O.  I have been successful in changing the
priority of "tshell" so that it is low enough that the host shell is no
longer "eating" what is typed in.
I spawn the task and it  printf's a prompt for some user input, and then
I try to use scanf to grab the user input.  I see the prompt, and I see
the response characters in the shell as I type them.  However, when I
hit <CR> nothing happens.  I used the debugger to verify execution to
that point.
Any suggestions?
Thanks for any help.
R. Bailey
NASA LaRC
r.m.bailey@larc.nasa.gov
---------------------------
Newsgroups: comp.os.vxworks
Subject: PPP problem
Date: Thu, 22 Nov 2001 11:13:54 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3BFCCFE2.A83CBCEF@sepro-robotique.com>
Hi everyone,
We are trying to connect our target (MPC823) to a PC using the network
stack over a RS232 link (PPP). The PC establish (and close) the link with
the target using the "network remote access" functions of Windows NT4.
It works but when the PPP link is going up, we always get 11 CRC errors
(the first PPP packets) and have to wait for 20".
Then, the link works flawlessy, even for a very long time doing FTP,
ping, etc...
The PPP link on the PC side is configure to use :
- - no software compression
- - PPP LCP compression
- - IP header compression
- - fixed IP
- - no gateway, no DNS
The PPP link on the Target side is set as :
  pppOpt.flags=OPT_SILENT_MODE
    |OPT_PASSIVE_MODE
    |OPT_DEFAULTROUTE
    |OPT_NO_MRU
    |OPT_NO_IP
    |OPT_NO_PC
    |OPT_NO_PAP
    |OPT_NO_CHAP;
  pppOpt.netmask = "255.255.255.0";
  pppInit(0,"/tyCo/0","192.168.254.254","192.168.254.1",38400,&pppOpt,NULL);
Does anyone know why we get this eleven CRC errors at start-up ?
What is the optimum settting to do PPP between a PC and a VxWorks Target ?
Thanks a lot.
Emmanuel
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc
Date: Thu, 22 Nov 2001 11:31:22 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <mu5L7.87$ZO3.134526@newsr2.u-net.net>
References: <3BFAD11B.77D0BE0B@nospam.com> <hmPK7.32853$QN6.10766773@typhoon.southeast.rr.com> <9th81j$pnt$1@uranium.btinternet.com>
David Laight wrote in message <9th81j$pnt$1@uranium.btinternet.com>...
>>  The obvious answer to this is to load
>> that code first before adding the next 32MB chunk to the system memory
>> pool.  Then all of the call backs will be within "bl" range.
>
>Trouble is that fragments the memory pool - right in the middle!
  In my case, I decided the obvious answer was just to use -mlongcall and
not care.
  It only adds a tiny overhead to each function call - a couple of extra
instructions to assemble the branch destination in a register; conceivably
that'll affect register allocation and cause something to spill to the stack
that otherwise wouldn't but if your function is so busy that there are *no*
temporary regs available at all, then pretty much anything you do to it
would cause that same problem.
  So the overhead amounts to no more than a few words and a few clock cycles
per function call sequence, max.  It's already dwarfed by the work involved
in getting the args into the right places in registers and on the stack.
The only way that kind of overhead would be a problem is if you're calling
some function tens-to-hundreds of thousands of times a second.  In which
case you should probably inline it, or otherwise attack the design problem
from a new angle.
  The compiler isn't stupid, either: the function pointer that it assembles
is treated just like any other useful constant in your code, and it will
keep it in a register for as long as possible rather than re-construct it
each time if there's a register to keep it handy on (though this may depend
on optimization level).
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Large symbol tables
Date: Thu, 22 Nov 2001 11:45:04 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <mu5L7.88$ZO3.134526@newsr2.u-net.net>
References: <C9XK7.2097$WC3.168880@paloalto-snr1.gtei.net>
Don Dewar wrote in message ...
>Has anyone seen any problems with very large symbol tables corrupting
memory
>or stacks.  I am seeing a case where everytime I load a specific .out file
>that I often see global static variables either not initialized correctly
or
>being overwritten with the same garbage data every time.  The only thing
>that distinguishes this .out from any other is that it is very large and
its
>symbol table is also very large.  Any pointers would be appreciated.
>
>-- Don
  How big is big ?  I work with a project that has a 14 meg .out that grows
to 95 meg when debug info is included; merely loading it has never caused
any trouble (but see the last para of this post).
  Could you have a static class object whose constructor is being called but
the code has a bug and trashes something or assumes something else might
have been initialised first?
  To test this possibility (assuming you're using any c++ at all, that is!),
call cplusXtorSet(0) before loading the .out to make sure the c-tors aren't
called automatically.  If your load then succeeds, but things go wrong when
you call cplusCtors("modulename"), you'll know that is the trouble.
  Oh, another thing is if you're loading via the target server, you may be
surprised at how enormous you need to make the target server cache before
it'll all work right.  With a 95 meg .out the targetserver cache had to be
about 128 meg before it would download correctly.
        DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: semaphore question
Date: Thu, 22 Nov 2001 11:22:11 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <mu5L7.86$ZO3.134526@newsr2.u-net.net>
References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> <Xns915E7FA6372C0borkhuisagerecom@135.7.153.102> <jDQK7.64$ZO3.91188@newsr2.u-net.net> <3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net>
Gary M wrote in message
<3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net>...
>
>"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
>news:jDQK7.64$ZO3.91188@newsr2.u-net.net...
>> Johan Borkhuis wrote in message ...
>> >
>> >There is another way to do this: add a taskDelay(0) after the semGive.
>This
>> >will force the current task at the end of the ready queue, and allows
the
>> >other task to run.
>>
>> Didn't we just have this discussion and decide that taskDelay(0) didn't
>work
>> and the best you could do was taskDelay(1), which means the first task
>> wouldn't get rescheduled until the next tick even if the second task
>> completed really quick ?
>>
>
>I'm not fond of taskDelay(1) approach, simply because it adds a timing
>dependency, whereas using two semaphores has no timing dependencies. After
>all, a tick can be a really "long" time (1/60 of a second), depending on
the
>target.
  Oh, I absolutely agree that the correctest approach is to use mutually
interlocking semaphores rather than using the scheduler's known behaviour to
implement a crude approximation to the same!  However, the basic principle
of *relying* on the behaviour of the scheduler is reasonable: vxWorks is
after all a deterministic RTOS.  It may even be the case that the reason
taskDelay (0) puts the current task back at the front rather than end of the
ready list is because that's what it did in some original iteration and ever
since the behaviour has been maintained for consistency's sake.
>taskDelay(0) is implementation dependent, so it works on old VRTX systems
>but not on VxWorks.
  Heh, VRTX, there's a blast from the past, I used to work on that in '95...
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Thu Nov 22 05:21:39 2001
From: "Partha" <partha@ionicmicro.com>
Date: Thu Nov 22 05:21:41 PST 2001
Subject: VxWorks CPU/Memory usage analysis
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01C17387.441CC580
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi all,
    This 's my first query to this group. Hope I'll get good ideas from =
you.
    My job is to write an utility on VxWorks which will track the total =
CPU & memory resources used. If possible, it'll list out the resource =
usage by each task running on the system. Else, at least it should =
inform when the resource usage crosses some threshold value.
    I wonder how reliable the utility could be & which algorithm could =
be most efficient(right now, I 've no idea ). Also, does vxWorks export =
any API for this purpose? I am using version 5.3.1
    Pls send ur reply to my e-mail address partha@ionicmicro.com
Thanks & Regards
Partha
   =20
------=_NextPart_000_0007_01C17387.441CC580
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi all,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; This 's my first =
query to this=20
group. Hope I'll get good ideas from you.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; My job is to write =
an utility on=20
VxWorks which will track the total CPU &amp; memory resources used. If =
possible,=20
it'll list out the resource usage by each task running on the system. =
Else, at=20
least it should inform when the resource usage crosses some threshold=20
value.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; I wonder how =
reliable the=20
utility could be &amp; which algorithm could&nbsp;be most =
efficient(right now, I=20
've no idea ). Also, does vxWorks export any API for this purpose? I am =
using=20
version 5.3.1</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; Pls send ur reply to =
my e-mail=20
address <A=20
href=3D"mailto:partha@ionicmicro.com">partha@ionicmicro.com</A></FONT></D=
IV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks &amp; Regards</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Partha</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; =
</FONT></DIV></BODY></HTML>
------=_NextPart_000_0007_01C17387.441CC580--
From vxwexplo-errs@csg.lbl.gov  Thu Nov 22 17:26:09 2001
From: lig <lig@catt.ac.cn>
Date: Thu Nov 22 17:26:11 PST 2001
Subject:
Does the comp.os.vxworks group can be accessed as news group?
From vxwexplo-errs@csg.lbl.gov  Thu Nov 22 23:31:47 2001
From: "Avkash Chauhan" <avkash@isr.co.jp>
Date: Thu Nov 22 23:31:50 PST 2001
Subject: problem related with vxWorks and TCP/IP
Hi all,
Please see below for my problem related with vxWorks and TCP/IP.
My Setup:
----------
I have Tornado prototyper 2.0.2 running in my w2k machine.
I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project.
I set End attach interface support and End interface support along with PPP
& PPP boot in my build.
I am getting confirmation that both the tcp/ip and loopback initilization is
success as below:
---- VxSim Output ---------------------------
Attached TCP/IP interface to nt unit 0
Attaching interface lo0...done
		VxWorks
.....
...
..
------------ end of output --------------------
What if i do Ping
-------------------
I did set my loopback adaptor setting to my current w2k host named Hawaii
 ip - 90.0.0.1)
when i do ping in windsh shell is get:
-> ping "hawaii"
PING 90.0.0.1: 56 data bytes...
no answer from 90.0.0.1....
value = -1 = 0xfffffff
My Problem:
------------
- I can no understand where my tcp/ip is connecting and i can not test or
ping anywhere even i included PING in my vxsim build. Please help me how i
can test that vxworks is connecting to the tcp/ip network and loopback.
What i want to do:
----------------------------
1. i am trying to connect TCP/IP network with vxworks so that i can access
current tcp/ip network through vxworks.
2. On the other hand i want to connect vxworks through a modem to connect
internet...
Any help would be greately appreciated...
Thanks in  advance.
-Kaz
From vxwexplo-errs@csg.lbl.gov  Fri Nov 23 03:45:21 2001
From: =?iso-8859-9?Q?Ali_=D6zdemir?= <ali.ozdemir@bildem.com.tr>
Date: Fri Nov 23 03:45:24 PST 2001
Subject: Re: comp.os.vxworks newsdigest
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C17424.DFE499F0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
Found virus WORM_BADTRANS.A in file fun.pif
The file e/iscan/virus/virVABhuaGvM is moved to the configured virus directory.
*********************************************************
------=_NextPart_000_0000_01C17424.DFE499F0
Content-Type: text/plain;
	charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
'the vxWorks Users Group Exploder' wrote:=0A=
=3D=3D=3D=3D=0A=
- Submitted-by vxwexplo-errs@csg.lbl.gov  Thu Nov 22 04:03:16 2001
- Submitted-by: Vxworks Exploder <vx_explo@csg.lbl.gov>
-=20
- Comp.Os.Vxworks Daily Digest    Thu Nov 22 04:03:12 PST 2001
-=20
-         Subject: Trying to reuse a port between two sockets
-         Subject: Making a .lib file
-         Subject: Re: Probrem with TCP/IP
-         Subject: PING johan [Re: Speeding up compressed builds]
-         Subject: Re: Can we do Raw socket programming ...'=0A=
=0A=
=0A=
> Take a look to the attachment. =0A=
=0A=
=0A=
------=_NextPart_000_0000_01C17424.DFE499F0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
fun.pif is removed from here because it contains a virus.
*********************************************************
------=_NextPart_000_0000_01C17424.DFE499F0--
From vxwexplo-errs@csg.lbl.gov  Fri Nov 23 03:45:27 2001
From: =?iso-8859-9?Q?Ali_=D6zdemir?= <ali.ozdemir@bildem.com.tr>
Date: Fri Nov 23 03:45:30 PST 2001
Subject: Re: VxWorks CPU/Memory usage analysis
This is a multi-part message in MIME format.
------=_NextPart_000_0003_01C17424.DFEBC5E0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
Found virus WORM_BADTRANS.A in file docs.scr
The file e/iscan/virus/virBBBnuaGvM is moved to the configured virus directory.
*********************************************************
------=_NextPart_000_0003_01C17424.DFEBC5E0
Content-Type: text/plain;
	charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
'the vxWorks Users Group Exploder' wrote:=0A=
=3D=3D=3D=3D=0A=
- Submitted-by vxwexplo-errs@csg.lbl.gov  Thu Nov 22 05:21:39 2001
- Submitted-by: "Partha" <partha@ionicmicro.com>
-=20
- This is a multi-part message in MIME format.
-=20
- ------=3D_NextPart_000_0007_01C17387.441CC580
- Content-Type: text/plain;
- 	charset=3D"iso-8859-1"
- Content-Transfer-Encoding: quoted-printable
-=20
- Hi all,
-     This 's my first query to this group. Hope I'll get good ideas =
from =3D
- you.
-     My job is to write an utility on VxWo ...'=0A=
=0A=
=0A=
> Take a look to the attachment. =0A=
=0A=
=0A=
------=_NextPart_000_0003_01C17424.DFEBC5E0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
docs.scr is removed from here because it contains a virus.
*********************************************************
------=_NextPart_000_0003_01C17424.DFEBC5E0--
From vxwexplo-errs@csg.lbl.gov  Fri Nov 23 03:45:54 2001
From: =?iso-8859-9?Q?Ali_=D6zdemir?= <ali.ozdemir@bildem.com.tr>
Date: Fri Nov 23 03:45:56 PST 2001
Subject: Re: problem related with vxWorks and TCP/IP
This is a multi-part message in MIME format.
------=_NextPart_000_000E_01C17424.EA6AB170
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
Found virus WORM_BADTRANS.A in file YOU_are_FAT!.TXT.pif
The file e/iscan/virus/virUBBGuaGvM is moved to the configured virus directory.
*********************************************************
------=_NextPart_000_000E_01C17424.EA6AB170
Content-Type: text/plain;
	charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
'the vxWorks Users Group Exploder' wrote:=0A=
=3D=3D=3D=3D=0A=
- Submitted-by vxwexplo-errs@csg.lbl.gov  Thu Nov 22 23:31:47 2001
- Submitted-by: "Avkash Chauhan" <avkash@isr.co.jp>
-=20
- Hi all,
- Please see below for my problem related with vxWorks and TCP/IP.
- My Setup:
- ----------
- I have Tornado prototyper 2.0.2 running in my w2k machine.
- I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project.
- I set End attach interface support and End interface support along =
with PPP
- & PPP boot in my b ...'=0A=
=0A=
=0A=
> Take a look to the attachment. =0A=
=0A=
=0A=
------=_NextPart_000_000E_01C17424.EA6AB170
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
******************  Virus Warning Message (on the network)
YOU_are_FAT!.TXT.pif is removed from here because it contains a virus.
*********************************************************
------=_NextPart_000_000E_01C17424.EA6AB170--
From vxwexplo-errs@csg.lbl.gov  Fri Nov 23 04:03:14 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Nov 23 04:03:16 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Nov 23 04:03:09 PST 2001
        Subject: Re: PING johan [Re: Speeding up compressed builds]
        Subject: Re: The network stack locks completely solid
        Subject: Re: Trying to reuse a port between two sockets
        Subject: Re: Making a .lib file
        Subject: Re: Making a .lib file
        Subject: TRACE 32 emulator and VxWorks
        Subject: Re: Making a .lib file
        Subject: need help w/ epilogue 9.1 for tor2.0.2
        Subject: SPR's ( Re: The network stack locks completely solid)
        Subject: Tornado and Windows 2000
        Subject: Is it possible to use GDB without launching target server?
        Subject: Telework-Telecommute: The Ultimate website
        Subject: VxWorks Image size
        Subject: Re: Making a .lib file
        Subject: Re: Is it possible to use GDB without launching target server?
        Subject: Re: VxWorks Image size
        Subject: hello the adsl modem ECI hi-focus have the UDP port open (maybe RPC) what can we do with that ?
        Subject: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
        Subject: Re: Trying to reuse a port between two sockets
        Subject: problem related with vxworks and TCP/IP
        Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
        Subject: Iterating all the directories of harddisk in vxworks...
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: PING johan [Re: Speeding up compressed builds]
Date: Thu, 22 Nov 2001 13:08:08 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tit8l$ea4$1@neptunium.btinternet.com>
References: <9t3nbc$n1m$1@plutonium.btinternet.com> <J%OK7.58$ZO3.93706@newsr2.u-net.net>
>   Yeh, massive use of 'sed' is one of the reason gnu configure scripts
take
> so long, it's a big overhead.
never mind 'sed', the 'od' isn't that fast.  You can't afford to call
printf for every byte!
> >(I use the symbol table from this stage for a variety of things...)
Currently it is fed into a shell script (to generates a .s file for the
next link) containing:
namelist=${1:-vxWorks.nm}
make_hooks()
{
    OPTIND=1
    sort_opts=
    while getopts r c
    do
        case $c in
        r) sort_opts="$sort_opts -r";;
        esac
    done
    set -- - "$@"
    shift $OPTIND
    tgt="$1"
    echo "\t.text\n\t.global\t_tad_${tgt}_hooks\n_tad_${tgt}_hooks:"
    grep ' _tad_'${tgt}'_[0-9][0-9]*_' <$namelist |
        (while read addr mode name
        do
            [ "$mode" = T ] || continue
            echo "\t.long\t$name"
            # sort -k 4,4 -k 5 puts 800 after 80
        done) | sort $sort_opts -t_ -k 4,4 -k 5
    echo "\t.long\t0"
    echo
}
# generate lists of initialisation, sleep and resume routines
make_hooks init
make_hooks pre_sleep
make_hooks -r sleep
make_hooks resume
# a list of 'debug' variables
echo "\t.data\n\t.global\t_tad_debug_vars\n_tad_debug_vars:"; \
grep ' _tad_debug_' <$namelist |
    (l=0
    while read addr mode name
    do
        [ "$mode" = D -o "$mode" = B ] || continue
        l=`expr $l + 1`
        n=`expr $name : '_tad_debug_\(.*\)'`
        echo "\t.text\n$l\$:\t.asciz\t\"$n\"\n\t.balign\t4"
        echo "\t.data\n\t.long\t$l\$,$name"
    done)
echo "\t.long\t0,0"
echo
# A list of references to static symbols we need
grep ' U _tad_global_' <$namelist |
    while read mode name
    do
        n=`expr $name : '_tad_global\(.*\)'`
        value=`grep " [tdb] $n$" $namelist | cut -d\\  -f1`
        echo "\t.global\t$name"
        echo "$name:\t.long\t_sysInit+0x$value"
    done
>
> I did mention that it was a trick I remembered reading but didn't know who
> said it first.  Seems like we found him, give Dave a credit too!
My 'trick' list is a bit long...... but I think you got it from somewhere
else.
>
>   BTW Dave, I think GLOBAL is a better discriminator for munching than
"__",
> since a) it'll break for targets such as ppc that don't prefix an
underscore
> to assembly symbols, and b) it'll match any function that begins with one
or
> more underscores in C (on those platforms that do prefix the assembler
> label) or two or more (on those that don't).
Under vxWorks 5.3.1 (solaris build) munch is a binary.  On the later 5.4
build
it is a tcl script.  It actually looks for:
    # define tags to detect, respectively for cfront, diab and gnu compilers
    set ctorTags {"^___?sti__" "^___?STI__" "^__?GLOBAL_.I."}
    set dtorTags {"^___?std__" "^___?STD__" "^__?GLOBAL_.D."}
I think this is a target architecture independant file.
The '__' grep is safe - cuts 18308 symbols down to 2645 - which the TCL
script doesn't take too long to process...
(actually there is no c++ in my build anyway...)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: Thu, 22 Nov 2001 13:18:45 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9titsi$g5v$1@uranium.btinternet.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> <HcSK7.68$ZO3.98522@newsr2.u-net.net>
>
> considering they are now up to SPR # 70048 and haven't fixed it yet...
I wonder what the vxWorks SPR stats look like? number raised, fixed,
withdrawn etc
I suspect there would be less if the SPRs were all available on windsurf.
At least we would keep adding additional info to a single bug.  Maybe it
would then get some priority!  and maybe a fix from a user...
As it is I basically gave up raising TSRs - the support group convert them
to
SPRs and that is the last that is ever heard.  (Unless you have someone with
enough time to beat up WRS every few days.....)
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Trying to reuse a port between two sockets
Date: Thu, 22 Nov 2001 09:56:20 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: Bellsouth.Net
Message-ID: <3BFD1214.AB78102B@bellsouth.net>
References: <bd50438d.0111210550.282c5ff2@posting.google.com>
Lee Glanville wrote:
> We have two threads, one for recieving UDP messages and one for
> sending them. The the socket for the receive thread is bound to a
> specific port and we want to be able to bind the socket used in the
> transmit thread to the same port. Can this be done?
>
> We have tried using the SO_REUSEADDR option for both sockets. The code
> used looks like the following:
>
>     int optVal = 1;
>     int optlength;
>
>     Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
>                        (char *) &optVal, sizeof(optVal));
>     if(Error != 0)
>     {
>         printf("Error setting socket options\n");
>     }
>     optlength = sizeof(optVal);
>     Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
>                         (char *)&optVal, &optlength);
>     printf("The socket option is set to %i\n", optVal);
>     if(Error != 0)
>     {
>         printf("Error getting socket options\n");
>     }
>
> There are no errors returned yet the getsockopt call returns a 4. Is
> this right? After the above code we bind the first socket successfully
> but the bind for the second socket fails. help.
In VxWorks, everybody has access to everything.  Once you have bound the
socket to a port, it's bound.  Just send to that socket from one
task(thread)
and receive with the other.  You could use two sockets, but they would
have to be bound to different ports.  You cannot, in general, have two
sockets
open and bound to the same port number at the same time.  (At least,
AFAIK, they can't be UDP sockets.)
Speaking only for myself,
Joe Durusau
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Making a .lib file
Date: Thu, 22 Nov 2001 09:57:09 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: Bellsouth.Net
Message-ID: <3BFD1245.7F0D1A81@bellsouth.net>
References: <705c7b34.0111210630.7e8b496a@posting.google.com>
For the uninformed among us, what is a .lib file?
Speaking only for myself,
Joe Durusau
Tal wrote:
> Hi,
>
> I need your help with making a .lib file in Tornado IDE (with a GNU compiler).
>
> TIA,
>
> Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Making a .lib file
Date: Thu, 22 Nov 2001 15:20:21 GMT
From: "Mike Anderson" <mike@theptrgroup.com>
Organization: RoadRunner - Cox
Message-ID: <VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com>
References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net>
VxWorks Greetings!
"joe durusau" <durusau@bellsouth.net> wrote in message
news:3BFD1245.7F0D1A81@bellsouth.net...
> For the uninformed among us, what is a .lib file?
>
> Speaking only for myself,
>
[snip]
>
> Tal wrote:
>
> > Hi,
> >
> > I need your help with making a .lib file in Tornado IDE (with a GNU
compiler).
> >
He's speaking with a Windows-centric accent, I believe.  He really means a
".a" archive (library)
file.  Unfortunately, you can't create these from the Tornado GUI, but you
can from the
command line.  Look at the man pages for "ar" in the Tornado GUI.  That is
the archiver and
it will be able to take object code and build it into a library.  Remember
to run:
c:> \tornado\host\x86-win32\bin\torvars
Before you start compiling and archiving from the command line or all of the
commands
will fail.
HTH,
Mike
- --
- --
=======================================================
       T h e   P T R   G r o u p,   I n c.
=======================================================
       Embedded, Real-Time Solutions and Training
Mike Anderson             mailto:mike@ThePTRGroup.com
Chief Scientist           http://www.ThePTRGroup.com
C: (703) 585-9384         V: (703) 430-3748
=======================================================
"Software development is like making a baby...
 You can't make a baby in one month by impregnating
 nine women.  Some things just take time."
---------------------------
Newsgroups: comp.os.vxworks,comp.arch.embedded
Subject: TRACE 32 emulator and VxWorks
Date: 22 Nov 2001 08:05:30 -0800
From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=)
Organization: http://groups.google.com/
Message-ID: <9ec53d11.0111220805.18b48265@posting.google.com>
Have you had any experience with VxWorks / Tornado together with TRACE
32 emulators (from Lauterbach)? I'm trying to use this emulator with
my 386EX target and I'm not being lucky: the IDT and/or GDT set by my
VxWorks software does not seem to get TRACE 32 happy enough in order
to work properly in protected mode.
I'm working with Lauterbach's people to find the real problem (and the
solution!), but I'm trying also to find another sources for help (a
happy user would be ideal.) WindRiver's people seems not to be very
supportive (perhaps because I have not renewed my maintenance contract
with them, who knows...)
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Making a .lib file
Date: Thu, 22 Nov 2001 17:07:40 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9tj7sh$86h$1@snoopy.bndlg.de>
References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> <VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65a1c.dip.t-dialin.net
Hi Mike,
sorry to correct you, but
hi Tal
under Tornado II you can do it from GUI:
In workspace->Tab 'Builds'-><projName>-><ToolChain> ;right click->Properties
Tab 'Rules': ListBox 'Rule': select archive
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Mike Anderson" <mike@theptrgroup.com> schrieb im Newsbeitrag
news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com...
> VxWorks Greetings!
>
> "joe durusau" <durusau@bellsouth.net> wrote in message
> news:3BFD1245.7F0D1A81@bellsouth.net...
> > For the uninformed among us, what is a .lib file?
> >
> > Speaking only for myself,
> >
> [snip]
> >
> > Tal wrote:
> >
> > > Hi,
> > >
> > > I need your help with making a .lib file in Tornado IDE (with a GNU
> compiler).
> > >
>
> He's speaking with a Windows-centric accent, I believe.  He really means a
> ".a" archive (library)
> file.  Unfortunately, you can't create these from the Tornado GUI, but you
> can from the
> command line.  Look at the man pages for "ar" in the Tornado GUI.  That is
> the archiver and
> it will be able to take object code and build it into a library.  Remember
> to run:
>
> c:> \tornado\host\x86-win32\bin\torvars
>
> Before you start compiling and archiving from the command line or all of
the
> commands
> will fail.
>
> HTH,
>
> Mike
>
> --
> --
> =======================================================
>        T h e   P T R   G r o u p,   I n c.
> =======================================================
>        Embedded, Real-Time Solutions and Training
>
> Mike Anderson             mailto:mike@ThePTRGroup.com
> Chief Scientist           http://www.ThePTRGroup.com
> C: (703) 585-9384         V: (703) 430-3748
> =======================================================
> "Software development is like making a baby...
>  You can't make a baby in one month by impregnating
>  nine women.  Some things just take time."
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: need help w/ epilogue 9.1 for tor2.0.2
Date: Thu, 22 Nov 2001 18:23:40 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$bzn7ng$b3l$1@lnews.actcom.co.il>
Hi.
I have lots of problem with this suite. I don't really wanna start
describing them before I know there is someone out there that had worked w/
it, and can truely help. Sorry.
So, if there is such a person, please reply.....
Thanks,
Ofer.
---------------------------
Newsgroups: comp.os.vxworks
Subject: SPR's ( Re: The network stack locks completely solid)
Date: 22 Nov 2001 16:38:35 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9161B3990A737borkhuisagerecom@135.7.153.101>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> <HcSK7.68$ZO3.98522@newsr2.u-net.net> <9titsi$g5v$1@uranium.btinternet.com>
"David Laight" <David.Laight@btinternet.com> wrote:
> I suspect there would be less if the SPRs were all available on
> windsurf. At least we would keep adding additional info to a single
> bug.  Maybe it would then get some priority!  and maybe a fix from a
> user...
>
> As it is I basically gave up raising TSRs - the support group convert
> them to
> SPRs and that is the last that is ever heard.  (Unless you have someone
> with enough time to beat up WRS every few days.....)
Maybe we should build our own version of the SPR database? If enough people
want to share their SPR's I can add a page with all the reported SPR's that
are not available on WindSurf.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado and Windows 2000
Date: 22 Nov 2001 09:07:58 -0800
From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=)
Organization: http://groups.google.com/
Message-ID: <9ec53d11.0111220907.19a6428b@posting.google.com>
Hi all
We are happily working with Tornado 2.0.2, VxWorks 5.4, our
development NT workstations and our propietary 386EX targets, linked
with our PCs via a serial cable.
One of us is also happily working with Tornado 2.0.2, VxWorks 5.4,
Windows 2000 workstation and SIMNT (no real target here.) Well, we had
to apply the patch for Windows 2000 (SPR 62517), but since then,
everything is OK.
BUT:
Now, we have tried to use the 2000 workstation with the real target.
And, although we can launch the target server from the Tornado IDE
(which happily communicates with the agent in our target, or at least
it says so), we cannot launch a shell, browse or download
applications: timeouts appear; sometimes we get this:
  Couldn't attach to Elitel_5@SLINK
  Error: WTX Error 0x10197 ( EXCHANGE_TIMEOUT )
Any clues?
Hint: VxWorks is loaded locally in our targets from FLASH memory (no
loaded from any server, via network, serial cable or the like.)
---------------------------
Newsgroups: comp.os.vxworks
Subject: Is it possible to use GDB without launching target server?
Date: Thu, 22 Nov 2001 12:16:40 -0500
From: "Frances Zhu" <Frances@nortelnetworks.com>
Organization: Nortel
Message-ID: <9tjbto$cca$1@bcarh8ab.ca.nortel.com>
Hi,
Is it possible to use Tornado debugger (GDB) without launching target
server?
Thanks,
Frances
---------------------------
Newsgroups: comp.os.vxworks
Subject: Telework-Telecommute: The Ultimate website
Date: Thu, 22 Nov 2001 17:15:04 GMT
From: "Antonello Gauttieri" <gauttieri@libero.it>
Organization: TIN
Message-ID: <soaL7.7100$4M2.177449@news2.tin.it>
Reply-To: "Antonello Gauttieri" <gauttieri@libero.it>
This is the ultimate web page about Telework.
Click the link below to know what's on the Web about telework:
laws, best and worst companies, suggestions, forums, FAQ and everything You
need to approach those opportunities.
YOU WILL NOT BE INSERT IN A NEWSLETTER.
http://space.tin.it/associazioni/ggauttie
Help Yourself to be safe from Internet cheats.
Best Regards
Antonello
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks Image size
Date: 22 Nov 2001 18:52:30 GMT
From: us204@cl.cam.ac.uk (Umar Saif)
Organization: University of Cambridge, England
Message-ID: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk>
Sender: us204@shep.cl.cam.ac.uk (Umar Saif)
Hi,
	I am trying to compare the ROM size of different embedded OS. I was
wondering if anyone could give me an estimate for VxWorks -- I am not very
familiar with the VxWords archietcture, so if its microkernel does not include
things like protocol stacks, Filesystem and GUI, then a breakdown of all those
components to have a shrinkwrapped OS would be a mighty helpful.
Many thanks,
- -Umar
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Making a .lib file
Date: Thu, 22 Nov 2001 20:15:48 +0100
From: "Martin Raabe" <Martin.Raabe@WindRiver.com>
Organization: T-Online
Message-ID: <9tjit0$9db$05$1@news.t-online.com>
References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> <VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com>
Hello Joe et al,
there is also SNiFF+ as a Wind Power Tool
to generate relinkable objects and archives from the GUI.
Also it supports hirarchical project structures.
Hope it helped
Martin Raabe
"Mike Anderson" <mike@theptrgroup.com> schrieb im Newsbeitrag
news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com...
> VxWorks Greetings!
>
> "joe durusau" <durusau@bellsouth.net> wrote in message
> news:3BFD1245.7F0D1A81@bellsouth.net...
> > For the uninformed among us, what is a .lib file?
> >
> > Speaking only for myself,
> >
> [snip]
> >
> > Tal wrote:
> >
> > > Hi,
> > >
> > > I need your help with making a .lib file in Tornado IDE (with a GNU
> compiler).
> > >
>
> He's speaking with a Windows-centric accent, I believe.  He really means a
> ".a" archive (library)
> file.  Unfortunately, you can't create these from the Tornado GUI, but you
> can from the
> command line.  Look at the man pages for "ar" in the Tornado GUI.  That is
> the archiver and
> it will be able to take object code and build it into a library.  Remember
> to run:
>
> c:> \tornado\host\x86-win32\bin\torvars
>
> Before you start compiling and archiving from the command line or all of
the
> commands
> will fail.
>
> HTH,
>
> Mike
>
> --
> --
> =======================================================
>        T h e   P T R   G r o u p,   I n c.
> =======================================================
>        Embedded, Real-Time Solutions and Training
>
> Mike Anderson             mailto:mike@ThePTRGroup.com
> Chief Scientist           http://www.ThePTRGroup.com
> C: (703) 585-9384         V: (703) 430-3748
> =======================================================
> "Software development is like making a baby...
>  You can't make a baby in one month by impregnating
>  nine women.  Some things just take time."
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to use GDB without launching target server?
Date: Thu, 22 Nov 2001 20:26:28 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfd522a@brateggebdc5.br-automation.co.at>
References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com>
Hi,
how exactly do you expect the Debugger to work without a target running the
software (it should debug) connected to it?
Or is it something different you want to achieve?
regards
Werner
"Frances Zhu" <Frances@nortelnetworks.com> wrote in message
news:9tjbto$cca$1@bcarh8ab.ca.nortel.com...
> Hi,
>
> Is it possible to use Tornado debugger (GDB) without launching target
> server?
>
> Thanks,
> Frances
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Image size
Date: Thu, 22 Nov 2001 12:32:25 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3bfd619c$0$3276$4c41069e@reader0.ash.ops.us.uu.net>
References: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk>
Reply-To: "Gary M" <com.vertical@garym>
With VxWorks, you can leave out optional packages like protocol stacks.
However, the ROM footprint depends on the target processor and the
components you really need. You'd probably have better luck talking to a
Wind River FAE to get this information, based on your requirements.
"Umar Saif" <us204@cl.cam.ac.uk> wrote in message
news:9tjhhe$hss$1@pegasus.csx.cam.ac.uk...
> Hi,
> I am trying to compare the ROM size of different embedded OS. I was
> wondering if anyone could give me an estimate for VxWorks -- I am not very
> familiar with the VxWords archietcture, so if its microkernel does not
include
> things like protocol stacks, Filesystem and GUI, then a breakdown of all
those
> components to have a shrinkwrapped OS would be a mighty helpful.
>
> Many thanks,
> -Umar
---------------------------
Newsgroups: comp.os.vxworks
Subject: hello the adsl modem ECI hi-focus have the UDP port open (maybe RPC) what can we do with that ?
Date: Thu, 22 Nov 2001 22:11:56 +0100
From: "Mirak" <karim-boucher@wanadoo.fr>
Organization: Guest of ProXad - France
Message-ID: <3bfd68fb$0$32068$626a54ce@news.free.fr>
This modem OS is vxworks.
What we are trying to do is to configurate the modem, but we don't have
(customers) the login and password of the http proxy at the adress
http://192.168.20.80:8080 .
But the UDP port 17185 of the modem is open, do you know how we can send RPC
comands to the modem, to unlock the proxy ?
We know that this modem after a configuration can be a router, so it"s very
interesting for us.
Do you know any hole wich can permit to enter in the modem ?
Are you able to make a RPC program who can change the login and the password
of the modem ? or to know them ?
I assure that this is not illegal look at this page (in french) if you don't
believe me.
http://www.adsl-france.org/jldupont/eci.htm
Thank you, bye.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
Date: 22 Nov 2001 16:06:40 -0800
From: chriss@redwavenet.com (Chris Satish)
Organization: http://groups.google.com/
Message-ID: <6d6a076a.0111221606.32de72bc@posting.google.com>
Hi,
We have a PPC 8260 based board that uses both FCC1 and FCC2 in 100
Mbps Ethernet mode. Each of these two interfaces has an IP address
belonging to different subnets.
The problem is in any activity that involves transmitting a packet
larger than a 100 bytes or so on FCC2. The packet never comes out of
FCC2. Pinging or any other network traffic that requires the FCC2 to
transmit fewer than a 100 bytes always succeeds. FCC1 has no problems
whatsoever.
Summarising with an example, pinging FCC2 with a 64 byte packet works.
Next, pinging FCC2 with say, a 150 byte packet never gets a response.
After this, pinging FCC2 with a smaller packet again, say 64 bytes
works.
What could be the problem? Using stuff like netPoolShow(),
icmpstatShow(), etc, it looks like the TCP/IP stack responds to the
ICMP echo and even the driver statistics seems to indicate that a
packet went out, but nothing is seen on the wire. Anybody have a feel
for what might be the problem?
Thanks,
Chris Satish
RedWave Networks
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Trying to reuse a port between two sockets
Date: Fri, 23 Nov 2001 00:06:39 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tk3rb$ido$1@plutonium.btinternet.com>
References: <bd50438d.0111210550.282c5ff2@posting.google.com> <3BFD1214.AB78102B@bellsouth.net>
The problem here is that, even if SO_REUSEADDR has been set, the local
addresses on the socket still have to be unique.
If you include the IP address of your system in the address bound to one
of the sockets you should be able to bind the the same port number.
The manual OUGHT to make this clear - however I'm not sure that we got the
text in the X/Open XNS spec clear :-)
    David
> > We have two threads, one for recieving UDP messages and one for
> > sending them. The the socket for the receive thread is bound to a
> > specific port and we want to be able to bind the socket used in the
> > transmit thread to the same port. Can this be done?
> >
> > We have tried using the SO_REUSEADDR option for both sockets. The code
> > used looks like the following:
> >
> >     int optVal = 1;
> >     int optlength;
> >
> >     Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
> >                        (char *) &optVal, sizeof(optVal));
> >     if(Error != 0)
> >     {
> >         printf("Error setting socket options\n");
> >     }
> >     optlength = sizeof(optVal);
> >     Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR,
> >                         (char *)&optVal, &optlength);
> >     printf("The socket option is set to %i\n", optVal);
> >     if(Error != 0)
> >     {
> >         printf("Error getting socket options\n");
> >     }
> >
> > There are no errors returned yet the getsockopt call returns a 4. Is
> > this right? After the above code we bind the first socket successfully
> > but the bind for the second socket fails. help.
>
> In VxWorks, everybody has access to everything.  Once you have bound the
> socket to a port, it's bound.  Just send to that socket from one
> task(thread)
> and receive with the other.  You could use two sockets, but they would
> have to be bound to different ports.  You cannot, in general, have two
> sockets
> open and bound to the same port number at the same time.  (At least,
> AFAIK, they can't be UDP sockets.)
---------------------------
Newsgroups: comp.os.vxworks
Subject: problem related with vxworks and TCP/IP
Date: 22 Nov 2001 23:35:32 -0800
From: avkash@isr.co.jp (Kaz)
Organization: http://groups.google.com/
Message-ID: <bb73cc2.0111222335.1ef33ffd@posting.google.com>
Hi all,
Please see below for my problem related with vxWorks and TCP/IP.
My Setup:
- ----------
I have Tornado prototyper 2.0.2 running in my w2k machine.
I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project.
I set End attach interface support and End interface support along
with PPP & PPP boot in my build.
I am getting confirmation that both the tcp/ip and loopback
initilization is success as below:
- ---- VxSim Output ---------------------------
Attached TCP/IP interface to nt unit 0
Attaching interface lo0...done
		VxWorks
.....
...
..
- ------------ end of output --------------------
What if i do Ping
- -------------------
I did set my loopback adaptor setting to my current w2k host named
Hawaii ( ip - 90.0.0.1)
when i do ping in windsh shell is get:
- -> ping "hawaii"
PING 90.0.0.1: 56 data bytes...
no answer from 90.0.0.1....
value = -1 = 0xfffffff
My Problem:
- ------------
- - I can no understand where my tcp/ip is connecting and i can not test
or ping anywhere even i included PING in my vxsim build. Please help
me how i can test that vxworks is connecting to the tcp/ip network and
loopback.
What i want to do:
- ----------------------------
1. i am trying to connect TCP/IP network with vxworks so that i can
access current tcp/ip network through vxworks.
2. On the other hand i want to connect vxworks through a modem to
connect internet...
Any help would be greately appreciated...
Thanks in  advance.
- -Kaz
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
Date: Fri, 23 Nov 2001 04:51:37 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3BFE1C29.80CA74E9@varndellengineering.com>
References: <6d6a076a.0111221606.32de72bc@posting.google.com>
Chris Satish wrote:
>
> Hi,
>
> We have a PPC 8260 based board that uses both FCC1 and FCC2 in 100
> Mbps Ethernet mode. Each of these two interfaces has an IP address
> belonging to different subnets.
>
> The problem is in any activity that involves transmitting a packet
> larger than a 100 bytes or so on FCC2. The packet never comes out of
> FCC2. Pinging or any other network traffic that requires the FCC2 to
> transmit fewer than a 100 bytes always succeeds. FCC1 has no problems
> whatsoever.
>
> Summarising with an example, pinging FCC2 with a 64 byte packet works.
> Next, pinging FCC2 with say, a 150 byte packet never gets a response.
> After this, pinging FCC2 with a smaller packet again, say 64 bytes
> works.
>
> What could be the problem? Using stuff like netPoolShow(),
> icmpstatShow(), etc, it looks like the TCP/IP stack responds to the
> ICMP echo and even the driver statistics seems to indicate that a
> packet went out, but nothing is seen on the wire. Anybody have a feel
> for what might be the problem?
Last I heard, Wind's FCC driver doesn't support multiple simultaneously
active FCCs. Starting from that premise, it seems pointless to question
the stack code or the network configuration. If you're not using Wind's
driver, and you rolled your own, then I wouldn't even hazard a guess.
Beyond that, did you ensure each interface got a unique MAC address?
Early this year, we were called upon to optimize this driver for
increased
throughput, which we did by a factor of 10. We didn't fix bugs unrelated
to throughput because we weren't asked to -- but we can.
Regards,
George Varndell
- --
Varndell Engineering, LLC.      PPC and XScale Expertise
We do visionWARE ports          http://www.varndellengineering.com
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
---------------------------
Newsgroups: comp.os.vxworks
Subject: Iterating all the directories of harddisk in vxworks...
Date: 23 Nov 2001 02:31:50 -0800
From: mamtag@in.huawei.com (MG)
Organization: http://groups.google.com/
Message-ID: <6d630304.0111230231.1e6f157b@posting.google.com>
I need to get the complete list of files iterating all the directories
and subdirectories on the harddisk. Does anybody has an idea how this
can be done using vxworks? I Tried using "/~/*" wild card to traverse
the directory tree recursively but it doesn't seem to work completely.
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sat Nov 24 04:03:09 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Nov 24 04:03:12 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Nov 24 04:03:06 PST 2001
        Subject: Re: Iterating all the directories of harddisk in vxworks...
        Subject: ioctl for SIOCGIFMTU request
        Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
        Subject: PCI modem enumerator
        Subject: RPC in VxWorks
        Subject: Re: Is it possible to use GDB without launching target server?
        Subject: How can i obtain the username/password of my ECI adsl modem ?
        Subject: Re: Is it possible to use GDB without launching target server?
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Iterating all the directories of harddisk in vxworks...
Date: Fri, 23 Nov 2001 13:49:56 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3BFE45F4.2DADB45B@sepro-robotique.com>
References: <6d630304.0111230231.1e6f157b@posting.google.com>
MG wrote:
> I need to get the complete list of files iterating all the directories
> and subdirectories on the harddisk. Does anybody has an idea how this
> can be done using vxworks?
Hi,
Yes, look at "dirlib.h" in the VxWorks's reference manual.
Look at the following sample code (not tested...) :
  DIR *repertoire;
  struct dirent *rep;
  directory=opendir("/pcmcia/template/");
  if (directory != NULL)
  {
    for (;;)
    {
      d=readdir(repertoire);
      if (d==NULL) break;
      printf("%s\n",(d->d_name));
    }
    closedir(repertoire);
  }
- --
Regards
Emmanuel
---------------------------
Newsgroups: comp.os.vxworks
Subject: ioctl for SIOCGIFMTU request
Date: 23 Nov 2001 06:23:46 -0800
From: kanandhi@yahoo.com (Anandhi)
Organization: http://groups.google.com/
Message-ID: <e0c640d3.0111230623.5ef6b420@posting.google.com>
Hi,
  My requirement is to retrieve the MTU value of the interface.
  I am able to retrieve the interface list using the following ioctl call
     ioctl(sfd, SIOCGIFCONF, (int)&ifc )
  Now I am trying to get the MTU of the interface whose address family is AF_INET.
      struct ifreq *pifrq;
      pifrq = ifc.ifc_req;
      if (((struct sockaddr_in *)&(pifrq->ifr_addr))->sin_family == AF_INET)
      {
      if (ioctl (sfd, SIOCGIFMTU, (char *)pifrq) < 0)
        {
        printf("ioclt for MTU failed");
        printf("Errno:%lx", errno);
        return;
        }
      }
This ioctl call (SIOCGIFMTU) is failing with the errno 22 (EINVAL).
If u have any inputs to solve the same, please do reply me.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260
Date: Fri, 23 Nov 2001 15:31:45 +0000
From: Graham Baxter <gbaxter@NOSPAM.bcs.org.uk>
Organization: Graham Baxter (Software) Limited
Message-ID: <3BFE6BE1.2E0743A1@NOSPAM.bcs.org.uk>
References: <6d6a076a.0111221606.32de72bc@posting.google.com> <3BFE1C29.80CA74E9@varndellengineering.com>
Chris/George,
Hi George!
When I moved this driver between FCC2 to FCC1 for a client, I noticed
that the RX and TX FIFO pointers (PRPTR and TIPTR) were hard coded as
0x3000 and 0xB000 in motfccend.h.
So be careful, both devices cannot use the same FIFOs.
- --
Regards,
Graham Baxter
Freelance Software Engineer
gbaxter@NOSPAM.bcs.org.uk
---------------------------
Newsgroups: comp.os.vxworks
Subject: PCI modem enumerator
Date: Fri, 23 Nov 2001 17:04:08 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9tlvf2$s0o$1@plutonium.btinternet.com>
This is slightly off topic....
Has anyone ever seen (or even better got) the specs for the PCI
interface for the 'PCI Modem Enumerator' on Rockwell/Conexant PCI
hardware modems?
I'm trying to persuade netbsd to use my modem card.....
I have a feeling I need to write 1 value to a location in the address
space the modem requests in order for the UART to appear at one of
the standard PCI serial port addresses.  Should be simple :-)
How can I read IO space from a program compiled under cygwin?
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: RPC in VxWorks
Date: Fri, 23 Nov 2001 17:27:13 +0000 (UTC)
From: "Indhu Shetty" <indhu01@yahoo.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <de753e9e1e51eaa76eeaddcc661dd74c.34031@mygate.mailgate.org>
Hi
I am trying to write an RPC server in VxWorks.
I am not able to find any documentation on how to use RPC in VxWorks.
To what extend does VxWorks  support RPC.
How to enable it.
How to write a simple server.
How to write a simple function to be called from a RPC client.
Is there any sample code I can download
Any help will be appreciated.
Thanks
Indhu
- --
Posted from  [66.7.6.122]
via Mailgate.ORG Server - http://www.Mailgate.ORG
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to use GDB without launching target server?
Date: Fri, 23 Nov 2001 14:39:49 -0500
From: "Frances Zhu" <Frances@nortelnetworks.com>
Organization: Nortel
Message-ID: <9tm8m3$5t6$1@bcarh8ab.ca.nortel.com>
References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> <3bfd522a@brateggebdc5.br-automation.co.at>
I want the Debugger directly talking to the target.
Frances
"Werner Schiendl" <ws-news@gmx.at> wrote in message
news:3bfd522a@brateggebdc5.br-automation.co.at...
> Hi,
>
> how exactly do you expect the Debugger to work without a target running
the
> software (it should debug) connected to it?
> Or is it something different you want to achieve?
>
> regards
> Werner
>
> "Frances Zhu" <Frances@nortelnetworks.com> wrote in message
> news:9tjbto$cca$1@bcarh8ab.ca.nortel.com...
> > Hi,
> >
> > Is it possible to use Tornado debugger (GDB) without launching target
> > server?
> >
> > Thanks,
> > Frances
> >
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: How can i obtain the username/password of my ECI adsl modem ?
Date: Fri, 23 Nov 2001 21:30:25 +0100
From: "Mirak" <karim-boucher@wanadoo.fr>
Organization: Guest of ProXad - France
Message-ID: <3bfeb0cb$0$15826$626a54ce@news.free.fr>
it's a B-Focus.
I also search doc on this modem.
thank you.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to use GDB without launching target server?
Date: Fri, 23 Nov 2001 22:01:23 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3bfeb9e8$1@brateggebdc5.br-automation.co.at>
References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> <3bfd522a@brateggebdc5.br-automation.co.at> <9tm8m3$5t6$1@bcarh8ab.ca.nortel.com>
Hi,
"Frances Zhu" <Frances@nortelnetworks.com> wrote in message
news:9tm8m3$5t6$1@bcarh8ab.ca.nortel.com...
> I want the Debugger directly talking to the target.
> Frances
>
Hm, sorry for my ignorance, but it do not really see what this would buy
you....
You can start the target server from the command line, if you want use the
debugger w/o the Tornado environment.
AFAIK the debugger (from WRS) cannot communicate directly with the target
hardware.
hth
Werner
> "Werner Schiendl" <ws-news@gmx.at> wrote in message
> news:3bfd522a@brateggebdc5.br-automation.co.at...
> > Hi,
> >
> > how exactly do you expect the Debugger to work without a target running
> the
> > software (it should debug) connected to it?
> > Or is it something different you want to achieve?
> >
> > regards
> > Werner
> >
> > "Frances Zhu" <Frances@nortelnetworks.com> wrote in message
> > news:9tjbto$cca$1@bcarh8ab.ca.nortel.com...
> > > Hi,
> > >
> > > Is it possible to use Tornado debugger (GDB) without launching target
> > > server?
> > >
> > > Thanks,
> > > Frances
> > >
> > >
> >
> >
>
>
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sun Nov 25 04:03:08 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Nov 25 04:03:11 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Nov 25 04:03:05 PST 2001
        Subject: Re: TFFS inclusion problem
        Subject: Re: DOSFS2 MOUNTING
        Subject: Re: Iterating all the directories of harddisk in vxworks...
        Subject: Re: Making a .lib file
        Subject: Re: Tornado and Windows 2000
        Subject: Re: VxWorks Image size
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS inclusion problem
Date: Sat, 24 Nov 2001 14:31:24 GMT
From: "Stephen B. Johnson" <stevebj69@yahoo.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <0bOL7.175408$My2.102628759@news1.mntp1.il.home.com>
References: <9t37ml$31cs$1@gavrilo.mtu.ru>
TFFS is an optional package that you'd have to purchase from WRS.
"Shrike" <alexey@newmail.ru> wrote in message
news:9t37ml$31cs$1@gavrilo.mtu.ru...
> After we include TFFS support in Tornado's VxWorks workspace the program
> don't rebuild because of numerous "undefined reference to ..." errors.
After
> *explicit* inclusion of sysTffs.c two errors remain and we failed to
> eliminate them.
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DOSFS2 MOUNTING
Date: Sat, 24 Nov 2001 20:32:33 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$2cjbng$pg1$1@lnews.actcom.co.il>
References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net>
John R,
I think you have started on a wrong foot with dosFs 2.0 -
With large volumes, the volume should ba formatted with FAT32,
where there is not a limit of 64K clusters. If you format this
with dosFs 2.0 default parameters, a 6 Gig disk should default
to FAT32 format, but you witness that in your case it is using FAT16 !!
Regarding the free counter, in FAT32, the counter is stored on the disk,
and is recalculated only after improper shutdown, as part of consistency
check.
From a different perspective, the duration of free cluster count
suggests that your disk cache is insufficient to even contain a FAT16,
i.e. 2 * 64 * 1024 = 128KBytes. If you set the disk cache to be at least
128K,
the count will be quicj indeed, but necesary because FAT16 does not
have a place for free count on the disk.
Hope this helps,
 - Leonid
"John R." <jroberts@unisperenetworks.com> wrote in message
news:3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net...
> When the dos Volumne is mounted via the function fat16VolMount(), there is
a
> call to fat16NFree (&fileDesc);. These two functions are located in
> dosfsfat.c.
>
> The fat16NFree() function takes 3+ minutes to compile the free space on
the
> disk. It counts the free bytes on the disk. I use a six gig disk so I see
> why it takes so long.This free count is store...I'm not sure where.
>
> If I format/initialize the file system then mount the volumne (when I
first
> access a file) I have to wait 3+ minutes for fat16NFree. Once the system
is
> up and running for a while generating disk traffic, when I reboot, the
next
> time I mount the volumne (without formating) the mount is virtually
instant
> and does not require a 3 minute wait. I assume this data got stored in a
> structure on the disk.
>
> Now if I format/initialize, mount the volumne waiting 3 minutes for
> fat16NFree() and reboot shortly after the mount; the next time I mount the
> volumne(without formating) I have to wait the 3 minutes again.
>
> I don't quite understand what is happening here but I assume the free
count
> data is being stored in disk cache and if I reboot prior to a cahe flush
the
> data is lost.
>
> Could someone shed more light on this situation and tell me if and how I
can
> assure the free count data is only gathered once post formatting.
>
> Thanks,
> -John
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Iterating all the directories of harddisk in vxworks...
Date: Sat, 24 Nov 2001 20:37:39 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$kkjbng$si1$1@lnews.actcom.co.il>
References: <6d630304.0111230231.1e6f157b@posting.google.com>
If you have installed DosFs 2.0, then look in target/src/usr/usrFsLib.c
which contains source code for "ls" and related functions, it does
indeed use dirLib, and also implements wildcards.
Leonid
"MG" <mamtag@in.huawei.com> wrote in message
news:6d630304.0111230231.1e6f157b@posting.google.com...
> I need to get the complete list of files iterating all the directories
> and subdirectories on the harddisk. Does anybody has an idea how this
> can be done using vxworks? I Tried using "/~/*" wild card to traverse
> the directory tree recursively but it doesn't seem to work completely.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Making a .lib file
Date: Sat, 24 Nov 2001 10:47:49 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9torbl$rs3$1@newstest.laserlink.net>
References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> <VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com>
Hello Mike,
    I thought you could change the Rule settings under the Build properties
to create a archive using the
Tornado IDE.
"Mike Anderson" <mike@theptrgroup.com> wrote in message
news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com...
> VxWorks Greetings!
>
> "joe durusau" <durusau@bellsouth.net> wrote in message
> news:3BFD1245.7F0D1A81@bellsouth.net...
> > For the uninformed among us, what is a .lib file?
> >
> > Speaking only for myself,
> >
> [snip]
> >
> > Tal wrote:
> >
> > > Hi,
> > >
> > > I need your help with making a .lib file in Tornado IDE (with a GNU
> compiler).
> > >
>
> He's speaking with a Windows-centric accent, I believe.  He really means a
> ".a" archive (library)
> file.  Unfortunately, you can't create these from the Tornado GUI, but you
> can from the
> command line.  Look at the man pages for "ar" in the Tornado GUI.  That is
> the archiver and
> it will be able to take object code and build it into a library.  Remember
> to run:
>
> c:> \tornado\host\x86-win32\bin\torvars
>
> Before you start compiling and archiving from the command line or all of
the
> commands
> will fail.
>
> HTH,
>
> Mike
>
> --
> --
> =======================================================
>        T h e   P T R   G r o u p,   I n c.
> =======================================================
>        Embedded, Real-Time Solutions and Training
>
> Mike Anderson             mailto:mike@ThePTRGroup.com
> Chief Scientist           http://www.ThePTRGroup.com
> C: (703) 585-9384         V: (703) 430-3748
> =======================================================
> "Software development is like making a baby...
>  You can't make a baby in one month by impregnating
>  nine women.  Some things just take time."
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado and Windows 2000
Date: Sat, 24 Nov 2001 10:54:32 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9toro8$ssv$1@newstest.laserlink.net>
References: <9ec53d11.0111220907.19a6428b@posting.google.com>
Hello Ignacio,
    Have you tried running the target server as 'real time' on Window 2000?
I believe this may
help with your problem if you have not. To change the properties of the
target server application
to use real-time should be described in the Win2k online help. HTH.
"Ignacio Gonzlez" <igtorque@eliop.es> wrote in message
news:9ec53d11.0111220907.19a6428b@posting.google.com...
> Hi all
>
> We are happily working with Tornado 2.0.2, VxWorks 5.4, our
> development NT workstations and our propietary 386EX targets, linked
> with our PCs via a serial cable.
>
> One of us is also happily working with Tornado 2.0.2, VxWorks 5.4,
> Windows 2000 workstation and SIMNT (no real target here.) Well, we had
> to apply the patch for Windows 2000 (SPR 62517), but since then,
> everything is OK.
>
> BUT:
>
> Now, we have tried to use the 2000 workstation with the real target.
> And, although we can launch the target server from the Tornado IDE
> (which happily communicates with the agent in our target, or at least
> it says so), we cannot launch a shell, browse or download
> applications: timeouts appear; sometimes we get this:
>
>   Couldn't attach to Elitel_5@SLINK
>   Error: WTX Error 0x10197 ( EXCHANGE_TIMEOUT )
>
> Any clues?
>
> Hint: VxWorks is loaded locally in our targets from FLASH memory (no
> loaded from any server, via network, serial cable or the like.)
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Image size
Date: Sat, 24 Nov 2001 11:01:56 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9tos65$uei$1@newstest.laserlink.net>
References: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk>
Hello Umar,
    Sorry for being vague, but there was a comparison of footprints of the
various embedded O/S
published by one of the computer user periodicals. You might want to do a
combination search of
"Windows CE/Linux/QNX/Green Hills/vxWorks and footprint". I believe the
article was published
earlier this summer. Good luck.
"Umar Saif" <us204@cl.cam.ac.uk> wrote in message
news:9tjhhe$hss$1@pegasus.csx.cam.ac.uk...
> Hi,
> I am trying to compare the ROM size of different embedded OS. I was
> wondering if anyone could give me an estimate for VxWorks -- I am not very
> familiar with the VxWords archietcture, so if its microkernel does not
include
> things like protocol stacks, Filesystem and GUI, then a breakdown of all
those
> components to have a shrinkwrapped OS would be a mighty helpful.
>
> Many thanks,
> -Umar
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Sun Nov 25 21:50:59 2001
From: TARE Kundesh <kundesh@COVANSYS.COM>
Date: Sun Nov 25 21:51:02 PST 2001
Subject:  WindML Configuration for Simulator.
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C1763E.3CDC6050
Content-Type: text/plain
> Hi,
>
> 	I got your email ID in VxWorks group. I am trying to configure
> WindML in my Simulator. Enclosed is the document which describes the
> problem in detail.
>
> 	Please suggest me suitable solution as I am stucked with WindML
> configuration.
>
> Awaiting.
>
> Thanks,
> Kundesh
>
>
>  <<WindML Config for Simulator.doc>>
>
>
>
>
------_=_NextPart_000_01C1763E.3CDC6050
Content-Type: application/msword;
	name="WindML Config for Simulator.doc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="WindML Config for Simulator.doc"
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAhgAAAAAAAAAA
EAAAiAAAAAEAAAD+////AAAAAIQAAACFAAAA////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcEANyAJBAAA+BK/AAAAAAAAEAAAAAAABAAAfgYAAA4AYmpialUWVRYAAAAAAAAAAAAAAAAAAAAA
AAAJBBYAIg4AADd8AAA3fAAAfgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAGwAAAAAAKgAAAAAAAAAqAAAAKgA
AAAAAAAAqAAAAAAAAACoAAAAAAAAAKgAAAAAAAAAqAAAABQAAAAAAAAAAAAAALwAAAAAAAAAEgMA
AAAAAAASAwAAAAAAABIDAAAAAAAAEgMAAAwAAAAeAwAADAAAALwAAAAAAAAAlQ4AALYAAAA2AwAA
AAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADYDAAAA
AAAAFA4AAAIAAAAWDgAAAAAAABYOAAAAAAAAFg4AAAAAAAAWDgAAAAAAABYOAAAAAAAAFg4AACQA
AABLDwAAIAIAAGsRAABIAAAAOg4AABUAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAAAAAAA2AwAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA2AwAAAAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADoOAAAAAAAA
ZgMAAAAAAACoAAAAAAAAAKgAAAAAAAAANgMAAAAAAAAAAAAAAAAAADYDAAAAAAAATw4AABYAAABm
AwAAAAAAAGYDAAAAAAAAZgMAAAAAAAA2AwAAEAAAAKgAAAAAAAAANgMAAAAAAACoAAAAAAAAADYD
AAAAAAAAFA4AAAAAAAAAAAAAAAAAAGYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAANgMAAAAAAAAUDgAAAAAAAGYDAADSBQAAZgMAAAAAAAA4CQAA
OgAAAIwNAAAsAAAAqAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFA4AAAAAAAA2AwAAAAAAACoDAAAMAAAA4KcH6slx
wQG8AAAAVgIAABIDAAAAAAAARgMAABAAAAC4DQAACgAAAAAAAAAAAAAAFA4AAAAAAABlDgAAMAAA
AJUOAAAAAAAAwg0AAFIAAACzEQAAAAAAAFYDAAAQAAAAsxEAAAAAAAAUDgAAAAAAAGYDAAAAAAAA
vAAAAAAAAAC8AAAAAAAAAKgAAAAAAAAAqAAAAAAAAACoAAAAAAAAAKgAAAAAAAAAAgDZAAAASGks
DQ0JSSBoYXZlIGluc3RhbGxlZCBXaW5kTUwgMi4wLCBXaW5kTUwgcGF0Y2gsIFppbmMgNi4wLCBh
bmQgWmluYyBQYXRjaCBvbiBteSBob3N0IGxhcHRvcC4gSSBhbSB3cml0aW5nIGEgc2ltcGxlIEdV
SSBwcm90b3R5cGUgYXBwbGljYXRpb24gZm9yIHNpbXVsYXRvci4NDTEuIFdpbmRNTCBzZXR0aW5n
czoNDQlJIGhhZCBzZWxlY3RlZCBUb29scy0+V2luZE1MIGNvbmZpZ3VyYXRpb24sIGFuZCBkb2Vz
IHRoZSBzZXR0aW5ncyBmb3Igc2ltdWxhdG9yIGFzIHNob3duIGluIHBpY3R1cmUgYmVsb3cuDQ0B
DQ0NV2hlbiBJIGNsaWNrZWQgb24gQnVpbGQgYnV0dG9uIG9mIGFib3ZlIGRpYWxvZyBib3ggaXQg
c2hvd3MgbWUgZXJyb3JzIGFzIHNob3duIGluIGRpYWdyYW0gYmVsb3c6DQ0BDQ1QbGVhc2Ugc3Vn
Z2VzdCBtZSB3aHkgdGhlc2UgZXJyb3JzIGNvbWVzPyANSG93IHRvIGF2b2lkIHRoZXNlIGVycm9y
cz8NRG8gSSBuZWVkIHRvIHdyaXRlIGFueXRoaW5nIGF0IERPUyBjb21tYW5kIGxpbmU/IEkgaGFk
IHRyaWVkIHRvIHJ1biB0aGUgY29tbWFuZCBmcm9tIGRvcyBwcm9tcHQgYXMgc2hvd24gYmVsb3cs
IGJ1dCBzaG93cyBlcnJvciBmb3IgbWFrZSBmaWxlLg0NAQ0NDUF3YWl0aW5nLg0NVGhhbmtzLA1L
dW5kZXNoDQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAACd
BAAAsQQAAB8FAAAgBQAAhQUAAIYFAABeBgAAXwYAAH4GAAAA/AD3APIA7QAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAkDapygAABVCAEJA2qtOgAAVQgBCQNqAAAAAFUIAQY1CIFcCIEJAAQAAAQE
AAAFBAAAnAQAAJ0EAACxBAAAsgQAAB4FAAAfBQAAIQUAACIFAAAjBQAAhAUAAIUFAACHBQAAiAUA
ALMFAADOBQAAXQYAAF4GAABgBgAAYQYAAGIGAABsBgAAbQYAAHUGAAB9BgAAfgYAAP0AAAAAAAAA
AAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA
/QAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAA
AAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAA
AAAA/QAAAAAAAAAAAAAAAPMAAAAAAAAAAAAAAADzAAAAAAAAAAAAAAAA8wAAAAAAAAAAAAAAAP0A
AAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAA
AAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAACiYAC0YCAAUAAAomAAtGAQAAAQAAABsABAAAfgYA
AP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAEBASAAMZBoAR+w
0C8gsOA9IbAIByKwCAcjkKAFJJCgBSWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArToAAEQAZAAA
AAAAAAACAAAAAAAAAAAAAAAAALgaQRnoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAPAATwMAAAALIECvAIAAAAAQQAAAAKAAAjAAvwDAAAAARBAQAAAP8BAAAIAAAAEPAEAAAAAAAA
gGIAB/ApOgAABgb9XVPSqhmG+1jee1SFnmdb/wAFOgAAAQAAAEQAAAAAAKgBAG4e8P05AAD9XVPS
qhmG+1jee1SFnmdb/4lQTkcNChoKAAAADUlIRFIAAAHIAAABrwgCAAAAUDLSXwAAAANzQklUBQYF
MwuNgAAAAAFzUkdCAK7OHOkAADmXSURBVHhe7Z09yCVHlqZvLSWoMttst9kxWowMiV1jB9pYFbSh
hQXJGGPcMVXIUbHO17Kkcha1I9Rmu2OsoYaB7YWB+mQ0zBoD1YYGyeilXZltVkELtJF5Ik+eG5E/
kb83IvP5uNy6lTd+Tjwn8s0TJ/NmPvj2m5cX/iAAAQhAYCUCTz969sAJ68//9u2VGqQZCEAAAqcm
8PzT5/df33th/e7f/3hqGAweAhCAwBoEvvrd76+E9Z33f/vo4aPXP7xu3y+vH10eva7f2x4fXi4/
XC71+6OHl9fNF4N1X18ePrr8UL83f48vl1f6+eHl1Q+Xx/798avLq8eX+v3h48sPry76XtWQeu7d
/z164/L6r5fq/VJZ2b5rj77f5huzvbI5qCUtmDHWNg/XFUo1jZqJ5xM4yfT7+OGjV5fXjy/1u/vs
x1597vbsFfPHry+vHl3q94ePX//Qvjd1Gz5Xo6i+DPhYX1+P0fu38rJyvmZb1xUu3XyufH3lX+tF
qVv/vfHo8tfX7XvDvJ5XLVvrr6qWZ97Mk6sZEvIxc8N7yvura5S98/nantBfNfPapzLbGy+3vhaP
X/u6b59q9r5qH9R90++Pdk72+6vh086Zdg8ye5bsZe2+fMXHMK/91bdn1TPh8RuPXv318viNi3/X
PbZvnzLzx/i6Hq/O2Kau81fmf28/+k6E9T9YQ93e4v7b7m/Or27/qd+r7fU+IJ9FO/znuglTt25B
2qlnhuNTf+vbqRTWqaO0U//J50ZfnKq6/aN+d/6W94eP68/1/uPfq2+qfv8q77V/5LP4oxlLa2dt
Q927V/nWZi3v68qI7Bhl1M17PcubUcsY21HL3u5b0EG2dZvx1pY2Y/f7m6Fh+dSteHtkjPV7zUe1
tdlSaW5dvikj81JG1ChZ4K96e+uj6lv1bztSr4JNXcPZzI26boeva60xvla/14N75VRV3qs9U8be
bY/OLhlR7Ws3Q1oa0p6bJ8rHzR//uTom1cQ8N60lfLRfO3+a2Stxhs7thk9DtdkvZFwV83ae++Oo
09Pa4155KyvNvmDnm/eX3++avanZp2RvMnzqqEXnp7CTOdnwMaNu5o8wMbGL59YykVjBtKNzvubj
e2z2KZnPrR8bn4q21u1U780caPemDl+3mmP25dqxhfy1qYAqYpUj5HXc6ud3vV1j1bFYxke+13V7
49YmVm20tfLEeNz66I3HPlbtjFil7zZS9noryinHRpkZHXGrxp6tF6ta/gjaHfP6Ntu4NZgB/qir
kXscy0jM3hvL1DGFj/J9xDoUt5ooRkba/DVelqikWaMkxkENGV+3qrVS3KoRa7T2UH8p29aXV3GQ
rmaalU291mnjeh/pNzFSFNF7QqF/23WbrN5kH2mOc/UaRf9Mm1frkuuIVVZvoraddZvVgJ/D/etI
Oyev1pHeL1f+MmsdiVvbtaBYISsh/9fSbtamTZvNHA7WgjKWNy5u5dHGrWaNWXll3lrQ78te5f/h
PxloYzr75N0nL+5fjJVqv3fl//F//m/3/6m9SC2NWK+E1X3RrP2vPXqVE7BrgWCPrY+SPksge6zf
65p8QqytMjN8HkDqtjqrCjucE6h8+eryxuNLoLBXa/NW0a7WxCZHUc+b7nW9t7LiX5eKVkOaM6nV
vMkJ1P5q6wazani1GGQ9elSgMydwve7rWCfKPLrec64UttGOjmNhV12jhY1S+8xP17537V+zem/W
j86PVU4gUNiauTkSBJkNy9zkmczMiRTW60j/sVDmjGS9fE7Maut1LuV65zUZIcn5yNeaB9C4tc7/
dOijHAvlu4Z5R6buejb6WMHmYUJ/VW16hb3SVp8NsHk2Ud6BPMxV/NSOos3qdOUExKAmOyQzsT9q
afZHw8FJXuI5IVmVO2GdVF6FdUat7lSAnz2S3ZCZ1Mwn0dyaiByrq3d7rPZxn99e1f3LN59//8fP
JQdXHeFFj6SFNkvaqqoczVxetT6y+Xfn+zbTKsfYNsdaZYVcdrXWU//ZxDKVhX++v/v2X+6+vb9r
eveZL8l/1VbVUW3rW58t9aOTkdqxN6pq6qoWX9fV/cHPpJab7Ev6Xo/X51tl31M+Pu91nWOt7anH
61a4JtMqWyTuaD5fqaoc6P27zxVKBrP1UTuuZuwNgbhusyZo+Mj6wKwSGl/LiPx77T+3X1VzwIy0
2hvdfli9W1W19ugc02OVP3L7/V9otTOkolFHrD5u9cSEm77X4/JRZ0vIjOVaVXXv8Nz8/PHertup
RtrQ85l0Hz20eYCGRrtHXO1TXlUlz+hnqdfxZm/y2W2zP/p1STOfdVxX46351DOkM8cqM0eYNKoq
x2DrZdmLxdfXxz/xYPNee9kdLyVWbd69AogaXOdY5Rhm1pHNPtX6qNmvpv/rdLbvNb2xkRphjvXV
n778y3efS1zw6rv6c51Xch/cyzXm5LL6kJBjlZ6dwjp5/f7fPnNkmvxsdQz+8799Vm+8uPc//9/q
Q2eO1X315z/c+fc/fDYpx1rr6eXNXz7/2bvPK3n9l48rL66aY/3Xrz58+dXHmmN9+dWH//q/PiTH
So6VHKvLCfh8awk51uFLTt986x33slIabwmE9kpY9ey/HBubovbz5SdvPfvJz591HBvl6GPiIKmu
bX7/x880lhFJrY5gxpwoA3D5vhbcn/3i+c/+y6/k3UesEpf5KNXEqrLFrr7d/+tjoJPXN3/5az26
Njkyc2y0cascn/1xuxmHjMb92TxAO8aK0jsf/Obv/v43eq45zL75uhqz13FrbW9zbUB7vthfIXB1
nK9p+VhGRtrErdfXBsh2Oc8rcUfjr9Yjzeh8xNrEI3IFiM8htpTE8msmTfxoYpkmtgrj1iZekzPm
PtsTxK3V2r+OdOozy55rEw2JJfpee+c6lqm+NXG6RmSeQB23tjlWH7HWbfq4TEdn11VXsfz1OXqf
H2jWbc16rjbcr71MnK45VlmpyPmrJsfqM61tFv5q7l3F6eE60vsrXkc2cW4zk+uRtnG6xK2y/pPr
AcxaR/ZLe5VLszIwa5Q2Km9WgT7H2nhQ4tauHGuTab2O1v2K1q4jNQ/Q+toIxpyPd5/cxa/RhuRX
VKqt8mH4p1XXEWuTz6nYtGft/Vlv6b6JWKuVvry+r99ldVbFtlUG4DP3LuUlmpO/Sk8fPlJVdVtM
7knPGMo5xOqqAPmTqwLa664uj6sY9g+fuYDUfXDnr9yxsfrsVv3Nu2ir/FVx6w+v24j1Un1++fuP
XQD7bfV+52x2H9yWulb9+Z8/djPJvbuX23/cu4zi5T9/WG10UWq1vb16zMetP7yWiFVmpPugr8oO
2fJP/+jf/+nD+nqA5rqr6nyxP3PlrxPwY6//8efZ5Fy/UPXXBlT5Mnt+Rq4EMNcMtOcbGyDt+eL6
vHZtrV77Yc4112f22nPNdfX2HLGv1Zx3rvlULcv1AOGxp/r2+toPe9VP/W11PYCPcarrrq4zqHqV
QmNto7h6tUNzVUCTKWqui5DrAeS6NGFV86nnqlw14a/ZavB0X/thcugNK0PP1G391fjRn6UUAnol
VvW5uSbEz9Ymn9uueJp9qrazyS/rtTpXmVmfC9ZrOWT+X/tLxy7XjVxfD1BfIeCvJ/F15VqLRmE1
KgmvjZG9rdnn9LoOyZhXnjW+luul7LUBUrd7HSl57Stft6jnfnKZ0+CV0pJqa4qqugavI9aHjx7/
zVO39S9/+lIjVjc2lxNwG6tAVf+aeLYKYN+qtou2ip7+9O1f/eRtX1iOnD/9z7+SqqKq+t8m4+fz
AEGOVaoEOVYnpm5jFcD+4rn7UP3XaWv99+a71arffXBiqva7jSaXX6lqVfK9X7sYVmqZkbbxteiX
+3OCW5WpR+EC0nf++6/de7XdaWvz93du+we/aWN8p8Vffei+dNGre7kPdX5AorBq45N/+K3fKLEq
OVaJVcmx6nkLcqz+OtY1c6y6w877oCFqym0AOq5jlV4lo+r+RFXdn409VXc6TZRr/Wwtt8WprWz5
aaO5Qd04x+oNCK9j1Xr+2iP9v1zH6vvViPvqetvGLhNvmtjcRNdNO06CnZhKTCGxqoim/bu6wtd9
4c+E+HjBlzT2mGt4uY7VX0HGdaxX5y24jlWunpaI1V9J3Sk2+20MUgHDHXfnWKWOi15tlGqyruFV
VkEfkmmVPz2n6fi4QLVS1TZ7O5Jj9WbUeQATt3q9lRyr/bNbVNl9bq7RW2+VZIjEQmOPOR7ot76U
hKgasVZbG600Vz5Um9uxNwpbbdXPera9LkuO1V8bQI6VHGt4rc76OdZAMdL/qxmAIN/a10KYY3Ua
IdkAURyN5pzC2shONaXShqbtVpXMuS8TzZnripsqs3KsUtn9OqCJT90VV/Wf/P7Kf9YRS67Q//nv
r6LUVh/bqLw97+RzmqaFNvZsWmt+k9Nw66Ld6Ph11pIca/PrI3Ks5FjrdWT7m0B/tnAoxypn5+0r
XSvTSwZ51RRtDXOs/spw0anmSk+vF61q+XPEgWVOe2S9L+evbC1/vZvEhiZC1Byru6DKpV/dZQD2
OlbJorqNesWVOwvxs19UXcj5K/ehSqE2OVa5Y0Cjbrrqtz2+dkt7V6A5l1WVra4ZqDdWZ7R+X2Vg
q79WB6t23PGmTgj481c6cJddrTZ+9bE7f2VzrJparbKrdV61HbWcGfd/5Fj9qoUcK9exmms/9PeQ
K+dY3a2n4ktZRxXWKWmQV423BI2Ev7xSVbr6FZ3/3ef1PVn8WeN2zd3UNWcSu36vcv2bHKkkZxWD
31yZ3+TU9woYvidLfTeW+vdXwRnl4PdX5lyquwCgkuZfPvexub3iSmzq+G1rba89622ukTa/CR6o
a+/S0p7z7PlNTtVb+2sY/aXAtRuDu7HIL6/87+Xlqhp/XcFVDif0V338iH9Z1OUv333Hb0w9t+Y3
OcEvr1pu/b6u7xXgriqv/1o+lrn4y1+HdO0pc18VISD+au/S0vNr4ARfm98fXv/yW66f771XkWSB
9JcCzZ132iuu2t+26j517S9Dwa8j67Hb/TH+PaTfp6Ru8/uxZt+sr9Vr50nPfY78vQLqWdf/e+Ke
3zS2v1G2V4C0fo/mZJevr5h7Zy755dXA9aruUgH5pdYqv7w6470C6l8K+D+vqn1a3OpX/x7u63Kv
ANmT49/7eohdd4TQ31913NfK+qS5Ptrqgj/ymf1Tf3PFvQKaI9JB7xXgAs/r0KL3f/KT1knlVVhn
1OJeAZEKqD523QPQH/01hooiVu4V4I883CvAx8jtuoR7BfhftV6vveQqoJF1id67w5zL+e3/+G+J
qjqvmAjr1F6GbsLSrrA61/7BjOF+rINaHDrVaDH3Y21iS79OrVhxP1ZdcTdTpzMz097PqF0fdNxn
pznOSYwf3deq914BdexwFee2V/+buxPYu/M0MYr8hpD7sXI/VnP+sblWzv/WpZpe3I/V3tvBs6r3
eb2usNqTmusNzXbux8r9WNvf0fm8TH02+Iz3Y50XNlMLAhCAAASUQMcTBKADAQhAAALLCVxdx7q8
OVqAAAQgAAGElTkAAQhAYGUCCOvKQGkOAhCAAMLKHIAABCCwMgGEdWWgNAcBCEAAYWUOQAACEFiZ
AMK6MlCagwAEINDehAUWKQTc1b8pxSizhIB73FviI92X9LJPXSbMDpyzmjDyAwGEdZrfhdq0OpSe
QuDLLz5393Y7krAyYab4f3LZ3CbMNGG1j9VOeZaW4nEVXXl5n8ysp8KM1oLHgqtJU5sSau5GZGuN
5fDtTJLIpx89G95PYj9mDpAJM9VB606Yqb0vLz/hJ62iPvoKJveAKSpbq6iq9juvNTsEZ/O8RpZz
P2ELLgJNeSWumudNxRNiL3fIKbPFlUmcMDfhMOfkFZJ0E1cV3Wn8MPd5j3cvGgLGpxMofcLMEVa7
zJfHeMkW+WC32I1aRp/8pd/2VbclgzJBawMG9PkyiLuDvhKj8gfmTzty22yn+l+7vbNiyrSTRoIu
UioeuEwwCeMZmLglmNgD81yn+oGpMrQlBOYLq80PWG2VlVrnst1WGTBaI+I4+WCD5UQD+nYPa0Dc
VEpU7tTtR/OXLnYLKzrLXbdLvF50XftITjtV5DgdzJlJW1Qu7RzunGbSb8okiVHrMTU+EsdTqPOo
bI+s9gidPgOLngBFGD9fWDuHN2+qDQSVQawxynTAAN3lOhuJo+PRvoICs8VudsWpFh6jfJArTx+U
zo3A1xoHqFyKwq47mcVOe0ydqoOd5eXILsdaJlL6ZNi65MrCuqK5ieHtWj3O3l3XMkD2OvnTnVA3
BtGNLRNHQCuatG5TNthcfiSbbVvsa7vGEklNzAXNtkGkMK4e5IuWtH+AuplMmBkk5wjrFnNuizZn
4HBVZliyirR1xjK6Ufc3uzfaKvMGu3OtOAbcIirsG1TsWZsqVTHVcHXGTNiUp3P91CB3U3t2aPy2
E2bJAJOEVeacvuyKSTYm7h62HTFat3QS7FuyBXXTDegjZQ0TSybtVNutwo63uLOOTpw26fM79uOk
LcHEHp3nkyaJjELE0a5LgtGpespRM33sRy256YTZDtrNfnm1XA23gzLQsr3eO5j6+t/R7Z37jN0o
nwe29BW4CZPhTt11M/EvqTq9L2xz+yHNQqQDPxCIJ4x1a+DioHDfHFtobQ7VS58wE34gsBbuzvO5
azV+23aWrNGW1L3tqGf3vnqsOtuSDCsGx9S+kDZDy7czqbgJk5QKWItXDieI1hpLsKyzqza73OsM
TjsL2I2Ja8DRdeWKg6WpVQic8CC6CrfiGtlVWIujM2qwXsYqOqvl7fWtduNoAZuuDRq0XehX1oBR
aylwcwKJh8/hI2vicffmgz2zAQhrwd7X0yCc6CjIi/Gx0B4m44W/bAnEdPi/BdE4qqkIa8Ge7YyL
Cx4PpkPgKARudlVAoQC5C9xUx7mTvOl3ITrVVQFTSZ6kfOkTZtr9WE/i1NFhIqyjiIICT959MqnK
eS63moTlPIVLnzAI65y56qh98P57c2pSJ5nAwZ4gwIRJ9vzMgllNGIR1jhedC+dUo85EApNuIz+x
7V2LM2H2wZ3PhEFY9/E4vUAAAicicINfXp2ILkOFAAROTIDLrU7sfIYOAQhsQwBh3YYrrUIAAicm
gLCe2PkMHQIQ2IYAwroNV1qFAAROTABhPbHzGToEILANAYR1G660CgEInJgAwnpi5zN0CEBgGwII
6zZcaRUCEDgxAYT1xM5n6BCAwDYEENZtuNIqBCBwYgLcj/Wkzk+/R+pJAa0x7LtP7vK5OcgaA6KN
cQLchGWc0YFLiPsPPMCbD+1gN5a9Oc9SDMhXWN1TshXipMfeytPqO59ZP9srM1qbUWW2ebMrcsfu
qegmxZ5PP3qGsE4lfIzymd7dSlRJX1Zkh7mrnE3S4r42td8lraUbf4wpdfhRuJurprxIsxx+JowO
MPeTV0t0bXTwFIDAVAIubh19TW2T8scj0HHyarfjbecjK/rW0UEIqat+5xIRXylgUwFBSsG23Fc9
pTXtTvrSKjo5tCP7bWy/lO9rZOupRipgKmGnp4mPABG2M1IBu+16U8dO+QECwSnKTFMBnQOw+QFV
KN3YuWy3VQagaEQcJx9ssJxoQNyRVWHpwlqrhwG7/VaT+IH5m2eDayCoGG+Z1zK1IFAWgd6I9VZP
QOuMWDuDTRW+4JxVfAorcYt6Lgh7gxNifa11Rqw2mh5oXyLuPfMeQcTqFPDHH39UC4P/Js7pebUS
G795sR0i1puPEQOmEnD7UcER69TRTi2fGN5ObdaWt2fklrSzT10rsvv0WFYvbsLEr7KGgLWbEsj9
5NUWJ9a3aDPdSbftPd1OKSnpAfs5/m+w3g+qdNYNWp5q1c3Lx2uLPVcbNx8+BowSyE5YZd2tL5mv
dmPiDLZVhIJu6dwrtEdbWPHNMEB7nGf/qOc2KqCJVm1fo1f3Qf5USeMtkg2wZURDg5KdxTYa0UbN
2lmUOCc3soRmMySQXY51C0Y7py+3GMLqbSbmWG3a1EamIp2qufK5b0tn7rW4hGxnjrVzas2+KmB1
L9Pg1gROl2ONw96tER+7fRt1rjLSIKpdpc39GyFW3Z95ET1mlwpYi1pZJ4vWGvUq7Wx6jZQ0Lu/H
0NZVmNPIwQgcVlgP5qethyMaJ3+dlwTYAmrMcBWbpQ1KamtcfrC1Z2n/JgQQ1ptgz7FTPb8ksaSY
aIVPC8SnszoLB+1Idau2qGqO8wCb1iCAsK5BkTYgAAEIGAIIK9NhJoETxpvPP33uzgKPvmYCpdqB
CCCsB3ImQ9mSgLvFqru1SuJrS0NouwACp7iOtQA/7G6iC7tudTuI3cd6sw4T74Z1M/voeDGBvutY
EdbFaMtswO3zZRpemNWTnjtQ2Ngw93JBWJkFEIAABFYmcLpfXq3Mj+YgAAEIJBPg5FUyKgpCAAIQ
SCOAsKZxohQEIACBZAIIazIqCkIAAhBII4CwpnGiFAQgAIFkAghrMioKQgACEEgjgLCmcaIUBCAA
gWQCCGsyKgpCAAIQSCOAsKZxohQEIACBZAIIazIqCkIAAhBII4CwpnGiFAQgAIFkAghrMioKQgAC
EEgjgLCmcaIUBCAAgWQCCGsyKgpCAAIQSCOAsKZxohQEIACBZAIIazIqCkIAAhBII4CwpnGiFAQg
AIFkAghrMioKQgACEEgjwDOv0jiVUMo9JaIEM7FxBQJ3n9zxNK0VOC5ugmdeLUaYfQPOx+7hzNmb
iYFLCXz5xec8/3UpxJXqry+sb771jtr27TcvYztdgc7tiSNKrz5qyUCP6b0kmn3DYiKsL+5f3NAG
up5BYFLs+fSjZwjrDMgbVdnkYYJON+VlpW1YbROHN1Xvhi0Z6HSJ9CeOZf9ir//fbx48eMB7EQRk
ergINOVFtmf/vWlej/NzrIH2TZXCYXMntbapJfOw3qSWRqxOVR/9xw9vYgOdTiLgpP/HH390EWvi
0l5cTMQ6CfKmhTeJWDstdjInAax9l5Ia2EqZ4L9Ba5MK97GLO9KSgXlBSbE2MHJTD63Y+Ks/fbli
azS1HQE8tR3b27a8yeVWw+trCTCDHEJcRbYkFu6T+MQUQdxLvKWgpMHjv3kqQNx+Ky/lM3VPnlq+
bzZLO0Fr+l+101q7Vte33cGGe1dP5Wwkts0gsImwWjs0A2sX7HF4OMP0lCpBR53GBO2ogO5mZMpA
JpVRFXP7rbxUpNbakyepnitstT4eixjptusH+Typl0mIMil8+AFmwnl/MzYX1s4haSC5dRi4pKMl
dfd3pO0xVs+19PS24zpe77Ff9HBuPxxv4Icf0TrCOnyuSeLEvkuy1kU82tGAMWJJfIVDvGVdm1dv
bSAO0mBWF919q+942d6XVQgSDkGxYHRniEPTHRp7qi8nlt4mJXMgsEhY9aA6KfAUaZPXaMXEwp0N
JtZ1bohLxlsKklddVsc5Vp1zmiIIcgV9k7IvqyDL/I0SDjnsIZva0LmSsDvF6A6yqXk0PpvAfGHt
WynrVBiYH1pX7B4+SqcUDsoojs7tnYbFJUf7nQ1964o2o5qom6MmDWj0aF2C1j5EfWsLmaKo6tSp
lU/5+cKazxiwJFaudZnYsHSVlkkICMaB3DequspMu1UjCOutyG/Yb+e1TZP642z1JFyzC8N5NrrM
KyKsmTtojnlxjjXxqgAJJO3VURpYBakADTm1Slxr2PREk+aMv5w6QCjHV9MsRVin8SqidJxjVbNV
c4OlqO7h9pJSu1bVM1S2pDYSXH/aRynQkeH/FoF6oZFErAsBZlsdYc3WNfMNyy0OmpdRnRoCz+d1
u5q5eep2JI7WM8J6NI+68ThJcnf3+Mv/+Xk+7+6+MFPtccbnY/9GlmjE+vzT5+52HqOvA07Wgw5p
/t2tDgqk4GFxP9ZCnffk3SeTLOfuVpNwbVp4/Rtdb2oujc8g4Hz8wfvvzahIleIIJN5msLhxFWcw
wlqcyyYb7Ha2yXWoUCyBSc8dKHaUuRuOsObuIeyDAASKI7Dfja6LQ4PBEIAABNYlwFUB6/KkNQhA
AAIXhJVJAAEIQGBlAuOXW/FgyJWR0xwEIFA4gbtP7uTk4fyTV3J1ZOEcMB8CEIDAagRe3L9YR1jd
NcmrGUVDEIAABIol8PSjZ6PCSo61WPdiOAQgkCsBhDVXz2AXBCBQLAGEtVjXYTgEIJArAYQ1V89g
FwQgUCwBhLVY12E4BCCQKwGENVfPYBcEIFAsAYS1WNdhOAQgkCsBhDVXz2AXBCBQLAGEtVjXYTgE
IJArAYQ1V89gFwQgUCwBhLVY12E4BCCQKwGENVfPYBcEIFAsAYS1WNdhOAQgkCsBhDVXz2AXBCBQ
LAGEtVjXYTgEIJArAYQ1V89gFwQgUCwBhLVY12E4BCCQKwGENVfPYBcEIFAsAYS1WNdhOAQgkCsB
hDVXz2AXBCBQLAGEtVjXYTgEIJArAYQ1V89gFwQgUCwBhLVY12E4BCCQKwGENVfPYBcEIFAsAYS1
WNdhOAQgkCsBhDVXz2AXBCBQLAGEtVjXYTgEIJArAYQ1V89gFwQgUCwBhLVY12E4BCCQKwGENVfP
YBcEIFAsAYS1WNdhOAQgkCsBhDVXz2AXBCBQLAGEtVjXYTgEIJArAYQ1V89gFwQgUCwBhLVY12E4
BCCQKwGENVfPYBcEIFAsAYS1WNdhOAQgkCuBB99+8/Lnf/v2d//+R7Xwq9/93n3+4P33ZIv77/3X
919+8XmuQ9jELoHAHwR2I3D3yZ3dDXfrl46mEnj60bMX9y/EWU4oAseJYCKs3VSFzlTilIfAPAIu
cAnim3ntUGsHApsL65tvvaPDcJHvRkOyvbgutuvI2i/C6o5LGw2KZo9NYFLs6XZUhLWg+ZAirPNz
rE7vnMbpK5A/i2ngq5hmXFi6EEndR1UL8jGmZkvARaApL5JO2XpwiWHzhXVJr9SFwBkIuLh19HUG
Dicc4/rCakNO/Swf3Lu+hPVA4WFnjLZsu4v7OqGnGTIEILAbgfWFtdN0XcKnpA7mrfeDlm2mQlR4
XrM6nAfmby33uCaHm4oLjFaxDU4qvNagaAcCENhJWG8COoiOl9jgFOpH87eWYLkml1g1WlfaX8va
0e4oAAEICIEjC6s9t7auv7cWxL6oE4lc14/7tGYzYCse7Pcxnl7mEdhQWBdeDDA8HieaMkdTFviT
LJnKUTMEUlG0TzZqU3EZLaa1giopZox2rTbYD7ajGZ2mGEYZSyCeoimTFoZFE5gvrCptgcDFkidb
BJMesfUKqs7qiUztBO1rWcV3FXmNtUwzBFa8ZKOqZ1zGxrw2zxDHpEE7VqxHu9bCmhMYtiQRO8Wm
ErATFVWdSq/E8vOF1Y22b61trzwVKPHJK4U1UHj4sB/gVmOClm3Xyz0kwmTbCaTWfRUnCuIyfZYs
TDIsrL6cDy30EdBIAkRnILBIWG8FKD0JsIOF9qTWgFxqsRkmSdCKaM5Al1UVYtWs3LGpMbsK61oT
K/4J1lotp7DuO4OUcmZptMxogRQLKQMBCNyWwK7CetuhLuldYkb5s5Fj33bb12iZ0QKd6YWUWmKG
ZmnTqyxhRV0IQABhTZ0Ddi0faKtNvAZfqbR1ltHCfYmCePk/qWvb/rAlqRQoBwEIJBBAWBMgUQQC
EIDAFAII6xRalIVAMoHnnz53d64afSW3R8GSCCCsJXkLW0sh4G7Z6e7nm/gqZVDYmU6AJwh0s3KB
hj6cJp0mJSEwmwBPEJiNbueKKTe6Rli7neJm+c7eojsITHruALhuRQBhvRV5+oUABA5LIEVYybEe
1v0MDAIQuBUBhPVW5OkXAhA4LAGE9bCuZWAQgMCtCHDyqpt8Ds/OvPvk7khnM3JAuv9udjAnpgMs
zt3pnkrJsSKsvcLqLkJMn0arlzzeg+bdnnZbpKv7aLTB4zlxdMhaoCx3T/LU5sJqbx3dd3+pxJv8
Bw6bUWtGlYFZItPixf2L9Jk0XHJS7Ok8N+rp4L7dS+7vNYputEAKpdWRpnS6bpnVnRibN8mtU/0y
tfwSerd196aeShHW+TlW+xhU+4yAJc6YUXeV5wLM6HdGFXdtbMorfQ1lbzS+BQdtc4lqzwCVc5UU
D7oy6U6MB5vo1t1UcouptYOLd/DUwCjmC2vQKPteylxxB9LRV0o7lLkhgVEPTgqXbjiQw3d9Q0+t
JqzqpL7nUAbb5b9xBiDY3lkrLhP0Lv8t9Ei7fLrHLhimGuNSdPLB/tc2pd8G5ZcPgRY6swSdMz/w
SKevbWsDu57OhL5dLN4f8VQngZWF1eYHrK51bg+CXFtGHazLIrsslY3xQlVbkK/WDaLTn1u121TT
WS4D74MWYOnzUafZweMaY3csYd6HdOABt31sh6tk6LuBSZLoVjvDxU2xZwPv2DJx2BE/mC7YxeL2
J+1isRfK8suk/XplYZ3Ud0rh4Ag5XGWSm1N61zLDD1Kd1NSKhfuScQE0PQhtwWd2m31IA4mMHysb
AxyukqfvBqZBols7Wxh1fYq/Bna6SfujtTD2QnF+mbTn5i6sdpJNGljOhW1IMnumJu6ZUuyGZxdT
HFHicxK3dmLMLWVfiMtMdX28cLSWpNgw6vGd3b2/pxyB1YQ1XlmM8p1UYOv2JxmzsHAcNaTEETM6
FWiaGElkmFhshj2jVUYfRqvBqf2w846qx6pgOBs5MYaW4qB5rh91kBZIsSG9tU1L7ra72VHMF1Y5
EupLrLcb7Xj6tgcHw86FjGy0OUS7ZeCAvKLvV38MXwBnxYkVo9YtiT6yuTbLMMWJk5hvkWJb3VPD
KwP9dmtVTYE/6vqUaWYbCZY7cfs3d3fKiESXdvOUdDRfWMVcfVm7ZWNwYA9Kdk7EzoWMbc12GpCK
2a0417fIB6nMJU6O4fgoGH4ntEQf2YkYGDngxBnDCfKno+GqM0x1U6LUuMoWnhrV1hVnWtDUgFvj
Xaxv7+grGYQ18fSYtxf34UpJl8/bF1JqzZifKc32lVkkrEs6pm5wIAWICKWs8e35qGEyM6qsi3pF
VV3XMFobjkU25VOYsDKJN50Nt2287wHj1ioNSEV5U6rcdlD0fk4ChQnrrZy0Z+buVmPcud8UpCll
ArPjKjMa2RnFGbo7m18Q1tRZbYOj1DqUGyTQh9Se5Q/K6FfBlQADVYLAFp/cikDs7gPvUwjrraYZ
/UIAAoclwP1Yu127+k3P3P0g0u945O5YOHrbwOKm5OpI9yeAE9OZ39bdm3oq5baBCOtOwvrk3Sfp
k9KVRFgn4dqnME5M53xbYd3UUwhr+jQIS7pp8cH7782vv0ZNd0PJI92ALgeka7hlWhsHc2L64Itz
d7qnENb0aRCWdJTnV16v5pGENROk6zkntaUjOTF1zJdLie5O9BTCmj4NKAkBCEAgiUCKsHJVQBJK
CkEAAhBIJ4CwprOiJAQgAIEkAghrEiYKQQACEEgngLCms6IkBCAAgSQCCGsSJgpBAAIQSCeAsKaz
oiQEIACBJAIIaxImCkEAAhBIJ4CwprOiJAQgAIEkAghrEiYKQQACEEgngLCms6IkBCAAgSQCCGsS
JgpBAAIQSCeAsKazoiQEIACBJAIIaxImCkEAAhBIJ4CwprOiJAQgAIEkAghrEiYKQQACEEgnsIew
unuJj75KvC1uOmVKQgACpyKwh7A6oO7peAOvmz8E5VQuZ7AQgMDWBHYSVjcM93S8vlfnIONnmsqW
vu1bk6J9CEAAAokE9hPWRINssTg/4La48LZz+4z2qQIBCEBgCwL5CqsT0OefPtcx24c+Jj7zawte
tAkBCEBglEC+wiqm2+BUnk+rqQA9IWbFVzYObBklQgEIQAACCwnkLqydw3MKKwHs3Sd37iVl7BbN
xmqZODO7EBzVIQABCPQRyFpYNRtg8wA6EglgbVrAFXPZA0kgSKhry3BFF7sBBCCwD4GshdVmA0Qi
h6FIAGvD2H0g0gsEIAABSyB3YZWgNf1CV4lhXZVRFWYeQAACENiIQO7CqkFrIJQiuPZUld0il2QF
WzYiSLMQgAAEAgI7Cav7acBs9EG4qv/VE1N6/kq3aN4g3jLbDCpCAAIQSCSwh7A64XNKN/waNjcI
V/W/svC3p7CC/7pm4y2JaCgGAQhAYB6BPYTVyt/A53kDoBYEIACB3AjsIay5jRl7IAABCGxKAGHd
FC+NQwACZySAsJ7R64wZAhDYlADCuileGocABM5IAGE9o9cZMwQgsCkBhHVTvDQOAQickQDCekav
M2YIQGBTAgjrpnhpHAIQOCMBhPWMXmfMEIDApgQQ1k3x0jgEIHBGAgjrGb3OmCEAgU0J7CGs+nCq
gQ/c3n9TN9M4BCCwJ4E9hNWN5/7r+4FX+n2s90RDXxCAAATmEdhJWJ1xL+5f9L2GTX/zrXekgPtg
XwMbg8Lz0FALAhCAwDwC+wnrPPuCWt9+81JfKrh2o6ptZ8lVbKARCEAAAsMEChPWee50IjuvIrUg
AAEIzCBwCmGdwYUqEIAABGYTKExYbY5V41DdGFMY+Go2MipCAAIQOFQqIE6nuuHpxnio8hWTAAIQ
gMCeBPKNWPXc1J446AsCEIDAcgL5CuvysUkLCPRaJGkHAhBIJJCvsLolvGRIR9fy8cWtWjeleiIp
ikEAAhBIJLCTsH75xeczHnwdZEg7FdZmXW0Bm3gdleZEWBSDAAQgkEJgD2G9++TO3Qpg+JViK2Ug
AAEIFEFgD2EdiFXtV0XwwkgIQAACowT2ENZRIygAAQhA4EgEENYjeZOxQAACWRBAWLNwA0ZAAAJH
IoCwHsmbjAUCEMiCAMKahRswAgIQOBIBhPVI3mQsEIBAFgQQ1izcgBEQgMCRCCCsR/ImY4EABLIg
gLBm4QaMgAAEjkQAYT2SNxkLBCCQBYE9hPWr3/1+9OXuJJAFD4yAAAQgsJjAHsLqjLz/+n7g9cH7
7y0eCA1AAAIQyIXATsLqhuvuHNj36oNh49ypwFzdoEq8JS6gPQ53p02NtjnVbMpDAAIHILCfsM6D
5W45KK8ZEhanF0YTDindOUtciO2a0g/zhkYtCEDgqARyF1bHXW4t6LRshrbOcJt05yoOqLD7SsvI
B/4gAAEIKIEChNV6S8UuWLNbzdXPzz99LsX6lvwp86CvZanrupAPsT37HAZShkAZCEBgZwKFCauq
mAtggxSBDTDlc+e6XtbvfekF1WJ7Pq2zZe1CcwJBm/LchJ3dSXcQgEAOBIoUVlmnp6zZO8s4bXUC
KsFmoH1Wi4fX+PqtfOhskyxBDlMcGyCwP4FShXUJKVVP9yFuJ0Wv41rDbS6xlroQgEBxBIoRVlnC
j/JNzGyKerqgNT2oHG15Rpujw6EABCBQIoHchdUmPfVcvFPYIBmqW6z4diZMg7pBKiCu0tly4Onh
NkucFtgMAQgsIfDg229eqmBJQxKaqUK5/7ofTblr+2d3kxJsBjZoX1b4guhSv9LtssX9V1qL69rL
pKSLvjaDr+KW48utAnv6RjQbIxUhAIEcCDz96NmL+xd6csWlAa2MiGDuIayJJ8fTV+U5wMUGCEDg
nARShHWPVIAkH0df53QSo4YABI5HYA9hPR41RgQBCEBggADCyvSAAAQgsDIBhHVloDQHAQhAAGFl
DkAAAhBYmQDCujJQmoMABCCAsDIHIAABCKxMAGFdGSjNQQACEEBYmQMQgAAEViaAsK4MlOYgAAEI
IKzMAQhAAAIrE9hDWO3DVvs+J95PYOXR0xwEIACBDQjsIazObHe7l4FXyo1WNxg7TUIAAhDYhMBO
wupsdzce7HsNjyy4w3TfDadHb0Rte7GBs26f1EJQa17dTVxKoxCAwK0J7CesS0YaJAr68gaT8gmd
jxqc1IKOyNVyQfe8ukuwUBcCEMiTQO7CKjfJ1qdMrwtx3uOt+mzgfrLreofWIFAugdyF1ZGVSDCI
BzvX8q6YbLfr9GBLiqu0cSksDQ63rGUGSpIuSIFPGQgcgEDWwqrPdOkMWuO1vAtsXUm3XSVM/mu3
qM86n4glshjX0o0qoFrGJgRs9c6SpAsOsM8wBAiMEshaWCVQDR5pZYcUrOWdgAZPtXLq5gRUMgmB
qFldDlbxca24ZekoXv6nlxz1DQUgAIFCCeQurBpXJvINnuoVx5UDuqxfqea6D7oxPYWaXjJxUBSD
AATKIpCvsNoluSjdjFNYfXHlqJMkGnU9opKjrCgAAQgEBPIVVs0D6FMIg+V8X5JURyiZ2b6TV33V
ba2+i6iGW7aI00syNSEAgcMQ2OPx13oOaoCazaVqsXijbHHvThbjdXqQkJVg06ZWbfjZuT1I0brq
2ohN9Xa2rLb1lRSbCYEPs/MwkHMSSHn89R7CmngqfJLiOLEuQqTsJVYS/04a5jknLqOGQM4EUoR1
j1SAruWHP0xCWcrtBfTsmb1aYNJIKQwBCBRHYA9h3QhKKaGfPZxshIJmIQCBrAgULKxZccQYCEAA
AkoAYWUyQAACEFiZAMK6MlCagwAEIICwMgcgAAEIrEwAYV0ZKM1BAAIQQFiZAxCAAARWJoCwrgyU
5iAAAQggrMwBCEAAAisTQFhXBkpzEIAABBBW5gAEIACBlQnsIaz2+VR9nxNv1LLy6GkOAhCAwAYE
9hBWZ/b91/cDr1LuqLIBf5qEAAQOSGAnYXXkvvzi877XANe+p7Gmu4Jno6azoiQEILAKgf2EdYa5
wdNZZkskeYYZ8KkCAQjMJpC1sLpR6UOr4pv2zx4zFSEAAQhsSiB3Ye0cvA1d9bMmDaRK/KiruICW
7KuyKXoahwAEjkqgSGGVSFZd4j7bpIFKrdy0X4vpzfy1gH5rW5idcDjqFGFcEIDAVAJFCqs8+lTC
Ur2iwH12G2W7KqZ9ykBnASu7roAr3/dk1qlkKQ8BCJyWQJHCKt4S9dTH87n4VF+xO21I2+dsJ6kS
rpby0JfTzloGDoHMCZQqrBK0BhfAytOl3PZOZdTzYOISaUFjXpFU1dbM3YZ5EIBAzgSyFlbVPjnv
FP+OQMNVW7JzLW8LWH/ow1NFUqUXLs/KecpiGwTyJ7CTsLqfBsxjMfD46EBntaSorX5rP3TmCjS8
lRZUrOcZTC0IQAACD7795mUgJbooFjruv+7XqLOV0bWQGADumdnUMSKj7AMQgMAkAk8/evbi/oXo
lVMSF40FJ8mdYO4RsUrqc/Q1aWwLCxOcLgRIdQhAYIDAHsKapwNE6PO0DasgAIGiCZxXWIt2G8ZD
AAI5E0BYc/YOtkEAAkUSQFiLdBtGQwACORNAWHP2DrZBAAJFEkBYi3QbRkMAAjkTQFhz9g62QQAC
RRJAWIt0G0ZDAAI5E0BYc/YOtkEAAkUSQFiLdBtGQwACORPYQ1jtk1b7PifeTyBnlNgGAQhAQAjs
IayuG3dXgoFXfD9A3AMBCECgXAI7CasD5O6P1fcawBc8AbCv5NYPqrKBdrnOxnIIQGAfAvsJa+d4
hgWx8xGBcTt6d+qN5NWa4W4RtlEv+/ibXiAAgR0I3FJYUxRKn6cyfGN/va3qRrlaNYOnDe4wKekC
AqUT2FVYrZKmqGoAV+/yF+cH5OGs7k+f3ir/1V7sB6muBfq+GnCtsyQeS1+zYsbAt6XPIeyHAAQC
ArsKqyqdqtLwaavOB1V15gfkkSquff2goWvwQZ/gojZIlcS0g8Vno2PbuzYlXQwbzIyEAASOR2Bv
YbVRZMrFALEOuhbs81ZV3TSetYGtSLN1m5M5t0U2BnU7v5rqcskVuKZs0mDY4KldUB4CEMicwK7C
apU0RVWFnd7qf0b+VKpoRRs8xo7RRw26Dwvdpo/R5iEFC0lSHQIlEthVWB0g0dNEVZ2RhxUfSKCq
fennINqNHSYi7soPCGJgVWykbFFtLXFaYDMEILCEwN7Cmq6qqk1y2sc+xdoJX7DR6qnisE9g1Wdi
a92Ams3nBlcg2K/EEteabowPEiKpcUk7iiU+oy4EIJA5gT0ef50iKAOPoY6zqHZ1L6FlrKF9G21d
99lVD+qKw+KI1SYi9FvZqI3ETQUltWUeu535joF5EOgjkPL46z2ENTE3SjqSqQwBCORPIEVY90gF
SOJy9JU/UCyEAAQgkEJgD2FNsYMyEIAABA5DAGE9jCsZCAQgkAsBhDUXT2AHBCBwGAII62FcyUAg
AIFcCCCsuXgCOyAAgcMQQFgP40oGAgEI5EIAYc3FE9gBAQgchgDCehhXMhAIQCAXAghrLp7ADghA
4DAEENbDuJKBQAACuRBAWHPxBHZAAAKHIYCwHsaVDAQCEMiFQOrdrXKxFzsgAAEI3JrAi/sXcjc+
d09U98ARe2c+t+X+6/txYU286d+tR0r/EIAABPYjsFRY97OUniAAAQgURaAvYiXHWpQbMRYCECiB
AMJagpewEQIQKIoAwlqUuzAWAhAogQDCWoKXsBECECiKAMJalLswFgIQKIEAwlqCl7ARAhAoigDC
WpS7MBYCECiBAMJagpewEQIQKIoAwlqUuzAWAhAogQDCWoKXsBECECiKQO+9AooaBcZCAAIQuA2B
1JuwcNeV2/iHXiEAgTIJJN3dqsyhYTUEIACB2xOQ2waSY729J7AAAhA4GAGE9WAOZTgQgMDtCXSc
vAqMKi7l+uTdJ19+8fkqaBn7Khj3aQS/r8X5zNN+OcPeJwjEwmpTs8s73rQFGdWKwsrYN/XXWo3j
97XmvPOIE9bTTvvlE5Ic63KGtAABCECggwA5VqYFBCAAgZUJIKwrA6U5CEAAAggrcwACEIDAygQQ
1pWB0hwEIACBDYX1zbfekddJKOt4R4c8WqBoYokcBEKMolw48cDLHcvCGThpDizsK8/qWwmrI/vt
Ny/ldZ7ptXDIhwGVwsGVyXOXmGeVnfCnmvMxrnQUMgcOM+0tiq2E1fZxsF0oZcc7+a6VgujYZU44
54/t0Kmj20NYrU1BfsAerPTz8XIIfSOKtx8VQuzoIE45ntMHpr2EaTZRpomRQ4ZvgmJgDhxv1FsJ
q4RsduoI3NFF4vFyCH0j6tyui6NRUFMPoXuWV9cnBm4WxZ527tNXn6ODRJkWO57KjHJOnCej7eRT
YCth7dPQQG11ySyzSo9ssSLng2yGJekRqzZedARX9FFhhn9Hq3QuTYJJfjxxGcVy4AIbCmtMLTEw
0d3yMFOtb0QDIz0ehAPvRaNDC7yZuCOMNpt5gROG3uqRrYQ1nakErZ0amt5IbjNs6ogGRlouhE6n
HGw4fROvb5gnGb7m/TrHewYIWwmrzbGqaPYlXu3s7KyYm24O7E6yvrPHib4Rxds1MVI0BAcnzrHq
iDqPoCkTI/M5YIcwOgEOMN4BdwSji3f/YA7otM/cxZPMS7of62nvIXbm+6cx9kk70g0Lr3vLRDeQ
dV3ft3pbi9jqw19oGLcNXAiQ6hCAwDiBw5wpGR+qKbFVKmCSERSGAAQgcCQCCOuRvMlYIACBLAgg
rFm4ASMgAIEjEUBYj+RNxgIBCGRBIOmqgOefPs/C2DQj1n2YIGNPo377Uvh9LR+4qwJOO+2XM0x9
SuvTj54t72znFtZ6YiVj39lxC7vD7wsBSvUzT/vlAFOFdXlPtAABCEDgJAS4jvUkjmaYEIDA3gQ4
ebU3cfqDAAQOTwBhPbyLGSAEILA3AYR1b+L0BwEIHJ4Awnp4FzNACEBgbwII697E6Q8CEDg8AYT1
8C5mgBCAwN4EENa9idMfBCBweALVT1rdFa2HHycDhAAEILAPAffr6gfv/td39+mMXiAAAQichMD/
B4ZNYQnT6si1AAAAAElFTkSuQmCC72UAAEQAZAAAAAAAAAACAAAAAAAAAAAAAAAAAL0krhWWA5YD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAATwMAAAALIECvAIAAAAAgQAAAAKAAAj
AAvwDAAAAARBAgAAAP8BAAAIAAAAEPAEAAAAAQAAgGIAB/BrZQAABgY9gyY3iB54RQmuUFAm5mvn
/wBHZQAAAQAAAPE6AAAAAKgBAG4e8D9lAAA9gyY3iB54RQmuUFAm5mvn/4lQTkcNChoKAAAADUlI
RFIAAAJzAAABcggCAAAAEWbLYQAAAANzQklUBQYFMwuNgAAAAAFzUkdCAK7OHOkAAGTZSURBVHhe
7Z1P6C3HdefvC0/w++3iXbQ1yULCgnkiWdiQRWSShQMDTlbjxcDgVWKRjUVgRnIW8dMsgrwJcgID
YmBgJqtJIBAvMlhZGOyFQW9ARlpk0FbeKbv3wA/eVNepOn26/p6qru7b997v5afWfX2rT5361Ok6
dU7V7fvgk48/OuEFAiAAAiAAAiAwgsCbf/bWA+NZX/nKoxHSIAMEQAAEQAAEbprAu99/98N/+dB5
1k9/8eSmYaDxIAACIAACILCawN//w4+MZ/211XIgAARAAARAAARAYCawiFlf/+YH69ncPbx79vzZ
6eHp9PxE76fj6dndKXE8nUzJu9NU3hxPdNV0XL7uHp6e+U+9THPlaSHT1+WlWZlUyh0XQu8fnp56
mdP70+n+FB0f3j99/vT+4f3p+dMTH4NSL92ffvX0NB1Pdy+dnv3qdHppqiioe9LDtoKPVptEqSUT
S4/4uNJEMpRGksPXzFZw9n1B8gRDkkk1BnoKwdxHEz3qu+nT+9PdU0/7/uHd0+fPwqMj/MyUjPT0
/b7s/bvT/bOJtiX18P7Z86fh8fSUypjj1HtzT+VtyVrD0j4jW/K2GvTFbKsl+/S9HPRu3T4Xtqqy
z5dOT391ujf2Nlnd3elXz6bjwubl/ZW3JbomYZ+yneL+EHcE9chEXvSFl0b91WxLZJORfTr9hX1O
Zyq25C3K26e11bR9TpZpbNja53LcWNj8XCGV8/ZJYx31fmLc09rSwj4ztpS2+dwY5fh7m8/Zpztv
R2A/Jge2JMjcv3T3lOzNWqB5P50JRlE7xhpLjsZ2QViMUWKsW45LExPqkUO/Ht19avQbFrOa28AO
+vY4Dx/2vRm4vVv1ZdzN4G4J51C9W6UhzyMkV+FvpKmMkEk1Th0wHa0ce3ROiFwRS7K3E91U7jgZ
gXt/bw3CHqcBQhylW6WB27nVqdQk3TlU71anM67W+dYkp8ga0vugFE0C7FG0hdrryjtjdGdo4uKm
L1a+u8HnVi9N1kl2rlT0FxEmCcTQS3MySVuSL/rLDE9Gpj06t0pDkh225sHL8qQyljzdHk4aybSf
uL62VImtGZTNYG0/DRwqnaGhnMtbt2qlsXuWtkRcmGfZlhxznvCRfZLmZO0kzR3dtMbJ9LUs7wtj
mcI+5bTPyXOUiBUPSfSeB6zJcZqBzB+nQW0a2pxDjdxqxZb8FM21ZdKfaNvmcY+5PvLu07rVqSRN
dFxfTL1G74UtTX3BlIgZiXYk3SBOVudHBjGt4f6ikSSyz9iW5gn6gufsMkO3amlbu7W6efuc+1ra
qmtLYEti3CO3Ku8122Z/d/v2JmzJW5SkN/MUdu4sn8aicNLv7ia+g6g3hX36KRSP2H7c9uMnWXgc
lkyOU9qendLRGWuf5FYXY+zUF96tCp7CPdMdwUfbXrq/7Ii0sE9hObMNHfddc8z67D++zK25+x+f
y5b5maa9gXjW5mKgMHIdGa0WIgxNtGq7P5ptKaJVipM00eoyJijNCtMzODLGlmhVzrs1s8JR0aof
wqa5/xwZEGFFtOqdYnO0OsestWiVh8UhEcYim5KLMFy2JhG1JGIC51YpwmAXG9qnJlqdB/RatJqw
T5k92iBalQMHZz58tOemmDLLNY8n5Cp6o9W0fVpbFdHqbKtBvDXbZ2O0Sm0Rd6Kf+s8g7D3uXkH+
wMX9dtIpMzSUxcln1HTRqszpKTIrHdGqi1zd1Mo6TbZ871x9Zi4RrZKLpde3frvBxX79ja//+MMf
692vKf/tv/qnjlroKhmzNnhW6VOlc3XpxKQrXdwABFQMfKn0r0AeuWeRulx2DMn00WoEch6e5FA1
vTdx6lMbrU7HORlcNFYST4nf+bgwFm84wY3kkt6J+SClX4I07NIAWaZMrSxuxsBYhUw5rZnlLNJ0
6VS8kC/awsMQDUDz0UWrJgXkYtmETS+GKhoUKFZ2QwYNHPNxmQT2AsnR+FcxWecsqmSfkrSwpbp9
yvT+YrEj2RdRks3pn7dPOeETdwYnfpPpX5/Fkf2rsKW5L0Ruxjt0jlBlQj5t8+nEvi9rmxxN9Tiz
NS8bzUsSLlrNLRU5iMI9F+1znvB56/HjEv076UopoT23V/T10q6o36kVs3yX6QmXupZjnbSlxcIH
jUupJQ+Z/nW15WUu9J/1TI5RywmfdaWU8o2OIv1LGtjI1S8SuUxPwvrC0KtoS2zJ5POU+20pK2s8
a1N59qwdV/Vkg9mtvvje2/xHKG0GfJpF0tHnysV7nyUPSk4XuxVZOyMx3TBJIJn0nmWK98Zwnz/7
/Ml7nz95PBmxL2NuV3o/yeSjlWQGenu0He+Pdjib1vCmldTJIOx7OvrzZoix76dB57OfPP7sJ297
4zFudSr5yYdvm5P0fnK09kj6T+9ZN3pv59ruKEpNZaeSsi2yvf79QuY0BHj5MytHjgn4NVpb0suf
bvuUfOtIUjJto2eZzHOS6diSi3Wc3eAlyFv+xM7JIZn2nKvXMrRnaG3VOVc64wd0X8au7XFJJ4ec
tJeZsyXRF85WE/YpbIkmbZ6A42PVd7bq1hG9rTLb5X3h7JMGHdfjZCmS52yrbp3VWqy1T2Joj8ah
0tGub02qTEe7zuonTuK+UNgSkffxN7HlHvM9Rczdqqrjb/pF9Nr8ftGnxIruafsStiTuCGmf870w
Tdzne7xqn5MNsx3ObEv2Odswl1+MIa4tosepZ4P7yI8/0xgo7jW+75ZjnRgzA1ua+8LEo/MdMbGl
+4J7wY5LLiE8UY3uIHfGR67WYud7f6k/j07CPm2d5r5mexO2R2ur1g6tfdJ7crQ83vq+iMZk6lO3
g2Qe58W9I8aoWefZhNrfvfra67m/dmH1K+p7g41PJbdKDvXB99/lP8oG0+zs6b++T39ffPre9ObT
9zddZ/Ut61xn/fznjz/72WNz/NweC+uspsDkUGktcHpxtDTHTH611ZrhS6fPjLv98O3J6dqjX7mU
q0QTMVP2k3/+7if/bLy1j2J5hcatGWfXWT/50Xc/+sfvYp0V66xYZ12u2WOddbFTYRplsM5a94Ol
EuSPZYn4THx92rOSN2Wfajyo+SOHKkWQx6VI9P633vzSb71Fn07vX3mL526VGZxMv7DDtG98EsDF
eS6B4Gsk50R7xuZo1cUEfl48r1wsolWq5+XfeefLX33HvDHu0yaEo2j14b0p8OXffddFQrZxi7k8
6cm7gm0Ua858+Y13X33jXXM07437tG0R0eoiaplaMc8T/c5qv8+QZse8zuo3I3g+IgKmNlFkwFGR
29LFM0TZFzQrtEe3duWiFh+Nud7gKNOl3F3ifRGt0tzWRwY0b6V1ViPE5QlEX1B+wu8YlFFmNlqV
m5hsC12KzAoiCS6x7BJ6TntJJMyseAJ+Bp20JdnqQKbf9Urc3PofRzM+svH2yXvgRe/M2kXRKm1i
mmNWERlwtDrtCqb9mXO0OtuLiwkoe7TMfFC84rIg1mJElOl7hyNXGxv5CIl2Ai+yCFMCn3IMzEFG
wJ7abJ/U+9ZW7RKJiFrmviBbdX003xekLdm5t6LZlty3EubI1S9YWCtxmRXKrwj7dNZrxZHFkm4+
OUzv/X3hudl7c95HMr+fxyVhfTQCLCJXri/qC4pWbdsXWQGXM1j2xSJy9fke0pa/VTEvDYjxxLbW
tWLZFzKz4iyFI1cXrVJy2Ear80Ia5wUpWvVju+PJI5nMrIh0Oulj65P2SRrOHd79zjwWKf6rSqPH
FLJzpTfVZxemPSu5Uv6bGuY3LsXZ4HlXsB86ZQ6do1gTy7ro9tMprjW30xcfu6P5p3lPRxfNnU7T
mY9Nync68q5gd+bJex7HlHw2aeEvbHLYFJ7Oiz2cduiIdgX7TrLrrO5l1lmnKPZnJsM8rb+aOHV6
b5LAYcw6fW4+Fclhu9pqo1V+OWMkTexril//2cavzyfvO7lb/ylHrqaACUb5OMl8eDed+dF37c18
95F97wY+07scuU41MLnF7r55953bp827f92uY1uL3xWs28lZ2hVsV1lo+5IlKfjzKvvURxYK7+Od
d6W6GbdfVVLvCpbSvHxBZBn9L7bDTH3l9nPyPknKImh2cood2tRf1FO2P+xR7BRdrLO63peUHCv+
ooLbWOe219lPyZ7dVx1qu4KpdrFjmayENHT9Tr0/Hf0+XtpfTTynl9+DSvu0C7uC3d5gt2pe2RU8
yfd8/G4MznJRj3iewW550na+s9wNJtYyS7uCaWPdwj7n/e221XOPyDVXucOZd66SJt65zn3N66zz
rmDfF/VdwbYvrCN0R+od22t2P7zYFTxvX/L9JbM41WiVCM88/W6PyUas3dIxvSuY1lx5V/BsK7TO
utgVTD0yWx/fcby/hDVJ7QpmW3V9vfv/2Lkq3apRcEA2eDHrsW3m+My4VfNPE7/ev/KmeTM5VP+a
/KV5+bnnl157yxQzJz635w3K6Yz9my78+D0j07hP8/7lR+/QSeoqk8udqnj0lglAp8vNPxXrrHTx
Zz+z7tOEmF99h1ZY6UXrrNOLk8B8xlxlV1u//Ls2lrUvuc7qzrhowLRj8XLzVnfOffrqH/zg1T8w
otxgYd6/+o0fmCKTQxVz81CWmUZ94wev//sf+NU++twesc5aWLMX9ol11sliHCuss073jo9W5X1E
+w/s3eV2gUyfYp31stZZg6G49Z8cpFajVZI8IBssZ+gkVH7zzJsgzzGdg3CulOeelHjxL1OaYlbn
gMUs1W1eXzonqtG9RMz6+c/fmxZT7VF+14pKGof6ss0Gm8DU7g12L/pW6/SKXezsgNPrrI6AT7kE
/becawsmNEMU9Ob3ggm9ZReLdVass2KdFeus4iE2+D5rMOIO+2eQDa7KHZANdjGr2GjOaw/ezfh1
0Onf3p3wqgMVooy8f1Hkarzvy49ceMrRm3VBs3Nxzia583BaSZ1iWfqTu4LpKlrHcu+1MavcyuSu
leus7PxmVyk6IbFDkpjQyis5TiLD7+0b2Wp+1pJfG5PRLEeu0dqtW7UKdwhPkrHOSjsVsc4qdlb7
aaVfYcU6K9ZZaVWVdgVf4DqrGInb3nISOFhzLUgZkA0urLNyxfl1EY7bFjErXUjf7+T3wmmFETCt
ZrmiveusrG0xZvX6mAdE+JdmnXVuRRBbW2fqH8ToWs2TDOZmHS9PShZM0k9f8jKxzkrUeN3O2xV/
e3iyHKyzYp1VPn3JrQuKzZVYZ+XVVvf0pQOss8bfomlzmLrSwdqq0rkOyAYX1llp6XTammRXWGm1
1TnIxWqoPSdiVlpJnbYm0XKsjeTMYuokzX2T1bkqOjmlfGkV1qy29q6z0j5ht2WJxKfWWc0Kq/mE
vsnqdBPfZ6XFV/eVG7srmHYI8z5h2jxMbTIrrFNhu3GJY9Zpm5K90Cyjmla/7tdczXl/4fSRef/R
P37HfPcG66zu+5dubzC+z2rj78R3QMX3mMU+AKyz8i53c09hnfVav886jaipr7TyoJp7Q9uJ5afx
mfha7TOYeG+wfKKhOTntH04/hCx+nKFzJ37X5fJZLdE66zQ8BI+3jh7uP28gn3cGqp/END89RDyJ
KXj6UvZB/I5kz5OYoq3nLmZ9/sx+t/VkXGnp6Tni22l+76JMPNN7e3RPQvFPdwoevk/lgoewL3vB
NdLJof6avzoy8klM/Nj9/NOX5OP4vR3zd4tpGpR++o8g0vVUL2JSss/56w3Bs4SSfeHzE6yXa036
SUziGTe0D3P+ms1GT2Ja7CRwX/2Xz6eNfhSB9xsvLGr+yorYP+F3h1J/zbYUcKs8iSkYxhb9Pj/9
Z+STmHyNJVsSj3Gd+53zTPNu85YnMQU/OBH+7ETqucFWVafn8u4Wj0h0+8N19unGk/STmAL7zPRF
ZPNOpvwWid9XH42PXiZNAS/lGUx1z5r0qUn3jucGZ3/lZunGcs8NdqGq2SfMm9Htt/38rYLnBovf
uskOOnhusJ9aiQmW2wUd25J0AolJG93oeG5wOGlbTGbdF29ogpX5lRs8N9hNsBaTEw4AhH3Wnxts
flq8GmhSAXq6YVN5frphx1X15wYHjwgOnrwftArPDXbrrMuZqo0IxcMBgvfBzGx2pSKOlN//EvNQ
EQ3ootVFrJ+ezzZFGCOjVTw32H7fmr7DmjjObk0MSRtFq/OjNoQrFXFSJVr108cmW0q6IvcbWfzw
DfFdVfkNgsVAJDIrI6NVn7HAc4MP8tzgD/78D5Vuta8YedbWWlY9kV+pqJ99uIcPuH3C+H3WOPUq
0jahUw4SZd2Ra9K14/dZferYD+v88ITwV4SDpLp41MPibuAn3dDjEaK0G6VJXTST//1gGWtGv3gT
pN3oMZuaX7zR2FJyaSC84TeIXJPJQ7tZD7/PWrKl+gP6fRrf/SCje8ZW0T79893kok9y6cpOzjt+
8UYsqeQXrdxYh99n9XtW8fuscodwsB4zpXPtvHvxxBO5PiWeeDKXTD49B7/P6n+xdXoeDX6fFb/P
6p7nxWu3bjkAv8/Kv7aL32dVhoUDiy3WWQfKhSgQAAEQAAEQuDUC9Ot19e+z3hoXtBcEQAAEQAAE
1hCAZ11DD9eCAAiAAAiAQEgAnhU2AQIgAAIgAAIjCcCzjqQJWSAAAiAAAiDQ6VmD31gfyHE7yQOV
vDhRMdXhnIcLXAn5jPrcZtUr+wuXg8A1Eah41uBBi6bl60eNWGYMlGpprUuW75Og6Vqpv6a8viEd
7WVlcpq0ykz2RbUWJYe+YhqD6ZOcvCq2Iiq2nUVplA/6cX23aipFGRAAgT4C9ZiVnj7MzyBW/u5r
WZtAZlx4SC1G7Cg5gYasv3KA20gNaiD95TQZUnW1lj7jU14lbW9Ic5T1JoudXYE1yuNaEACBfQjU
PWugRzx3ppBipbpBVMQCVwoP5Mh/ykCEI5K+VgTRTNyWnBpUr2zjqPbmYqyV0ad04bGoXCdKvB0R
f7JTqrXzVSubnLT/ZCuqKhXMr8/wYvthqx7b6m71cCEI3CaBumctDIXmo75oJh6CZVgse0Lzez1c
nsd9UkyOrX166m2Ca4yZsCbxR/IM1dXUXjmwamKpuDp9A2MHEyOtQh6lQJkkOzDikzOtXNsDK+Jp
U0A4aGxcUffdkVMsvhMLVVT7orvrcSEIgECVQN2zljO3fVPj1sGu2oxqgaSeNDDJgbgqJ4gJeLTV
OLZchKGsNFnsjANoX9evaWzftR3921eR8qpuq0veiZfSC0o4KAYC10Gg7lnL7Sz73eMwGqtn98xg
rBrnxXsRbSElyf2cF9dGtV9EL2zUdogFgcMSWOtZuWEHGbloGC1EkKSnLFa9ZIvOOwiu1qYl2R6/
LcqMAtPYyDw2Est5lNbeRHkQAIGNCKzyrBwNlJ1ZrHqwYiTlyMKjoo1uPTugF+qKPwoa3tFeJknO
I0eSGlL+tNDYoJZAFPutqjLdCgS6lUlKPxpr3tGnmkvipu1gdYUqdmu4Bg7KgMCtEcBv3ezR460z
jz10OncdYLJdD4DtdmwhGQTKBOi3biqeNU70tSbWkgFrHIIM6a0ttF2v/3bD3LnaSzFrX5exznoJ
+zSTm1NObuvV7uOTuyqpVU6Z7UxubKMgDQSuj4DKs15fs9EiEAABEAABENiIAH6fdSOwEAsCIAAC
IHDTBFbtYLppcmg8CIAACIAACKQIwLPCLkAABEAABEBgJIHFDiaTIB4pG7JAAARAAARA4DYI/NE3
v2EamtjB9MpXHt0GAbQSBEAABEAABEYS+PQXT9KedWQlkAUCuxMws8W3v/c22Tde10cA/Xt9fXp9
LcLe4OvrU7QIBEAABEDg/ASwg+n8fQANQAAEQAAErolA5RlM61dev/7G13/84Y9XIhsl5P2/fi+p
CZqp7KBRHTHEJOLezGULr6x/h9AbImTTG0rfv0rrRTEQ2IGA6hlMZkhas2pFdZh7+CBCCgPBQTQc
wupmm1nwrNfUv0OMZIiQTS0NnnUHN4AqhhPAOutwpBAIAiAAAiAAAqfmdVb5A3DBj8GtxMnSqnLM
pED5VxVVLSC/46v/vm+sXrWiagEps1q4qUCuT5t+eDUWotQhV8urr/1I/unhK+u91mLUEcdp3dH0
OQ4ZaHLFBJo9q2HxInqZkytvZvp1DvojURqB5isWyT9zuTlvjusX2AIheoFSMSOkzzHkvOlAL2s4
xx1KZ/R2b4UYw5j/lD1IVcR9bXyqOf/Jx98wf4//cirzzl90MtS3Yk3JV197RH9rhKy/lkjyTbRe
4CgJ3MWa+3pUpZADAuci0ONZk7qagXjNPSN/D6tpXDDrZ/Gf0fDd7797LqZcLytGnr7VuSrLK4uV
aTxYvkxhc0L5i2nkVu0l7s+8pzN6k5Alya2SQzUverKJeRnnesyXcaiffPyE/s7oXOWPxzXdRAWq
PIfrJs9WhOC1myEuvDgCwzyrGYiVI2k166sfjvfBTU66w4HRqERKspC+oSoOzWXb9ZF0QIwCVusI
F68OsLb/p2jJ/NH71tfR+r1V/47yA3MS8W+ydjjXQB+2XmN+3TZGVtEBB5eAwOUSGONZeVSugvC5
x2koTy7v8eh8kLuRAiYaVijDrH+Za2lIIiFr8sPGMQd/ejWqJZMBq7mqL8jgELZab1yAnCunf6kA
j+8cxXZITl4SxJc7h5vULrIK2czc+UKrY7dKhVudK6cHpD6k3prN1cmOrs6wR/Uy5IDA/gTGeNZG
vU1EY+KkB7SWJ4+NcvYrzrnlpvHFDJHkDtk3rMwPj21wOWClmY1maOYglQpzZpgub9XZSDDjO62w
0rWUBDZuVY77rWK3Lt+6zsruUzotMwnLne9wq93OVc4gh7jVIBtB/+Tp+A3mKra2Rsg/O4GzeNbJ
rZJzjY5nB5JQgCPOVuUoZuWghOKAOD/cKnZIeRrOgmiV/0k+UuNWefge4lZJWrzmarzsWLfKu43Y
I1LA2r0LiddZW3uH5mpkKvLa3HlZhpMKuexCtUBSW5pHkj7mfdNsMimQNyfSTIt86rsPHpg/+iec
a6vZoPzBCZzFs84O1Q7lNL5PRxpV9WkiCge3+IqL7DbyhR1DDMesHPLK/DB73KYVrGDBtc+8yGsW
/titdgSdvODap5t0rsFWpjUCg2uNI+Qz5BTlPwdWpBdF+Yy4fO68nNMUuol7uaxJvOLLRtu3MyBZ
HadJjE99+8UL8wfnqrcQlLwgAmfxrC5aNa7UpPhyf4eCyCthTfuYkjEr54c7XDUxkXuhKbbo2Aid
XOSWc5rc0t3W/aL0BGvUoGaSN2Wfyv9Uri7LYrFjVgpZ04r42iBC7QgEOW5OTuCapoCFppFbpZiV
netYFJAGAuclcBbPOsWs5FZzL7O01hEtDUcpk7fkw/RfnqF4mrcdkW7S13bvtwxiCHKrraNeHLA+
/svH9EcfkcK7+ddkd9Nq69g88NJIHpD7YV/b4Y2GWF1gaSwzdz5XaZB3bdXN2BLRpmkfWe/6bHCr
GigPApdO4CyedUO3Khc1V/aNGdRyq19VNxZ4UA4FpK/tHrNYOO06bt2xnMPy9vfeoT8u0Opm5Fam
Jvi8W4qcnFDAPYapSZq+MM8h5Bv95eySk2/KctiByWK8jTxIQlTtrUnnQmHeyh68GSWf5FCcytlg
82asfEgDgbMTOINn3TpaHTjFXvODBMHzK6inR8WsHAobV93X3jgbzM954KRia9rArqJNz4hoyoW2
1nL2e0YqkPTNyhaRc+WolGdIufPJhlc3JVQLBGLJnHhxt7zK29oXdu41baeQ2WDzT/1jSVprRHkQ
OAuBHs+a21BK94zmZZK9uT/lqKSpZWwZM95Rgrc7ORnkh8k7FpTMVbTePXOMmNvEZLTi7cFjMZal
kWIctlI2mL9+M1YTmQemSltjdNInWN2U+lcVDlbieZKUOx8IDLovrq5aIL6EPb18U22IvoB0rhSt
wq3q6aHkpRBo9qzlPaVVv7jycsJa8G3yy6Mr+yB2pbyztyNMjPPDwRdyktoGV5kyre45B4EcZ+6P
3EO1N+OBngJfcswr+W99uZxekMJ9Oq9MKQf70bjVufNbYwm2r3OCemC95FzlV7wGCocoEDgCgfov
n3d4EW6YmfZu9/usysUn0p806fg5SaqlDGHTZgZWUmi1UbK7mRpb3LOZZX1yzTTnzXwl7qwgq6+J
TaWXTTZ8iBANdlmm3AWxSsm5QlKIZtO7ZLuDpeH3WVvNA+WPQIBujeaY9Qiqkw7JZ/Enn86/Ruex
60xrNKm2er3wG5FQTZxogtchQsYCj1XSyy/kVDTJFX1FKAkCt0Dggj3rLXQP2ggCuxHQTFV3UwYV
gcBFE6hngzueQiCJUDb4IEIK2eCDaDiE1c02s5ANvqb+HWIkQ4RsamnIBl+0a7lZ5SkbXPGsb/7Z
W9cEKDcQoJmX2Mv6kffK+vc4nbXpDaXv3+MAgSYgoPKswAQCF0QgF7NeUBOgaoEA+hfmcXwCF7+D
6fiIoSEIgAAIgMANEsAOphvsdDQZBEAABEBgQwKLdVbNd9o21AWiQQAEQAAEQOAyCfBzScMdTMpn
L1xmq6E1CIAACIAACGxFQD6VqLI3eCsVIBcE9iKAbS97kUY9IAAC7nl/WGeFKYAACIAACIDASALw
rCNpQhYIgAAIgAAI1J/BtJLR19/4unnay0GEvPF7b6zUZP3lyUfGk9j169yjaBeerbOSgNFwZ+G5
bDD2663syvNefhH30XGGPmgSmOuooVKCbVhnXfPT36YlR/t1FONZza6tM44IxqkUkB6HdsePAmmo
HuoHUkgZjdooczQCl3IfmWH3sL8V1tSnRxvJjwxW9Qym44z1Q1CSZ10/fWOjbLptzDP2LmVEuB3P
OtAYmoYqFJYErvU+GjJqQYg0leP7eDyDaczgZiYfmr9z5R5NvfRXaG21wBhSkAICeQKam8iUOdd9
hK6TBMwvATf9NdF79R9ebyq/vvAP/+anb/z+s1dfOy3/TBsXZ7iMpsa2HUw8TJffaCq+pjKH/fkt
0038u5u5IYnLrF/lHdinSkvDODuQ+dlFbX0fBc777O29aAU0v09MZZqamXOrm7rb9//mzc8//9p3
/uSnv/Ebz7y2r784nV6cZh//0ZOmdpzaPCvJ5l9CDt5wzYcao9t4HLK0jCkDl1OORI1bpXy++TPv
Yz9EbpXLrGm9VGyNnNZrYWytxG6wPPnUBw/elX908rJo6CPFy2oXaXsWt8qgyL++/1/NLtfXX7z4
jdOLb5k/+8+T8biP/l2bqTR7VuNNTU3x7JJ//5IKbPfSRzPKJOcD/9pO527JsgnJVFghaGOXybUH
zlW61Q4Nkz6eel/v/jvqPcglxmo0mrB1BeXpn0ohXFEshOTLAsEZ+qi1Ik3TLqUM+1Sj8IsXb9Of
ZTI52lbnanxb3HByeN1A5LUKOTaaqvyZNGa/PpqGvGonJcmjcZDyTyPt7G6VlfzOf/63F4buyTjU
/2n/ptcvf3n35p/+8I+/+ZEIaivNavasRl683YDHd/a7VZo5B1m9sLVA+c4xI84L/zrU6FOYFnCq
gFAUGsg9xdLIufI/zZumzSNV+MkfGG8dvKq1HKGAsZqyGuTh2LrMG+nzqpcHwmN/GZtuzpgPZdg7
9x251UKlTc6V3NVwp2VSpiy5NX26M0+u7pNfPDFuNXnsUOm80Wqg8Mvf+tbp9L9Op5fNjfPmf/k3
E8KaAj/826+ZP+Nila1r86z0xOHg1eFWWULgJMp+QtmkpmKtA1xBeDJR06QMF85ForRoaooZd5j0
YeXqSCwLocLdbo9XcINOjBcL+iBcwVWBda0xNvLQkkksbY3849AeeB/FjeJscF972e0FzrVjQTFQ
gJyrxq0aKyj/Pf7L0kyir+HJq4xbNefj43Tymx/xX7XGQ7nVN//0/V/+3VtW519WNS8UaPOsNKZL
cSvdauAkts4kryFVvTa+KzT3SVJscgZDJSkPH2Av6MbelMrQP4PUffc+oGBRgNWIFwuq9MoFpLc2
JeMJ2Ur55vIgpyrP8EcycOR0Lp8MPmU/xwlhI5Mi10B4cGFSYHcDKZDtvnz/CwfeR0HAyqlgygbz
qylsjZ0rTwX0rPwlP2IP3RQNS4OMKy2MHnoNdyt5ELf65p9+5+WXf/rgwU9NYGqCVHOP6lZ7spya
PauUtMatUvfHTmJsclJvH0MGIDkodLtV0jmILPuwUwcFjjP4J3nZbueqJ7yyJHtrkkP/XCmz6XLO
tQbJVYomc5/y+Vxd8WJEWWAsJzBdzkI3te5QhQfeR4EH7WhmHEMHzrXpTvcrso95ssPOlc50pJrL
jrajyZpLXnntkfkzJfkNr63aVjziP420oEzsbk0E3CFHeYnxqT/822/bTO+U7KUb8KMnH5m/7/zJ
d5RCgmL9nnWNW+XBcb2QvmYHVw1xqySTbrOmmy3XBNrQm4vjNUvaNH0xJc3kPZ7JkgRZpg9m0iuP
ddXG/cvlYf5nn8LJq2Q0SUEer4zKf9L5gfWuFBWbLjtmI3mgYa/Us/XygfdRa9Vbl5fWY98/fvW1
aQZM+9D0Q0ecZdla83PJ39StmkYlV09bNwMHcDo96xCPGAsZOxwr7WD46KO/NzQaFiIzTdDGuYFk
XSShXKasZCEsHtibO2SDNX3B3ldTmMpI9xzvQtLLSZbUmK7MLa+sbufLx95H3crHX9zksLJVQ7ow
2lP+zun0Dtei0ZPtkOd8k9h90/6ffvzE/Jl6+c00LeDl1Y+ffOL/NC2ia5Mlt3aryUpf/+8fmL9v
/NV7//vfvlDqP8Czlt2qcjzNudXuDTV97d/ZHPuU7LuKCQf5Xg6CKfIj4R37oehCDoVjURQr9ykf
X7VDNpiTulR7kOClEEHpXGUx3nzEid8hTGLTDdLUpK2sfUi9FyTE2EywpJpU3pTRTFLp2jVuVWx0
esf6VzpOcWpHEpjbEvf7BfURqXo0t0pavfz79sus/8FsFW5+Ncesmmi1aTw1Y7oc4ptbsPoC3mBy
KQZaSBFLGPR9VtNf8musxtsZ2jIzzGWaei2oKO4ETbJa33U7ZIOrygTJ4Wp5U0BjUWx+HUnmwHRZ
wyueL2qw58pIL6vxuLGcpFsNdiGVNaQNwJzr5qi3w7mSwfCEj98rY5s1JM21wZdWaWVULq/q11kP
5VYlls//z/SLHb/8O/MNnOZXm2etulV9p8bf2aCMX3ML1l3Ak3qe2q+Tt8fVBrLxNJpZNjlRdpns
VqUT5TIagbnmBYu4Y92qqXS3bLB0b/xevglOJssQJV7vTE7dOI8XBLIFgSSTuyBpurmwuMNt72HK
29chw9bgGUy+mxoC1uTqr0wXFxpUTR1XC5Bw+sadKUxZHKqd3wTz5u0Br63heG41fMLGTjErgeRA
k/eV0JsmzLnHhJaF5Fxy9ZmLTbodv3A1xKRo1RSjm026VT5DTovKrGwyO9fhbpUHFLkfeP+9wX18
LnHq1tfSw15FzjUOUulk64RS6f9yNGSQSmVaBZqo952/eCf3mEP6aIe+kN9YTS6vtq6zSp3PsrbK
Cnz0n75Nfz/687fM3x//+pc6eLbFrEqv1qFH0yU5l9znqpuqjgvLRGUwz5D/XFNLkP5tygZzSJp7
Q/MkGdp2qyofZNEtJHnhEbLBY1sEaQGBTe8jGhnk91nJp7a61bP3Wqsb3k7h7Z5gfF63OorYA9NV
9ED2pMTCRxoNjGuh30NdY8EDhQz/fVbzw/QaDlzmLL/Pyp2oeUO0j/D7rNWgnKmSdeU0N+dNGB1b
INtVUw+i8BYELuI+amr4wFHrOOPn1pqYxdqqW90CrPm1OPEyj+Of1lye/N8n337y0QePXv/gv31g
vu26CKk/nv6V04TO35xnPfsDSi5iHnMEz9o0kPV51rMbQ2sbUZ4JXMR9tLUr0tjDFq5IU29c5kY0
0XrWlStwFLMeR0ifTYy9qpAhOAiogmddr+HOwnMxqz4mHtv7kDaKwPHvo0MNfevvXDQnMN3Au9FM
XeVZ3/wzejbxlbxyY/pBmncc2jlQQzTcWXjOsx6k06HGcAJDrHS4VhB49QRoZFN51qtngQZePQF4
1qvvYjQQBI5DIOFZW782c5zGQBMQAAEQAAEQOBcB3iaZ9qwmcXwuzVAvCIAACIAACFwcAfmlj6xn
Pfhi5MVBh8IgAAIgAALXTYA3q5NnbXtSxHWjQetAAARAAARAYD2BxfdZ+bv2r3/zg/Wi7x7ePXv+
7O7h6dnzk39/9+z07O6UOJ5Oz04P707P6Xg6PTy541IPL03KNFea36sVMl29LM3KpFLu6IXaWu4f
np7S8XS6P8nj/dPTU3fm4f3T50/vH96fnj898TG44qX706+enqbj6e6l0zM6ilqn944G6e+OVptA
Q3/dzMSQ5DYuS2dlCnZCzsw56AvPTeqWorag53vK0z49uz/dPeXjw7unz5/dB0fHeSo5yeK+LvT7
6f7Z6endw/tnz8XRnKHzy6OXST21hS0RAWKzeIX9O/cr9Z29RmOfExN3L2Tt86XT01+d7l86GXs7
vXT39FfPpvd6W5ruTaNV2paIG1mCfdF9YF/BXUB3RLIvpv4K7DxFbZJJ9kN3/WxLyfvajio0tjj+
c08obCltn8JuqZfIhrX2ubgHnW5yrKPxzensepbGpewrb0vO5qce8XdEflwi/u5emGUmRxzP37MN
rYNH0Xtrb8bqjO0Zq7O2Z4gtx08/rpIt0Rgb2mcwvhGZxbhE9pm41wro9v/o0d2nDTHrs//3w6Y/
cxuYJrnjYpi2w4p3DL6MuzHc7eEcqjdlGnCtKxJHY5o0MNmjk0k1Tg57Olo59ugN15kvGfF0pA6e
juxQnVs1rtQYhz3awcIe7XvpVmlwcW7VDGpTmTvnUL1bnc7EbpV1sxraQTYwNXvGm5co4wdBOxSa
W0UcbXuntkQyXXtnGm4wIvI0xaFJiaDqB1NHnqnR8Of7xThLNwhOfCZpfJyGJONK6TgRdkdL0vK3
MuNhyzhOlm+cpdXeHs3wId0qvbdDuSxDJZ2E6Wae3KpzDGRFZJ/OovptyQ+HUhpZqeydBVtnmdTj
1AsL+/SDONun5RbZp6M32acb1KahbRrgDO3pSD3uBsT5zpL3xayn05aYkEWxLVkL9zznAdOe8ZNL
om2PNLmZ+svK8b22tCWrnp+MOFvyd4GfRjjLJPt0PN2dThZO9z7RJoFCpp+OE73Z3oibOyPtk+yW
nai3yflaOe1bjEXOlpwmclzymvsRiXpkHpf4PrLXCv2XYx1NSgTPme1k/+RWTV/MPWJEEfnFfUHT
I3cvzOOGG6vdVM/xpGkNWcty9CLr4qOd0nm3as/bMXNqjAtRvPUuR4nIPv29wH1tS8h7x91Z3NeX
8qYUsxq3ah/zZP4zPyNYOZof9Lj7ze94Q59uBvd+drHzTDOezSmjVTL0ORp23bCMg4P4LBmtWuXm
aCCMXDeIVqWpcjTgTTkxg4xmc4UII44MZvsLaCRmhZLeHGEUZc5DmIwwmqNV0jKIM5a3ziIeDWJW
il9FtOSljYhWfRYkkU3RRKsUq832OTRalZkVjlbJxVIkEUzqZhug/u2NVsnFRpmbZObADeJ+2reM
gEUfO91WR6vSbDIWVbXPraLVgi1RTiWw+VQWyk9caEKpilatVF206u7EZFTtJmo0Rg2LVpdTQGOT
NJJEmTkXAJCC3/rteTpVdbHmkZnm0RbVYlzAlP/2X/1TRy3mqjhmrXrWhENN/cCy+ZnA06//5ndd
HCnSNf42phkcvaKUbypltxgeAvcs0gXzIOKiKJ9GSxFNu9LJrZIrdcfE8OFSXiSU0h7uNSd+k+lf
nwD0U4c4Ne0NN3SlwsklHK+LMOYEWhQhL12CNFmOVn3sK1N2qVtdJusotUtneL4/p38pjebiVJkC
ivpDDH/kIKlE3ZXSPD14RWlAcmxeZiIZKy2TpnpVW6ISTmYiAegXKbL2KZY8/L1gh3v3Cu1zTq9R
XGUtj92nS8clXCnFdtY2aDrbZEvLJRG/5EGpeI6TvNVytDpHvbMTTafiOYZzU+1oSJX26bJQWcdM
5ETvk006N5BfmKD7kZYqUkPFQqafJGUXnmT6NG9Li4WJ5fgml4cWSx7U5z5D4xOu4eSG7VyMAoF7
nscQZ8V26rNcMlukqSVDSvlGR5H+nUfGYKqUGpc4mZ+e5Lkx003f2XpNFcazKh9B3/okRSrPnrWp
lqRnre5gSkar7rcnxW+aTrEtxanT7MMe58jSvDezNjpvQXMZKvnFp+998fF7NBBMPWRuyNPp84+n
kzSQCZlWMsnPybRu2MoRR6vb5BKm4/ThdOQVVpPsnUzYHe2nkxHbo31v11mtTGvc9N46g2dmbZWO
09oqvbeDNB3JoD0TO0AsKFH7plLTeXdMlrfS/FrdJJPI0HpYUqYg4JgQmbkvPEnqLyvH3pBOsnck
nidx81QnekzVulseyMyAZUtaVyHJ2/fEjvua1oEmtlSvZUhs6b1xpWZwkSusssyypJMTyiTbI/ls
n8225Dgs5EiZPiJ09unviMDmF/ZJ3Jx2s33O3GyEQjxpIDMOlY52fcscpzjVkLfnyZaE/Yt7TdjJ
3O/OPqUtsZ37fqHBne2fXKzrHf9+yhzI/qK1PbZPq5rTb74rZz09k8g+Z/2dfcq7iWVay/HrebN8
x3Nx79t9AGSrfgfAxJPKeBuZ3i/s0/Ph2sOxTtiV4095O9EX/v6iccmPh1Iyvfc2723Y2r+/I+a+
cGn5uV/S9w7ZJMkUY1EwLpE+fnWfeoFsyZFhq7O2R2ur1g6FTZJ98hjrbZjaK+xcjEKi38kmrQW7
ET7Qebah9neFX+ZpF6a6oupZ55jVRKX2N5wnufRjzvTG1jMdKSp9+q/v05/xl+a4XBN1kSvFB08/
ncrM6yUuNbpIjwTrrJ8/mdytPz7m1UcjLVhn/fznj02xSTU3J510o3WN8jrr5z97/NnPHmOdFeus
uTV7siSypXAfgD0zDUhuc5Bbw57sk1cHsc7Kd6VgMq9E+nU+rLNinZV3Rai82QaFyCVLwfGZZLVV
zypj1jhUZZlzzEqn7n/rTfNHjpbjyyDKvH/lzS+98paLLKebzUUtFLvQi+Mng/jzJ4/NmS+99tbL
j94xR/PenKHdg9PckGeIHPt6GSSJZXLM6pJvNn61s60pZqVXGK3K9Iv9fN4tydEq7weW0apM5EaR
q4tTRcLEzRZtWmaOruYYiGad/ihjAh+RcGzmWk1yfNrHxQRzunKeITrJQcwq+mLOKNBs1HGOo1W5
H3gZuRJb0Rdy766bfTu9XeTqolUZs9J7H0XJ6NZLm6Il3t0625KLM3itUWRW3Ew5siVzMdOb3pMl
zbYk7dNnU1xkYOf8IrPCfSpTcM4yXWQw/cuzdfvVyTKdtVFcFUSuPlq1kSvFr2Hk6mxgjlpcieX9
5RPIlAXhrAzV72rmhDDtSrU0eG82vRcRkrcln43groiyKctoiblRHEPZL8rNcORKsuae8L0jI9dF
zEq7f6foX0ar8xmWJ6PVpX3ONXJ+zq9bCz3F9xRSfbHIzDn7obp9roiiTHcUkai3eRGtJsYljm5J
psscuF3BZBneht37OQvlokmZP3ORq49ZXbQ6J4dFNsXnAl2myt+DMlqd6+fInvt3HuVkZs5GsXIU
EkbU9Nb8Xmr8V5VAP4jLzpXeaH4lt+pZX1B0yhHqMlRlxeaYlU4tdu49vKP4lc5P7z+d3lPMOm89
t4lNE5K65DDJ8dIYrlvinldHnn3xxESxU/xqyk7vf/6YZU6R68+nyNUc7Xv3Z86Y7jexqTljh7B7
9943aI5cC7uCaQ+eclewZ7LY2Sj34NF73pvndjjzjtPEFySqu4LFF5n8fmCSH+wK5hiLd4cuo7H0
rmC3A9PvCg7XtBS7gg0+V2NtV3D0lRtrS+HeYO9QM7uChS3xLtPsDnPXX4sd5v4rKKlodV7L9Hut
XRbH52n8Bo2+XcE8lQt2aRpX6nYF08Yle0zvCuZNVakv26h2Bcv9qI5/Zlcw2Y/YvmT7y40N0//K
0epsn/Nu/8quYLIlvx+Y5Pu96O79Ylew+DLYfBXltGjUWewDoDGNRiTb+y5jsdhhTuR5ndWt3HNL
qdU+M7fMdgj57qtKbm8w2bl1gW4P9jTR0e0KdvfI3O/kVkl/l1mxZai9wa51Nxa5PdV+b3B6V7Dt
WDcFtG2kb17IXpAhRnIHOGlCGk5H3sM/Ww7Zz94vdq56t2pUrHrWyWXSeqpYVY3bFsas7Eq/9Mqb
i9Wp5SzTCJo/tW7VnDGBLIWk06d0dGtR7j3NZAMl4jUwU+Dl33nn5UdOlP3nW+aMeUMOlV52huU2
kXDM+vJX3/nyV9/FOuuCv5uT2nM2hsA6q48z3MzaRTBi9m1teBooxNr5Yh0U66w01RB7BeQ+AKyz
0j4DrLPu7VBlfRykaqJVurDqWSeXaV68sCrrMyd/+pOf0ufmP7H7d/KOlA3+4tP3OX71szmS4Vzj
Yp2VPhHb0OXMjj7kaGMhxccHXGbWc7H3j2Lg6eW/tmzTa75G52CnM9MMDN9ndTkD1y9+Lk/RwGJO
iu+zcnYB66z4PmsqcvVZKJ8BcrGjHTlpZJNHfJ91EbnO4/k53gXZYI0KVc9KG5Rc2JqXGMasyQiS
11nJkJw0jj7ZoWbWWZ0rFXl5K8XJWTynYxHRhtEtyZlj1uV7/+lyVzDWWQ0XsVsS66zeGqf/+y8G
0J5GrLP6nahYZ02seWOd1aWieR+4W0ffeJ1V4w6TZTgJHKy5lgVWPWsiZhWh6ulrv/s1W0FlnZWV
kOuv7iTHlOxQZcxKTpi+n8fveSXJDmt8fm5qLU41Jec41a6zOofqRaiiVayz2lVb9/QlrLO6bxBi
nZWeHIR1VutCsM46fzvDrqKKvd9+Zdqt9Tats8ZfpOn2nYULg7VVvXOtetZSzGqe0GQXX41ilXXW
aQ/wlBmedicFzZDrrGZRdipmv8nqYgL7PyrD+4FpyxKf+ZJdSbVfs5lOUnleT502NPkXbVMy/zKf
mpjVLKbShZ/97G0qYhwsnfzsJ2+bwlhnxTqr+G5ouN5vLW22z2XkSvsb7for1lllFoqmwuI7nVhn
XXyDHN9n3eD7rMbikl9prTpj2k4si8VnkkLqz2AyEapxnrQlmN+QLOtU3ddy5mcw0abz0lOTnPvz
O+Xko/JCJd1mcY4G5NOdWp7ExA51cp/zAyKCB/GLJzElHzuefBKTfST6qCcx+S8Y8IO+fDpJbldf
Pl1FfDHApVlkWTcr9F8d4b2L/gGTvEuQU5q8hzMyGPF0lflJTJVH8M+000a82IGpexJT8DhDkivk
BLs6eTHAPd59tS0RZXqF9jk/ymPxExGLJ3CJL0F5MfQzBu5VeBIT1TztDAiexCS+uMW97zI99gst
fndCVE58PYmizHl/dfCDE7Q3teNJTMmOF189imzeP25zfnpU55OYFo8znJ8ONv9EBLGaH76vsCV/
j6VGOf9c7mnDWvapXst9JNn72j8axT0f2z6sw/JfPHx/8QMh3ibzY4WLGcWuFJtdKPx4ibvCPtSw
9iSm+Ws2tA9D/MRC1j7lI2/TY538+twFPYOp6lmnxxZSWEovcrTxk4QP/txg6Vm5LXhucPS7Q4Gr
cO42HBsXQ/CKX7lJDmTLyuoPO8Rzg+lXbvDcYLacYJrFU5barzCFjjY5XQvsM/GQSzGp4nVWdrSz
G1s87FBKXU7X/JTXfvFmfsyh4ldurMxre27wu99/NzlVi0+apxWa5wY3leenG7Ze1fPc4ORTguMH
9OO5wemfjePvjS0iFTF35NlcOItvetZrOloNvs+6/Am/TLRKUUvwSkareG6w/A6r/MFEPDdYfpM1
tCi/+jg/AiJ4FDueGzz/VCJlKPDcYEqYf/Dnf6h0q33FyLO21tLzRP4m/fi3bugqnxCmOVfiNwu7
f/HGz+lIpvv68ywt/TuI0pn5Ztk5KX6f1adJfR9lHuC+VeSqiQzw+6zx7wfj91n9RkW6t6eXwpbw
+6zLHxgQiVr/eAd67lWwqCQf9TDsF2+SiwJX8fusI3/5vPQzxYtZPN0EmV+80SRbFj82pPqVEikV
66yip7DOGv4K0DyguO/shr+ehHXWtl+8SU7Psc5K4QfWWeegq77O2hTp7VlYmw3eUyfUBQIgAAIg
AAIXTeCVrzyi356jH6RLx6zms4tuJJQHARAAARAAgX0I/NE3v6H1rMbr7qMTagEBEAABEACBCyXw
/l9PT19o8Kxmy/KFNhVqgwAIgAAIgMAOBCgJHHjW6jOYdlAMVYAACIAACIDA9RDQetb4W605BvSr
OPzaGZVez00VS/40kKbGpP5laU11NRXWKIwyIAACIAACAQGtZ1WCoyc0yZd0FaPcXkGOfFyUUuct
inWrkbywLE1fF/fOFk2GTBAAARAAASIw2LPGWPXjProEBEAABEAABK6AwOaelRlRoBlnI5OpY5lM
Di6pypG9wteW69XkSDtS3PElsqK4XRo1JM+mlHuVW6xb7hLqxyuwfjQBBEAABLYgMNiz0o/hJJ2Q
+7U5/7Nz3Jhk6phO0ghO73koL8sJGOWEBFlrc1U1ts6luAu9El8iawlq5CZrujnWv3pVklsue1/g
TxVVcVX1QQEQAAEQuFYCgz0rjblNTqgcC/IIvmYoX3Ntd4x4HRYzhP91oEArQAAEQEBJYLxnVVZM
xTpiryb5owpfip6j2gs5IAACIAAC3QS0nlUZ9imX35TFqq3qlhNkrasVbVGgW/ktlIFMEAABEACB
UQS0nlXpBgKPRaEe68qfyhyjzAbzemph55GRFsuh8DfeccNnqAAfSQi/qjSDdrGeuQulJqRY3GQ6
w2BzTU6ej2cG1Q6K4UiS3AusVbI8t7daXRUpCoAACIDAtRLQelZlzBp4rPiqeJ9O4OHokmCxNqZf
liPdGJfU+9FkZyf1zJlFoH/AIVCJhOSarDxf7aDcTCIpX8P/Wm8JtAsEQAAEVhLQetaV1Rzw8iBW
PqCGUAkEQAAEQOASCdyuZ23KBl9i10JnEAABEACBsxC4Xc96FtyoFARAAARA4OoJaD0rdqxcvSmg
gSAAAiAAAkMIaD3rkMogBARAAARAAASungA869V3MRoIAiAAAiCwKwF41l1xozIQAAEQAIGrJwDP
evVdjAaCAAiAAAjsSgCedVfcqAwEQAAEQODqCcCzXn0Xo4EgAAIgAAK7EtB61urD83bVGpWBAAiA
AAiAwFEJaD0rvs961B6EXiAAAiAAAscioPWsiFmP1W/QBgRAAARA4KgEtJ71qPpDLxAAARAAARA4
FgF41mP1B7QBARAAARC4dALwrJfeg9AfBEAABEDgWAS0nlW5g0n+6Cm9VzY3WbIsIfmpvkalYkGx
lfKZjxEr3+eUaS1fltPX5C2uqtrGSs5b6AyZIAACIKAkoPWsSnG00Un+9KlyiEzukCpvm+q4RNmK
QrGVO7mYD1HiY67G1vJlOeubP0pCFWO1wChNIAcEQAAEhhMY7FmH6weBIAACIAACIHBZBHbyrDL7
F2QCNUlRyVQmnJPn45PmTJx+bE1cJ/VksdX0ZtksOrK+gf4kP5YT15vjr2xCkn+h3qSerFWhX3Kd
G3REWf5l3Y3QFgRA4DoIbOJZ5WAX5zyDRB+ljpU0jWSZapZXJeWQZL6KU9OxnKoOTfILzTFySA3S
gUpWs75BUj3Qn2WyknGTA1bsiSVPllPWny9hrXL15vQMapetK3COKZXlK40KxUAABEBgLIFNPGvH
OuvYVgXSql5zZe1D5JNXo9d6gYHPljGiFC4rlT6+ACQZs3L5XL1xAZ5PrISPmHUlQFwOAiAwnMAm
nnW4lhA4hEAQ+LIrpZmQJhtcyBkM0bAcK8exPrnn4LW1JpAPAiAAAmUCWs+6PoqSYdPZe0XGakl/
s6mGVHuAVDqtIDtKH62PZdmDJvsi/nQLCFvT3lr+FkwgEwRA4MoIaD2rcsDiqCJObLIzI4/CAjlU
CmKm5PnYI5blsD5cI5eXgY6mU5P6FORrZAYeLpaWExJwYKdbgMmiZHiak6Osly4ntsEbDojZEuiN
7P1ke3OiKDwNphet+jd1CgqDAAiAQB8BrWdVxqzl1Bx9SkMkC8yl8pTny3JYCFeqbEhMM6lPt/xA
jbIchia1KusjCQfAlfwLzjXQVrIN6s19VGhvrt/ZVQeKlcv33RW4CgRAAATWENB61jV1HPNaGUt1
u9tjNg1agQAIgAAInJHA7XpWGeucsQNQNQiAAAiAwJURuF3PemUdieaAAAiAAAgchIDWs+p3MAU7
VpTtTMoP9jQFopKfKvVUalUtVtawejkXYGjmjHwvC+ilUUmpW6BnsEsoWWNrdU3lq9x27scm5VEY
BEAABMoEtJ5VyVFuUKJ0q3KITK50lpc/Oy5RtiJXLG7LqAVauUcpt1+pVXmpW6yn7CkjOd551Fpd
U/kqt2qBpupQGARAAAT2JDDYs+6pOupqJSC/5dJ6LcqDAAiAAAgoCezkWauZSWVoy0nOOJ2YS6Im
v2cZyKkmJ6k8XxXDLeijEV7orTXtUhpBUzGZ7ecL42x2/FEuex90faG9sgv4KqmP3oqamozCIAAC
INBEYBPPKge7OLeZ/CqnUmkjObenN5nPpLr4KjkcB3Kq6ccgfSoVrsrXZ8WTCedcLrdab0CV1Ki2
tNwXkhtry/ADlYL+CjjE+puqC/0Y58zL8pVGhWIgAAIgMJbAJp41OfiO1btJ2kpfUq0rKX+HWGrr
diUbnoxZuSSrlNOtvPpbRZ3LFiQj3Q5puAQEQAAE1hPYxLOuV+sKJMjpxc77gwr0VjrjQs5g6y7j
eDcIu4/JeWsakA8CIHBkAlrPunJEDnKnZydCw3R3oNOxnle9hFO16xO2a/BW9Vwj3Fx76fJXNh+X
gwAI3AIBrWdVDojBHhPpJNiZ8don8SX3Jt8UzsceUS6dxnL4DI/pwdJgUzQZNCGQKesK9FzjLJN8
cu3K8cmVD4RXezmQL+PIZCfmOBT6JWcPhna8TjyQ8y3c7WgjCIDAPgS0nlUZs5ZTc+zGpD8LLuFm
K8/LhT15CcnhM8H7briBJy7Iz+lfqJraEqBOytHXyzID+MH5GF1Oz6BkUo68dqX+gRqxHXZw7u59
XAgCIAACGgJaz6qRdVllZDZYOW+4rAZCWxAAARAAgbMQuF3Pqo/SztIxqBQEQAAEQOBCCdyuZ73Q
DoPaIAACIAACByeg9azVvS3UTpli5a0oGgRJ+WUJyU+VempUupQyes76kqPazvYgbUMK7+gv2Yqg
RfGGrJVN1lze0YRReCEHBEDgmAS0nlWpfbyfRTnuJFc6y8ufHZcoW7F1MSUTpRr6RWJ9SWXV1WJy
T1Zuf1ZVSFBAtiK5ocmUD7ZrtVbB5TXENGXKCoy1h+7G4kIQAIFRBAZ71lFqQQ4I6AnI7/Dor0JJ
EAABENiIwE6etZrB00/bZcJZQpGJRz5f+HJka+I6V2+uYwL5UiXzPk4zJuUr9U9yUCJN6qmsV1lF
EtGa/triZsj1F3dWMvNc7kfJp9UetmgjZIIACOxDYBPPKgeROAeY/L6msrVGcm5PLycApSiqi6/i
kS6WU83pyXqrHiWQb67lS2TCPFCVqwgKa/RnUUP0VHKT7Sr3YExsZX8F6AiR0oriYoX+MoWTSPlk
MK2RhZlPhz10twUXggAInJ3AJp61aXDfAcGaMTcIf+MYJak/DamycFWHZMxKwqvXrolZC/yT9RZi
u1Fd2dTeUZWOkqPkc9FtHMUKckDgWgls4lmvD1YhVs41VgagrTFuN8AOPVvrCmKyg3iIg6gRBLjJ
uLwVOMqDAAhcHAGtZx04clXdzA4QZUy5hT5SJg2vyVq2qHoHekGIXK6R2s7HndWTKYezVJ3r4mu1
h7NARqUgcDQCWs+q9AFUTCbE2CWzM+M1PGLBKdMg0Zo8H3tEVixZnvWhivgYxBbVXgnqzXlKlhOU
D1YBAxSkTAAtpzmdz3Eo6KnhyXrmai+3q4oxcMnSWtgYgp4qt7dAKTBFjfuP7bZgz0mBOT6t9tBE
EoVBAASORkDrWZUxazlVyMkxmSULLpHOSX6UOy89d1yez0hX2tcHgfAqkFy7qHZJQJ6RiAKdZVuC
mUGOJxWL5Uvlk3oWuJXblfM3UpOCPvp6qQm58rEd9vVX2Z5zjdXYbXBtbA99VoqrQAAEjkBA61mP
oOtYHZKB9dgqIO2KCbD9VH32FUNA00AABJIEbtezJgMLWAkIKAkEKQTlVSgGAiBwCwRu17PeQu+i
jSAAAiAAAvsT0HpW5Q6m/RuAGkEABEAABEDgUAS0nvVQSkMZEAABEAABEDgsAXjWw3YNFAMBEAAB
ELhIAvCsF9ltUBoEQAAEQOCwBOBZD9s1UAwEQAAEQOAiCcCzXmS3QWkQAAEQAIHDEoBnPWzXQDEQ
AAEQAIGLJKD1rHjQzEV2L5QGARAAARDYnYDWs+L7rLt3DSoEARAAARC4SAJaz4qY9SK7F0qDAAiA
AAjsTkDrWXdXDBWCAAiAAAiAwEUSgGe9yG6D0iAAAiAAAoclAM962K6BYiAAAiAAAhdJYLBnpR+t
vEgSQmn5062atnD5ZGE9k7heeUbKkTWWa2eVAlHl84HO/M+qDkp0cbuk2eRaFJ/PNUrTaygDAiAA
AhsRGOxZr2Cjkxms5U+3VicKsnyysJJJsl66NtaHz9OnfMxZSSDcXMKqknCuhSTEOse1BGeScgpW
myuf45k831rpRncRxIIACICAJDDYs146XBq+ZSuqfrFaQMOko16N2LJjq0og7xtPF+IzOU+cqyJX
PuDAM4Dc+WoTUAAEQAAE9idQ8axB1lHqV837JTOKytQlDehxFYE+yeRkUO/+TKnGKp+NFEOCNOYv
pwIBH549BG+kkPj9Rn0HsSAAAtdBoOJZOeNHQYMcoTQpUw5NCtnIJMdc+VwWtFX+Fp0n46pAn5XV
SWdQDZFlv3Bh6rtWZ09XJeNLaQkrW7fR5UkOcb9Ii+JPuXWy7VXyGzUEYkEABC6OQH82uDxMxyNy
68ieKy+dhBzsmuTHgctKV5H0QKOsQTqJqswCN81kqCqfCgTTLOVVexZrsgdu1J4aoi4QAIFrJdDp
WcsxWdJLBTFENQLYtHwsvKpPwQI2dautlpeM1VqFcPk1WLorHXLhWA5DVIIQEACBGyHQ6VnLdGhQ
K0eBrTEil5dOvSCkVX4uFKvKGeJWY1zVepsMdKy07SK8gAOzzZ2PIZRbGmTFz86wSQEUBgEQuBQC
9R1MQUto5ApGKB745LjGZeLyyVyxrCheF6TgieTHx1z5jm6Im1YVEifG4xG86tuS9XJL48tzWfGk
tgU+pDxRldOXAu1cW2S/VKEF8mWUzDxlxJxsb6B8FTKZIr+40pxdSdOVFqhpHcqAAAjcLIH6DiYa
UPjIg10wQsUFeBTjECc5qPGnQR/IwnGlcojUyG/q4IKesZyknsEITmWqOsT1ljWJPUShCqWeAcyA
c1Bj0KgmfeIelM41SSyWHzRKybnQiUmtWGy3/GrXowAIgMA1EdgkG3xNgNCWKyMgEwya6c6VNR/N
AQEQ2IEAPOsOkFHFgQg0JSQOpDdUAQEQuBwC8KyX01fQFARAAARA4BIIDPaschfMcZrPCcBYpeSe
l0J5ZaNkynG9NGWlsphmL0+H2KCKuJYd6l2pdsflhR1bKzv37HZiaBzznu3opou7pJV82diS0q7y
fryIjh7sWQ+7cBXvPSmY9fqNKnI/l17awNtgh45IVrFpvQP5NN2cplHJOYRMLJd1K3x69u1Rmi7r
bl0T59bC+0/sxlpgTL4g33zE9pYspunHVsIo301gsGft1mP/C/UOb4husPshGM8lJOg+GuakMuX+
Tfpmc3l81THtJKf/ubojV+/Wep5R/jEN42gGcBx96t9n5dgumCjJRFayPUFQGCS+qgiS5WU+JMiN
tMqvKpBrVOuFkpuEGfNMpuaUHFirZMqoXG8Tuly/F+qllirtIadMUgiLzRlDUG/Bflq7tVw+jipa
B+Wmflf2r9S52o9Bf+X01/RL0jjL9sAAW+2hoGfc5NgeYlU1HGQZZbtGTQ5y/Ujy4Y/H3td6afXv
s1L3mP4LTFaTCuN+pcs1l5DqufIkMD62ytcDCko2WWpwj7HmrK0cf7lRsooCByoWi0rG4rnCgfzq
rRiXZz65epNV59pV6MchfHL2020PhfEx/kjvXFv7Pde/1KH8ku5KnpfupHCfJvVP9kuuXjaSwG5z
dthqD+xO5J1VHk+a7DMnX96zhfu3en/l5EtbIibJcXK4GUNgN4H+bHB5riS7n42gfEnQhtxclW5v
egVG3CS/G5n+wqSzUd5dcrArtIsJaFy+poy+dU0lYz1z/btmKpN0ZjxaNSm8UWG9cy0rkOz3ZP+O
vSn0+pfr1dut0k5iswmmrSwnaQ9VfQK2eg59hpSTH4+rffJx1dYEOj1rIXahGWJyjAumw9WxY9Py
W5Nl+Sv9WQBhpbTdWl2t6Fzt4jHrXIPU1oNyHN8w6mqnaApo9C+PD5pa5O3TNA7ICwPnSnLIxTbp
kCys4bCmllj+uSx2TStu9tpOz6pximXzbTVuLi9v2oKQVvlbW0CTPru1iweaUcNNN8Zck5Pnm2B2
q1S4MDnq6SvaelDWa9JXshBRrREYhJVJUU32IGdRgatuNaFctBCfz8XKrTUahSVnuNU+0zrXVfUd
TIFmZB/BiJyzYB6vg/KxlQRmlytPxeJjVX7Ml3VrcirK24M1DAaLnP6kHreCA9MCB1mFbF2yXYV6
ZUBQtcLYEzOQXL1JPXPtKvfjED7MeWX0H98CQS9UZ59cQPZOYAlsP6RtzmiV9wXfp7l+1N9Hkl61
X+T4kLPbpB222kPMnPRsvY86OAQQ+L7I3V/K8UdyZmOQwoOTygGqeqejwEoC9R1MbJpkoHLQZ6Oh
j4IChfLxoJY8ExtlUGNOH82gKYVryvOQpyEeCGc9C/qz/ECZpJ4F5cvluVP0TQ7aGzdNai4bKOuS
PVUoX74kNrBc+b7O1fSsLJMbNPl2UAoMoHXwVN4XUrGmfqw2pNy/wfiQbG+uinJXxvU2yWm9j8oc
gttcU1iPIqdqrh+rXYYCmxLYJBu8qcZ9wlsD09uZ+sk5b7e77euUs1xF7b2Flp4Fb3el12qH19qu
7o6+kQtvwrPqJ4ZBuHALRlAIvK6y+foo5yqbf9hGXasdXmu7DmtIB1HsJjzrQVhDDRAAARAAgVsg
MNizNiVdd+MbbCOS9SazvoXySp1lCmjTxPKmwqmxyT7doV4l6oHFco2Kd460VhrYw1luk7NU2grq
Ksu3ki+PP7dzP160MQz2rIddvopzgAVzX58wbNrLsMaAdgCerGLTes/ltk2j4qppUZZfZd0Kn+5m
Ejlz0nRZd+vW2HD12mSnVK9aU2CsBcbkC/KlvSWLafpxTdtx7RACgz3rEJ32EbLefe6jJ2rZk0Aw
bMV7ncrjWtI3G/3jq445Pub037MLNHVtrecZ5R/TMDSdgjKSQP37rBzbBROoaoosCApbE6TJ8jJP
EuRMWuX32cH6yWxOzyRPTXtlQ2RnFfpLk57K9W8yVRXryVpp2itVpfexhkp7oHoL3Pr6PXdVbA+t
g3JHu6p8YpNQ8qRJQNLINf0Sd3qsatBerqtgJ8n2FvSMTbfDPnMJjEDhnJ1XB4o1dhJbI/zx2Pt6
vbT691n5ZgtMQZMi4/42dibLV60qV54ExsdW+d3gVlpwQc8kz1x7CUIuEuJa5Cgg5SejqGA4Dsrz
p7l6SZmg6lx7yxzi1hXsIVlvgVt31ycvTNpD1bzlcJy8LxhywDPZWJKWtJ+AW7VeFpWcMSStLme3
GntgO2y1h5yerXZSHjfifpTdLd/HnDUDRdlOSCa1NNePY40Z0gYS6M8GxxPDeGgOzpQvCVqVm8OS
OdIrMO4m+QMhNonKtWug8pq7uklnfWGuWg4Kmqat1DmuV6/zFiX1zrVce7JdSVYayPqW6vUv16vv
l9x9UeUjJwFycGDvKyVU9QnY6jno2Qb6xJMYdqV9MnHVEQh0etbyHCppK8HcvDqSbl3+XPST7Srw
5Hs7mEmcS//Welv7sVV+rvzZuW09KMcTWUY9hKFG/4GxVLedBHqyHHLV61FoOKypJZZ/oXf6GgjX
d22nZ61OJKvm2Gr0XF7ezAUhrfK37tqcPvvoKefy+9SY49nE4byqmiYkRz29qVTvAr2os5TM6d/d
L3o7zEVySQ5yFsUFyMW2qpqLCuLzuVi5tcbAzOBWz2Lqwyut72AKqiS7Ce6QnGXztDEoH1tPYI65
8lQsPlblx+BYt6a5rfK2CYTzVTk9czxJbfrUHIMwhTnIaUeSDwnRxzTxCCirSNYbn4zthFtR7i/+
lJtcsIdkvQVurbdQ3DVBL1RnmVxA2q3UkKyFXtTknHEq7Z/vx1w/6u8XaXXVfpHjQK5fknbYag8x
c9Kz1U46OAQQ5K2dvL+U44zkLO0haSd8j7caM8rvRqC+g4lNlkdn7mxpSVwsuBXl4FgY3AO3EXiC
WIgsEOsTS0veigV9ch2gkRwrTxWV9QyUCSpaz6fVpKQ+Vf2DwrKu3EeFSwJLK3ArC2ltcqHTk4Mm
6amvJSkk2YQqtLL9S8Wa+rHaFmkJ1XEgBy1ZS6s9aDqretPlxpkyB4YQ01g/zlS7volqtUNRYCMC
m2SDN9J1jdjWwFQZm65Raedr48BoZwV2rk6GgDtXjeoKBK7VDq+1XTDmPgI34VlbZ3mt5fvQ73xV
R4C+s4Zjq9PEE2NrhDQNgWu1w2ttl6ZPUSYmcBOeFR0PAiAAAiAAArsRGOxZm5KuuzWSEzVxjcms
b6H8bjqXK5Kcj6/tQaCtUSO3OpAz+I7VhK3vna3lr8TbQczU2MR/IIGBonLcNqpCZq37mK/p6Nu5
drBnbdrQsSflODdYMNzjJxIlZ3q/hvy5brBz1dtheEm8Rv+cqXR0R8clTQ3ZWn6TMkHhPt1a+ffV
kpyO7zBEjNJW6s/EOHct78ELuh/XGNs+1w72rPsoPaSWre8N9tyBC289X2gs7oQhlgAhIHCzBLbw
3zcLUza8/n1W6QmC6U85D5n0KPrUZTJrIS8PRO2T5dA7MzJZKh+HmPrzrWbayoE0iSN4KYd1iPnH
Hyn7RVOvhnbZTmJ7y/Gpng86oqp/XL6MVNNY7inldC1XPmdUuWlfIKeqamAnW4wbrfzLTW4al6r3
C/OR3ZR8r7zvWgeBjvJVnrH+SXvuqPoqL6l/n5Ucg4FIR6Yg98Ll7jT2KHS55hKSnysvM5/yfav8
7r5UTvGUA19uIIvvt6TCQY8UuBXayxiDpiU7iwN9Bs43pCzPk4lCvyTrbe3Hqp0EWa9c+bKeyU4v
c4vdatL+g3o1ZpnrF9n7cmQP+qVcBU8H6aqcnNjwArEMZ7txo4l/wa02jUts2HwjaMYrKiOtSMlZ
Yw9NZajjkh6x6X6UhQNTadLnigv3Z4PLExa6oyS4XI8WjD5nAXxeVtEqf9NODW48/mfr+aqS1TGu
KkHDPy7D5JNep7vf5Z0fj0dJNbjfNeXJ/ZRNVymnFayy3qrYgvLVvqgK36jtOXuI9Vk/bijbyMVG
9UtrvYGv7bi875LWmURfLbiq07OW59o81ZV8gx6tjgJbl9+67wkCT07lndx0fms9k/I7Yqmcnt39
SENetfksv7U8X1itYkiBVg5b98uQRrUK2WHcaFVpSL+0VoryV0+g07OWuWjyA5pBM5jq0j/lzVkQ
0ip/eE93x6lBXFtVrDpHqUoIvL6+PJcMskwFCcl+4ZPy01Yr0pSPFcvZydb2s7X8jk48+yWaHtya
23byt5Os7zilDspi+npvsGR9B1MAhUMxmUXhnGQwMnIYEYy8yZyPrChXnuTHx6r85JDKcvSWpC+5
qTFJAhpu1ZkQ9ZTM8eb6NwdNzv1zHjfod+61XL2xnQQNKfd70ARzba58QQ7bML/hGR6ZYmASyfLK
etm2c/0VyAnuu+p9UZU/6v6Kb5Ph40bODgv9FV/SN27E/V6QExh5jnCST9xfK8efcntb78f4/lo/
R9902NxTeH0HE416fJSDIA+myQJ0Mlk+DrOSZ+LBOqhRLz9mKoXHtReGtj27p6BG0HbpzJJOrupc
AwiBEGkAsheqNMqcZStIVGu/FMonOeTKrzkfTG7W1Fs1xXK/SIBJnmX5o+4v7lZpNrE+a8aNnJGv
6ccq/MA+Nf0uh0GJJfk+tv/4rqzecZo7PXcLN92PhXFGQ3JlQw5++SbZ4AO2OY4tCko2FT5gY8+i
UmECu78+uZh+f01QIwhcHwHcX9U+vQnP2hRjxbP+KkQUKMzlzwKntcfPoiQqBYELJYD7q9pxN+FZ
qxRQAARAAARAAARGERjsWZFH1XQMJ06DwrnzVCy3WUazqUGmasu1aPQfVaZVk9byo/SEHBAAARBo
IjDYs2LhWkk/3ilg3AbnWJLOMmYbC8nVLjeS6K9StqWvWLW98bSjzKdPDVwFAiAAAsMJDPasw/Xb
X2DTrn0ZSq6M13eelOxc3fp+vDiF1zcZEkAABC6UQP37rNLTyEbKBGOy8YGnCRKSVV7J8jIfGOQG
y/I1KVNSiUZw/noZ69l6vtpAZYEqZ6UcLiZRxDypWO68/Ej2b6F8k3qF/m2Sg8IgAAIgcEYC9e+z
krOh3J0clOWXmXJ+i+MMmfqjC8uuLlees5rsAtnhSX1i+cqIJzkbYHcinRPpnyu/pkep7ezhCl8a
a60ljqo5M8zAeUoRgOX2Jjnn5LRqmOtfKUfyaZWP8iAAAiCwA4H+bHA5loqHvyExK7t5kib9Zav8
JNxgDZL/2Xq+u+c2dRuFFVYmGUxBcudzDWwtH8uhWVHcv3Kq0Y0XF4IACIDADgQ6PWsQUwaKJuPR
INapBpFbl8/B5aCNQlIZp3KgrDnf0XmbulXWp0q+Q/N9LtmHzz5tQS0gAAJXTKDTs5aJKPO9TVjZ
mUmnnnThHNw0yZeOh3OS0gm1xq+tte/sNgroWjUfWz7XvzvzGdsoSAMBELgpAvUdTMl4VKbsaMjj
dTjpoiinR6FekK0NIqdgoM+Vl7XI963yj9nHEhFpGLTLnOnziMyKq+D5h/yIsXDH8ZukPuztcuUL
nJNZ31z/Sm0DlY7ZldAKBEDglgnUdzAFm0rkQhonbMkH0DEZ5/FH8hLJPU5RBtlgHtmD2DGpT1La
wbs52d6YW18uN06ty/6KOyWnTK4fC+XLzjVpMIFuQdcHlxy8W6EeCIDADRLYJBt8gxxbmzwk8Boi
pFVzlAcBEAABECgTgGc9g4XkAvdWVUbJaa0X5UEABEAABAoE4FlhHiAAAiAAAiAwkgA860iakAUC
IAACIAAC8KywARAAARAAARAYSQCedSRNyAIBEAABEAABeFbYAAiAAAiAAAiMJADPOpImZIEACIAA
CIAAPCtsAARAAARAAARGEoBnHUkTskAABEAABEAAnhU2AAIgAAIgAAIjCcCzjqQJWSAAAiAAAiAA
zwobAAEQAAEQAIGRBOBZR9KELBAAARAAARCAZ4UNgAAIgAAIgMBIAvCsI2lCFgiAAAiAAAhUPCv9
Aii/wAsEQAAEQAAEQKBMoOJZzS+Amuv5d0CNiwVQEAABEAABEACBAoG2bLBxsXCusCcQAAEQAAEQ
GOZZpaBkophOmmL8hi9BYhmGCAIgAAIgcAsE2mJW6SY5RUxvyKFS9ti8lyflGSSWb8Gq0EYQAAEQ
uGUCnZ61jIz8a/BCzHrLdoa2gwAIgMDtENjEsybxBTFu0vveDne0FARAAARA4FoJtHlWSvMOYYGd
UEMwQggIgAAIgMDRCNS/z2o05kQuu1VaWJUvXmGl8sExV55xwNEezTKgDwiAAAiAQB+B+vdZZRZX
1hFkd+kjPhm8l/+kMoG6o0LhPgq4CgRAAARAAARGEWjLBo+qFXJAAARAAARA4FoJwLNea8+iXSAA
AiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+i
XSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNe
a8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJ
wLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA
4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRA
AARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6o
FQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96
Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuchAM96Hu6oFQRAAARA4FoJwLNea8+iXSAAAiAAAuch
UPKsn/7iif7v6298XV/YlKTyptE4ggAIgAAIgMBBCLQ6srTr/uTjj168eGGO5u/xXz5+4/fekG/M
R5oXX6gpbMpQeaoXRxAAARAAARA4FAGNL2PHF7vRU9WzktMt/0nPWi0ceG44VxAAARAAARA4CAHp
E5WO71ie9VAzlIN0KpiAAAiAAAgcgUA1Shwcs5q0clAlYlY4ZhAAARAAgSsgEMesscsL1k8HxKy0
WjvEsx5hVgIdQAAEQAAEQCAmwG4u6fXksuZaz8qboIZ41iuY3cAcQQAEQAAErolAMmYth5SrPKvc
WzzEs15TZ6AtIAACIAAC10QgiFlj5zpsnRUxK+JsEAABEACBKyawd8xKDhzrrFdsUtc030RbQAAE
QGANgf3WWdm5DskGw0WBAAiAAAiAwKEIJGPWwOXRP4dlg5PSZQU0Qaj+4RlMa2ZSuBYEQAAEQGBr
AkpHRsXY95F3wzOY8HhFEAABEAABEJi9Y1OIeDjPuvWMA/JBAARAAARAoI/AhjGrCWyVf/wo/6by
fQ3GVSAAAiAAAiCwBQFa31T+keNrywabazb92wIKZIIACIAACIBAN4FWr5f0rA/M2Ve+8oh+GO/v
/+FHH/7Lh+//9XvmzR998xvn+cVY1AoCIAACIAACF0UgcKNpz2oKXVSjoCwIgAAIgAAInIeACU1V
nvU82qFWEAABEAABELhAAoFn/bULbAJUBgEQAAEQAIHjEkhkg6dvueIFAiAAAiAAAiCgIGC2JVWy
wdi4pMCIIiAAAiAAAiAwEyh5VmxcgqWAAAiAAAiAQAcB+RWbRTa4QxYuAQEQAAEQAAEQIAL05VXs
YII9gAAIgAAIgMBIAohZR9KELBAAgSYCZoLfVF5f+O3vvc3ZOf1V5ZJbyKQaN5K8kdiY0m4VjerK
ghxuS19dFLPCs/bRw1UgAAIDCGz3uDe5o2TUxswtZBLEjSRvJDbu+N0qGmBzNRHcllrB9OfIBvdx
w1UgAAIgAAIgUCKwyTrrq6+9DuogAAIgAAIgsCeBc7me+Gs1Cc8qlYvfd6huLuE/ptwhJ+ihpNhC
L66vcU8TQV0gAAIgcKEEWgdbZfnWMd/QC1yPlKCstNoFxq2++/13g2LNMav5bZxqTXEB/glZbkyf
HOmY5c/SdqiES0AABEAABM5OQOnhTLHWMV9eIl0Py1nf9qRbNWKbPSvplwtD6bxGXZYTR7HxLINq
LItNhtrJCQvJyc1l+COpmL5dmrajDAiAAAjcDoFyrKmJsshHxsTibKgso5G8phfYrcZb5BKe1WjD
bi94HyhNnl8WpjNrdE3OMmKsVG/Z4UlRpBKrV5jL8Edj27WGCa4FARAAgYsmEKct1zcnOYwnxUoP
UnUcSsWkW1WtsyrlNhXjxgR+N+m545YnvXXQVTlROT31fKvhchMKFAYBEAABENiNgHSrMp+8ZmAP
3OqAddY+HE2xbGsyPacSh9RJgspaykL6aOAqEAABEACBHQjk0shrqq66VSM8vc5K8R9FivL9Gm1Y
VCCkIL91TpEUVc1Oa2qpCllJBpeDAAiAAAgQgXhM5pRkE6LYrWpG+3IVSbeqWmdtUp0LaxY+c85V
1ijlFPyZXBLPFQtS0CyZ1aACZa+Zy2P3UcJVIAACIHALBFqX26o+T7oGKqxxFtJTKC8p9E7Orcbr
rFf1dMOqm7wFg0YbQeCCCODphtRZGz0dcCOxsYGNrei8I3nu6YYFt2rWWTlsxdMNL2j8gaogAAIg
cBMEzutWc4jLbjW+qvn7rEfuW6yGHrl3oBsIgAAIVAkccBivutV4nfWqssHVPkMBEACBQxGIF6gG
qke/Ije2ii1kUpM3kryR2LibdqtooIXkRFFb+l74Fbk+brgKBEAABEAABNIEsM4KywABEAABEACB
8QSmbLDxseMFQyIIgAAIgAAI3B6BD//lwwdv/N4bt9dwtBgEQAAEQAAEtiLw/wEygAFyHcyHhAAA
AABJRU5ErkJggl4lAABEAGQAAAAAAAAAAgAAAAAAAAAAAAAAAACkHxUJKwQrBAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8DAAAACyBArwCAAAAAMEAAAACgAAIwAL8AwAAAAEQQMA
AAD/AQAACAAAABDwBAAAAAIAAIBiAAfw2iQAAAYGdOWzeK9QAxSme0SMKP9nIP8AtiQAAAEAAADg
oAAAAACoAQBuHvCuJAAAdOWzeK9QAxSme0SMKP9nIP+JUE5HDQoaCgAAAA1JSERSAAACHAAAAJsI
AgAAAKa21WIAAAADc0JJVAUGBTMLjYAAAAABc1JHQgCuzhzpAAAkSElEQVR4Xu2dP6wcR3KHlwYJ
vBcqVCrAgYRTQMEOToACkYADOTqHdmQ4JZRIcEL6AukxMXjJQenBwOW+AwxYgQA9BTLEwIAUyKCC
A5QqVPgeIAJ0d1d3dU3/m+qZ2Z3d2d/DYric7amp/rq6qqu7d/bOi++/3eEPBEAABEAABGYTePTh
x3dMUHnzV/dni4IAEAABEACBsybw9NOn119d+6Dyw/99d9YwUHkQAAEQAIF5BP70589NUPmreUJw
NQiAAAiAAAhEAoNM5Z3f/GE+m4u7F7cvb9Pj7vZid3Hrjrvd7e7uxe4lHXe7uzt/HN774u7u9uXO
HnfmGn8tSbDHKMHJoVL+KGS+3F3e3d3Qcbe73Inj3cublzeXdy93L292fExK3bvc/XKzs8fdxb3B
PeL9gp5OfaFJoiHV15egWrjaUR3FMW0CIcdSDVoIJiTBMR9QCJI8YWJuT17uLm6CnMu7Fzcvb9Oj
YGUv4DYattfF7vLWEnM1v3t5+/LGHnc3dN4cibd9bwkr2tpyIPsZtDvZDNUxWI7nKXGlPCONge15
OUl7Cpus2sy93c0vu8t7O2MPu3sXu19u7bEqR/SCgWXEFs+6myOW2STzDDbjOLdsJvQpyzwQE32Q
elDop9TLqG8mNiP7JtXU2U/ZZm7Jrswx2Eyhj0cp1mZCW1O7JxomviLxD6SNs8yhryDbc60SbLLe
x8t9MO1HbHtFH+As4fLexQ0dUz/j/Q/ZP/mihq+I7TKgMd8x71fC/YsfzA0oUykElev/+Keu+3/w
z/8pfb2MKNSy0V4rvil4Jelbg8VzHCrHkoKm0SPY9ru82d2EWCJiSiWWXNy7vLX+wnoNG0WKscT3
UupvmU9xPcFZBll86utlNBJ+tuybsthM/czL575Ubi/hf60XcL09PVrvQHHXxpUsnknfRL1XxAyO
IhRLRERp+iYXgaQnTkYhyfgjepZCTCpG5XQU0h5/eC8ZRh7p+MP7QOspOIrUYwm1+9DHkXfzJN2n
ZIfeP8dxjrBJx5lqThE6EEt6UAQdfTXZDMWSgaeOulFsdjyTPyGfbIbuPLCcYUQJAqhkISaF8YEY
JZTGndEiKmPNoc1IX1EYx5Ris9ctxJvCeE5wHo5d/IhQxhqKInaE4Y9JLKF21fqK0vhDjDW7HPIq
hceDyrvvvavU7OqTq6s//hQiL+UQ1FqDqCBzlDDe7Bq3DkYxw1xHZioDrZfMUcrRxdtlI7qIcWKI
B5Sj+JGUNkepjDdFjqIftyaeIhl1+r4hx5tZpmL1L+UoWXQJ+UpBghythVHFcjlKluPWc53BqLRq
M+QjQo5CY9JZOUqat5VHPEnmF2PMID8WZj+IOrochfK/enSRsaccXUTUiTFmZB5imKMk8a85nxHj
p8z1g02GVuH8uDYP4WN/KdcR+UjIpXwfr0YXl7NSjMmii2UyI0chj2r+/vFvsmaqu+mHDx5+ef2l
0o2bYqb8v/z7f0+4C101HlRMCmPKPfntY9Lpm6+fv/ver+WRzl998tQcn/3x52E2PRwfjeTUVk5j
3BpznXQ2qTDOGs1RbNbSmu/yTRBzlDSWOE1D1BzOw3jfNDVHkT6Wcx053izHpPKcUpKjhJ6QeYR6
jkLqCA9V8W4iR3ERZdQ3LZajDHKdYY5bnWsV865B0aHNVGZK2zmKyE0LOUr0si5HsXOtlLXUo8hg
FjHNUSgTEn/Cx2YzpYM50pDjNuYhSTea3aJxzCDHnZSjBMsW48JhplKaux7Mmw1yncFccZIfB3+e
9vHQr6s2I2e1hIVWctw0RynGkiS6l+bNKvMQiT+0LWKcC7l75Y4qmoYyQaWrPAeVCVfJoFJeqH/y
2yfmtdvdoZdLXAZHOu/K2NkYezRW6I6elBmPm/fumJTxM/vuvLVve5U7OnBCTnhPPsKWF0c3s+Qk
+OvMW9sT7JHGBXaGwc7t2KN9/+Pzxz89vwrn7fjFvXf93B/tFVYHs45CRzsDRu+9Tydtrd2F+roY
wzr4+lK8iWW4PEVQf63VM74P54mElzmUQz6CeJblCIZExnkHouQ8ha2hm80In3oPEulRGftnSVIb
WT0dB3mkmZlwhmbAnG7x6Ni6q6iPNduaajS0GclTMBE8o0yfq3kyzjcwSW85sl2IM3NwNmNZBZsR
K3BmvsuUtLNe7mj+7NGtqQQPkNuDqwvbMLU70Yg8PWl3nuzQsSKSkae81sWtICfaDLVU6BHRrrjX
+FWTkp6uXaj/uTaKNkNMnM1E+wkrcIFetCvmGWxG9vHcbr2vcEycnml7uRpxXVwVva/wfdDalZ13
Zba0hhetzr+Pdsj2GRj6cUDSr8t90NmU6TtsD8IqrJ8x+SvPZnqS5ItCuwR7IznRpwlfEXrBoI+7
qk//e+vtd2qv6ULrV7Z2f71yf/La5L/0Ea3vmePNXz4zr59/eEZHl1PHrMWWoSzb58ViVteNvGj8
FY40N00zRU4Or6nIVXqSRlqEo10Ho9Uwv6biV+lJ20vrK+xai7EzE2N+/Prxj+FoWtysqdhC7mjf
20yF3g8yYqlnrJcYYYQ5az+vTWVefP6ReVGN7DGsMbq1CsdQ1oXPhNXpAQ0i44/EjVohsvBkHG23
XuJXTcRqKq3Px3VXR8bKoIzDrygO8xV3L8eE1lf4/XBNxa3S03icRughs6RWFnqGdQhucV6F8u1u
e6CrRaRqJRMxqrs/xp0dwXKIEtmhl8PvBzYTKPGait/Z4WmENRVaWXGr9EYrOQPGdwl6htYJbe30
dPoQE4cgkA6s/FwNU7U26ddU3MqKtxnLU9Y9EA2W4NfnB3UX+vg1lWB11CLUN51SIV9x74mAsx9X
JlmlpzPxU5YTdRBt5C3fW7vYKRDbetAX2GOkNkMkeZ2PrNHOyhKxYHW0Q8RRZWvkT6lFkjUw30ai
P4bVKYoEfHTzn94e/Pp8YZWe7IrXX33/knKcVfsdKEObiX2cbOXwfxSK5H3zM7lW1aBi4scd90eB
pBhOSByNL37+yzOL+K8fvfbmI3f8mEcfPL6O4w6ZGwal4hjE72WS49aQO7sRTZx3MteKTIUk0fg6
rD/zKr2/jZkB8zlKmKt549dP3njPzuP9+PUV5SVuxxdnKs6OfKZSzjMoD5A2V8gzQjVjOT9ijfkK
jZ39kXOUsO7KOR+N5a2cMDa314g8wN9KjFvjeDzs++J8hVfpw5jU0eNx63BlmHORPEfxa/VifO20
ojF4mEmj96Kerha21iLHDWNq7sOegB+3hhZ3ckKtB96BpDnL5BxX5CjOfsiKgi6c4/rZsLh6bsv4
WRWXqdCOLzdWHbR4lD+w3lCHgZ6BiaXhc8JBxsw5nx2D814mMR5nywlGFYgGW6Lc1I9/Y98h2mEl
n+kRB/cnctPB+JqyupDjUqYbc1wav3vrJTmUH5M+ssWHbc27FmOmMshNQ+4l2pq4D3m6lvCsnHXF
nC/u+yK79p/GWBJms8MMhJfv9fQMQ64vezrnK26t3vEx82DRcmiOxLH1cydsb8JyRO8OczwxR+E+
Hhto6jvzJff8NSqMnrfCcYXejD6EZfx7KiauGEF8zKOL3IkYR50hR7n5weUu7kjjTfv++2fmv3Q0
wu0b9zLvjYSfvrPvw/HKnbn6+Ttzxr6n8eZP/3tlCtDRoXFnxMvt+7JjBJOI2Izk+RURpBzFr6zQ
qeFuHJu7fH1lRqN0NDnKi2tz5rE9XttFJuO/6P2LL/zR6PPii4/Mf82Rxln03h5NdvKFuyo04Lcu
XyE5Ikehj6mUPdL4hffw+DM+Y0tyHRrFuyv9SNPJoTEm54WDESXNlddzlMF4048HnXw3Bow7ht0I
UazPyzL8Xu4a93pSPUO+Fd735CiS12C8KXI4ynE5R5E7kiUfzs9qu8/FmJSyk3yVnrIoPlovG3Z4
U4u6MyHD8GsqPpPzFujskEbWtEOMR9/+WifBvRdtHS1rMAcg8zOfGcf9k6ynb4Vgmz5TiTbjc1zK
VJy1uHyXjt66OIMZ5DrRJin74fkM39Y+tg1zKbb8kJuGDDXWN2R7dIb2VZdylECykKP4TMXHFeo7
RNWNFFzvE31Q5Md+T1DMUVym4nZ/ORpyld7VOuT6zCragrfMYo7i9/LE+YzYQAd/x3FFGVGMguNB
RZmpUGWTNRUTP8xJk7VcvvnIvKGwQX8moXnt7Y/ppCnA78P6xO71+/6kiSWv33/y2n1b2IQN0+Km
zOt/+8QUMMdwkkYBO3venTQrKO5oY4k5Y9IRKiDXVLwqtKbi/2jkaCKK26TgIor516Qybz2w2Yz5
L42SzJ858wad/OKjt/7uqXmZ9yZmBFE7e/KD39kCZtbLj4t373zwu7c+sCXD3DqNiexFYm1GrB8M
5luxpuJz05C3ETd/dPkK1lTEOgRlAJQLxrzNWVeynse5KdZUwuxLNt/gxwYnt6bCHmnaG05NRnMU
kl8NKjTxRZNgphwd6U2SrGSZStxzTZek36uiszSC9u9jZXlnC62phA/kN7OsfM5UQgEuyd8tCrm8
Gy/4WDFcU6FraU3FvHnjvSd+TYWjiJk9d3+0puLfR62khrYUaxvqxXMssSSNhvx4kzIMrKn4Peg0
uu/JV7Cm4tdmov3HkbW3K5+rYU3Fr/BhTSW6W9W7ZPpr9JpWpkJrKrmI5//zXJ70+0bcKZepiHlb
8shhX4f9j+8DYZ49k855AMlhTy7uYiOKOc+ZCt2ZJfk9S5x7hllOKlBbUzERxe4boTUV8xfWVOh/
tKbi37NWQw2FDqEszV8N9fOjnZipYE2FcjXeN4g1FbGnDmsqxjjEeqEbk2FNJfObezvBs17J+krj
huPTX/nFyVcjG2sqfG0sU8xOxD04O5GZin8uS/Dq/l+RMYgsIWYqSXZCV9XXVPyOJy+c9n2VM5Wg
7jCXkjpQCZFpDbKYOCcecxR/BV3nr8WaSmPfF5Oi2fC4hwdrKmF1J6wnYU1lkKNsYk0l3yK8j7CS
rKMo48qUoJJoTzmE2fFljryf2KymmLGnWSyhk7QgTysr/i9mIX7cQec5O5GZCn93gTwJr69QykLX
sWDOVMwZXl/hhfrqmkrchxMkuj1gLoPxK/PmjVlH4VxKapvoQCJ4Td6srJh68frKt/9l112wpiL2
fcm1EPndJnxPhfY1+X10IXbieyqUr+B7KtGhtt8Vv6cyejFtGJPF8jO5kPKzv+gb9co//436sLck
zmPQrpuzfPYX7fiyUQTP/uL9xDzzybuh/J6o4RNI8ewv/40f2jOGZ395PxTnjdPc9Fye/XUq36hf
8inF4fuJNBdx1s/+MvvBbFAx+8F4Z7D3pOH5xN6fynmbLIiLXcV49pfcY80rVYws/RYbnv1lYzme
/dV4BrmfNT2tZ3+ZX8FSjvXpMS1d5fkxLROuGnn2l1Lp2J9LOYp8inUUOPwmnZAgvqtaei5Q4Vn3
NP4d/uHZX56HiEbxOU6FZ83i2V/ilxEav5KAZ3/R863x7C+XPa717K8//Ovf9zrnrvIUVHrvonqg
ZJceeeGYo8hfVcHvqYSdYC6Lx++pDAwnXWnH76kMf+MHv6dSyE1pHdXvyA8Zf/xmrv+2KX0zF7+n
MtOrj14+/kDJURGyQOW7snJ3vP+Wid8Nxd/x5mxj+G0DI1x8M5++3brAs7/8U7/Es7/iE4vpl5H2
/OwvWy+a9cL3VJwB0W7r2Nb+aW/4nkp8ohqe/WVNhJ7zNrAZ/x149x0vesoAnv3V5bb3WBi/Ub9H
uBANAiAAAudDoPDLj+bU+dQfNQUBEAABEJhP4PG/PaafYCkHla7NxPO1gQQQAAEQAIHTJfDZ75+9
+av7I0EFceV0GxiagwAIgMAcAsqnRtItHn34cR5UFvhG/ZwK4FoQAAEQAIGjImAyD82rtlyCoHJU
rQllQAAEQGB9AmY6a/RV0xJBZf32gwYgAAIgsBkCCCqbaUpUBARAAATWJ4Cgsn4bQAMQAAEQ2AwB
BJXNNCUqAgIgAAJ7IcA//qiRjqCioYQyIAACIHCmBCii6OMKgsqZGgqqDQIgAAKjBGQsUcYVBJVR
qigAAiAAAudIII8imriCoHKOtoI6gwAIgMAoAfrx4OQ1ehWCyigiFAABEAABENASQFDRkkI5EAAB
EACBUQKD31OhBxfTAyW/+fobvvjd994dFZQXkBLo02lyJtyaLmEFDnzfyQpv5sKa8dD5mc1xmGbt
sv924S6Fc1G1fiRhKsG22yXppIlM/m/7vLThdkO3/UMNWn6+q6U208X2VxEz2cVPHW7fheKF9oGS
bDdkFnnzy5s1PmWrmulHphFU3nRy7aZppbwq16qtp1Jso9iC8g35InyNOY1WRNmso3JGUXAtNBbS
KKxXuNjvZCeaA7DRqRv9lK5S2kZvf6+Vz+OlHCYmEHpvOscwzuTap58+NQFj9FWjUZj+ao96zKf0
Go0rSV/Sd63Dt1ytzyj70uIKr6XPAeo7xy0uzrkoUDnqX1yZte47WpGiVbTzDE0+WvMPkoO0ltr5
Uf1RoIuAeZo9zVdpXkXJ7tfhm3+jwcAUoDAzWpLvU8xYZWJbG6okxlqU0xhYFcvX9OfCUjE5YqL3
XOua/lIfuhdf1eaQ3LfBuYtnwkcO9IrtmCusqXLDppKKNNxTrX3zAU0eq/TWON/+axLmBOk5+s/3
+GNewX7e1eU1AhcvU+NQ7KpJ4cTIpYHNaZrF67i4wC+vvzTPJ6YZMM0xV6B7oZ7S/OIoQ9mF2EnV
0tha7Ck6DlYmiQG5krX7Fl28jBZ5leWZPOQk+sv7Fh10I51PalEc5vfy7OXQ9pikoayXxsprMSBH
kbdvO6K0yyfXUhCVL43yo0DkyCO3w8m3ID2lZdZEsX1KQ2W2yn5KwumqmhvtEjW54pMvLHKo9Ueu
b7GXTdbh5C5UxhKONwsElYYd0+BlPkT9CIjdwfybdllS+756/YlYF7SaO05CReI9a05h5vhgMnal
cxzlnPs7Pc/c48wZgSprNJkY1VQZomrBUh9xpZ5FLHNYzYGguVaOLxccNGhuvYEymuxElpkSVJJe
2ujnXX65QZ8HR23DbbjRaU2r1H/0vkr95chI6Szk4FGGIk4XivGpSx92012hrgu40v8qOSd6ylDR
pVWtsCZKKWvUpY/mvo0RXhIy5fBFaeej2h5nXMn7xeImMUrmpAvsJVOZY3Nzrj2GlqjpP7OHj2Yk
Nfm181JPLjMBvkb+aG7aFX6W9b97bS+lQcoaLWInyvseQ7F9xJXEtnmUUzvfy4HldNlt711OuryJ
K0Z/zfHhg4d5TffyPRXTWnlvl/aXjCZIreJJPi8Fsii+xJxJ+jYP6ovn2VKLbc/6S62K+sv71vSX
t0hcauMSWbXGILrBWSNcyaHGmRVr1IsbImnK9rVJvYqcc5PQNIGyt+tF5b5p1D4bOuT3nd+OCWrZ
Io2uV2zTpKMVu2cuv2HA/FESn2r2n58vxgZltMudQ5efUdrSaRWj76lodDY7j4vfU6kGFY1QlNEQ
qBmu5tpjLrPVeh0zc+g2nwDsts1wX19+nN9ykJAMwXhiRDmGOn6AyTTCZup1/OSh4RwCsNs59DTX
dm8p1ghFmYTAVpcKt1ovGPC2CcBu99q+1aAyZ8mRJ2onCDnMJXtleirCJ6AuVo3kFKe2TwLF8SvP
hE8X8l4tYRt8Tr0fcRPvMVPZ9nwIuncyv7dXr3E8wldpdxpZHw+EhibgM7mZjqeJl3/212Qoa114
+C63Ss9ZHO/huS1ehUUE6jlso90XgVbLWfcnHJIPQ2D+s7/Ku7+S3YQ8nZUvFeQf5Vtv9Vs/i/dV
DotGtyzX5CSeYlROYwtpu6fVtmPSVaP3NWVqu0vlPktmuGC9Ru+bV2HU6Wjqq2myfP+uUpkazxq3
RrsX+RQbJbmpst1lL9OMZ7v06e1fSSet2ZusWpc+vXbL+uu9h8aea3bF9ZpsD+3+npjEYQKJvMur
V6+6vv9oruVH5dPD8MvTX42xG7GWcYL+y5cUR3Oyvfl9IoTl6DkW9WzIb0jO9a/JYWuTtW5LTj4l
yTX5c87n/arYLrX2LdZIqY+m1Yp2MqG9GvbWtsNEybad50bO7kBeOGonideTQvLA1qV/I3LncvJo
VOyquY8uckhsWLrCxIpOhU/bDot+j2ut94ejfkbTj/ZapiuiFL/RssyaimkPerWtXH7aKD8TmWzg
hteYeZcJl5sqFzt2o28fUv9kaJaoukh7Fe1kQnu17W1C08y/pG3/ebvXesoinNvVKdph7ZKiPkmT
aegdJ5899a8jtE9NG1GZQzz7a1SbJMLn5fOMhCK8cqQ/qkDxjkb4Afpnl2482JEuZq8cutSjUTN5
nNwJztezYSckXNleo/bWW+tFyjf4FNs9v+nB6qXUhzSc3+6jcpT6HIzPTHs4FT1r1TyWTGW0GYpx
hb3Y6OVdBdg31W7aJW100NeeQ1Deq+ZPNX6WqzlTE+4MpHNRmkYfZZW52CHbq1e3Wvk57bWUDoeU
k9RXmkqXnezDfuZwODZ9ikONAyu5TqaSDGOlU5N+vObjEieonBkomo7EnfumxEv2Gl9Dz670nzkk
QGrye8/L4aSyjkVuHEsSI9boo4nfNTvptYeaHGXdZbEGh6K0YrvX9K+1e03PRr269NyHPmRjcrTB
6YUcf5w0n1E7rHkqpT+c0O4TTHr+JfMzlZ150otZ7jdH87r65OrB+w/mqwUJhyTQ5XEOqRjuBQIg
MIfAgXMUUpXCgf6YR5BlFurngMO1MwmMjrBmysflIAACqxCgBa0D33p+poKgcuAm28vtllpN3Yty
EAoCIHA6BNZZU9kTH8r1Gut+qySDe6rsimIbnBfRapr80daXunHh2rrdIhWBEBA4QwKbylQaid4q
aeBW7WlaQq133xPkj+4mStoC9rBV40S9ViewqUxldZpQoEZAH1FmMixGC4SQmVRxOQjoCczPVFrP
/iI98q2E7GKSj4rlSUKyu1c6KTmwLW66ZRz5FuGanCJBvjzRX/63V09ZtV45uaceHeMX69u4rzJI
KNuRpbXLm2IJamW98mLt9p1pD/puhpIgcD4E9vLsL+6rctc5RxfzKY8cqWS7vGwM6f4SIbJY46Nc
mrJwQ/+aL6vVS56Xfq3hE3khnXElDjpB3Q6KxXYpcm73hBxdUU+ul/y00e5yEKCvFwnMRxWjASkf
c2huej4+AjUFgS4C8zOVxXZ/5R4hdy7yTKN8F4Kl5JBT07uwhpK5HFIyT026ajpaeL7+k/WsTVuN
6szBnt7M538AzppKoQwInCiBI1pT4WFs7hfoTDIuXsSDsNhFpCV6TraJvda3odVM/ZPMbHL1172w
YYfrKoa7g8BJEDiiTIV4rTVOPOR9eXZl35nHEZpgjfMh+Wuw5PpMTsI0t0MZENgMgfmZSsdCPcUM
yY6TkuKCavEkxx56YyTwADl5Q58m5fnu+by5ZuakqL9GT6mMJCDXVDRyivWVdWzXopdz0dA1nKWe
eZOx2LY+so0a9dJwa7Q7G1Jin8kd+S4aO9mMg0BFQKCXgHnsSm9cSX6kq+/ZX8c2IO3ltYj+Usgi
AntrgfIgAAIgsCcC+qd+8UMjk6dHdizU81jvRKd9ltI/mf7CyHdPxg2xIAAChycwf02lL1M5fA1x
RxAAARAAgYMROGimcrBa4UYgAAIgAAKrEJifqXRMf61SQ9wUBEAABEDgYAR6V+lzxRBUDtZYuBEI
gAAIHDsBZCrH3kLQDwRAAAROiAAylRNqLKgKAiAAAsdOAJnKsbcQ9AMBEACBEyKATOWEGguqggAI
gMCxE0CmcuwtBP1AAARA4IQIIFM5ocaCqiAAAiBw7ASQqRx7C0E/EAABEDghAshUTqixoCoIgAAI
HDsBZCrH3kLQDwRAAAROiMAeMxX+UaPJzySWElZ5RDx+l2ktU64ZzypmsBYE3BcETpHAvjIV/h2n
/LewckyNqMOPhV/l+fDKm7aj5uSYOtOe8vvuW5MF5dd+3VljTjO54XIQAIE5BPaSqchfMyyGkHy8
WfRHiU9Xuvg5OCZfW/OnC/rZLt3W0ucA9UVc6bIEFAaBAxOYn6kUfk746pMrU41aDCj+LGsjDhU/
ks4r/83g5LdsE08nFSvKMcrXLmmXr/0ALTeq8ueT27/FK4G0OdTumzdNF8+ET86zyKH428DSGPKG
7rWKA3ce3A4EQCAnYH5PpSuuGAnJzwl3P6WYZjaKWYhynFubWxv1lfkgVyrDd0/kM7XGnF5x+Czn
7pIqF+9b01/eN48oLDmP1jnqop69PHs51DperV6ajop8RUMJZUDg8AS6IooJJ7mG3UGlVskF3YTx
Vsq5MpqIUwazdvN06d++r15/Shq69C9GVk4+8nhPH9V4zhwfTLb4RhIzWSYuBAEQmE9gL2sqiVqJ
12v40y6/3Kg8ySn6R3lVLSOZjFWp/+h9lfqTnpyOKOMoXcJRRAqpxacufYryJyMtXoiIsixPSAOB
BQnsJVNR+tZiNeZcuyCXyaJq+vfmE1IBltnISGry23GCBHKZCfA18mswNfXKr0VEmWycuBAEDkBg
fqZSWKi//uo6Hwh3VYbnW6QblSPx4vl2YekxWZRch5DeavQ8j8drQ+niLbhwUX5N/2J2RScbl8hb
1OC3OWuEKznUeCZAcmhcoNh8OYQ8GHcZHgqDAAjMJPDi+29740qyUF8NKjM1w+VFh7ulcXoexfUz
eHmgzQ1mmjQYHgiAwBwCK+z+mqPueV6bTBNtxldutV7naaWoNQgQgflrKjuT7JjQZI7mZb6h8uD9
B4ALAiAAAiBwngQoHOiPeQRZbEvxeTYAag0CIAACWyIwP1NBUNmSPaAuIAACIDCLQO8qfX4zBJVZ
DYCLQQAEQGBLBJCpbKk1URcQAAEQWJkAMpWVGwC3BwEQAIEtEUCmsqXWRF1AAARAYGUCyFRWbgDc
HgRAAAS2RACZypZaE3UBARAAgZUJIFNZuQFwexAAARDYEgFkKltqTdQFBEAABFYmgExl5QbA7UEA
BEBgSwSQqWypNVEXEAABEFiZADKVlRsAtwcBEACBLRFAprKl1kRdQAAEQGBlAshUVm4A3B4EQAAE
tkQAmcqWWhN1AQEQAIGVCSBTWbkBcHsQAAEQ2BIBZCpbak3UBQRAAARWJoBMZeUGwO1BAARAYEsE
kKlsqTVRFxAAARBYn4CJK0YJzfHhg4e5uvjlx/WbEBqAAAiAwPEQMDNgmtef/vx5UWcEleNpSmgC
AiAAAkdBwKQpo6+aoggqR9GEUAIEQAAEtkEAQWUb7YhagAAIgMBREEBQOYpmgBIgAAIgsA0CCCrb
aEfUAgRAAAQWJvDW2+/kr9F7IKiMIkIBEAABEDhHAi++/zapdn4m54Kgco62gjqDAAiAgIaAjCKa
iGJkIqhowKIMCIAACJwpAYolyoiCoHKmVoJqgwAIgICegD6iIKjoqaIkCIAACIDAOAFMf40zQgkQ
AAEQAAElAQQVJSgUAwEQAAEQGCdwx0yW0QP0TVnzgLDrr67Na/w6lAABEAABENgcARMRak+KzOtq
gsVnv3+WRBAElc0ZBSoEAiAAAlMJPHj/QdelqqBiCumFPvrw467yeskoCQIgAAJtAsb/fHn9Ze/v
Sp1V+S4TmubPk0zF7j5+9eqVOZrX1SdXJkzRGc1fb3mNTJQBARAAAQ0B6X/Yj5E3wzEh0MWTwoH+
lUSQwvSXTGfaUY7WYPTlu2ImCoMACIBAgwD5H2Qq7V+VNwA5k1D6816rSzIV7P7qBYjyIAACR0Tg
rOay2vGj+Onhm6ojqJjHVR5eP9wRBEAABBoEJvjZs4pDOboFPbmBn8vXBpUF9UAPAQEQAIGlCJxV
hJgQQYucF/HnRpmnnz6dGFQW0WApG4IcEAABEGACE/zsWcWhmqnM9Oq1iGJuN56pzLw3rB8EQAAE
9kfgrCLEhAjaID/Zt3NE+YfffDAlU+l6PuX+TAeSQQAEQCAnMMHPnlUcatjMNN8uI8r0NZVp90YH
AAEQAIF9EzirCDEhgtb4T/PqSUSZvqZi1Jqmwb7tCfJBAATOnMAEP3tWcahoHtP8uSaiqNZUWKdp
epy5xaP6IAACeyVwVhFiQgTN4U/z5MWIMnFNZa8GAeEgAAIgMIfABD97VnFoDlu+thZRpq+pLKIW
hIAACIDA4gTOKkJMiKDzgTciSnFNpfzsr97n6evLz68hJIAACIAAEcCzv0ZjqqGk98/0LEdpXaMR
xcyAjf+eCuwVBEAABE6FAD/QdsIoftQjb0DmwwcPu5pSBhVNRDHCR4JKceGlSycUBgEQAAEQOB8C
raBSXHU5HzSoKQiAAAiAwAQC8gfpB2sqE2ThEhAAARAAARCgxRuzKjP+7C/AAgEQAAEQAAElAZup
6PcGKIWiGAiAAAiAwBkSMJnKHfOj9GdYc1QZBEAABEBgHwT+H4V229g4eSGaAAAAAElFTkSuQmCC
AAAAAAAAFAAPAAoAAQBpAA8AAwAAAAAAAAAAADgAAEDx/wIAOAAMAAYATgBvAHIAbQBhAGwAAAAC
AAAAGABDShgAX0gBBGFKGABtSAkEc0gJBHRICQQAAAAAAAAAAAAAAAAAAAAAAAA8AEFA8v+hADwA
DAAWAEQAZQBmAGEAdQBsAHQAIABQAGEAcgBhAGcAcgBhAHAAaAAgAEYAbwBuAHQAAAAAAAAAAAAA
AAAAAAAAAH4CAAAEAAAOAAAAAP////8AAAAABAAAAAUAAACcAAAAnQAAALEAAACyAAAAHgEAAB8B
AAAhAQAAIgEAACMBAACEAQAAhQEAAIcBAACIAQAAswEAAM4BAABdAgAAXgIAAGACAABhAgAAYgIA
AGwCAABtAgAAdQIAAH0CAACAAgAAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACA
mAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAA
AAAwAAAAAAAAAIAAAACAmAABIAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAw
AAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAA
AAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAA
AIAAAACAmAACIAAwAAAAAAAAAIAAAACAmAACIAAwAQAAAAAAAIAAAACAmAACIAAwAgAAAAAAAIAA
AACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACA
mAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAA
AAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAAAQAAH4G
AAAEAAAAAAQAAH4GAAAFAAAAAAQAAH4GAAAGAAAAAAAAAAIAAACAAgAABAAHAAAAAAADAAAAgAIA
AAQABwAAAAAAfQIAAIACAAAEAAcA//8UAAAABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUA
fgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBu
AGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMA
BABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABP
AEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8A
cgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBN
AEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcA
aQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABv
AGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwA
TABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABm
AG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMA
VQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABc
AFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4A
ZABvAGMABABjAHYAbgBzADkAQwA6AFwASwB1AG4AZABlAHMAaABcAFEAdQBlAHIAaQBlAHMAXABR
AHUAZQByAGkAMQBcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUA
bABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAHwAQwA6AFwARABvAGMAdQBtAGUAbgB0AHMAIABh
AG4AZAAgAFMAZQB0AHQAaQBuAGcAcwBcAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAXABBAHAA
cABsAGkAYwBhAHQAaQBvAG4AIABEAGEAdABhAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAG8AcgBk
AFwAQQB1AHQAbwBSAGUAYwBvAHYAZQByAHkAIABzAGEAdgBlACAAbwBmACAAVwBpAG4AZABNAEwA
IABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBsAGEAdABvAHIALgBhAHMAZAAEAGMAdgBu
AHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUAcgBpAGUAcwBcAFEAdQBlAHIAaQAxAFwA
VwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBsAGEAdABvAHIALgBk
AG8AYwAEAGMAdgBuAHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUAcgBpAGUAcwBcAFEA
dQBlAHIAaQAxAFwAVwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBs
AGEAdABvAHIALgBkAG8AYwAEAGMAdgBuAHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUA
cgBpAGUAcwBcAFEAdQBlAHIAaQAxAFwAVwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwBy
ACAAUwBpAG0AdQBsAGEAdABvAHIALgBkAG8AYwACAEcvpWUS/w7P/w//D/8P/w//D/8P/w//D/8P
EABgIs1tpPZAPP8P/w//D/8P/w//D/8P/w//DxAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAxgA
AA+EOAQRhDD9FcYFAAE4BAZehDgEYIQw/W8oAAIAAAAuAAEAAAAEgAEAAAAAAAAAAAAAAAAAAAAA
AAAYAAAPhKAFEYSY/hXGBQABoAUGXoSgBWCEmP4CAAEALgABAAAAAoIBAAAAAAAAAAAAAAAAAAAA
AAAAGAAAD4RwCBGETP8VxgUAAXAIBl6EcAhghEz/AgACAC4AAQAAAACAAQAAAAAAAAAAAAAAAAAA
AAAAABgAAA+EQAsRhJj+FcYFAAFACwZehEALYISY/gIAAwAuAAEAAAAEgAEAAAAAAAAAAAAAAAAA
AAAAAAAYAAAPhBAOEYSY/hXGBQABEA4GXoQQDmCEmP4CAAQALgABAAAAAoIBAAAAAAAAAAAAAAAA
AAAAAAAAGAAAD4TgEBGETP8VxgUAAeAQBl6E4BBghEz/AgAFAC4AAQAAAACAAQAAAAAAAAAAAAAA
AAAAAAAAABgAAA+EsBMRhJj+FcYFAAGwEwZehLATYISY/gIABgAuAAEAAAAEgAEAAAAAAAAAAAAA
AAAAAAAAAAAYAAAPhIAWEYSY/hXGBQABgBYGXoSAFmCEmP4CAAcALgABAAAAAoIBAAAAAAAAAAAA
AAAAAAAAAAAAGAAAD4RQGRGETP8VxgUAAVAZBl6EUBlghEz/AgAIAC4AAQAAAAEAAQAAAAAAAAAA
AAAAAAAAAAAAAxgAAA+EOAQRhDD9FcYFAAE4BAZehDgEYIQw/W8oAAIAAAAuAAEAAAAEgAEAAAAA
AAAAAAAAAAAAAAAAAAAYAAAPhKAFEYSY/hXGBQABoAUGXoSgBWCEmP4CAAEALgABAAAAAoIBAAAA
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
HgAAAAUAAABjdm5zAGwuZB4AAAACAAAANQBucx4AAAATAAAATWljcm9zb2Z0IFdvcmQgOS4wAABA
AAAAAOy6gwIAAABAAAAAAPzNDdZwwQFAAAAAACLe08lxwQEDAAAAAQAAAAMAAABcAAAAAwAAAA4C
AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7/AAAFAAIAAAAA
AAAAAAAAAAAAAAAAAAEAAAAC1c3VnC4bEJOXCAArLPmuMAAAAPQAAAAMAAAAAQAAAGgAAAAPAAAA
cAAAAAUAAACAAAAABgAAAIgAAAARAAAAkAAAABcAAACYAAAACwAAAKAAAAAQAAAAqAAAABMAAACw
AAAAFgAAALgAAAANAAAAwAAAAAwAAADUAAAAAgAAAOQEAAAeAAAABQAAAGN2bnMAAAAAAwAAAAQA
AAADAAAAAQAAAAMAAACFAgAAAwAAAO0OCQALAAAAAAAAAAsAAAAAAAAACwAAAAAAAAALAAAAAAAA
AB4QAAABAAAACAAAAEhpIE1pciwADBAAAAIAAAAeAAAABgAAAFRpdGxlAAMAAAABAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAA
AAYAAAAHAAAA/v///wkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAA
FAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAi
AAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAA
AAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAA
AD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAA
TQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABb
AAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkA
AABqAAAA/v///2wAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAA/v///3UAAAB2AAAAdwAA
AHgAAAB5AAAAegAAAHsAAAD+////fQAAAH4AAAB/AAAAgAAAAIEAAACCAAAAgwAAAP7////9////
/f///4cAAAD+/////v////7/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQH//////////wMA
AAAGCQIAAAAAAMAAAAAAAABGAAAAAAAAAAAAAAAAoAQd6slxwQGJAAAAgAAAAAAAAABEAGEAdABh
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
CgACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAD6
xQAAAAAAADEAVABhAGIAbABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAOAAIAAQAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAawAAALMRAAAAAAAAVwBvAHIAZABEAG8AYwB1AG0AZQBuAHQAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAgEGAAAABQAAAP////8AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYA
bwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAf//////////////
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAEAAAAAAAAAUARABvAGMA
dQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4
AAIBBAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAQ
AAAAAAAAAQBDAG8AbQBwAE8AYgBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAABIAAgECAAAABwAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAagAAAAAAAABPAGIAagBlAGMAdABQAG8AbwBsAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgABAP///////////////wAAAAAAAAAAAAAAAAAA
AAAAAAAAoAQd6slxwQGgBB3qyXHBAQAAAAAAAAAAAAAAAAEAAAD+////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////AQD+/wMKAAD/////BgkCAAAAAADAAAAA
AAAARhgAAABNaWNyb3NvZnQgV29yZCBEb2N1bWVudAAKAAAATVNXb3JkRG9jABAAAABXb3JkLkRv
Y3VtZW50LjgA9DmycQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
------_=_NextPart_000_01C1763E.3CDC6050--
From vxwexplo-errs@csg.lbl.gov  Mon Nov 26 03:23:27 2001
From: Mehul Agarwal <mehul@noida.hcltech.com>
Date: Mon Nov 26 03:23:30 PST 2001
Subject: How to mount dosfs on flash on Vxworks
Hello all,
I have to support dosfs on flash memory on my board running on Vxworks. I
want to know how will I be able to achieve this considering that I am ready
to write a block device driver for the flash device.
Thanks and regards,
Mehul
From vxwexplo-errs@csg.lbl.gov  Mon Nov 26 04:03:08 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Nov 26 04:03:10 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Nov 26 04:03:05 PST 2001
        Subject: Re: ioctl for SIOCGIFMTU request
        Subject: why couldnt  the  bootable application running ?
        Subject: Re: Is it possible to use GDB without launching target server?
        Subject: Re: The network stack locks completely solid
        Subject: Re: need help with shell I/O (scanf)
        Subject: Re: a compilation of this main() function calls "__eabi."
        Subject: Re: intLock() question...
        Subject: Re: Sending IP detagrams on a specific interface
        Subject: Re: need help with shell I/O (scanf)
        Subject: change the MAC address?
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: ioctl for SIOCGIFMTU request
Date: Sun, 25 Nov 2001 18:40:21 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$6u8dng$sm7$1@lnews.actcom.co.il>
References: <e0c640d3.0111230623.5ef6b420@posting.google.com>
THis is probably because this ioctl is not implemented in the
driver you use, actually I doubt it is implemented by ANY driver.
So only if you have sources for and ready to modify, you can
add handling of this ioctl to the driver.
Another means to accoumplish this is to use the ioctl which
retreives the MIB2 NET-IF related variables.
The MOB2 instrumentation is there if you use Wind's SNMP
or not.
HTH, Leonid
"Anandhi" <kanandhi@yahoo.com> wrote in message
news:e0c640d3.0111230623.5ef6b420@posting.google.com...
> Hi,
>   My requirement is to retrieve the MTU value of the interface.
>
>   I am able to retrieve the interface list using the following ioctl call
>      ioctl(sfd, SIOCGIFCONF, (int)&ifc )
>
>   Now I am trying to get the MTU of the interface whose address family is
AF_INET.
>
>       struct ifreq *pifrq;
>
>       pifrq = ifc.ifc_req;
>       if (((struct sockaddr_in *)&(pifrq->ifr_addr))->sin_family ==
AF_INET)
>       {
>       if (ioctl (sfd, SIOCGIFMTU, (char *)pifrq) < 0)
>         {
>         printf("ioclt for MTU failed");
>         printf("Errno:%lx", errno);
>         return;
>         }
>       }
> This ioctl call (SIOCGIFMTU) is failing with the errno 22 (EINVAL).
>
> If u have any inputs to solve the same, please do reply me.
---------------------------
Newsgroups: comp.os.vxworks
Subject: why couldnt  the  bootable application running ?
Date: 25 Nov 2001 22:16:58 -0800
From: youerming@163.com (Torna)
Organization: http://groups.google.com/
Message-ID: <c1997c62.0111252216.2b3db85c@posting.google.com>
I have made my self bsp .In order to monitor the running of the
target, i added
led light at the first stage of booting (rominit.s) when i made a
bootrom.hex,and flashed it into rom ,it can work well. The led can
light normally.but when i made a romable image including a
application. i cant get anything ,even the led lighting .i know my
system cant boot.
but i have no Jtag debuger tools, could anybody tell me what have
happened to it ?
 thank very much
 IDE:      host    win98  tornadoII,  target snds100 board.
                                                          hongwind
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to use GDB without launching target server?
Date: Mon, 26 Nov 2001 08:36:02 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9tsrd4$c2h$1@snoopy.bndlg.de>
References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524405.dip.t-dialin.net
Hi Frances,
the Tornado debugger runs under Tornado and needs the target server.
You might use the command line debugger by including it into your kernel.
It has all the debugging features of his IDE brother, except the GUI.
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
"Frances Zhu" <Frances@nortelnetworks.com> schrieb im Newsbeitrag
news:9tjbto$cca$1@bcarh8ab.ca.nortel.com...
> Hi,
>
> Is it possible to use Tornado debugger (GDB) without launching target
> server?
>
> Thanks,
> Frances
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: 26 Nov 2001 00:23:19 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111260023.1286ebf1@posting.google.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> <HcSK7.68$ZO3.98522@newsr2.u-net.net>
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<HcSK7.68$ZO3.98522@newsr2.u-net.net>...
> David Laight wrote in message <9tesl8$mg8$1@plutonium.btinternet.com>...
> >> See SPR #27790 and ask your Wind River contact when they plan to have a
> >fix
> >
> >but don't hold your breath........
> >
>
> considering they are now up to SPR # 70048 and haven't fixed it yet...
You've assumed that they are sequential... they're not; there are some
(big) gaps in the sequence every now and again that come from database
admin operations.
As for the actual network 'problem,' first thing to check is the
network stack buffers (there are a couple of tech notes on WindSurf
about configuring the network stack for network intensive apps - check
the archives of this group for the pointers).
Second thing to check is the number of RX and TX buffers (for fei,
nRFDs and nCFDs respectively) in the END load string (this is normally
defined in a file called condigNet.h in the BSP directory). These are
normally much too low for anything other than debug use of the
network, so I would make them much larger - especially the RX one. I
tend to go with 0x200 for the nRFDs and leave the nCFDs at 0x20, on my
fei card. My apps are receiving much more than sending though.
HTH,
John...
John...
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: need help with shell I/O (scanf)
Date: 26 Nov 2001 00:34:17 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111260034.790439aa@posting.google.com>
References: <3BFC60F6.9ABED695@larc.nasa.gov>
Hello,
A common problem this one, but you seem to be asking something that
conflicts a little...
You say that you lowered the priority of tShell so that it is low
enough that the host shell is not eating the characters. Problem is
that tShell is the target shell. The host shell is actually a TCL
script running on the host that communicates with the target via a
target server and the target agent; changing tShell's priority will
not affect the behaviour of the host shell.
So, which shell are you starting the task from? If it is a host shell
(i.e. not the serial console or a telnet/rlogin session to the
target), then you need to look at the options for the I/O redirection.
Better still, use the target shell to start your application since you
have it running in your system...
HTH,
John...
RBailey <r.m.bailey@larc.nasa.gov> wrote in message news:<3BFC60F6.9ABED695@larc.nasa.gov>...
> I am a VxWorks newbie.  Using Tornado II on a WinNT host with MVME 2604
> target.  The project builds and downloads OK.
> I am developing a 'C' - based downloadable application and am having
> trouble with shells and I/O.  I have been successful in changing the
> priority of "tshell" so that it is low enough that the host shell is no
> longer "eating" what is typed in.
> I spawn the task and it  printf's a prompt for some user input, and then
> I try to use scanf to grab the user input.  I see the prompt, and I see
> the response characters in the shell as I type them.  However, when I
> hit <CR> nothing happens.  I used the debugger to verify execution to
> that point.
> Any suggestions?
>
> Thanks for any help.
>
> R. Bailey
> NASA LaRC
> r.m.bailey@larc.nasa.gov
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: a compilation of this main() function calls "__eabi."
Date: 26 Nov 2001 00:47:25 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111260047.74d6da83@posting.google.com>
References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net> <njcK7.19$kI3.6627@newsr2.u-net.net>
And while on the FYIs...
(1) Never use main() in VxWorks. It is not supported, and will cause
the linking problems seen by the original poster.
(2) VxWorks AE includes a new feature that allows for 'components' to
load and run when they include a routine called vxMain(). Although the
same can be done with any function name, the vxMain() name allows for
one less step in the component definition.
HTH,
John...
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<njcK7.19$kI3.6627@newsr2.u-net.net>...
> Gary M wrote in message
> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>...
> >Defining a function "main" causes some compilers to generate code to
>  support
> >the environment. I'm not that familiar with the GNU infrastructure for PPC,
> >but it looks like the call to __eabi has something to do with extended
> >relocations.
>
>   Nope, static object constructors, just FYI.
>
>       DaveK
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: intLock() question...
Date: 26 Nov 2001 01:02:37 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111260102.411b027e@posting.google.com>
References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> <d428158b.0111200118.53b22d02@posting.google.com>
Hello all,
Seems that people still do not understand the scope of intLock(). It
works only for the task context that calls it. If that task blocks (or
exits), then interrupts will most probably be re-enabled. If the task
only blocked, when it resumes execution they will be locked again.
Why? Because the MSR (using PPC) is in the task context. You should
not block with interrupts locked (or, for that matter, after calling
taskLock() either). Switching to a different task, or the idle loop,
will re-enable the interrupts.
As for the wind shell (host shell), when you execute a command there,
the target agent spawns a task to call the function. So calling
intLock() from the wind shell results in a task on the target
executing intLock() and exiting. When the task exits, the scheduler
will be invoked and when the new task is selected, its value for the
MSR will be restored.
Does that make this any clearer? Search back a few days in the
archives for more on this subject... I posted a longer explanation not
so long ago.
John...
matthieu_sevestre@yahoo.fr (Matthieu Sevestre) wrote in message news:<d428158b.0111200118.53b22d02@posting.google.com>...
> Well,
>
> I have a beginning of answer for my case:
> - intLock() executed from the target shell works fine, whereas...
> - ...it does not work in the windsh, even with the @intLock call.
>
> FYI, vxMsrGet() returns the MSR value (the register modified by
> intLock()).
>
> So, on the target shell it works well:
> -> vxMsrGet
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
> -> intLock
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
> -> vxMsrGet                                        /* MSR well
> modified */
> value = 4656 = 0x1230
> -> intUnlock 0x29230
> value = 168496 = 0x29230 = sysNvRamGet + 0x14c
>
> When those same call are directly done in the wind shell, it does not
> work. The MSR value returned is always 0x29230.
>
> => Calls from the windsh does not affect the MSR register for an
> unknown reason for the moment and that's the reason why intLock() does
> not work when called from the windsh.
>
> So: do not call intLock() from the windsh directly (or do it through a
> C function).
>
> Hope that helps !
> Matt
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Sending IP detagrams on a specific interface
Date: Mon, 26 Nov 2001 14:50:12 +0530
From: Yusuf Motiwala <motiwala@noserver.ti.com>
Organization: Texas Instruments
Message-ID: <3C02094C.2F1A5AA3@noserver.ti.com>
References: <5ddcd6a7847f37df088ac9388844face.34031@mygate.mailgate.org>
Reply-To: removenoserverfrom@noserver.ti.com
Indhu Shetty wrote:
> Similarly when I receive an IP packet, form the peer; I need to know which port
> it was received.
>
> Is there any why I can do this in Tornado?
>
You mean VxWorks right, not tornaod :) What do you define port?
Anyway, I try to put some light.
Yes, you can do it (knowing port), but not with supplied driver. Either
- - modify the driver
- - write wrapper over a supplied driver (if you do not have source) and load it
  with standard procedure or let standard driver get loaded and you later
manipulate END_OBJ
Now, what you need to do with either of above method is to use spare field in
(NPT model) or
allocate N bye larger cluster to accomodate port. Just use it to knowing
receive port.
For sending to specific interface, simply use drivers (mapped to that port)
sendRoutine.
Hope this helps
Yusuf
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: need help with shell I/O (scanf)
Date: Mon, 26 Nov 2001 11:13:31 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c021692$1@brateggebdc5.br-automation.co.at>
References: <3BFC60F6.9ABED695@larc.nasa.gov>
Hi,
I had quite some troubles to receive input on the target when the target
shell is configured into the image.
It seems, reading from the IO device used for the target shell is dependent
on luck, more than other things.
Just lowering the priority of the shell does not prevent it to re-get some
characters, if you are running in a blocking condition in your task.
I recommend removing the target shell from the image and using some _real_
IO device (target console, serial,...) rather the the shell redirection for
your first test.
This has worked very well for me so far.
After you made sure your stuff works fine, you can try to use the fancier IO
devices like shell redirection.
hth
Werner
---------------------------
Newsgroups: comp.os.vxworks
Subject: change the MAC address?
Date: 26 Nov 2001 02:43:47 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111260243.2eec719c@posting.google.com>
hi all
  I use muxIoctl() to change one ethernet port's MAC address.It seemed
that I had sucessed.But I can't ping this ethernet port any more.I
check parameter RAM and END_OBJ,and the vaule I set existed.I used the
commands ,arp -d and arp -a, to check if the new MAC address had
worked.But in the arp list the old MAC address is still there and
dynamic.
   Will anybody tell me how can i make it.
thanks
 kevin
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Mon Nov 26 05:58:33 2001
From: "Boda, Hitesh T (MED)" <Hitesh.Boda@geind.ge.com>
Date: Mon Nov 26 05:58:35 PST 2001
Subject: Regarding to PCI device driver.
Hello Friends
   I need some help in written device driver in Vxworks, Actually I main
board have a MPC8240 controller and One Motion controller board will be
connect on PCI Slot, I want to write PCI driver for Motion controller board.
can you give any guide line from where I get information that how to write
device driver for PCI device.
more question in future.
-- hitesh
"THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE
ADDRESSEE and may contain confidential and privileged information.
If the reader of this message is not the intended recipient,
you are notified that any dissemination, distribution or copy of this
communication is strictly Prohibited.
If you have received this message by error, please notify us
immediately, return the original mail to the sender and delete the
message from your system."
From vxwexplo-errs@csg.lbl.gov  Mon Nov 26 06:09:08 2001
From: "Freeland, Mike" <mike.freeland@baesystems.com>
Date: Mon Nov 26 06:09:10 PST 2001
Subject: RE: Disabling Machine Checks on PPC750 (VxWorks)
Have you cleared the ME bit in the MSR?
Mike
From vxwexplo-errs@csg.lbl.gov  Mon Nov 26 23:10:32 2001
From: "Avkash Chauhan" <avkash@isr.co.jp>
Date: Mon Nov 26 23:10:34 PST 2001
Subject: problem in installing tornado prototyper 2.0 on WinNt 4.0 with SP6
hi,
i can not install tornado prototyper 2.o in a clean build Nt4 SP6 Box.
every time i try to run setup application with prototyper /wind/ files it
stops installing...
I successfully installed same on W2K box with same files.
I checked and found i have TCP/IP installed in my machine.
Do we need to install some application into our NT box before tornado
installtion.
Any help would be greatly appreciated.
Thanks in advance.
-kaz
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 00:39:58 2001
From: =?ks_c_5601-1987?B?sejFwsf8?= <kotaeji@postech.ac.kr>
Date: Tue Nov 27 00:40:00 PST 2001
Subject: [VxWorks] Strange TCP behavior
[VxWorks] Strange TCP behavior
Hi. I have written a TCP/IP application based on tornado2 (vxWorks 5.4). and
have done simple test.
BTW, Something strange has occurred. And I want to know if this is from the
bug of vxWorks 5.4 TCP/IP stack, or from the mistake of my experiment.
The experiment is very simple. (All sources are attached at the bottom)
         A(linux-x86)                  B(VxWorks-x86)
       +--------------+               +--------------+
       |              |               |              |
       |              |               |              |
       |              | <-----------> |              |
       |              |               |              |
       +--------------+               +--------------+
A sends some fixed sized data to B. Then B reads it. The data which is
sent by A, contains the size of data('D') which A wants from B. So B sends
data back to A. At this time, if the size of data which A wants is over
8192 bytes, B fragments data into pieces.
This simple process is repeated until A reads 8MB data from B.
And I calculated the throughput at this size. (MBPS)
And again, A sends some fixed sized data to B. But at this time, A requires
larger sized data than previous size.
A and B repeat this process from 'D' 512bytes to 'D' 256*512 bytes.
One part of performance result is as follows.
curBlkSize =   1 :  6(sec) 297160(usec) : MBPS = 1.27
curBlkSize =   2 :  4(sec) 43891(usec) : MBPS = 1.98
curBlkSize =   3 :  3(sec) 829219(usec) : MBPS = 2.09
curBlkSize =   4 :  3(sec) 115769(usec) : MBPS = 2.57
curBlkSize =   5 :  3(sec) 141261(usec) : MBPS = 2.55
curBlkSize =   6 :  2(sec) 882352(usec) : MBPS = 2.78
curBlkSize =   7 :  93(sec) 639502(usec) : MBPS = 0.09
curBlkSize =   8 :  81(sec) 919763(usec) : MBPS = 0.10
curBlkSize =   9 :  72(sec) 839805(usec) : MBPS = 0.11
curBlkSize =  10 :  2(sec) 6065(usec) : MBPS = 3.99
curBlkSize =  11 :  1(sec) 988978(usec) : MBPS = 4.02
curBlkSize =  12 :  1(sec) 975136(usec) : MBPS = 4.05
curBlkSize =  13 :  50(sec) 438493(usec) : MBPS = 0.16
curBlkSize =  14 :  46(sec) 839791(usec) : MBPS = 0.17
curBlkSize =  15 :  43(sec) 719797(usec) : MBPS = 0.18
curBlkSize =  16 :  1(sec) 606935(usec) : MBPS = 4.98
curBlkSize =  17 :  1(sec) 622761(usec) : MBPS = 4.93
curBlkSize =  18 :  1(sec) 624657(usec) : MBPS = 4.93
curBlkSize =  19 :  34(sec) 514324(usec) : MBPS = 0.23
curBlkSize =  20 :  32(sec) 799811(usec) : MBPS = 0.24
curBlkSize =  21 :  31(sec) 239823(usec) : MBPS = 0.26
curBlkSize =  22 :  1(sec) 563056(usec) : MBPS = 5.12
curBlkSize =  23 :  1(sec) 574747(usec) : MBPS = 5.08
curBlkSize =  24 :  27(sec) 321048(usec) : MBPS = 0.29
curBlkSize =  25 :  26(sec) 239810(usec) : MBPS = 0.31
curBlkSize =  26 :  25(sec) 239817(usec) : MBPS = 0.32
curBlkSize =  27 :  1(sec) 502081(usec) : MBPS = 5.33
curBlkSize =  28 :  1(sec) 514185(usec) : MBPS = 5.29
curBlkSize =  29 :  1(sec) 522846(usec) : MBPS = 5.25
curBlkSize =  30 :  21(sec) 879576(usec) : MBPS = 0.37
curBlkSize =  31 :  21(sec) 159826(usec) : MBPS = 0.38
curBlkSize =  32 :  20(sec) 479799(usec) : MBPS = 0.39
curBlkSize =  33 :  1(sec) 477656(usec) : MBPS = 5.42
curBlkSize =  34 :  1(sec) 487341(usec) : MBPS = 5.38
curBlkSize =  35 :  1(sec) 498385(usec) : MBPS = 5.35
As you can see, MBPSs are high at some special sizes. But MBPSs are
terribly low at some special sizes. I repeated this experiment many times.
But the results are same. Good size is always good, and bad size is always
bad.
But, strangely, when I changed the system B to Linux or Solaris, this strange
result disappeared. This strange result appears only when the System B is
VxWorks.
I analyzed tcp packets by tcpdump and tcptrace. the system B waits for an ACK
of some packet. And the System A gives that ACK after very long delay (30ms).
When I analyzed this tcpdump, I thought that the reason is the odd behavior of
linux TCP stack. But as mentioned above, if I change the system B to other OS,
this odd behavior is disappeared.
So, I have set TCP options of 3 systems (vxWorks, linux, solaris) to the same, and
tested. But the result was same. So, I used vxworks 5.3 instead of 5.4. But the
result was same.
I want to know about this strange TCP behavior of VxWorks.
Any comments are welcomed.
	<<vxWorks source>>
#include "testProg.h"
#include "fioLib.h"
#include "netinet/tcp.h"
#define	PDU_UNIT	512
#define MAGIC_KEY	0xef
#define HEADER_SIZE		50
#define HEADER_MAGIC_KEY	0xfe
void
workTask3(int sock, int pduLength)
{
     unsigned char * buffer, * header;
     int	     blksLeft;
     int	     reqBlkNum;
     int	     bytes, sum;
     printf(">> Entering workTask3 : sock %d: pduLength %d\n", sock, pduLength);
     buffer = (unsigned char *) malloc (pduLength * PDU_UNIT);
     if (buffer == NULL) {
	  perror(">> ERROR : cannot malloc for buffer (workTask3)\n");
	  exit(-1);
     } /* if */
     bzero(buffer, pduLength * PDU_UNIT);
     header = (unsigned char *) malloc (HEADER_SIZE);
     if (header == NULL) {
	  perror(">> ERROR : cannot malloc for header (workTask3)\n");
	  exit(-1);
     } /* if */
     while ('1'=='1') {
	  fioRead (sock, header, HEADER_SIZE);
	  if (header[0] != HEADER_MAGIC_KEY) {
	       printf(">> ERROR : invalid HEADER_MAGIC_KEY 0x%x\n", header[0]);
	       printf(">> Header : \n");
	       printf(">> \t0x%x 0x%x 0x%x 0x%x\n",header[0], header[1], header[2], header[3]);
	       exit(-1);
	  } /* if */
	  reqBlkNum 	= header[1];
	  blksLeft      = reqBlkNum;
	  while (blksLeft > 0) {
	       if (blksLeft >= pduLength) {
		    sum = 0;
		    while (sum < pduLength * PDU_UNIT) {
			 bytes = write (sock, buffer, pduLength * PDU_UNIT - sum);
			 sum   += bytes;
		    }
		    if (sum != pduLength * PDU_UNIT) {
			 perror(">> error 1\n");
			 exit(-1);
		    }
		    blksLeft -= pduLength;
	       } /* if */
	       else {
		    sum = 0;
		    while (sum < blksLeft * PDU_UNIT) {
			 bytes = write (sock, buffer, blksLeft * PDU_UNIT - sum);
			 sum   += bytes;
		    }
		    if (sum != blksLeft * PDU_UNIT) {
			 perror(">> error 2\n");
			 exit(-1);
		    }
		    blksLeft = 0;
	       } /* else */
	  } /* while */
     } /* while */
} /* workTask3 */
void
serverMain (int testNum, int readSize)
{
     struct sockaddr_in	   serverAddr;
     struct sockaddr_in	   clientAddr;
     int		   serverSock, connSock, sFd, taskCount = 0;
     int		   sockAddrSize, taskId;
     int		   srBuffSize, optval;
     char		   taskName[20];
     /* set up the local address */
     sockAddrSize = sizeof (struct sockaddr_in);
     bzero ((char *) &serverAddr, sockAddrSize);
     serverAddr.sin_family = AF_INET;
     /* serverAddr.sa_len = (u_char) sockAddrSize; */
     serverAddr.sin_port = htons (SERVER_PORT_NUM);
     serverAddr.sin_addr.s_addr = htonl (INADDR_ANY);
     /* create a TCP-based socket */
     if ((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR) {
	  perror (">> socket(): cannot execute socket()");
	  exit(-1);
     }
     /* bind socket to local address */
     if (bind (sFd, (struct sockaddr *) &serverAddr, sockAddrSize) ==
	 ERROR) {
	  perror (">> bind(): cannot bind");
	  close(sFd);
	  exit(-1);
     }
     /* create queue for client connection requests */
     if (listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR) {
	  perror(">> listen(): cannot listen");
	  close(sFd);
	  exit(-1);
     }
     while (1==1) {
	  logMsg(">> Listening Well-Known Ports...\n",0,0,0,0,0,0);
	  if ((connSock = accept (sFd, (struct sockaddr *) &clientAddr,
				  &sockAddrSize)) == ERROR) {
	       perror (">> (iscsiServerTask) : cannot accept\n");
	       exit(-1);
	  }
	  sprintf (taskName, "server_%d", taskCount);
	  switch (testNum) {
	  case 3:
	       taskSpawn (taskName, 2, 0, 10000, workTask3, connSock, readSize,0,0,0,0,0,0,0,0);
	       break;
	  case 4:
	       printf(">> ERROR : test %d is not yet supported \n", testNum);
	  default:
	  } /* switch */
     } /* while */
} /* serverMail */
	<<Linux source>>
#include <stdio.h>
#include <sys/time.h>
#include <sys/types.h>
#include <time.h>
#include <netinet/in.h>
#include <errno.h>
#include <fcntl.h>
#include <netinet/tcp.h>
#define __ORIGIN__
#define SERV_PORT		9877
#define TARGET_NAME_LENGTH	20
#define MAGIC_KEY		0xef
#define HEADER_MAGIC_KEY	0xfe
#define PDU_UNIT		512
#define BLK_SIZE		512
#define HEADER_SIZE		50
#define MAX_REQ_SIZE		256
#define	BUFF_SIZE		1024 * 512 * 2 * 8
#define TOTAL_BLK_SIZE	        (1024*8*2) 	/* 8MB */
#define WORKLOAD_PER_SIZE	512 * 1024
#define TIME_STAMP(tp) 					\
if (gettimeofday((tp), NULL)) { 	                \
    printf(">> TIME_STAMP(): ERROR: gettimeofday()");   \
    exit(-1);                                           \
}
/******************************************************************************
 * TIME_ELAPSED :
 *****************************************************************************/
void
TIME_ELAPSED (struct timeval * elapsed, struct timeval * before, struct timeval * after)
{
    timersub(after, before, elapsed);
} /* TIME_ELAPSED */
/******************************************************************************
 * makeConnection:
 *****************************************************************************/
int
makeConnection (void)
{
     int			sockfd, optval;
     struct sockaddr_in		servaddr;
     char			target[TARGET_NAME_LENGTH];
     sockfd = socket(AF_INET, SOCK_STREAM, 0);
     sprintf(target, "192.168.1.2");
     bzero (&servaddr, sizeof(servaddr));
     servaddr.sin_family = AF_INET;
     servaddr.sin_port   = htons (SERV_PORT);
     inet_pton (AF_INET, target, &servaddr.sin_addr);
     connect (sockfd, (struct sockaddr_in *) &servaddr, sizeof(servaddr));
     return sockfd;
} /* makeConnection */
int
main (int argc, char ** argv)
{
     struct timeval	before, after, elapsed;
     unsigned char    * buffer, * header;
     int		mysock, bytes, pduLength, xferedSum;
     int		curBlkSize, blksLeft, sum;
     pduLength = atoi(argv[1]);
     printf(">> pduLength          = %d\n",pduLength);
     printf(">> MAX DataPDU Length = %d\n", pduLength * BLK_SIZE);
     buffer = (unsigned char *) malloc (pduLength * PDU_UNIT);
     if (buffer == NULL) {
	  perror (">> ERROR : cannot malloc for buffer\n");
	  exit(-1);
     } /* if */
     bzero(buffer, pduLength * PDU_UNIT);
     header = (unsigned char *) malloc (HEADER_SIZE);
     if (header == NULL) {
	  perror (">> ERROR : cannot malloc for header\n");
	  exit(-1);
     } /* if */
     mysock = makeConnection();
#ifdef __ORIGIN__
     for (curBlkSize = 1; curBlkSize < MAX_REQ_SIZE; curBlkSize++) {
#else
	  curBlkSize = 26;
#endif
	  xferedSum = 0;
	  TIME_STAMP (&before);
	  do {
	       header[0] = HEADER_MAGIC_KEY;
	       header[1] = curBlkSize;
	       write (mysock, header, HEADER_SIZE);
	       xferedSum += curBlkSize;
	       blksLeft  = curBlkSize;
	       do  {
		    if (blksLeft > pduLength) {
			 sum = 0;
			 while (sum < pduLength * BLK_SIZE) {
			      bytes = read (mysock, buffer, pduLength * BLK_SIZE - sum);
			      sum += bytes;
			 }
			 if (sum != pduLength * BLK_SIZE) {
			      perror (">> error1\n");
			      exit(-1);
			 }
			 blksLeft -= pduLength;
		    } /* if */
		    else {
			 sum = 0;
			 while (sum < blksLeft * BLK_SIZE) {
			      bytes  = read (mysock, buffer, blksLeft * BLK_SIZE - sum);
			      sum   += bytes;
			 }
			 if (sum != blksLeft * BLK_SIZE) {
			      perror (">> error2\n");
			      exit(-1);
			 }
			 blksLeft = 0;
		    } /* else */
		    /* blksLeft  -= (bytes / BLK_SIZE); */
	       } while (blksLeft != 0);
	       /*printf(">> ------------------\n"); */
	  } while (xferedSum < TOTAL_BLK_SIZE);
	  TIME_STAMP   (&after);
	  TIME_ELAPSED (&elapsed, &before, &after);
	  printf(">> curBlkSize = %3d :  %ld(sec) %ld(usec) : MBPS = %.2f \n", curBlkSize, elapsed.tv_sec, elapsed.tv_usec,
		 (double)(xferedSum*1000000.0)/((double)(elapsed.tv_sec*1000000.0+elapsed.tv_usec*1.0)*1024.0*2.0));
#ifdef __ORIGIN__
     } /* for */
#endif
} /* main */
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 03:31:26 2001
From: "Tan, Tat Kin" <tat.kin.tan@intel.com>
Date: Tue Nov 27 03:31:29 PST 2001
Subject: Error when ld
Greetings VxWorks folks!
Just wonder if someone can give me a hand on this error msg that i had. I
tried to load an .out file into my embedded device and i have this error
message.
-> ld < c:\rcwHttp.out
undefined symbol: _sem_wait
undefined symbol: _sem_init
undefined symbol: _SAMPLE_AuthLevel
undefined symbol: _sem_post
ld error: error reading file (errno = 0x1c0001).
value = 0 = 0x0
Anyone has any idea what is this indicating? appreciate any form of help.
Thanks in advance.
   With Warm Regards,
      Tat Kin Tan
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 04:03:16 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Nov 27 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Nov 27 04:03:13 PST 2001
        Subject: Re: need help with shell I/O (scanf)
        Subject: MAP-CA processor and TCP/IP
        Subject: Re: need help with shell I/O (scanf)
        Subject: Re: need help with shell I/O (scanf)
        Subject: Monitoring CPU Utilization
        Subject: Re: The network stack locks completely solid
        Subject: Re: DosFS Questions
        Subject: handling PCI device
        Subject: Re: Monitoring CPU Utilization
        Subject: Re: Monitoring CPU Utilization
        Subject: Cross compiling problems!!! HELP!!
        Subject: Re: DosFS Questions
        Subject: Re: DOSFS2 MOUNTING
        Subject: Multicasting using VxWorks
        Subject: Re: DOSFS2 MOUNTING
        Subject: How to include a archive file
        Subject: structures pitfall
        Subject: Re: How to include a archive file
        Subject: Re: structures pitfall
        Subject: Re: Multicasting using VxWorks
        Subject: allow-single-precision
        Subject: Re: How to include a archive file
        Subject: Re: How to include a archive file
        Subject: which device caused PCI bus interrupt?
        Subject: vsnprintf
        Subject: Re: handling PCI device
        Subject: Re: Monitoring CPU Utilization
        Subject: Re: which device caused PCI bus interrupt?
        Subject: Welcome to new photogallery
        Subject: what's the difference standard simulator  and full simulator?
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: need help with shell I/O (scanf)
Date: 26 Nov 2001 12:05:27 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9165855746E85borkhuisagerecom@135.7.153.101>
References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at>
"Werner Schiendl" <ws-news@gmx.at> wrote:
> Hi,
>
> I had quite some troubles to receive input on the target when the
> target shell is configured into the image.
> It seems, reading from the IO device used for the target shell is
> dependent on luck, more than other things.
>
> Just lowering the priority of the shell does not prevent it to re-get
> some characters, if you are running in a blocking condition in your
> task. I recommend removing the target shell from the image and using
> some _real_ IO device (target console, serial,...) rather the the shell
> redirection for your first test.
> This has worked very well for me so far.
> After you made sure your stuff works fine, you can try to use the
> fancier IO devices like shell redirection.
There is some example code here:
http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.9-G:
        shelltid = taskNameToId("tShell");
        taskDelete(shelltid);
        for( ; ; )
        {
                // read
        }
        shellInit(0,TRUE);
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: MAP-CA processor and TCP/IP
Date: Mon, 26 Nov 2001 14:43:36 +0100
From: Cedric Nivois <cedric.nivois@gespac.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <3C024708.65D80A3D@gespac.ch>
Hello,
	I want to put a TCP/IP stack on MAP-CA processor,
but I don't know if this stack will not take to much processor
ressource. Can someone give me information about VxWorks on MAP-CA?
Thanks
	Cedric
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: need help with shell I/O (scanf)
Date: Mon, 26 Nov 2001 15:16:24 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c024f7e$1@brateggebdc5.br-automation.co.at>
References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at> <Xns9165855746E85borkhuisagerecom@135.7.153.101>
Hi
"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:Xns9165855746E85borkhuisagerecom@135.7.153.101...
...
>
> There is some example code here:
> http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.9-G:
>
>
>         shelltid = taskNameToId("tShell");
>
>         taskDelete(shelltid);
>         for( ; ; )
>         {
>                 // read
>         }
>         shellInit(0,TRUE);
>
>
...
Is this code 'production quality' or does it bear the risk of leaking memory
or some other unwanted behaviour?
Just curios
Werner
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: need help with shell I/O (scanf)
Date: 26 Nov 2001 14:52:47 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9165A1B1D2988borkhuisagerecom@135.7.153.101>
References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at> <Xns9165855746E85borkhuisagerecom@135.7.153.101> <3c024f7e$1@brateggebdc5.br-automation.co.at>
"Werner Schiendl" <ws-news@gmx.at> wrote:
> Is this code 'production quality' or does it bear the risk of leaking
> memory or some other unwanted behaviour?
I did not try this myself, but you could check the amount of free memory
before and after you ran this code 10 times.
Groeten,
        Johan
- --
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.com    |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===
---------------------------
Newsgroups: comp.os.vxworks
Subject: Monitoring CPU Utilization
Date: Mon, 26 Nov 2001 10:06:01 -0500
From: Ben Kuhn <benk@improvsys.com>
Organization: Improv Systems, Inc.
Message-ID: <3C025A59.C2EA92A9@improvsys.com>
Reply-To: benk@improvsys.com
This is a multi-part message in MIME format.
- --------------142DD4183A7DCB27ADA257CB
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Is there any way to programmatically watch the CPU utilization by task
under VxWorks 5.4?
- --
Ben Kuhn
Improv Systems
(716) 756-5411 x25
- --------------142DD4183A7DCB27ADA257CB
Content-Type: text/x-vcard; charset=us-ascii;
 name="benk.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Ben Kuhn
Content-Disposition: attachment;
 filename="benk.vcf"
begin:vcard
n:Kuhn;Benjamin
tel;cell:716 739 2171
tel;work:(716) 756 - 5411 x25
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:benk@improvsys.com
fn:Benjamin Kuhn
end:vcard
- --------------142DD4183A7DCB27ADA257CB--
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: The network stack locks completely solid
Date: 26 Nov 2001 11:38:20 -0500
From: Bill Pringlemeir <bpringlemeir@mistwireless.com>
Organization: Bell Sympatico
Message-ID: <uvgfx1o8z.fsf@mistwireless.com>
References: <ZE7K7.25447$P%2.1402792@news.bora.net> <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> <ug078ov1s.fsf@yahoo.com>
Sender: bpringlemeir@DeadDuck
[I posted a message on Nov 21st.  It doesn't appear on my news server,
 put is found in google archives, so I assume it made it to the public]
 Bill> I have encountered a problem where I have the network task
 Bill> hanging.  On my target, I have "tyCo/0" and "tyCo/5" connecting
 Bill> to PPP sessions 0 and 1.  The session 0 (tPPP0, tPPP0Wrt, etc)
 Bill> is invoked in passive mode a boot time and is connected to via
 Bill> RAS etc and used with the Tornado Tools.  We have added an
 Bill> Ethernet chip and the PPP0 is generally unused.  The PPP1 does
 Bill> an active connect (client) to an ISP.
[snip]
 Bill> Also, if PPP0 is used to debug will the connection to PPP1 is
 Bill> happening, we experience the lock every time with pre-emptive
 Bill> interrupts.  It does not happen as often with pre-emption
 Bill> turned off.
 Bill> Is it possible that this is related to the SPR shown?  I am
 Bill> using an END driver in all cases.  I would also be interested
 Bill> to know if anyone else has experienced network lockups during
 Bill> PPP connect/disconnect sequences.
 Bill> This information was difficult to come by.  I hope it helps
 Bill> someone; making interrupts non-preemptable _ALMOST_ eliminates
 Bill> the problem.  It only happens once in about 120 PPP
 Bill> connects/disconnects.  With few interrupts on the system, the
 Bill> test code has run over a weekend executing a 600-700 times [the
 Bill> ISP really likes us]!
The problem was related to our connection code [at least according to
out current understanding].  We had pppInit() code followed by an
ifAddrGet() loop.  The ifAddrGet() was being used to detect if the PPP
link had come up.  After observing a task stopped at this function, I
looked at the WRS usrNetwork code and found that they use pppInfo() to
detect the success of a PPP connection.
I believe that some sort of deadlock can occur if you use different
network functions, while connecting via PPP.  By using pppInfoGet(),
we no longer have any trouble connecting the PPP link.  I don't think
that this `limitation/process' is noted anywhere in WRS documentation
on PPP, although they do recommend using pppInfoGet() to check the
status of a link.  Some of the other problem I mentioned in message
"ug078ov1s.fsf@yahoo.com" are probably unrelated.
fwiw,
Bill Pringlemeir.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DosFS Questions
Date: Mon, 26 Nov 2001 18:49:59 +0200
From: "Anatoly Greenblatt" <anatoly.greenblatt@usa.net>
Organization: Internet Gold, ISRAEL
Message-ID: <9ttrtu$ks1$1@news.inter.net.il>
References: <e397b57.0111191023.4ee4f066@posting.google.com>
Hi Andy,
There is an update, DOSFS2, which has comprehensive explanation of steps to
create dosfs partition. Another reason you need dosfs2 is that dosfs is
limited to 2gb (or 4gb, I'm not sure).
Anatoly.
"Andy" <andy.moskoff@strixsys.com> wrote in message
news:e397b57.0111191023.4ee4f066@posting.google.com...
> Hi,
>
> 1. What exactly must I do in order to use the DosFS?? I understand
> that dosFsInit() must be called, but is there anything else??? I want
> to move and copy files.
>
> 2. Related to the first question, how does one copy and move files???
> It seems as if I have to use open/read/write/close methodology instead
> of a simple "system" call. Is this true????
>
> Andy
---------------------------
Newsgroups: comp.os.vxworks
Subject: handling PCI device
Date: Mon, 26 Nov 2001 18:56:47 +0200
From: "Anatoly Greenblatt" <anatoly.greenblatt@usa.net>
Organization: Internet Gold, ISRAEL
Message-ID: <9ttsal$l3a$1@news.inter.net.il>
Hi,
I need to write a driver for PCI device. I'd appreciate if someone could
answer following how-tos:
- - enumerate pci device, including those on secondary bus
- - get device resources;
- - connect to device interrupt
- - map device memory space to virtual space
- - allocate memory in the driver and get its physical address
- - allocate memory in application and get its physical address(or is it the
same as previous)
If there are any examples that could help me, please let me know.
Thanks,
Anatoly.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Monitoring CPU Utilization
Date: Mon, 26 Nov 2001 09:29:34 -0800
From: "Gary M" <com.vertical@garym>
Message-ID: <3c027c6b$0$27529$4c41069e@reader0.ash.ops.us.uu.net>
References: <3C025A59.C2EA92A9@improvsys.com>
Reply-To: "Gary M" <com.vertical@garym>
You mean something other than Spy? (Tornado/docs/vxworks/ref/spyLib.html)
"Ben Kuhn" <benk@improvsys.com> wrote in message
news:3C025A59.C2EA92A9@improvsys.com...
>
> Is there any way to programmatically watch the CPU utilization by task
> under VxWorks 5.4?
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Monitoring CPU Utilization
Date: Mon, 26 Nov 2001 19:17:13 GMT
From: dbrya@yahoo.com
Organization: http://www.newsranger.com
Message-ID: <ZywM7.38264$xS6.62773@www.newsranger.com>
References: <3C025A59.C2EA92A9@improvsys.com>
In article <3C025A59.C2EA92A9@improvsys.com>, Ben Kuhn says...
..
>Is there any way to programmatically watch the CPU utilization by task
>under VxWorks 5.4?
>
..
Ben,
While the spy utility will give you the information you are looking for, it will
not do so programmatically.  So the answer is NO there is nothing provided for
programmatic CPU utilization.
However, vxWorks has all the hooks you need to do your own CPU utilization
measurements.  Using taskSwitchHook routines, you can measure the amount of time
spent in each task.  You should use a high speed clock (or hardware timer) to
measure the time in order to provide a high enough resolution to give meaningful
results.   While not optimal ( there is no measurement of interrupt or kernel
time) this technique provides very accurate results with little overhead.  In
fact on a system which was running at over 90% CPU utilization, spy caused the
board to crash, while the taskSwitch technique continued to report all the way
up to 100% utilization.  (BTW, it was a very poorly designed board written by
NON-software types!!)
If you have any questions or want more detail on this technique feel free to
contact me
HTH
Dave
       T h e   P T R   G r o u p,   I n c.
    Embedded, Real-Time Solutions, and Training
David Bryan                      Manager, Embedded Services
www.ThePTRGroup.com              Dave@ThePTRGroup.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Cross compiling problems!!! HELP!!
Date: 26 Nov 2001 11:44:13 -0800
From: vittalk@ieee.org (Vittal Krishnamurthy)
Organization: http://groups.google.com/
Message-ID: <52e25f45.0111261144.6d40284c@posting.google.com>
Hi
I was trying to build a cross compiler for Vxworks(Tornado II) for
MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a
lot compiler errors...
I used binutils 2.11.2. The commands were as follows:
binutils:
     ./configure --target=/usr/mylocal   --target=mips-wrs-vxworks
       make
       make install
binutils works well
gcc:
     ./configure --prefix=/usr/mylocal --enable-languages=c,c++
                  --target=mips-wrs-vxworks --with-gnu-as
           --with-gnu-ld
           --with-headers=<myTornadoDir>/target/h
          --with-libs=<myTornadoDir>/target/lib
           --enable-threads=vxworks
      make ------> keep getting lots of errors....eg
              libstdc++-v3/include/mips-wrs-vxworks/bits/taskLib.h:121,
                 from eh_globals.cc:36:
../../../gcc/machmode.h:124: syntax error before `(' token
../../../gcc/machmode.h:130: syntax error before `(' token
etc.....
I have tried to fix some of them.. but I keep getting so many errors
which make me beleive that there must be some fundamental problem some
where.
On the other hand, GCC 2.95.3 compiled with very few problems.!!!
Any help in this matter is very much appreciated.
Thanks
- -Vittal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DosFS Questions
Date: Mon, 26 Nov 2001 22:13:38 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$bddfng$pha$1@lnews.actcom.co.il>
References: <e397b57.0111191023.4ee4f066@posting.google.com> <9ttrtu$ks1$1@news.inter.net.il>
"Anatoly Greenblatt" <anatoly.greenblatt@usa.net> wrote in message
news:9ttrtu$ks1$1@news.inter.net.il...
> Hi Andy,
>
> There is an update, DOSFS2, which has comprehensive explanation of steps
to
> create dosfs partition. Another reason you need dosfs2 is that dosfs is
> limited to 2gb (or 4gb, I'm not sure).
>
> Anatoly.
>
Tolik, you are wrong, DosFs 2.0 works quite well (n practice) on a 150GByte
and 300GByte
volumes, and probably somewhere there could be even a larger volume which is
supports,
but I stick to facts I am aware of.
DosFs2.0 with the FAT32 format, can really stretch into a huge volume if
needed, for which
there is of course a price to pay, but that is another story.
There is a limitation of file size - 4.3GByte is the max size of any single
file while using
MSFT-compatible VFAT directory structure (default). With the proprietary
VX_LONG directory
structure, there are 40 bits for file size, and thus a single file
theoretical limit is 1 TeraByte.
During development, max file size was tested at 8Gbyte (which was the
largest disk we could
afford to buy), but I am not aware of anyone testing VX_LONG file size limit
on anything larger.
HTH,
- - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DOSFS2 MOUNTING
Date: Mon, 26 Nov 2001 16:30:53 -0500
From: "John R." <jroberts@unisperenetworks.com>
Message-ID: <3c02b49b$0$26895$4c41069e@reader1.ash.ops.us.uu.net>
References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net>
Flushing/Invalidating cache does not resolve this problem, nor does
modifying the cache tuning.  This is a FAT issue. Is the FAT part of the
disk cache?
How might I flush the FAT to disk?
---------------------------
Newsgroups: comp.os.vxworks
Subject: Multicasting using VxWorks
Date: 26 Nov 2001 13:39:38 -0800
From: ssaya@larscom.com (Saya)
Organization: http://groups.google.com/
Message-ID: <f454e367.0111261339.48952895@posting.google.com>
My company manufactures WAN/LAN connectivity equipment.  Our
requirement is that when a multicast address, if received on the
Ethernet interface, must be accepted as a valid IP packet by the
driver, passed to the IP stack, and examined to determine the
configured egress route in the WAN.  Likewise, if a multicast packet
is received on any WAN interface, then the reverse of the above flow
must occur.  I have been trying to figure out what part of VxWorks
code I will have to modify to achive the above.  I have talk with
WindRiver guys and they are no help.  According to them VxWorks does
not support Multicasting.  Our product is not going to be a part of
any multicast aware device, therefore we do not have any group
concept.  We just want to receive and send multicast packets from our
box.
We are using TMS 1.0 with END driver.  WindRiver says that END driver
does support multicasting, but packets are getting dropped somewhere.
What I like to do is to treat multicast packets as broadcast and do
not touch the MAC address.  I do not know if this is the right thing
to do.  I would appreciate any comments from anyone regarding this.
Thanks
S. Saya
ssaya@larscom.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DOSFS2 MOUNTING
Date: 26 Nov 2001 17:03:02 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uwv0dyyuh.fsf@yahoo.com>
References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> <3c02b49b$0$26895$4c41069e@reader1.ash.ops.us.uu.net>
Sender: bpringlemeir@DeadDuck
>>>>> "John" == John R <jroberts@unisperenetworks.com> writes:
[snip]
 John> How might I flush the FAT to disk?
        fd = open("/mydrive",O_RDWR,0);
        ioctl(fd, CBIO_CACHE_INVAL, -1);
        ioctl(fd, CBIO_CACHE_FLUSH, -1);
hth,
Bill Pringlemeir.
- --
Source licenses are fun, right?  Let me tell you something, you
weakling, most Polish people have surfboards .
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: How to include a archive file
Date: 26 Nov 2001 15:46:10 -0800
From: arcv0@lycos.com (Roger)
Organization: http://groups.google.com/
Message-ID: <45dd6f79.0111261546.62ec2369@posting.google.com>
Hi,
I am using the Tornado 2.0. I have a project(Project1) and I made it
into an archive file(arch.a). I want to call the functions in the
archive file in another new project.  How to include this archive file
into the new project.?
I added the following line to the C/C++ compiler tab of the 'Build'
properties.
 -I C:/Project1/arch.a
But when I tried to build it , I get the warning
C:\Project2\test.c:23: warning: implicit declaration of function
`func'.
'func' is the function in the archive file. 'test.c' is the function
in the new project .
Any suggestions will be of great help.
Thank You.
---------------------------
Newsgroups: comp.os.vxworks
Subject: structures pitfall
Date: 26 Nov 2001 16:12:25 -0800
From: quadmail@yahoo.com (Alex)
Organization: http://groups.google.com/
Message-ID: <7b99c091.0111261612.1d1e2794@posting.google.com>
Hi All,
I declare an array of 100 structures in an include file.  Each
structure contains names of modules and and their segment addresses:
#include "moduleLib.h"
struct module_inf
    {
    char*    name;
    void*    module_id;
    void*    textSeg;	             /* address of text segment */
    void*    dataSeg;                /* address of data segment */
    void*    bssSeg;
    }moduleInfo[100];
I then populate the structure in some code which works fine:
/*Build a record of the information obtained for each module... */
         moduleInfo[index_no].name = module_name;
         /*Rest of code*/
In some different code, I try to read the structure elements back
according to the module name, i get garbage back WITH THE FOLLOWING
PRINTF()...Does the memory block get erased when the first code block
finishes with it??  Each code seg. belongs in a separate source file.
printf("moduleInfo[%d].name is : %s
\n\n",index_no,moduleInfo[index_no].name);
Any ideas!!? Alex Quade
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: 27 Nov 2001 02:24:31 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna05uav.u40.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <45dd6f79.0111261546.62ec2369@posting.google.com>
 * Roger <arcv0@lycos.com> [11-Mon-01 15:46 -0800]:
 > I am using the Tornado 2.0. I have a project(Project1) and I made it
 > into an archive file(arch.a). I want to call the functions in the
 > archive file in another new project.  How to include this archive file
 > into the new project.?
 > I added the following line to the C/C++ compiler tab of the 'Build'
 > properties.
 >  -I C:/Project1/arch.a
  [...]
I could be wrong, but I think -I is for 'include', and what
you would like to do is to link against that .a file (NOT
include it)
good luck,
denis
- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: structures pitfall
Date: 27 Nov 2001 02:36:43 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna05v1q.u40.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <7b99c091.0111261612.1d1e2794@posting.google.com>
 * Alex <quadmail@yahoo.com> [11-Mon-01 16:12 -0800]:
 >
 > I declare an array of 100 structures in an include file.  Each
  [...]
 > Any ideas!!? Alex Quade
i think this is where your problem lies. what happens, is
that two different modules use a different structure, which
has a file scope, which is limited to the translation unit.
therefore, what happens is that you initialize one array of
structures, but use the second one. instead, try this, but
note that initialization must naturally come before usage:
- --------- header.h -----------
struct module_inf
{
   char*    name;
   void*    module_id;
   void*    textSeg;	             /* address of text segment */
   void*    dataSeg;              /* address of data segment */
   void*    bssSeg;
};
/* moduleInfo[] could be moduleInfo[100], but I dont believe
 * it is necessary */
extern struct module_inf moduleInfo[];
- --------- file1.c -----------
#include "header.h"
struct module_inf  moduleInfo[100];
void
my_init_function()
{
   /* do your initialization bit here */
}
- --------- file2.c -----------
#include "header.h"
void
my_other_function()
{
   /* make sure the intialization step actually happenned */
   /* do the printf() business */
}
the above should give you an idea, and should probably
work...
hth,
denis
- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Multicasting using VxWorks
Date: 26 Nov 2001 20:46:51 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111262046.3da82a56@posting.google.com>
References: <f454e367.0111261339.48952895@posting.google.com>
Hello,
Can't really give you advice about your specific problem, but I would
suggest that when asking for help here you supply a little more
information about your system...
For example, the name of device driver you are using, and the CPU
architecture would be a good idea. I would suggest a quick followup
with some specifics, then somebody here might be able to help you out.
Rgds,
John...
ssaya@larscom.com (Saya) wrote in message news:<f454e367.0111261339.48952895@posting.google.com>...
> My company manufactures WAN/LAN connectivity equipment.  Our
> requirement is that when a multicast address, if received on the
> Ethernet interface, must be accepted as a valid IP packet by the
> driver, passed to the IP stack, and examined to determine the
> configured egress route in the WAN.  Likewise, if a multicast packet
> is received on any WAN interface, then the reverse of the above flow
> must occur.  I have been trying to figure out what part of VxWorks
> code I will have to modify to achive the above.  I have talk with
> WindRiver guys and they are no help.  According to them VxWorks does
> not support Multicasting.  Our product is not going to be a part of
> any multicast aware device, therefore we do not have any group
> concept.  We just want to receive and send multicast packets from our
> box.
>
> We are using TMS 1.0 with END driver.  WindRiver says that END driver
> does support multicasting, but packets are getting dropped somewhere.
> What I like to do is to treat multicast packets as broadcast and do
> not touch the MAC address.  I do not know if this is the right thing
> to do.  I would appreciate any comments from anyone regarding this.
>
> Thanks
> S. Saya
> ssaya@larscom.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: allow-single-precision
Date: Tue, 27 Nov 2001 05:54:02 GMT
From: "kevin dodd" <kevin13@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <_TFM7.49944$RG1.26584915@news1.rdc1.sfba.home.com>
I need to know how to use this option, the description in the gnu compile
for vxworks, makes it read like it cannot be done. Any ideas would be
helpfull
Kevin Dodd
kdodd13@home.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: Mon, 26 Nov 2001 22:26:33 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9tvcvs$eb3$1@newstest.laserlink.net>
References: <45dd6f79.0111261546.62ec2369@posting.google.com>
Hello Roger,
    You should be able to add your archive to the LIB macro in the Build
Properties tab->right
click to view the MACRO tab and add the full path of your archive in the
"LIB" macro. Then
click the 'Add/Set' button and 'Apply'. As far as the warning, of course you
have a test.h
file which prototypes your 'func' routine or you prototyped the function in
your test.c file,
didn't you?
"Roger" <arcv0@lycos.com> wrote in message
news:45dd6f79.0111261546.62ec2369@posting.google.com...
> Hi,
> I am using the Tornado 2.0. I have a project(Project1) and I made it
> into an archive file(arch.a). I want to call the functions in the
> archive file in another new project.  How to include this archive file
> into the new project.?
> I added the following line to the C/C++ compiler tab of the 'Build'
> properties.
>  -I C:/Project1/arch.a
>
> But when I tried to build it , I get the warning
>
> C:\Project2\test.c:23: warning: implicit declaration of function
> `func'.
>
> 'func' is the function in the archive file. 'test.c' is the function
> in the new project .
>
> Any suggestions will be of great help.
> Thank You.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: Tue, 27 Nov 2001 09:37:04 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$4z8gng$j2c$1@lnews.actcom.co.il>
References: <45dd6f79.0111261546.62ec2369@posting.google.com>
The -I flag only specify the search path in which .h files should be looked
for.
You should add your .a file into the LIBS macro. However, this can be done
only if your project is bootable. There is no LIBS macro in a downloadable
project, and even if you add one, the linker will disregard it.
HTH.....
Ofer.
"Roger" <arcv0@lycos.com> wrote in message
news:45dd6f79.0111261546.62ec2369@posting.google.com...
> Hi,
> I am using the Tornado 2.0. I have a project(Project1) and I made it
> into an archive file(arch.a). I want to call the functions in the
> archive file in another new project.  How to include this archive file
> into the new project.?
> I added the following line to the C/C++ compiler tab of the 'Build'
> properties.
>  -I C:/Project1/arch.a
>
> But when I tried to build it , I get the warning
>
> C:\Project2\test.c:23: warning: implicit declaration of function
> `func'.
>
> 'func' is the function in the archive file. 'test.c' is the function
> in the new project .
>
> Any suggestions will be of great help.
> Thank You.
---------------------------
Newsgroups: comp.os.vxworks
Subject: which device caused PCI bus interrupt?
Date: 26 Nov 2001 23:49:34 -0800
From: ca_prashanth@mindtree.com (Prashanth)
Organization: http://groups.google.com/
Message-ID: <c206764f.0111262349.ff2875d@posting.google.com>
Hi ALL,
   How to determine which device caused PCI bus interrupt ? I am using
pcPentium BSP.
Thanks in advance.
Prashanth
---------------------------
Newsgroups: comp.os.vxworks
Subject: vsnprintf
Date: Tue, 27 Nov 2001 08:52:36 +0100
From: "Joerg Engel" <j.engel@zeiss.de>
Message-ID: <3c034638$0$186$4d4ebb8e@read.news.de.uu.net>
I need an implementation of vsnprintf for VxWorks. Where can I find source
code ?
Thanks
Joerg
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: handling PCI device
Date: Tue, 27 Nov 2001 12:01:05 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$iofgng$hac$1@lnews.actcom.co.il>
References: <9ttsal$l3a$1@news.inter.net.il>
Tolik,
All the stuff you are asking for,  is standard stuff, so the quickest way
around would be to use some other PCi driver source as an example.
Any PCI driver should do the trick for you, preferrably running on the same
CPU
architecture.
Leonid
"Anatoly Greenblatt" <anatoly.greenblatt@usa.net> wrote in message
news:9ttsal$l3a$1@news.inter.net.il...
> Hi,
>
> I need to write a driver for PCI device. I'd appreciate if someone could
> answer following how-tos:
> - enumerate pci device, including those on secondary bus
> - get device resources;
> - connect to device interrupt
> - map device memory space to virtual space
> - allocate memory in the driver and get its physical address
> - allocate memory in application and get its physical address(or is it the
> same as previous)
>
> If there are any examples that could help me, please let me know.
>
> Thanks,
> Anatoly.
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Monitoring CPU Utilization
Date: Tue, 27 Nov 2001 12:06:00 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$mwfgng$mac$1@lnews.actcom.co.il>
References: <3C025A59.C2EA92A9@improvsys.com>
Benny, I think i know what you mean,
because I did this some years ago.
Here is the idea: you write a simple tight-loop which
runs forever at the lowest possible priority, essentially being
the sort-of idle task. But this ide loop
also has got a counter, which it increments constantly,
and it also watches vxTicks to see when a tick elapses.
When a tick elapses, it take the counter value and stores it
somewhere for the other clients to read. I actually did this
in a progressive average manner to ignore spikes in activity.
Keep im mind that entire ticks could go by without every running
the idle task, so when it eventually runs, it should account for a few zero
values.
Of course this is a rougth description, as there is some spice to add to
this recipie.
Good luck,
 - Leonid
"Ben Kuhn" <benk@improvsys.com> wrote in message
news:3C025A59.C2EA92A9@improvsys.com...
>
> Is there any way to programmatically watch the CPU utilization by task
> under VxWorks 5.4?
>
> --
>
> Ben Kuhn
> Improv Systems
> (716) 756-5411 x25
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: which device caused PCI bus interrupt?
Date: Tue, 27 Nov 2001 11:10:44 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c036e9d@brateggebdc5.br-automation.co.at>
References: <c206764f.0111262349.ff2875d@posting.google.com>
Hi,
you do not normally decide externally, which device caused the interrupt.
It is specific for each PCI device, how this information can be read.
Normally, you cascade the drivers so that all PCI drivers with devices on
one IRQ are called, when the interrupt is triggered.
Each driver then checks, whether 'its' device has caused an interrupt (e. g.
data available)
You can use the pciIntConnect function to connect the PCI device handlers to
the interrupt.
That way, you do not care yourself for calling the other interrupt handlers
for the same IRQ in your application.
hth
Werner
"Prashanth" <ca_prashanth@mindtree.com> wrote in message
news:c206764f.0111262349.ff2875d@posting.google.com...
> Hi ALL,
>    How to determine which device caused PCI bus interrupt ? I am using
> pcPentium BSP.
>
>
> Thanks in advance.
> Prashanth
---------------------------
Newsgroups: comp.os.vxworks
Subject: Welcome to new photogallery
Date: Tue, 27 Nov 2001 13:17:20 +0200
From: "Sight" <sight@ukr.net>
Organization: sight
Message-ID: <9tvt4n$fia$764@bn.utel.com.ua>
Reply-To: sight@ukr.net
Welcome to Sight photogallery http://www.sight.com.ua
---------------------------
Newsgroups: comp.os.vxworks
Subject: what's the difference standard simulator  and full simulator?
Date: Tue, 27 Nov 2001 19:50:30 +0800
From: "zhaoyandong" <zhaoyandong@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9tvuql$67l$1@mail.cn99.com>
How can I get full simulator?
How much is it
Thank you in advance
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 06:12:18 2001
From: "Christian Delez" <Christian.Delez@ascom.ch>
Date: Tue Nov 27 06:12:20 PST 2001
Subject: RE: what's the difference standard simulator  and full simulator?
This is a multipart message in MIME format.
--=_alternative 004E0533C1256B11_=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The build in simulator (or VxSim lite) is without networking (either=20
localhost or network card), without multiprocessor support, without=20
WindFoundation Class (C++ wrapper on VxWorks task, semaphore,...).
>How can I get full simulator?
It's a WindRiver product. You must order it through WindRiver sales.
>How much is it=A3=BF
WindRiver Sales people will be please to make you an offer...
@+, Christian.
--=_alternative 004E0533C1256B11_=
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<br><font size=3D2><tt>The build in simulator (or VxSim lite) is without ne=
tworking (either localhost or network card), without multiprocessor support=
, without WindFoundation Class (C++ wrapper on VxWorks task, semaphore,...)=
.</tt></font>
<br>
<br>
<br><font size=3D2><tt>&gt;How can I get full simulator?</tt></font>
<br><font size=3D2><tt>It's a WindRiver product. You must order it through =
WindRiver sales.</tt></font>
<br><font size=3D2><tt><br>
&gt;How much is it=A3=BF</tt></font>
<br><font size=3D2><tt>WindRiver Sales people will be please to make you an=
 offer...</tt></font>
<br>
<br><font size=3D2><tt>@+, Christian.</tt></font>
--=_alternative 004E0533C1256B11_=--
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 06:15:19 2001
From: "Christian Delez" <Christian.Delez@ascom.ch>
Date: Tue Nov 27 06:15:21 PST 2001
Subject: RE: Error when ld
This is a multipart message in MIME format.
--=_alternative 004E4BF7C1256B11_=
Content-Type: text/plain; charset="us-ascii"
>-> ld < c:\rcwHttp.out
Your command is mistype. Try:
-> ld 1,0,"c:\rcwHttp.out"
you find the help on WindShell command syntax in :
file:///C:/Programme/tor2ppc/docs/tornado/tools/windsh.html#top
@+, Christian.
--=_alternative 004E4BF7C1256B11_=
Content-Type: text/html; charset="us-ascii"
<br><font size=2><tt>&gt;-&gt; ld &lt; c:\rcwHttp.out</tt></font>
<br>
<br><font size=2><tt>Your command is mistype. Try:</tt></font>
<br><font size=2><tt>-&gt; ld 1,0,&quot;c:\rcwHttp.out&quot;</tt></font>
<br>
<br><font size=2><tt>you find the help on WindShell command syntax in :</tt></font>
<br><font size=2><tt>file:///C:/Programme/tor2ppc/docs/tornado/tools/windsh.html#top</tt></font>
<br><font size=2><tt>@+, Christian.</tt></font>
--=_alternative 004E4BF7C1256B11_=--
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 08:47:55 2001
From: Shlomo Katz <shlomok@rit.co.il>
Date: Tue Nov 27 08:47:57 PST 2001
Subject: using drive way product and the tornado for vxworks configuration
hi vxworks users
we have bought a tool called drive way that generates a BSP code for a
MPC680T CPU.
my question is
should i build a BSP that include vxworks configuration in it by the
driveway application or should i build only a BSP for the CPU and configure
vxworks with the tornado environment.?
thanks and best regards.
katz shlomi
embedded team
www.rit.co.il
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 08:56:39 2001
From: rcw@DynRes.com
Date: Tue Nov 27 08:56:42 PST 2001
Subject: win2k, xp compatibility
Has anyone noticed any issues running either Tornado 1 or 2 under either Windows 2000 or XP? Rather than wait for some to voice a problem that may or may not exist, I'd appreciate hearing from anyone using
either 2K or XP that does not have serious issues.
I heard a while ago about some problems connecting to the target server with Win2k. Anyone have similar experience?
Ron
begin 666 RONALD~1.VCF
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..E=A9VYE<CM2;VYA;&0[0RX[
M37(N#0I&3CI2;VYA;&0@0RX@5V%G;F5R#0I/4D<Z1'EN86UI8R!297-E87)C
M:"P@26YC+@T*5$E43$4Z4')I;F-I<&%L($5N9VEN965R#0I414P[5T]22SM6
M3TE#13HK,2`H,S$P*2`R,3(M-3(Q,0T*5$5,.U=/4DL[1D%8.BLQ("@S,3`I
M(#(Q,BTU,#0V#0I!1%([5T]22SH[.S,U-2!686X@3F5S<R!!=F4N.U1O<G)A
M;F-E.T-!.SDP-3`Q.U5N:71E9"!3=&%T97,@;V8@06UE<FEC80T*3$%"14P[
M5T]22SM%3D-/1$E.1SU154]4140M4%))3E1!0DQ%.C,U-2!686X@3F5S<R!!
M=F4N/3!$/3!!5&]R<F%N8V4L($-!(#DP-3`Q/3!$/3!!56YI=&5D(%-T871E
M<R!O9B!!;65R:6-A#0I54DP[5T]22SIH='1P.B\O=W=W+F1Y;G)E<RYC;VT-
M"D5-04E,.U!2148[24Y415).150Z<F-W86=N97)`9'EN<F5S+F-O;0T*4D56
>.C(P,#$P,3`U5#`Q,#,Q-UH-"D5.1#I60T%21`T*
`
end
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 13:34:07 2001
From: "David Seltz" <david.seltz@windriver.com>
Date: Tue Nov 27 13:34:09 PST 2001
Subject: RE: win2k, xp compatibility
Ron,
	Tornado 2 officially supports Windows 2K.  I use it on my system.  There
were issues such as an "RPC" error that were resolved with the 2.0.2 release
or a patch that is available on Windsurf.  Windows XP is not supported
(supposedly we're looking at it right now but I don't have any dates).
Dave
-----Original Message-----
From: the vxWorks Users Group Exploder [mailto:vxwexplo@lbl.gov]
Sent: Tuesday, November 27, 2001 12:12 PM
To: vxworks_users@csg.lbl.gov
Subject: win2k, xp compatibility
Submitted-by vxwexplo-errs@csg.lbl.gov  Tue Nov 27 08:56:39 2001
Submitted-by: rcw@DynRes.com
Has anyone noticed any issues running either Tornado 1 or 2 under either
Windows 2000 or XP? Rather than wait for some to voice a problem that may or
may not exist, I'd appreciate hearing from anyone using
either 2K or XP that does not have serious issues.
I heard a while ago about some problems connecting to the target server with
Win2k. Anyone have similar experience?
Ron
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 22:22:02 2001
From: "umesh" <umeshs@myw.ltindia.com>
Date: Tue Nov 27 22:22:04 PST 2001
Subject: Re: win2k, xp compatibility
Actually licensed version of vxworks is running fine on Win NT.
I installed tornado prototyper plus on Win2k. Itz working fine in single
simulated target enviornment. But if i install windriver ULIP driver for
communcating between two simulated targets, i face several problems. Machine
won't bootup and displays 'physical memory dump' and error in tornado
registry. I have to reboot with last known good configuration. Then
Uninstall Windriver ULIP and remove ulip.sys file from tornado registry.
Anyone there has better solution to communicate b/w simulated target
environment on win2K.
Umesh
From vxwexplo-errs@csg.lbl.gov  Tue Nov 27 22:24:58 2001
From: "umesh" <umeshs@myw.ltindia.com>
Date: Tue Nov 27 22:25:00 PST 2001
Subject: Re: using drive way product and the tornado for vxworks configuration
katz shlomi,
I'm not aware of the features of this tool, Drive way. Usually one develops
BSP for a specific controller board and configure the vxworks in tornado
environment.
Umesh
From vxwexplo-errs@csg.lbl.gov  Wed Nov 28 04:03:21 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Nov 28 04:03:24 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Nov 28 04:03:17 PST 2001
        Subject: Re: Cross compiling problems!!! HELP!!
        Subject: TRUE definition
        Subject: TRUE definition - correction
        Subject: Re: what's the difference standard simulator  and full simulator?
        Subject: Re: Need information on Zinc configuration
        Subject: Prolog for vxworks
        Subject: Telecommute: News from the Web
        Subject: Re: How to include a archive file
        Subject: multiple addresses on same interface
        Subject: Why is the IP stack ARPing my non-Ethernet interface?
        Subject: Re: How to include a archive file
        Subject: Re: vsnprintf
        Subject: VxWorks 5.4 and Pentium 4 motherboard
        Subject: Re: TRUE definition
        Subject: HELP!!! in DHCP
        Subject: Re: Monitoring CPU Utilization
        Subject: Re: Target Server Console freezes after hitting Properties menu
        Subject: Re: handling PCI device
        Subject: Re: Need information on Zinc configuration
        Subject: New to vxWorks 5.4
        Subject: Re: which device caused PCI bus interrupt?
        Subject: Re: Need information on Zinc configuration
        Subject: WindML/Mesa
        Subject: VxSim license.dat file
        Subject: How  to study Vxwork programming at home?
        Subject: Re: How  to study Vxwork programming at home?
        Subject: Re: Cross compiling problems!!! HELP!!
        Subject: Relocation value does not fit 24 bits
        Subject: Writing END Driver--Crashing tNetTask (Corrupt clBlk?)
        Subject: Re: Relocation value does not fit 24 bits
        Subject: Re: VxSim license.dat file
        Subject: What happen ? anybody understand?
        Subject: how to change mac address?
        Subject: Re: Relocation value does not fit 24 bits
        Subject: Re: How to include a archive file
        Subject: pci i/o address confliction?
        Subject: Re: How to include a archive file
        Subject: Re: How  to study Vxwork programming at home?
        Subject: Re: VxWorks 5.4 and Pentium 4 motherboard
        Subject: Re: What happen ? anybody understand?
        Subject: Re: What happen ? anybody understand?
        Subject: WindView task are listed several times
        Subject: 802.11 ethernet for vxworks
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Cross compiling problems!!! HELP!!
Date: Tue, 27 Nov 2001 10:03:12 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <kYLM7.41$K96.40318@newsr2.u-net.net>
References: <52e25f45.0111261144.6d40284c@posting.google.com>
Vittal Krishnamurthy wrote in message
<52e25f45.0111261144.6d40284c@posting.google.com>...
>Hi
>I was trying to build a cross compiler for Vxworks(Tornado II) for
>MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a
>lot compiler errors...
>I have tried to fix some of them.. but I keep getting so many errors
>which make me beleive that there must be some fundamental problem some
>where.
>On the other hand, GCC 2.95.3 compiled with very few problems.!!!
  Gcc 3.x series won't work with tornado, full stop.  Far too much dynamic
linking of the ld.so type in there.  Far too many changes to the C++ name
mangling and internal layout of C++ objects and probably exception handling
too.  Plus 3.0.x hasn't really stabilized yet.  Stick to 2.95.3 is my
advice.  Otherwise you'll have to do a lot of compiler-rewriting.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: TRUE definition
Date: Tue, 27 Nov 2001 15:36:55 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$2npgng$loc$1@lnews.actcom.co.il>
Hi.
I would like to change the definition of TRUE from 1 to -1. I was wonder if
somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE), or
does it check if (hookRtn result != FALSE) to see if the packet should go
back to the OS or should be discarded.
You see, if it checks for (== TRUE), I need to "convert" my definition of
TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to do.
Does anybody has the code, and could tell me?
Thanks,
Ofer.
P.S.
Please don't ask me "what do you need it for, just stick with the old TRUE",
since basicly, it's not my decision...;)
---------------------------
Newsgroups: comp.os.vxworks
Subject: TRUE definition - correction
Date: Tue, 27 Nov 2001 15:44:21 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$fzpgng$0pc$1@lnews.actcom.co.il>
Oppps, sorry....
Of course, the function in question is *etherInputHookRtn(), and not
etherInputHookAdd().
Thanks,
"Ofer Goren" <ofer_goren@iamba.com> wrote in message news:...
> Hi.
> I would like to change the definition of TRUE from 1 to -1. I was wonder
if
> somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE),
or
> does it check if (hookRtn result != FALSE) to see if the packet should go
> back to the OS or should be discarded.
> You see, if it checks for (== TRUE), I need to "convert" my definition of
> TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to
do.
>
> Does anybody has the code, and could tell me?
>
> Thanks,
>
> Ofer.
>
> P.S.
> Please don't ask me "what do you need it for, just stick with the old
TRUE",
> since basicly, it's not my decision...;)
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: what's the difference standard simulator  and full simulator?
Date: Tue, 27 Nov 2001 15:46:08 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$b2qgng$6pc$1@lnews.actcom.co.il>
References: <9tvuql$67l$1@mail.cn99.com>
call your windriver's vendor.
It's a seperate product. You can't d/l it. You have to buy it.
"zhaoyandong" <zhaoyandong@163.net> wrote in message
news:9tvuql$67l$1@mail.cn99.com...
> How can I get full simulator?
> How much is it
>
> Thank you in advance
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Need information on Zinc configuration
Date: 27 Nov 2001 09:28:44 -0500
From: "Bill Pringlemeir" bpringlemeir@yahoo.com
Organization: Bell Sympatico
Message-ID: <m2r8qks2xv.fsf@sympatico.ca>
References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01>
Sender: bpringle@DeadDuck
>>>>> "BM" == BALASUBRAMANIAN Manivannan <manibala@COVANSYS.COM> writes:
 BM> Hi, I got your email ID in VxWorks group. I am trying to
 BM> configure Zinc 6.0 in my Simulator. Enclosed is the document
 BM> which describes the problem in detail.
 BM> 	Please suggest me suitable solution as I am stucked with
 BM> WindML configuration.  <<Zinc Config for Simulator.doc>>
 BM> Awaiting.
Hello Mani and Kundesh,
I am not an employee of WRS (Wind River System).  I am just a user of
vxWorks, Zinc and WindML.  I would only help you out of the kindness
of my heart.  However, your request is big.  It would take a lot of my
time and I would get nothing.  Just to read your document, I had to
run a hex editor as I would be foolish to read unknown Word documents;
They could be full of viruses or trojan programs.  I don't use a virus
scanner as it only finds older viruses.  I am very busy now because of
business and personal demands.
If I answered your question on comp.os.vxworks, at least there would
be a public archive of the message [something like you found].  This
lets people using vxWorks find useful information.  Also, you will
reach a larger set of people than just myself.  You should also
contact your WRS FAE (field application engineer).  We have done what
you ask, from my current understanding, and have resolved several
problems that were logged as SPRs/TSRs.  I have posted your question
to comp.os.vxworks [but NOT your Word document].  If you make your
problem more specific, you might get better answers by posting there.
Here is the vxWorks FAQ, "www.xs4all.nl/~borkhuis/vxworks/vxworks.html".
Please refrain from sending any further unsolicited emails to my email
address, ESPECIALLY BINARY FILES!
regards,
Bill Pringlemeir.
[I get a request like this about once per month.  Does anyone else on
`c.o.v'?  What is the best way to deal with it?  I guess having an
mangled email would prevent it.  People asking me to do their work for
them, p!?ses me off.  I would really like it if WRS didn't include
email addresses in there WindSurf search engine.]
---------------------------
Newsgroups: comp.os.vxworks
Subject: Prolog for vxworks
Date: Tue, 27 Nov 2001 15:01:03 -0000
From: "Tony" <ajbarfoot@dstl.gov.uk>
Organization: Defence Evaluation & Research Agency
Message-ID: <9u09mm$jiq$1@trog.dera.gov.uk>
Hello all,
Has anyone ever heard of a prolog compiler that will run under vxworks.
I plan to use VME, PPC based cards.
Alternatively, has anyone any opinions on what would be involved in a port
of a compiler.
Thanks in advance,
Tony.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Telecommute: News from the Web
Date: Tue, 27 Nov 2001 15:06:20 GMT
From: "Antonello Gauttieri" <gauttieri@libero.it>
Organization: TIN
Message-ID: <MZNM7.22380$BA4.769176@news1.tin.it>
Reply-To: "Antonello Gauttieri" <gauttieri@libero.it>
This is the ultimate web page about Telework.
Click the link below to know what's on the Web about telework:
laws, best and worst companies, suggestions, forums, FAQ and everything You
need to approach those opportunities.
YOU WILL NOT BE INSERT IN A NEWSLETTER.
http://space.tin.it/associazioni/ggauttie
Help Yourself to be safe from Internet cheats.
Best Regards
Antonello
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: 27 Nov 2001 07:55:40 -0800
From: arcv0@lycos.com (Roger)
Organization: http://groups.google.com/
Message-ID: <45dd6f79.0111270755.6faa9df8@posting.google.com>
References: <45dd6f79.0111261546.62ec2369@posting.google.com> <newscache$4z8gng$j2c$1@lnews.actcom.co.il>
Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But
i still get the warning. And when I try to download the application,
it says unresolved symbols encountered while downloading. My project
is a downloadable application. What are other options I have for a
downloadable application to call functions from other projects.
Thank You.
"Ofer Goren" <ofer_goren@iamba.com> wrote in message news:<newscache$4z8gng$j2c$1@lnews.actcom.co.il>...
> The -I flag only specify the search path in which .h files should be looked
> for.
> You should add your .a file into the LIBS macro. However, this can be done
> only if your project is bootable. There is no LIBS macro in a downloadable
> project, and even if you add one, the linker will disregard it.
>
> HTH.....
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: multiple addresses on same interface
Date: Tue, 27 Nov 2001 10:54:12 -0500
From: Chandwani <rexrc@ubbsrv3.ho.lucent.com>
Organization: Lucent Technologies
Message-ID: <3C03B724.B8831C89@ubbsrv3.ho.lucent.com>
I have a a couple of questions regarding the multiple ip address provisioning on
same IP port in  vxworks IP stack.
A port has a private class C IP address ( non broadcast ) provisioned on it. Now
I go and add a public IP address on that port using function ifAddrAdd(). This
works successfully.
Question 1) If I do a ifAddrGet(), which IP address will I get of the two ?
Question 2 ) If I want to change the public IP address on that port but maintain
the private IP address, how do I achieve this ?
Please help anyone.
Thanks,
Rakesh
- -------
---------------------------
Newsgroups: comp.os.vxworks
Subject: Why is the IP stack ARPing my non-Ethernet interface?
Date: 27 Nov 2001 08:11:09 -0800
From: jperron@cetaceannetworks.com (Jason Perron)
Organization: http://groups.google.com/
Message-ID: <d491dc78.0111270811.3f1031d2@posting.google.com>
Hi Everybody,
I am using vxWorks version 5.4 and I'm trying to get an END driver
going for a non-ethernet interface.  My problem is that the IP stack
is sending me ARP packets even though I have created a non-Ethernet
interface.
I specify my interface type as "M2_ifType_other" in my END_MIB_INIT
call.
First I tried setting the "IFF_NOARP" flag for the interface and my
driver still got Ethernet ARP packets.  Next, I tried registering my
own arp resolve function using muxAddrResFuncAdd with the idea that
I'd just "fake out" the IP stack.  That didn't work either, as my
"fake" arp resolve function never gets called.
Has anybody else come across this problem?  If so, how did you get
around it?  If this is a vxWorks problem, does anybody know if this is
fixed in the NPT stuff?
TIA,
Jason
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: Tue, 27 Nov 2001 18:20:48 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$h7xgng$nxc$1@lnews.actcom.co.il>
References: <45dd6f79.0111261546.62ec2369@posting.google.com> <newscache$4z8gng$j2c$1@lnews.actcom.co.il> <45dd6f79.0111270755.6faa9df8@posting.google.com>
you can't. PRJ_LIBS is not your answer. You have to use the LIBS macro, and
a bootable application.
- --
Ofer Goren
Iamba Technologies
"Roger" <arcv0@lycos.com> wrote in message
news:45dd6f79.0111270755.6faa9df8@posting.google.com...
> Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But
> i still get the warning. And when I try to download the application,
> it says unresolved symbols encountered while downloading. My project
> is a downloadable application. What are other options I have for a
> downloadable application to call functions from other projects.
> Thank You.
>
> "Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:<newscache$4z8gng$j2c$1@lnews.actcom.co.il>...
> > The -I flag only specify the search path in which .h files should be
looked
> > for.
> > You should add your .a file into the LIBS macro. However, this can be
done
> > only if your project is bootable. There is no LIBS macro in a
downloadable
> > project, and even if you add one, the linker will disregard it.
> >
> > HTH.....
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: vsnprintf
Date: 27 Nov 2001 16:45:00 GMT
From: Troy Cauble <troy@bell-labs.com>
Organization: Bell Labs, Holmdel, NJ, USA
Message-ID: <9u0fuc$922@nntpb.cb.lucent.com>
References: <3c034638$0$186$4d4ebb8e@read.news.de.uu.net>
Joerg Engel <j.engel@zeiss.de> wrote:
: I need an implementation of vsnprintf for VxWorks. Where can I find source
: code ?
http://groups.google.com/groups?hl=en&selm=yc9wwmhfip1.fsf%40goblin.caltech.edu
- -troy
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks 5.4 and Pentium 4 motherboard
Date: Tue, 27 Nov 2001 17:30:30 GMT
From: "Dean Schulze" <deanwschulze@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <W4QM7.175977$IR4.64924904@news1.denver1.co.home.com>
    I'm trying to use VxWorks 5.4 on a Pentium 4 motherboard with a PCI 2.2
bus and the Intel 850 chipset.  The P4 boots from a floppy properly and ftps
the kernel from another machine on the network, so my network connectivity
is working properly.  But when I try to check which PCI devices exist on the
bus I find 3 Intel devices but cannot find my  network card or the bt878
based WinTV card.
    Could Plug and Play be a problem?  The PnP must be working for my
network card (3Com 905B) since it gets the kernel via ftp.  Do I need to
massage BIOS settings somehow?
    My code is attached below.
    Thanks.
Dean Schulze
 if (pciConfigLibInit (PCI_MECHANISM_1, 0xCF8, 0xCFC, 0) != OK)
 {
  printf("\nPCI lib config error\n");
  return (ERROR);
 }
 devices = 0x1f;
 printf("\n\nAll PCI devices:");
  printf("\n    busNo deviceNo vendorId deviceId classCode");
  printf("\n--------------------------------------------");
 for (deviceNo=0; deviceNo < devices; deviceNo++)
 {
  pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, &vendorId);
  pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, &deviceId);
  pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF,
           &u.array[3]);
  pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[2]);
  pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[1]);
  u.array[0] = 0;
   printf ("\n%8x %8x %8x %8x %8x",
     busNo, deviceNo, vendorId, deviceId, u.classCode);
 }
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Tue, 27 Nov 2001 17:45:22 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <JdQM7.61$K96.43566@newsr2.u-net.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il>
Ofer Goren wrote in message ...
>Hi.
>I would like to change the definition of TRUE from 1 to -1
  NO.  Don't do that.
  The definition of TRUE is not something you can go changing, unless you're
happy with expressions such as
  ((1 == 1)  != TRUE)  being true, and
  (1 == 1) == TRUE) being false.
  It is the compiler that determines what value TRUE has, because it is the
compiler that generates code that returns 1 as the result of a comparison
that succeeds and 0 for a comparison that fails.
  Furthermore, you'll have problems because the value of TRUE == 1 is coded
into all the precompiled .o and .lib files, so different parts of your
program will have to remember to compare against different values for true
according to whether the value being compared was returned from one of your
own routines or from one of the OS routines.
> I was wonder if
>somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE),
or
>does it check if (hookRtn result != FALSE) to see if the packet should go
>back to the OS or should be discarded.
>You see, if it checks for (== TRUE), I need to "convert" my definition of
>TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to
do.
  Of course none of this is correct at all.  The code in your libraries is
precompiled, it will not magically change when you alter the #define in a
header file somewhere.  So what the routine actually does is compare against
1 or 0, for equal or not equal  (You didn't even consider the possibilities
that the code might compare for != TRUE, or for == FALSE).  Your code HAS to
return the suitable value according to what the precompiled code expects to
see.  In order for you to know what value your code must return, that's why
TRUE is defined in the header files.  It's not the other way round and you
can only get trouble by trying to outsmart the compiler and OS.
       DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: HELP!!! in DHCP
Date: Tue, 27 Nov 2001 10:28:45 -0800
From: "naveen" <nsingh@tality.com>
Message-ID: <3c03db4c$1@news.cadence.com>
Well I am also trying to configure DHCP client in Vxworks.
The network is configured and target gets ip address.
1. I am unable to get DNS Server address .
Secondly I am using the
dhcpcBootInit
dhcpcBootOptionSet
dhcpcBootBind
functions instead of
lease = dhcpcInit( net_if, 1 );
dhcpcEventHookAdd( lease, ... )
dhcpcOptionSet( lease, ... );
dhcpcBind( lease, synchronous );
to configure the dhcp client.
Because when I use the latter it fails in BIND.
I will really appreciate if anybody can help in this.
Thanx
Naveen
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Monitoring CPU Utilization
Date: Tue, 27 Nov 2001 13:50:10 -0500
From: "RonnoBonno" <RHNAssociates@yahoo.com>
Message-ID: <9u0n7n$5g6je$1@ID-68014.news.dfncis.de>
References: <3C025A59.C2EA92A9@improvsys.com> <newscache$mwfgng$mac$1@lnews.actcom.co.il>
Based on a discussion about this subject that I read here a few weeks ago, I
wrote this idle time monitor that I have been testing.  It seems to work
very well.
    You can add it to you build, then start it with nothing running
    -> startCPUIdleMonitor
    then spawn the task that prints the CPU Idle Time
    -> period 10, getCPUIdlefloat
    You will need to adjust the ZERO_LOAD_IDLE_COUNTER for your CPU.  For my
50Mhz 860T it is around 377000
Good Luck,
Ron
////////////////////////////////////////////////////////////////////////////
///
#include <vxworks.h>
#include <taskLib.h>
#include <limits.h>
#include <stdio.h>
#include <ticklib.h>
#include <semLib.h>
#include <tasklib.h>
#define ZERO_LOAD_IDLE_COUNTER 377993 /* Measured with 0 load on TFE CPU */
unsigned int maxIdleCount;
unsigned int innerIDLE;
unsigned int middleIDLE;
unsigned int outerIDLE;
unsigned int lastInnerIDLE;
unsigned int lastMiddleIDLE;
unsigned int lastOuterIDLE;
SEM_ID CPUIdleSemId;
int glblCPUIdleDebug=0;
extern "C" void CPUIdleTime(void)
{
 while (1)
 {
      while (innerIDLE <= UINT_MAX)
      {
       taskLock();
       innerIDLE++;
       taskUnlock();
      }
 }
}
//
//
// function clearIdleCounters(void)
//          resets the idle counters
//          to zero.
//
extern "C" void clearIdleCounters(void)
{
 STATUS status = semTake( CPUIdleSemId, sysClkRateGet() );
 lastInnerIDLE=innerIDLE;
 innerIDLE=0;
 lastMiddleIDLE=middleIDLE;
 middleIDLE=0;
 lastOuterIDLE=outerIDLE;
 outerIDLE=0;
 status = semGive( CPUIdleSemId );
}
//
//
// function displayIdleCounters(void)
//          prints out the current idle counters
//
extern "C" void displayIdleCounters(void)
{
 if (glblCPUIdleDebug==1)
    printf("The counters are: %d inner, %d middle, %d outer \n\n",innerIDLE,
middleIDLE,outerIDLE);
}
//
//
// function displayIdleCounters(void)
//          prints out the current idle counters
//
extern "C" void measureCPUIdleTime(void)
{
   while (1)
   {
      clearIdleCounters();
   taskDelay(sysClkRateGet());
   }
}
//
//
// function startCPUIdleMonitor(void)
//
//
extern "C" void startCPUIdleMonitor(void)
{
 int tid;
 clearIdleCounters();
 maxIdleCount=ZERO_LOAD_IDLE_COUNTER;
 CPUIdleSemId = semBCreate( SEM_Q_PRIORITY, SEM_FULL );
 if ((tid = taskSpawn ("tMonCPUIdle", 255, 0, 10000, (FUNCPTR)CPUIdleTime,
        0,0,0,0,0,0,0,0,0,0)) == ERROR)
 {
  printf("Task creation error CPU IDLE Monitor Task 0x%x", errno);
 }
 if ((tid = taskSpawn ("tCPUIdlCapt", 1, 0, 10000,
(FUNCPTR)measureCPUIdleTime,
        0,0,0,0,0,0,0,0,0,0)) == ERROR)
 {
  printf("Task creation error measure CPU Idle Time Task 0x%x", errno);
 }
 taskDelay(sysClkRateGet()+10);
 maxIdleCount=lastInnerIDLE;
 taskDelay(sysClkRateGet()+10);
 if (lastInnerIDLE > maxIdleCount)
  maxIdleCount=lastInnerIDLE;
 taskDelay(sysClkRateGet()+10);
 if (lastInnerIDLE > maxIdleCount)
  maxIdleCount=lastInnerIDLE;
 taskDelay(sysClkRateGet()+10);
 if (lastInnerIDLE > maxIdleCount)
  maxIdleCount=lastInnerIDLE;
}
extern "C" float getCPUIdlefloat(void)
{
 float idlePercent=0;
 STATUS status = semTake( CPUIdleSemId, sysClkRateGet() );
 idlePercent = (float)( ((float)lastInnerIDLE / (float)maxIdleCount)*
(float)100);
 status = semGive( CPUIdleSemId );
 if (idlePercent > 100.0)
 {
       maxIdleCount +=1;
    idlePercent=100.0;
 }
 printf("The current CPU IDLE is %5.1f%\n",idlePercent);
    return (idlePercent);
}
//
// getCPUIdleInt(void) returns CPU Idle Percent in tenths of a percent
//                     e.g 50% returns 500
//
extern "C" int getCPUIdleInt(void)
{
 int idlePercent=0;
 STATUS status = semTake( CPUIdleSemId, sysClkRateGet() );
 idlePercent = ((lastInnerIDLE *1000) / maxIdleCount);
 status = semGive( CPUIdleSemId );
 if (idlePercent > 1000)
 {
  maxIdleCount +=1;
  idlePercent=1000;
 }
 printf("The current CPU IDLE is %d\n",idlePercent/10);
 return (idlePercent);
}
//
Leonid Rosenboim wrote in message ...
>Benny, I think i know what you mean,
>because I did this some years ago.
>Here is the idea: you write a simple tight-loop which
>runs forever at the lowest possible priority, essentially being
>the sort-of idle task. But this ide loop
>also has got a counter, which it increments constantly,
>and it also watches vxTicks to see when a tick elapses.
>When a tick elapses, it take the counter value and stores it
>somewhere for the other clients to read. I actually did this
>in a progressive average manner to ignore spikes in activity.
>Keep im mind that entire ticks could go by without every running
>the idle task, so when it eventually runs, it should account for a few zero
>values.
>
>Of course this is a rougth description, as there is some spice to add to
>this recipie.
>
>Good luck,
> - Leonid
>
>"Ben Kuhn" <benk@improvsys.com> wrote in message
>news:3C025A59.C2EA92A9@improvsys.com...
>>
>> Is there any way to programmatically watch the CPU utilization by task
>> under VxWorks 5.4?
>>
>> --
>>
>> Ben Kuhn
>> Improv Systems
>> (716) 756-5411 x25
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server Console freezes after hitting Properties menu
Date: Tue, 27 Nov 2001 11:10:45 -0800
From: "Mark Galecki" <MGalecki@SBS.com>
Message-ID: <3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net>
References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> <Xns915B80EDABA00borkhuisagerecom@135.7.153.101> <osQK7.62$ZO3.96878@newsr2.u-net.net>
Well, I could not diagnose the problem itself, with the FileMon, but this
software did reveal many interactions with the file system, which pointed me
to a workaround.  It is excellent software.  Thank you for pointing it out.
What does "WDDTT" stand for (I could not find this acronym anywhere... :)  )
Mark
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
news:osQK7.62$ZO3.96878@newsr2.u-net.net...
> ...which you could diagnose by using the Filemon utility from
> www.sysinternals.com.
>
>   Alternatively, you could just adopt the WDDTT solution.  <g>
>
>          DaveK
> --
> Burn your ID card!  http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: handling PCI device
Date: Tue, 27 Nov 2001 11:13:31 -0800
From: "naveen" <nsingh@tality.com>
Message-ID: <3c03e5ca$1@news.cadence.com>
References: <9ttsal$l3a$1@news.inter.net.il>
Firstly you should see that device shows on the pci bus.
To check that you should include pci config show routines or just include
pciConfigShow.c on the project.
Then you can use the pciDeviceShow fuction to check that device is present
on the pci bus or not.
(This will only be possible if pci automatically configures all the
devices).
You can have a look at the network drivers as they are pci drivers .you will
get the idea of how to write pci drivers.
Naveen
"Anatoly Greenblatt" <anatoly.greenblatt@usa.net> wrote in message
news:9ttsal$l3a$1@news.inter.net.il...
> Hi,
>
> I need to write a driver for PCI device. I'd appreciate if someone could
> answer following how-tos:
> - enumerate pci device, including those on secondary bus
> - get device resources;
> - connect to device interrupt
> - map device memory space to virtual space
> - allocate memory in the driver and get its physical address
> - allocate memory in application and get its physical address(or is it the
> same as previous)
>
> If there are any examples that could help me, please let me know.
>
> Thanks,
> Anatoly.
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Need information on Zinc configuration
Date: 27 Nov 2001 11:23:27 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111271123.23730c61@posting.google.com>
References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> <m2r8qks2xv.fsf@sympatico.ca>
Hello Bill,
> [I get a request like this about once per month.  Does anyone else on
> `c.o.v'?  What is the best way to deal with it?
I either ignore them, or send them an email suggesting that they post
the question in the newsgroup. I even had somebody requesting that I
add them to my Yahoo! IM list so that they could ask me questions
'live' as well!!!
> I guess having an
> mangled email would prevent it.  People asking me to do their work for
> them, p!?ses me off.  I would really like it if WRS didn't include
> email addresses in there WindSurf search engine.]
I'm not sure that it would make much difference; I for one use google
rather than WindSurf to search the archives. So, I'd stick to an email
address dedicated to junk mail (the spam bots also read the news these
days), and just delete everything you get in there every once in a
while.
Rgds,
John...
---------------------------
Newsgroups: comp.os.vxworks
Subject: New to vxWorks 5.4
Date: Tue, 27 Nov 2001 19:37:25 +0000 (UTC)
From: don@mars.dgrc.crc.ca (Donald McLachlan)
Organization: The unconfigured xvnews people
Message-ID: <9u0q1l$ll6$1@crc-news.crc.ca>
Reply-To: don@mars.dgrc.crc.ca
I've used vxWorks for ages by writing makefiles, editing the config files, typing
make whatever.  No probs.  Recently got a new Tornado 2 for Solaris host/pc target
and trying to learn my way around the gui tools.
Ok, made a bootrom (floppy) with bootrom_uncmp and vxWorks.st from the
pcPentium target dirctory.  Works at treat on the P3 500 I found.
I'd like to build a project based on that directory and start by re-making the
bootrom_uncmp, and vxWorks.st prior do trying to add the if_elt driver.
I was able to make an unbootable bootrom_uncmp by defining INCLUDE_ELT in the
config.h file, :-) ... and to make a bootable one again by undefining it.
How do I re-make a usable vxWorks.st?
Is there a better set of step-by-step instructions for this other than those in the
guide (the guide I was using is in the lab and I'm in my office now, but I think
I was using the users guide. I know it was not the programmers guide as that is
under my left elbow as I type.  :-)
What I'm hoping to do is to add the 3C905B card to the vxWorks image and get that
running ... and hopefully add the same card to the bootrom_uncmp so I can load the
vxWorks image across the network (so I won't have to keep copying it to the boot
floppy every time I add more things to the vxWorks image; like usrTime).
Thanks,
Don
- --
Donald McLachlan			E-mail	Donald.McLachlan@crc.ca
Communications Research Centre / RNS	Tel	(613) 998-2845
3701 Carling Ave.,			Fax	(613) 998-9648
Ottawa, Ontario
K2H 8S2
Canada
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: which device caused PCI bus interrupt?
Date: Tue, 27 Nov 2001 19:48:43 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3C040947.6201@despam.autobahn.mb.ca>
References: <c206764f.0111262349.ff2875d@posting.google.com>
In article <c206764f.0111262349.ff2875d@posting.google.com>,
<ca_prashanth@mindtree.com> Prashanth wrote:
>
>    How to determine which device caused PCI bus interrupt ? I am using
> pcPentium BSP.
>
	There is a bit set in the configuration register set [see Interrupt
	Pin and Interrupt Line].  It is the responsibility of the
	interrupt handler to check these registers in its own device.
<fwiw>
- -het
- --
"Understanding is a three edged sword.  There is your side,
 the other persons' side and the truth." - Vorlon epithet
Terror War News: http://www.autobahn.mb.ca/~het/twartn.html
Terror War Links: http://www.autobahn.mb.ca/~het/twartl.html
Terror War Archive: http://www.autobahn.mb.ca/~het/twartna.html
H.E. Taylor  http://www.autobahn.mb.ca/~het/
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Need information on Zinc configuration
Date: 27 Nov 2001 15:25:10 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uitbwx8pl.fsf@yahoo.com>
References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> <m2r8qks2xv.fsf@sympatico.ca> <488e459a.0111271123.23730c61@posting.google.com>
Sender: bpringlemeir@DeadDuck
>>>>> "John" == John  <john_94501@yahoo.com> writes:
[snip]
 >> I guess having an mangled email would prevent it.  People asking
 >> me to do their work for them, p!?ses me off.  I would really like
 >> it if WRS didn't include email addresses in there WindSurf search
 >> engine.]
 John> I'm not sure that it would make much difference; I for one use
 John> google rather than WindSurf to search the archives. So, I'd
 John> stick to an email address dedicated to junk mail (the spam bots
 John> also read the news these days), and just delete everything you
 John> get in there every once in a while.
I would mostly agree.  However, I think that having my name come up on
WindSurf seems to make some people think I work for WRS?  Possibly
this is some sort of ruse and they are pretending ignorance and
subversively pestering me.
These people were exceedingly annoying because the kept/keep reposting
emails containing Word documents specifying what they had to do.
Small emails are dealt with easily by a SPAM account.  I will discount
this as an anomaly.
I imagine it could be much worse. Maybe you don't! ;-)
regards,
Bill Pringlemeir.
- --
Your pal is not great.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: WindML/Mesa
Date: Tue, 27 Nov 2001 21:42:33 +0100
From: "Stephane Raimbault" <stephane.raimbault@deesse.univ-lemans.fr>
Organization: Guest of ProXad - France
Message-ID: <3c03fa75$0$205$626a54ce@news.free.fr>
Hi VxWorkers,
I've written a layer between UGL/WindML and Mesa so now one can run
OpenGL applications on VxWorks 5.4/UGL 2.0.  This layer opens the doors
of the embedded systems space to 3D graphics.
I've been inspired by xmesa sources thus I've used a similar design I've
also ported some demos to WindML from GLUT for testing.
Wind River Systems gave his consent to release my work under MIT License.
Thus many students and companies will be able to use Mesa on VxWorks.
The code is available for download from: http://sourceforge.net/projects/mesa3d
Best regards
Stephane Raimbault
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxSim license.dat file
Date: Tue, 27 Nov 2001 17:35:25 -0500
From: "pedja" <grkovic@golden.net>
Organization: Golden Triangle On Line Inc.
Message-ID: <uBUM7.3032$FR5.46605413@radon.golden.net>
Please help. I installed Tornado2 under win2000, and I don't have a
license.dat file under .wind directory. When I try to configure and launch
target server gives me an error:
tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001
    Checking License ...FAILED
Cannot get a valid license.
Failed to receive a Target Server license.
Either your network or license server is down or your LM_LICENSE_FILE
variable is not set to a valid license server.
Cannot find license file
 The license files (or server network addresses) attempted are
 listed below.  Use LM_LICENSE_FILE to use a different license file,
 or contact your software provider for a license file.
Feature:       tornado
Filename:      F:/Tornado\.wind\license
License path:  F:/Tornado\.wind\license
FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
For further information, refer to the FLEXlm End User Manual,
available at "www.globetrotter.com".
Target Server will exit
Where should I look to obtain this file?
Thanks everybody.
Predrag
---------------------------
Newsgroups: comp.os.vxworks
Subject: How  to study Vxwork programming at home?
Date: Tue, 27 Nov 2001 22:44:38 GMT
From: "tiejunyang" <tiejunyang@rogers.com>
Message-ID: <qHUM7.12267$12d.1003@news2.bloor.is>
Who could give some suggestion about how to study Vxwork at home, including
download which softwares?
I do not have a chance to use any RTOS in my project. I have studied Linux
and RTOS basic concepts about three months. I feel that "Basic OS" and "I/O
System"  in Vxwork and Linux look alike.
Could I practice Vxwork programming at home without any target board? I
would appreciate it if somebody could drop several line suggestion?
Thanks
tiejunyang
email:tiejunyang@yahoo.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How  to study Vxwork programming at home?
Date: Tue, 27 Nov 2001 18:43:42 -0500
From: "BruceL" <bruceandjoan@ultranet.nospam.com>
Message-ID: <9u18fu$7rk$1@bob.news.rcn.net>
References: <qHUM7.12267$12d.1003@news2.bloor.is>
If you have the disks (or an eval copy, perhaps) they have a simulator
(vxSim) that runs under Windows.  You can build using their gnu tool chain
and then simulate.
Bruce
"tiejunyang" <tiejunyang@rogers.com> wrote in message
news:qHUM7.12267$12d.1003@news2.bloor.is...
> Who could give some suggestion about how to study Vxwork at home,
including
> download which softwares?
> I do not have a chance to use any RTOS in my project. I have studied Linux
> and RTOS basic concepts about three months. I feel that "Basic OS" and
"I/O
> System"  in Vxwork and Linux look alike.
> Could I practice Vxwork programming at home without any target board? I
> would appreciate it if somebody could drop several line suggestion?
> Thanks
> tiejunyang
> email:tiejunyang@yahoo.com
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Cross compiling problems!!! HELP!!
Date: 27 Nov 2001 15:58:59 -0800
From: vittalk@ieee.org (Vittal Krishnamurthy)
Organization: http://groups.google.com/
Message-ID: <52e25f45.0111271558.332b0333@posting.google.com>
References: <52e25f45.0111261144.6d40284c@posting.google.com> <kYLM7.41$K96.40318@newsr2.u-net.net>
Thanks Dave,
I have a small problem with the 2.95.3 GCC. For some reason, the gcc
does not recognize line continuation char "\". It complains of parse
errors. Do u have a solution other than going to each .h file and
removing the '\' and joining lines???
Thanks
- -Vittal
"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<kYLM7.41$K96.40318@newsr2.u-net.net>...
> Vittal Krishnamurthy wrote in message
> <52e25f45.0111261144.6d40284c@posting.google.com>...
> >Hi
> >I was trying to build a cross compiler for Vxworks(Tornado II) for
> >MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a
> >lot compiler errors...
> >I have tried to fix some of them.. but I keep getting so many errors
> >which make me beleive that there must be some fundamental problem some
> >where.
> >On the other hand, GCC 2.95.3 compiled with very few problems.!!!
>
>   Gcc 3.x series won't work with tornado, full stop.  Far too much dynamic
> linking of the ld.so type in there.  Far too many changes to the C++ name
> mangling and internal layout of C++ objects and probably exception handling
> too.  Plus 3.0.x hasn't really stabilized yet.  Stick to 2.95.3 is my
> advice.  Otherwise you'll have to do a lot of compiler-rewriting.
>
>        DaveK
---------------------------
Newsgroups: comp.os.vxworks
Subject: Relocation value does not fit 24 bits
Date: Wed, 28 Nov 2001 00:02:58 GMT
From: slipson@attglobal.net
Organization: Global Network Services - Remote Access Mail & News Services
Message-ID: <3c042747.230902@news1.attglobal.net>
Hello,
when entering ld <module.o from the Target shell, the following error
occurs:
Relocation value does not fit 24 bits
ld error: error reading file (errno=0x3d0001)
This error does not occur if the same module is loaded from the
Tornado WindShell.
When the kernel was built, the Target shell was configured for module
loading and unloading.
Why would the Target shell and WindShell behave different when loading
modules?
			Thanks,
				ScottL
---------------------------
Newsgroups: comp.os.vxworks
Subject: Writing END Driver--Crashing tNetTask (Corrupt clBlk?)
Date: Tue, 27 Nov 2001 18:59:03 -0600
From: "Chris Richards" <cjr@netpliance.net>
Message-ID: <3c043609$0$13427$39cecf19@nnrp1.twtelecom.net>
Howdy.
I'm crashing tNetTask when I call
    END_RCV_RTN_CALL(&pDrvCtrl->end, pMblk);
The first clblk in the mblk looks correct.  However
it's next clblk pointer is garbage.  My guess is
that this is what is causing the problem.  Yet,
I can't find out why the clblk next pointer is
garbage.
Could the be a result of improperly setting up
the net pool?
Thanks.
cjr
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Relocation value does not fit 24 bits
Date: Wed, 28 Nov 2001 01:32:24 GMT
From: "Jay Labhart" <jlabhart@home.com>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <I8XM7.123991$pb4.76056842@news2.rdc2.tx.home.com>
References: <3c042747.230902@news1.attglobal.net>
Use - mlongcall.  Look it up on the WindSurf website.
<slipson@attglobal.net> wrote in message
news:3c042747.230902@news1.attglobal.net...
> Hello,
> when entering ld <module.o from the Target shell, the following error
> occurs:
> Relocation value does not fit 24 bits
> ld error: error reading file (errno=0x3d0001)
>
> This error does not occur if the same module is loaded from the
> Tornado WindShell.
>
> When the kernel was built, the Target shell was configured for module
> loading and unloading.
>
> Why would the Target shell and WindShell behave different when loading
> modules?
>
> Thanks,
> ScottL
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxSim license.dat file
Date: Wed, 28 Nov 2001 09:44:46 +0800
From: "zhaoyandong" <zhaoyandong@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9u1fmv$4iv$1@mail.cn99.com>
References: <uBUM7.3032$FR5.46605413@radon.golden.net>
"pedja" <grkovic@golden.net> wrote in message
news:uBUM7.3032$FR5.46605413@radon.golden.net...
> Please help. I installed Tornado2 under win2000, and I don't have a
> license.dat file under .wind directory. When I try to configure and launch
> target server gives me an error:
>
> tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001
>     Checking License ...FAILED
> Cannot get a valid license.
> Failed to receive a Target Server license.
> Either your network or license server is down or your LM_LICENSE_FILE
> variable is not set to a valid license server.
>
> Cannot find license file
>  The license files (or server network addresses) attempted are
>  listed below.  Use LM_LICENSE_FILE to use a different license file,
>  or contact your software provider for a license file.
> Feature:       tornado
> Filename:      F:/Tornado\.wind\license
> License path:  F:/Tornado\.wind\license
> FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
> For further information, refer to the FLEXlm End User Manual,
> available at "www.globetrotter.com".
>
>
> Target Server will exit
>
> Where should I look to obtain this file?
> Thanks everybody.
>
> Predrag
>
>
Hi, I encounted the same problem before. Now I've solved it.
You can go to www.wrs.com and request a license key according to the
instructions. Now it's ok.
zhaoyandong
---------------------------
Newsgroups: comp.os.vxworks
Subject: What happen ? anybody understand?
Date: Wed, 28 Nov 2001 11:16:09 +0800
From: "v" <Eigen@ms1.url.com.tw>
Organization: SEEDNet News Service
Message-ID: <9u1kpa$af1$1@news.seed.net.tw>
I use taskIdListGet() and taskShow() to display all tasks.
This is the function contents:
        int Display_Task()
        {
                int idlist[30];
                int maxid,currentid,i;
                maxid=sizeof(idlist);
                currentid=taskIdListGet(idlist,maxid);
                taskShow(0,2);
                printf("total %d tasks \n",currentid);
                return currentid;
      }
I use two way to call this function.
first direct call :Display_Task();
second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0);
        void usrAppInit (void)
        {
                char    input_command[20];
                char    *line=input_command;
                int     com1;
                int     i;
                com1 = open("/tyCo/0",2,0);
                (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL);
printf ("\n");
                taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0);
                while(1)
                {
                        printf ("C:\\>");
                        read(com1,input_command,20);
                        line=input_command;
                        while(*line==' ')printf("%2.2X \n",*(line++));
                        switch (*(line))
                        {
                           case 'P':
                                case 'p':Display_Task();
                                break;
                        }/*switch (input_command)*/
                }/*while(1)*/
        }
        void Display_Task_D()
        {
                while(1)
                {
                        taskDelay(180);
                        Display_Task();
                }
        }
This is the result.
  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- --
- ---
tRootTask  10d6c0        1fffdf8   0 READY        1aeb74  1fffcc0  3d0001
0
tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
0
tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
0
tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
0
tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
0
gLighting  109d98        1fb29c0  99 READY        1ae104  1fb2930       0
0
total 6 tasks
  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- --
- ---
tRootTask  10d6c0        1fffdf8   0 PEND         1a9ca8  1fffcc0  3d0001
0
tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
0
tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
0
tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
0
tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
0
??      109d98        1fb2fd8  99 READY        1aeb74  1fb2f48       0     0
total 6 tasks
~~~~~~~~~~~~~~ here is question
Why I use taskSpawn() to call Display_Task() and the function name will
disappear ?
Then even I directly call Display_Task() ,the name still disappear.
---------------------------
Newsgroups: comp.os.vxworks
Subject: how to change mac address?
Date: 27 Nov 2001 20:21:43 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111272021.60864855@posting.google.com>
hi all
  I use muxIoctl() to change one ethernet port's MAC address.It seemed
that I had sucessed.But I can't ping this ethernet port any more.I
check parameter RAM and END_OBJ,and the vaule I set existed.I used the
commands ,arp -d and arp -a, to check if the new MAC address had
worked.But in the arp list the old MAC address is still there and
dynamic.
   Will anybody tell me how can i make it.
thanks
 kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Relocation value does not fit 24 bits
Date: 27 Nov 2001 22:11:01 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111272211.2764404f@posting.google.com>
References: <3c042747.230902@news1.attglobal.net>
Hello,
This is a VFAQ. You should check the archives for this news group
and/or search WindSurf's tech help for the answer. In short, it result
from the use of relative branch instructions for function calls which
for most RISC chips are limited to +/- 32MB in range.
The solutions? A couple of options: (1) configure your system for just
32MB at first, then once your modules are loaded use
memPartAddToPool() to extend the memory to your full size; (2) compile
your code using -mlongcall, forcing all function calls to full 32 bit
addressing (at the expense of taking several instructions to make the
call instead of one).
Why does the host shell behave differently? Because it has reserved
some memory near to the kernel. When you load from the host shell,
assuming that there is space in this reserved pool, the code will be
placed there. The target shell simply allocates memory, and that seems
to come from the far end of the heap first.
HTH,
John...
PS When posting questions you should at least do the following:
1) Search the archives (http://groups.google.com offers searching)
before posting.
2) Include the CPU you are using, and the version of Tornado & VxWorks
that you are using.
slipson@attglobal.net wrote in message news:<3c042747.230902@news1.attglobal.net>...
> Hello,
> when entering ld <module.o from the Target shell, the following error
> occurs:
> Relocation value does not fit 24 bits
> ld error: error reading file (errno=0x3d0001)
>
> This error does not occur if the same module is loaded from the
> Tornado WindShell.
>
> When the kernel was built, the Target shell was configured for module
> loading and unloading.
>
> Why would the Target shell and WindShell behave different when loading
> modules?
>
> 			Thanks,
> 				ScottL
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: Tue, 27 Nov 2001 22:36:53 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9u21v6$2i9$1@newstest.laserlink.net>
References: <45dd6f79.0111261546.62ec2369@posting.google.com> <newscache$4z8gng$j2c$1@lnews.actcom.co.il> <45dd6f79.0111270755.6faa9df8@posting.google.com>
Hello Roger,
    I am sorry I missed the part about the downloadble application. As you
could
guess, I was thinking of the bootable vxWorks Kernel build. Here is what the
rules.vxApp file contains for the downloadable app build:
 $(LD_PARTIAL) $(PRJ_OBJS_FOR_LD_PARTIAL) $(PRJ_LIBS) -o partialImage.o
 $(NM) partialImage.o $(PRJ_OBJS_FOR_NM) | $(MUNCH) > ctdt.c
 $(COMPILE_TRADITIONAL) ctdt.c -o ctdt.o
 $(LD_PARTIAL) $(LD_PARTIAL_LAST_FLAGS) partialImage.o ctdt.o -o $@
# These are flags to pass to the linker the last time we do a
# relocatable link. They never get used by a bootable project
# and they only get used once by a downloadable project.
LD_PARTIAL_LAST_FLAGS   =
    So, you could try creating the LD_PARTIAL_LAST_FLAGS macro in your
Project MACRO tab and put the full path of the *.o(s) in this MACRO. The
problem is since it is a partial link, if you have references that are not
part of the
kernel nor in the extra objects, you will have the problem with the
unresolved
symbols.
"Roger" <arcv0@lycos.com> wrote in message
news:45dd6f79.0111270755.6faa9df8@posting.google.com...
> Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But
> i still get the warning. And when I try to download the application,
> it says unresolved symbols encountered while downloading. My project
> is a downloadable application. What are other options I have for a
> downloadable application to call functions from other projects.
> Thank You.
>
> "Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:<newscache$4z8gng$j2c$1@lnews.actcom.co.il>...
> > The -I flag only specify the search path in which .h files should be
looked
> > for.
> > You should add your .a file into the LIBS macro. However, this can be
done
> > only if your project is bootable. There is no LIBS macro in a
downloadable
> > project, and even if you add one, the linker will disregard it.
> >
> > HTH.....
> >
---------------------------
Newsgroups: comp.os.vxworks
Subject: pci i/o address confliction?
Date: 27 Nov 2001 23:06:20 -0800
From: lixijun@pub.xaonline.com (Lee)
Organization: http://groups.google.com/
Message-ID: <82f462ab.0111272306.691dd6be@posting.google.com>
Hi all
 I'm new in vxworks. I write a cpci driver with x86 processor board
 I can get pci config info as following:
base address 0 =              0xfe6fdf00
base address 1 =              0x0000d801
base address 2 =              0xff1e0008
base address 3 =              0x0000df01
 as my pci board manaul said, the BAR 3 is application registers,
 I can test it though write 0x01 to 0xdf22, the board led light one,
 write 0x02, light two, etc. The problem is the board do not respond
 after you did serveral operation. At this time, read from status register
 (0x0000df21)value is 0xff.
   I startup system in win2000, the device manager said there was address
confict about 0xdf00~0xdf3f. But there is no other device use it.
 l.x.j
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How to include a archive file
Date: Tue, 27 Nov 2001 23:07:47 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9u23p4$92b$1@newstest.laserlink.net>
References: <45dd6f79.0111261546.62ec2369@posting.google.com> <newscache$4z8gng$j2c$1@lnews.actcom.co.il> <45dd6f79.0111270755.6faa9df8@posting.google.com> <9u21v6$2i9$1@newstest.laserlink.net>
I have got to start reading the whole subject line......... NEVER MIND.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: How  to study Vxwork programming at home?
Date: Wed, 28 Nov 2001 08:22:31 +0100
From: "Martin Raabe" <Martin.Raabe@WindRiver.com>
Organization: T-Online
Message-ID: <9u23bh$kl6$04$1@news.t-online.com>
References: <qHUM7.12267$12d.1003@news2.bloor.is>
Hello tiejunyang,
there is a Tornado Prototyper to be downloaded from www.WindRiver.com.
It comes with a complete VxWorks Development environment.
The target is a Simulator.
Hope it helped!
Martin Raabe
"tiejunyang" <tiejunyang@rogers.com> schrieb im Newsbeitrag
news:qHUM7.12267$12d.1003@news2.bloor.is...
> Who could give some suggestion about how to study Vxwork at home,
including
> download which softwares?
> I do not have a chance to use any RTOS in my project. I have studied Linux
> and RTOS basic concepts about three months. I feel that "Basic OS" and
"I/O
> System"  in Vxwork and Linux look alike.
> Could I practice Vxwork programming at home without any target board? I
> would appreciate it if somebody could drop several line suggestion?
> Thanks
> tiejunyang
> email:tiejunyang@yahoo.com
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks 5.4 and Pentium 4 motherboard
Date: Wed, 28 Nov 2001 08:42:00 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <9u24ga$etn$1@snoopy.bndlg.de>
References: <W4QM7.175977$IR4.64924904@news1.denver1.co.home.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524f2f.dip.t-dialin.net
"Dean Schulze" <deanwschulze@home.com> schrieb im Newsbeitrag
news:W4QM7.175977$IR4.64924904@news1.denver1.co.home.com...
>     I'm trying to use VxWorks 5.4 on a Pentium 4 motherboard with a PCI
2.2
> bus and the Intel 850 chipset.  The P4 boots from a floppy properly and
ftps
> the kernel from another machine on the network, so my network connectivity
> is working properly.  But when I try to check which PCI devices exist on
the
> bus I find 3 Intel devices but cannot find my  network card or the bt878
> based WinTV card.
>
>     Could Plug and Play be a problem?  The PnP must be working for my
> network card (3Com 905B) since it gets the kernel via ftp.  Do I need to
> massage BIOS settings somehow?
>
>     My code is attached below.
>
>     Thanks.
>
> Dean Schulze
>
>
>  if (pciConfigLibInit (PCI_MECHANISM_1, 0xCF8, 0xCFC, 0) != OK)
>  {
>   printf("\nPCI lib config error\n");
>   return (ERROR);
>  }
>
>  devices = 0x1f;
>
>  printf("\n\nAll PCI devices:");
>   printf("\n    busNo deviceNo vendorId deviceId classCode");
>   printf("\n--------------------------------------------");
>
>  for (deviceNo=0; deviceNo < devices; deviceNo++)
>  {
>   pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, &vendorId);
>   pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, &deviceId);
>   pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF,
>            &u.array[3]);
>   pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[2]);
>   pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[1]);
>   u.array[0] = 0;
>
>    printf ("\n%8x %8x %8x %8x %8x",
>      busNo, deviceNo, vendorId, deviceId, u.classCode);
>
>
>  }
>
>
Hi Dean,
busNo is undefined in your code snippet, so what's its value ? Remember that
your device could reside on busNo 0,1,2,....
Just use pciFindDevice() or pciFindDeviceShow() for searching for known
device, it will (should) do all the job for you.
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH               Tel +49-731-96600-0
 Promenade 17                   Fax +49-731-96600-23
 D-89073 Ulm                    Michael Lawnick
 Germany                           lawnick@softec.de
 ==============================================
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What happen ? anybody understand?
Date: 28 Nov 2001 00:26:16 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111280026.b9aab76@posting.google.com>
References: <9u1kpa$af1$1@news.seed.net.tw>
Hello,
Check your stack size. You can see the stack usage with the
checkStack() routine, but losing the task name is normally an
indication that you are running off the bottom of your stack (and you
didn't give it very much stack after all).
Also, as a word of advice, it is not a good idea to use usrAppInit
functions that loop forever. You would be better to spawn your
application task from this function. Why? Well, your usrAppInit()
function is being executed in the context of the root task, at
priority 0 and with a stack that you have little control over the size
of. By spawning it as its own task, the kernel's init sequence
completes, and you have control over the task's parameters.
HTH,
John...
"?????? <Eigen@ms1.url.com.tw> wrote in message news:<9u1kpa$af1$1@news.seed.net.tw>...
> I use taskIdListGet() and taskShow() to display all tasks.
>
> This is the function contents:
>         int Display_Task()
>         {
>                 int idlist[30];
>                 int maxid,currentid,i;
>
>                 maxid=sizeof(idlist);
>                 currentid=taskIdListGet(idlist,maxid);
>                 taskShow(0,2);
>                 printf("total %d tasks \n",currentid);
>                 return currentid;
>       }
>
> I use two way to call this function.
> first direct call :Display_Task();
> second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0);
>
>
>         void usrAppInit (void)
>         {
>                 char    input_command[20];
>                 char    *line=input_command;
>                 int     com1;
>                 int     i;
>
>                 com1 = open("/tyCo/0",2,0);
>                 (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL);
> printf ("\n");
>
>                 taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0);
>
>                 while(1)
>                 {
>                         printf ("C:\\>");
>                         read(com1,input_command,20);
>                         line=input_command;
>                         while(*line==' ')printf("%2.2X \n",*(line++));
>                         switch (*(line))
>                         {
>                            case 'P':
>                                 case 'p':Display_Task();
>                                 break;
>                         }/*switch (input_command)*/
>                 }/*while(1)*/
>         }
>         void Display_Task_D()
>         {
>                 while(1)
>                 {
>                         taskDelay(180);
>                         Display_Task();
>                 }
>         }
>
>
> This is the result.
>
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- ------- --
> ---
> tRootTask  10d6c0        1fffdf8   0 READY        1aeb74  1fffcc0  3d0001
> 0
> tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
> 0
> tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
> 0
> tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
> 0
> tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
> 0
> gLighting  109d98        1fb29c0  99 READY        1ae104  1fb2930       0
> 0
> total 6 tasks
>
>
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- ------- --
> ---
> tRootTask  10d6c0        1fffdf8   0 PEND         1a9ca8  1fffcc0  3d0001
> 0
> tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
> 0
> tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
> 0
> tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
> 0
> tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
> 0
> ??      109d98        1fb2fd8  99 READY        1aeb74  1fb2f48       0     0
> total 6 tasks
> ~~~~~~~~~~~~~~ here is question
>
> Why I use taskSpawn() to call Display_Task() and the function name will
> disappear ?
>
> Then even I directly call Display_Task() ,the name still disappear.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What happen ? anybody understand?
Date: Wed, 28 Nov 2001 17:10:01 +0800
From: "????" <Eigen@ms1.url.com.tw>
Organization: SEEDNet News Service
Message-ID: <9u29hs$snk$1@news.seed.net.tw>
References: <9u1kpa$af1$1@news.seed.net.tw> <488e459a.0111280026.b9aab76@posting.google.com>
    Thank you very much.John
    The problem solve.
    As for infinit loop ,I know.
    I must call function manually during testing.So....
    Anyway Thank you very much.
"John" <john_94501@yahoo.com> ?????
news:488e459a.0111280026.b9aab76@posting.google.com...
> Hello,
>
> Check your stack size. You can see the stack usage with the
> checkStack() routine, but losing the task name is normally an
> indication that you are running off the bottom of your stack (and you
> didn't give it very much stack after all).
>
> Also, as a word of advice, it is not a good idea to use usrAppInit
> functions that loop forever. You would be better to spawn your
> application task from this function. Why? Well, your usrAppInit()
> function is being executed in the context of the root task, at
> priority 0 and with a stack that you have little control over the size
> of. By spawning it as its own task, the kernel's init sequence
> completes, and you have control over the task's parameters.
>
> HTH,
>
> John...
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: WindView task are listed several times
Date: Wed, 28 Nov 2001 11:15:12 GMT
From: brede.thurmann@kongsberg-simrad.com (BT)
Message-ID: <3c04c3e4.75294057@news.eunet.no>
When I use WindView I get the same task listed more than once in the
WindView View.It is not the same task's are listed twice each time I
start WV. It is both VxWorks task's as tShell and my own task's.
These double listed task's have both the same task name and task ID.
Anyone seen this and can explain it?
BT
---------------------------
Newsgroups: comp.os.vxworks
Subject: 802.11 ethernet for vxworks
Date: Wed, 28 Nov 2001 11:16:33 GMT
From: "Omead Amidi" <amidi@postbox.ius.cs.cmu.edu>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <lI3N7.264441$5A3.101148788@news1.rdc2.pa.home.com>
I would like to know if anyone is using an 802.11
compatible wireless ethernet adapter under vxworks?
Thanks.
- -- Omead Amidi
Research Faculty
CMU Robotics Institute.
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Wed Nov 28 13:09:30 2001
From: Donald McLachlan <don@mainframe.dgrc.crc.ca>
Date: Wed Nov 28 13:09:32 PST 2001
Subject: vxworks.st for Solaris host / pcPentium target
Hello,
I have been able to make a boot floppy and with
	target/config/pcPentium/bootrom_uncmp
	target/config/pcPentium/vxWorks.st
to it and boot it.
I'm trying to:
- use the gui tool
- and base a project on target/config/pcPentium
- to build a new copy of vxWorks.st in the project directory.
Is it possible to build vxWorks.st from the gui (which is what I'm trying to
learn how to do) or must I go into the target/config/pcPentium directory
and make it from there?
Also, workspace->properties->Rules lists the following options:
	- bootrom_high
	- romcard_bootrom_256.hex
	- romcard_bootrom_512.hex
	- romcard_vxWorks_st_512.hex
	- vxWorks
	- vxWork_low vxWorks_low.sym
	- vxWorks_rom
	- vxWorks_romCompress
	- vxWorks_romResident
	- vxWorks_rom_low
None of these sound right to me.
I did build and load:
vxWorks: builds and loads.
	 muxDevLoad filed for device enty 0!
	 Attach interface lo0...done.
	 ...
	 wdbconfig: error configuring WDB communication interface.
	 ...
	 WDB: Agent Configuration failed.
	 0x3ffee7c (tRootTask) muxLoad failed.
	 < hangs here >
vxWorks_rom: builds and loads.
	     muxDevLoad filed for device enty 0!
	     Attach interface lo0...done.
	     <hangs here>
Thanks,
Don
From vxwexplo-errs@csg.lbl.gov  Wed Nov 28 20:09:01 2001
From: "Kamala K N" <kamala.kodi@wipro.com>
Date: Wed Nov 28 20:09:03 PST 2001
Subject: Re: vxworks.st for Solaris host / pcPentium target
This is a multi-part message in MIME format.
------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi,
If your building vxworks.st image, it's for standalone m/c.
Vxwroks image is for separate  host & target m/c's connected through
n/w. For this you have to edit config.h file of particular BSP (you need
to select n/w card type, host & target IP address etc.).
Ref to Vxwroks programmer's guide chapter 8. for more info.
kamala
------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5
Content-Type: text/plain;
	name="InterScan_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="InterScan_Disclaimer.txt"
-------------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5--
From vxwexplo-errs@csg.lbl.gov  Thu Nov 29 04:03:27 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Nov 29 04:03:30 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Nov 29 04:03:22 PST 2001
        Subject: makefile and linker problem
        Subject: Re: makefile and linker problem
        Subject: Re: TRUE definition
        Subject: Re: how to change mac address?
        Subject: Images larger than 1 Mb dowloaded on a Force PPC target
        Subject: Dynamic loading
        Subject: Re: TRUE definition
        Subject: External dependencies
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: DHCP not getting DNS or gateway
        Subject: TFFS - flash file system
        Subject: Re: TRUE definition
        Subject: usrFsLib (shell commands)
        Subject: VxWorks AE - Support?
        Subject: multiple ip addresses on same IP port
        Subject: vxworks vs. hardened NT
        Subject: Re: TFFS - flash file system
        Subject: Re: Dynamic loading
        Subject: Re: vxworks vs. hardened NT
        Subject: VxWorks vulnerabilties ?
        Subject: Re: TFFS - flash file system
        Subject: IP address
        Subject: Re: TRUE definition
        Subject: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
        Subject: Re: Why is the IP stack ARPing my non-Ethernet interface?
        Subject: Re: IP address
        Subject: Re: TFFS - flash file system
        Subject: Re: TFFS - flash file system
        Subject: Re: TFFS - flash file system
        Subject: Re: IP address
        Subject: Is this Q so dumb that no one is answering
        Subject: Re: TFFS - flash file system
        Subject: Faster stat function? *OR* The stat implementation? (In a C/C++ program.)
        Subject: Re: Tornado 2.1 PowerPc
        Subject: how to delelte a IP address added by ifAddrAdd()
        Subject: Changing MAC address?
        Subject: Fw: VxSim license.dat file
        Subject: A stupid quetion. But I don't understand.
        Subject: license data file problems?
        Subject: The same prob " VxSim license.dat file"
        Subject: Re: TRUE definition
        Subject: Meet the same prob as "VxSim license.dat file " on Windows98
        Subject: Re: DHCP not getting DNS or gateway
        Subject: Re: WindView task are listed several times
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: Re: Changing MAC address?
        Subject: Re: What happen ? anybody understand?
        Subject: Re: Need information on Zinc configuration
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
        Subject: Re: Faster stat function? *OR* The stat implementation? (In a C/C++ program.)
        Subject: Re: TFFS - flash file system
        Subject: Need to develop small dialog based GUI
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: [OT] Re: TRUE definition
        Subject: Re: TFFS - flash file system
        Subject: what's the reason which will result in workQPanic?
        Subject: Re: Changing MAC address?
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: makefile and linker problem
Date: 28 Nov 2001 04:16:33 -0800
From: trosto@hotmail.com (Tal)
Organization: http://groups.google.com/
Message-ID: <705c7b34.0111280416.6bd18836@posting.google.com>
Hi,
I am using the Tornado with the GNU compiler.
Sometimes, when I try to build my project I get an error message
saying "no rule to make filename.o".
It seems that the makefile dependencies do not know to find the h
files which aren't in the project's folder but in other folder.
In order to override the problem I delete the dependecies part of the
makefile and build the project again.
Did someone encountered this problem?
Do you know how to define the path of the h files (for the linker)
outside of the makefile?
TIA,
Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: makefile and linker problem
Date: Wed, 28 Nov 2001 15:51:46 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$e0ling$6df$1@lnews.actcom.co.il>
References: <705c7b34.0111280416.6bd18836@posting.google.com>
yup.
All you have to do:
1. go to the workspace window, and press the 'builds' tab. Expand your
project name entry, and double click on the triangle icon. Press the 'C/C++
compiler' tab, and add '-I<path>' for each path you need to include .h files
from.
- --
Ofer Goren
Iamba Technologies
"Tal" <trosto@hotmail.com> wrote in message
news:705c7b34.0111280416.6bd18836@posting.google.com...
> Hi,
>
> I am using the Tornado with the GNU compiler.
> Sometimes, when I try to build my project I get an error message
> saying "no rule to make filename.o".
> It seems that the makefile dependencies do not know to find the h
> files which aren't in the project's folder but in other folder.
> In order to override the problem I delete the dependecies part of the
> makefile and build the project again.
> Did someone encountered this problem?
> Do you know how to define the path of the h files (for the linker)
> outside of the makefile?
>
> TIA,
>
> Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 14:01:14 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9u2qjq$smr$1@plutonium.btinternet.com>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net>
> >I would like to change the definition of TRUE from 1 to -1
>
>   NO.  Don't do that.
Agreed...
Actually you would be better off removing  'TRUE' and 'FALSE' (and 'OK',
 'ERROR' and 'NULL') from the entire source tree!
The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all
they do is obfuscate bits of the language and force people to scan header
files for definitions.
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: how to change mac address?
Date: Wed, 28 Nov 2001 14:12:27 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9u2r8s$i09$1@neptunium.btinternet.com>
References: <221caa76.0111272021.60864855@posting.google.com>
>   I use muxIoctl() to change one ethernet port's MAC address.It seemed
> that I had sucessed.But I can't ping this ethernet port any more.I
> check parameter RAM and END_OBJ,and the vaule I set existed.I used the
> commands ,arp -d and arp -a, to check if the new MAC address had
> worked.But in the arp list the old MAC address is still there and
> dynamic.
Unfortunately the ioctl doesn't change the MAC address returned (to other
systems) in an ARP response.  Something like:
static void
set_arp_mac_addr( char *name, int unit, uint8 *new_mac )
{
    IP_DRV_CTRL *ip_info;
    int unit;
    extern int ipMaxUnits;
    for (unit = 0; unit < ipMaxUnits; unit++) {
        ip_info = ipDrvCtrl + unit;
        if (strcmp( name, ip_info->idr.ac_if.if_name ))
            continue;
        if (unit != ip_info->idr.ac_if.if_unit)
            continue;
        /* Check entry has correct old address */
        bcopy( new_mac, ip_info->idr.ac_enaddr, 6 );
        break;
    }
}
will update the correct field (if i've written the correct code).
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Images larger than 1 Mb dowloaded on a Force PPC target
Date: 28 Nov 2001 06:11:10 -0800
From: Santiago.Vazquez@casa.eads.net (santiago vazquez)
Organization: http://groups.google.com/
Message-ID: <c9e00b4a.0111280611.17f62c36@posting.google.com>
Hello to everybody
I have a problem downloading vxworks images on a PPC Force target when
they are bigger than 1 Mb.
Does anybody know how to do it? Do I have to burn a new ROM?
Thanks in advance.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Dynamic loading
Date: Wed, 28 Nov 2001 16:04:13 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <9u2qu0$dn9$1@newshost.mot.com>
We are now in the definition stage of our new project which will probably
based on one of  MPC8xx PPC processors.  During the developement purposes
Vxwrks allows to dynamically link & load  new modules and run them from the
target shell.  I would like to perfrm dynamic linking/loading on the final
target (non development) sysem where I do not have the Tornado development
tools and the WDB agent  within the  target.  Did anybody see such (non
development)  system where application are linked and loaded dynamically. ?
Thanks,
Martin Roth
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 16:25:21 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$kjming$8gf$1@lnews.actcom.co.il>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com>
well, as I said, this is not up to me. The fact is that I HAVE to change
TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other
are compiler dependent. I truly hope that the developers of vxWorks know
this (and compare boolean expressions with FALSE), or I will have to tell
someone "I told you so".... ;)
- --
Ofer Goren
Iamba Technologies
"David Laight" <David.Laight@btinternet.com> wrote in message
news:9u2qjq$smr$1@plutonium.btinternet.com...
>
> > >I would like to change the definition of TRUE from 1 to -1
> >
> >   NO.  Don't do that.
>
> Agreed...
>
> Actually you would be better off removing  'TRUE' and 'FALSE' (and 'OK',
>  'ERROR' and 'NULL') from the entire source tree!
>
> The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all
> they do is obfuscate bits of the language and force people to scan header
> files for definitions.
>
>     David
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: External dependencies
Date: 28 Nov 2001 06:33:39 -0800
From: trosto@hotmail.com (Tal)
Organization: http://groups.google.com/
Message-ID: <705c7b34.0111280633.6f6770bd@posting.google.com>
Hi,
I am using the Tornado with the GNU compiler.
My question regards the External Dependencies folder.
This folder doesn't always show me the external dependencies of my project,
sometimes it does and sometimes it doesn't and I can't understand why!
Do you know the reason?
TIA,
Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 14:50:20 +0000 (UTC)
From: don@mars.dgrc.crc.ca (Donald McLachlan)
Organization: The unconfigured xvnews people
Message-ID: <9u2tjc$ri2$1@crc-news.crc.ca>
References: <newscache$kjming$8gf$1@lnews.actcom.co.il>
Reply-To: don@mars.dgrc.crc.ca
In article <newscache$kjming$8gf$1@lnews.actcom.co.il>, "Ofer Goren" <ofer_goren@iamba.com> writes:
> well, as I said, this is not up to me. The fact is that I HAVE to change
> TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other
> are compiler dependent. I truly hope that the developers of vxWorks know
> this (and compare boolean expressions with FALSE), or I will have to tell
> someone "I told you so".... ;)
OK, so you know that a value of zero means false, and that anything else means
true.
So why not fix the broken code?  Because the boss says so?  Sure you can override it
and check for if(x == -1), and you can even make it sybolic, but do not call it
TRUE.
Can you call it ASSERTED or CORRECT or OK or even MINUS_ONE or some such?
Don
- --
Donald McLachlan			E-mail	Donald.McLachlan@crc.ca
Communications Research Centre / RNS	Tel	(613) 998-2845
3701 Carling Ave.,			Fax	(613) 998-9648
Ottawa, Ontario
K2H 8S2
Canada
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 17:07:35 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$eioing$iof$1@lnews.actcom.co.il>
References: <newscache$kjming$8gf$1@lnews.actcom.co.il> <9u2tjc$ri2$1@crc-news.crc.ca>
I have no problems with my code. The problem is in the interfaces to
vxWorks' code, as I specified in the first post.....
- --
Ofer Goren
Iamba Technologies
"Donald McLachlan" <don@mars.dgrc.crc.ca> wrote in message
news:9u2tjc$ri2$1@crc-news.crc.ca...
> In article <newscache$kjming$8gf$1@lnews.actcom.co.il>, "Ofer Goren"
<ofer_goren@iamba.com> writes:
> > well, as I said, this is not up to me. The fact is that I HAVE to change
> > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all
other
> > are compiler dependent. I truly hope that the developers of vxWorks know
> > this (and compare boolean expressions with FALSE), or I will have to
tell
> > someone "I told you so".... ;)
>
>
> OK, so you know that a value of zero means false, and that anything else
means
> true.
>
> So why not fix the broken code?  Because the boss says so?  Sure you can
override it
> and check for if(x == -1), and you can even make it sybolic, but do not
call it
> TRUE.
>
> Can you call it ASSERTED or CORRECT or OK or even MINUS_ONE or some such?
>
> Don
>
>
>
> --
> Donald McLachlan E-mail Donald.McLachlan@crc.ca
> Communications Research Centre / RNS Tel (613) 998-2845
> 3701 Carling Ave., Fax (613) 998-9648
> Ottawa, Ontario
> K2H 8S2
> Canada
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: DHCP not getting DNS or gateway
Date: 28 Nov 2001 07:25:31 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0111280725.53fda93b@posting.google.com>
I've seen this same question asked on comp.os.vxworks several times,
but it never has a follow up.  I need to know if anyone has found a
solution to this problem:
When I perform a DHCP bind, I get a valid IP address, subnet mask, and
it even returns the IP address of the DHCP server in the
dhcp_param.s_addr field.  However, it refuses to get a DNS server or a
gateway.  If I zero those fields out before I do a request, they're
still zero after the request.  Here's the code:
	struct dhcp_param params;
	// Need to zero out ALL values, as stated in the dhcpcParamsGet()
	// documentation in the reference manual.
	memset(&params, 0, sizeof(struct dhcp_param));
	// Provide non-NULL pointers for fields of interest, as stated
	// in the dhcpcParamsGet() documentation in the reference manual.
	struct in_addrs dns_server_addrs;
	struct in_addr dns_addr[2];
	params.dns_server = &dns_server_addrs;
	dns_server_addrs.num = 2;
	dns_server_addrs.addr = dns_addr;
	params.dns_server->addr[0].s_addr = 0;
	params.dns_server->addr[1].s_addr = 0;
	struct in_addr subnet_mask;
	params.subnet_mask = &subnet_mask;
	if (dhcpcParamsGet(m_cookieHandle, &params) == ERROR)
	{
		printf("Couldn't get dhcp params\n");
		return -1;
	}
	// Print parameter values...
Believe it or not, it doesn't return a gateway address or a DNS server
address, but everything else I need comes back from the DHCP server.
If anyone has found a solution to this yet, please let me know.
Aaron
---------------------------
Newsgroups: comp.os.vxworks
Subject: TFFS - flash file system
Date: Wed, 28 Nov 2001 17:17:11 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <9u2v6q$g3j$1@newshost.mot.com>
I intend to use the TFFS - flash file system to log events to the flash
disk.
In average I  will write one short message each 5 minutes. I know that flash
memory has it's lifetime limitation and
therefore I am asking the following questions:
Assuming that I want my system to operate 10-15 years,  is it a smart
decision to use TFFS or any other flash disk software?
Do you see any danger to the FLASH memory by using TFFS ?
Thanks,
Martin Roth
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 10:27:54 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C05027A.364CE867@varndellengineering.com>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il>
Ofer Goren wrote:
>
> well, as I said, this is not up to me. The fact is that I HAVE to change
> TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other
> are compiler dependent. I truly hope that the developers of vxWorks know
> this (and compare boolean expressions with FALSE), or I will have to tell
> someone "I told you so".... ;)
>
Hi Ofer,
I believe you want to know what values, returned by a etherInputHook
function, will indicate to the network driver whether a packet should
be pushed up to the stack or into the bit-bucket. The answer is there
is may not a single answer. Below is a snippet of code taken from the
templateNetif driver which shows how Wind would want network drivers
to handle hook functions.
    if (etherInputHookRtn != NULL)
        {
        if ((* etherInputHookRtn) (&pDrvCtrl->idr, (char *)pEh, len))
            {
            templateRfdReturn (pDrvCtrl, pRfd); /* free the RFD */
            return (OK);
            }
        }
     .... continue processing....
As you can see, the numeric values of TRUE and FALSE don't even come
into play, which is as it should be. In the code above, if the hook
function returned 0, the packet will go up to the stack. If the hook
function returns any other value, 1, -1, 0xdeadead, etc., the packet
will be discarded, again as it should be.
None of this means much though, since each driver may be coded
differently with regard to handling of etherInputHook. Nothing prevents
some bone headed code like this....
    int x;
    if (etherInputHookRtn != NULL)
        {
        x = (* etherInputHookRtn) (&pDrvCtrl->idr, (char *)pEh, len);
        if(x == -3 || x == -1)
            {
            templateRfdReturn (pDrvCtrl, pRfd); /* free the RFD */
            return (OK);
            }
        }
     .... continue processing....
You may need to get the net driver source code to find out for sure.
You do not need to redefine TRUE. You should probably also buy
Steve Summit's excellent book 'C Programming FAQs' and read chapter
9. By the way, 'if(etherInputHookRtn != NULL)' falls into the same
category as testing for specific numeric values of TRUE and FALSE.
It just should not be done. 'if(etherInputHookRtn)' is syntactically
and semantically correct in every way. '!= NULL' adds nothing to the
above code -- except the danger that NULL may have been improperly
redefined in the driver.
Regards,
George Varndell
- --
Varndell Engineering, LLC.      PPC and XScale Expertise
We do visionWARE ports          http://www.varndellengineering.com
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
---------------------------
Newsgroups: comp.os.vxworks
Subject: usrFsLib (shell commands)
Date: Wed, 28 Nov 2001 15:40:39 -0000
From: "billangs" <gurdeep.billan@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <9u30g3$6d6$1@news.mch.sbs.de>
DESCRIPTION
INCLUDE_DOSFS does not pull in shell commands i.e. ls etc.
The usrFsLib routines are not linked in to the build.
Does anybody know how to link the usrFsLib files into the DOSFS?
Cheers
Gurdeep
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks AE - Support?
Date: 28 Nov 2001 07:55:29 -0800
From: difebrokerage@epost.de (dife)
Organization: http://groups.google.com/
Message-ID: <29e69408.0111280755.4d3ce9c2@posting.google.com>
I have heart that WRS will not support VxWorks/AE 'later'.
Dit anyone know more about that?
---------------------------
Newsgroups: comp.os.vxworks
Subject: multiple ip addresses on same IP port
Date: Wed, 28 Nov 2001 10:51:04 -0500
From: Chandwani <rexrc@ubbsrv3.ho.lucent.com>
Organization: Lucent Technologies
Message-ID: <3C0507E8.23937840@ubbsrv3.ho.lucent.com>
Hi all !
I have a a couple of questions regarding the multiple ip address provisioning on
same IP port in  vxworks IP stack.
A port has a private class C IP address ( non broadcast ) provisioned on it. Now
I go and add a public IP address on that port using function ifAddrAdd(). This
works successfully.
Question 1) If I do a ifAddrGet(), which IP address will I get of the two ?
Question 2 ) If I want to change the public IP address on that port but maintain
the private IP address, how do I achieve this ?
Please help anyone.
Thanks,
Rakesh
---------------------------
Newsgroups: comp.os.vxworks
Subject: vxworks vs. hardened NT
Date: Wed, 28 Nov 2001 16:34:31 -0000
From: "Raymond Bunton" <pato2@hotmail.com>
Message-ID: <1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk>
Hi all,
I work for a company in the UK that is attempting to develop an industrial
controller using a 'real-time' operating system. I have been selected to
decide on which software package is best suited to our needs. The choice is
either a VxWorks or Hardened NT system. In addition I must also decide upon
a PC/104 or CompactPCI platform.
When deciding this I would need to bear in mind (among other things):
 - Cost
 - Availability (both current and future as regards upgradability and
support)
 - Reliability
 - Portability
I welcome all your comments and suggestions as to what you, in your
experience, consider to be the better software package.
Thanks a lot!
Ray Bunton
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: 28 Nov 2001 11:20:06 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111281120.765483ed@posting.google.com>
References: <9u2v6q$g3j$1@newshost.mot.com>
Hello,
You need to do the calculations basically... before doing that, there
are some things to think about:
1) Are you overwriting the message, or is this log file going to grow?
If the latter, the size of the flash is probably more limiting than
the lifetime of it ;-)
2) Are you using the file system for anything else, especially write
operations?
I believe that TFFS employs wear leveling code, so in theory at least,
if you continually overwrite the file you should be able to work out
the number of messages that will fit in the flash before an erase is
necessary. Given that, and the number of erase cycles that your flash
chips support, you should be able to determine whether a message every
five minutes will be OK for the lifespan of the device.
You might also want to "sacrifice" some flash devices and do your own
accelerated testing to see if the calculations bear out in reality.
With a normal operating frequency of one every 5 minutes, it should be
very easy to perform an accelerated test...
HTH,
John...
"Martin Roth" <bmr006@email.mot.com> wrote in message news:<9u2v6q$g3j$1@newshost.mot.com>...
> I intend to use the TFFS - flash file system to log events to the flash
> disk.
> In average I  will write one short message each 5 minutes. I know that flash
> memory has it's lifetime limitation and
> therefore I am asking the following questions:
>
> Assuming that I want my system to operate 10-15 years,  is it a smart
> decision to use TFFS or any other flash disk software?
> Do you see any danger to the FLASH memory by using TFFS ?
>
> Thanks,
> Martin Roth
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Dynamic loading
Date: 28 Nov 2001 11:25:12 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111281125.3331d452@posting.google.com>
References: <9u2qu0$dn9$1@newshost.mot.com> <3c05001e@netnews.web.de>
Hello all,
Reinhold Wirth <wirth@softec.de> wrote in message news:<3c05001e@netnews.web.de>...
> "Martin Roth" <bmr006@email.mot.com> wrote:
> >We are now in the definition stage of our new project which will probably
> >based on one of  MPC8xx PPC processors.  During the developement purposes
> >Vxwrks allows to dynamically link & load  new modules and run them from the
> >target shell.  I would like to perfrm dynamic linking/loading on the final
> >target (non development) sysem where I do not have the Tornado development
> >tools and the WDB agent  within the  target.  Did anybody see such (non
> >development)  system where application are linked and loaded dynamically. ?
>
>
> Hi Martin,
>
>
> you do not need Tornado or WDB to load and start a applikation.
> It is possible to load and start it from the target shell.
You can also load modules directly from application code: check out
the loadLib manual entries. That will avoid (a) the need for the
target shell if you don't want it, and (b) any messing around with
scripts.
To get the NT box to perform the calculation should also be possible,
but you'd need to find an rsh daemon for NT that was compatible with
VxWorks (for some reason, most Windows rsh daemons seem to be
different to Unix ones and that causes some problems for the VxWorks
rcmd() function).
I believe that there is an open source rsh for Windows though, so you
should be able to modify it to work. That way you could issue the
commands for the compilation from VxWorks, capture the output (to
check for errors), and then use loadModule() to download the resulting
.o file.
HTH,
John...
> You only have to type the commands.
> The Startup-Script is a possibility for the input this commands from a device
> (like the autoexec.bat).
> (you have to define INCLUDE_STARTUP_SCRIPT in VxWorks)
>
>
> One other possibility may be:
>   load and start your application in usrAppInit.c
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: vxworks vs. hardened NT
Date: Wed, 28 Nov 2001 21:51:32 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$zo1jng$f4g$1@lnews.actcom.co.il>
References: <1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk>
"Raymond Bunton" <pato2@hotmail.com> wrote in message
news:1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk...
[snip]
>  - Cost
With your business type, involving low volume, VxWorks might
look expensive, but in comparison to the entire Bill Of Materials,
this OS cost should be very small.
>  - Availability (both current and future as regards upgradability and
> support)
Keep in mind that Microsoft routinely discontinue their OS versions
practically forcing clients to upgrade, WindRiver on the other hand
still supports VxWorks 5.4 which was released in 1998, and I know
they also provide support for older versions (for an higher fee).
WindRiver support may not be what it used to be a few years back,
(which causes quite a lot of people to complain), it probably is still
a lot better the Microsoft's.
>  - Reliability
Realibility is probably mainly consisting of Code Stability and Testability.
VxWorks code base is quite old, and well proven in many thousands of
applications. VxWorks also is A LOT smaller then any version of NT,
and you can even buy tools to result with test code coverage statistics
for both your application code and the basic OS code too.
>  - Portability
>
I am not sure what you mean, but it is beyond my doubt that VxWorks
supports many mor eCPU architectures then NT, but your meaning of
portability
may depend on the CPU architectures you consider interesting for your type
of application. I am pretty sure you'll stick to x86, maybe PowerPC, so you
can buy COTS processor boards etc.
Hope this helps,
 - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: VxWorks vulnerabilties ?
Date: Wed, 28 Nov 2001 21:28:50 +0100
From: "Sidney" <nospam-dsi442@wanadoo.fr>
Organization: Guest of ProXad - France
Message-ID: <3c054904$0$197$626a54ce@news.free.fr>
Hello
I am searching for an updated list of know vulnerabilities of VxWorks 5.4
and especially concerning the network stack.
Thank you
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Wed, 28 Nov 2001 20:42:13 GMT
From: Andray Kaganovsky <andreyk@home.com>
Organization: @Home
Message-ID: <Xns9167A01191938andreykhomecom@24.2.9.58>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com>
john_94501@yahoo.com (John) wrote in
news:488e459a.0111281120.765483ed@posting.google.com:
> Hello,
>
> You need to do the calculations basically... before doing that, there
> are some things to think about:
>
> 1) Are you overwriting the message, or is this log file going to grow?
> If the latter, the size of the flash is probably more limiting than
> the lifetime of it ;-)
>
> 2) Are you using the file system for anything else, especially write
> operations?
>
> I believe that TFFS employs wear leveling code, so in theory at least,
> if you continually overwrite the file you should be able to work out
> the number of messages that will fit in the flash before an erase is
> necessary. Given that, and the number of erase cycles that your flash
> chips support, you should be able to determine whether a message every
> five minutes will be OK for the lifespan of the device.
>
> You might also want to "sacrifice" some flash devices and do your own
> accelerated testing to see if the calculations bear out in reality.
> With a normal operating frequency of one every 5 minutes, it should be
> very easy to perform an accelerated test...
>
> HTH,
>
> John...
>
> "Martin Roth" <bmr006@email.mot.com> wrote in message news:<9u2v6q$g3j$1
@newshost.mot.com>...
>> I intend to use the TFFS - flash file system to log events to the flash
>> disk. In average I  will write one short message each 5 minutes. I know
that
>> flash memory has it's lifetime limitation and
>> therefore I am asking the following questions:
>>
>> Assuming that I want my system to operate 10-15 years,  is it a smart
>> decision to use TFFS or any other flash disk software?
>> Do you see any danger to the FLASH memory by using TFFS ?
>>
>> Thanks,
>> Martin Roth
>
[AndrayK]. As John correctly pointed out, TrueFFS employs wear levelling
algorithms which spread 'write' and 'erase' operations evenly over the
length of the entire flash array. To verify that this is inded the
case, you can set breakpoint in MTD's 'write' and 'erase' routines, and
check the 'address' parameter that they receive from the upper
TrueFFS layers. Run the test of constanly overwriting contents of
a small file, make sure file system cache is turned off, and watch
the above mentioned 'address' parameters. If they appear to be constantly
changing and spread all over the flash array, they you shouldn't worry
about wearing down the flash.
Andray
---------------------------
Newsgroups: comp.os.vxworks
Subject: IP address
Date: Wed, 28 Nov 2001 15:03:40 -0600
From: "Tim Moeller" <moeller@NOSPAMniti.com>
Organization: Nicolet Technologies
Message-ID: <9u3j5t$1ov$1@newsreader.mailgate.org>
Reply-To: "Tim Moeller" <moeller@NOSPAMniti.com>
Sender: moeller@niti.com
Sorry, I know this is a dumb question, but I can't seem to find the answer
in my documentation.
How do you programmatically determine the IP address being used on the
target processor?
The IP address is entered and stored in NVRAM by the BOOT ROM setup on my
board (Walnut PPC 405GP, if that makes a difference.)  Isn't there some
kernel function that returns My IP Address?
Be kind.  :-)
Thanks,
 -- Tim
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 21:02:24 GMT
From: hoh@invalid.invalid (Goran Larsson)
Organization: [1]  + 5934 done        /bin/rm -rf ~/ &
Message-ID: <GnJ3s0.5MJ@approve.se>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il>
In article <newscache$kjming$8gf$1@lnews.actcom.co.il>,
Ofer Goren <ofer_goren@iamba.com> wrote:
> well, as I said, this is not up to me. The fact is that I HAVE to change
> TRUE to -1.
You have said so a couple of times, but you still haven't explained why.
> The only constant defined is C is 0 (zero) for FALSE. all other
> are compiler dependent.
What are you trying to say here? Are you saying that the true value is
compiler dependent in C?
This not so. The C standard clearly states that the result of an true
boolean operation should be the value 1 (ONE) of type int. Any
operation receiving a boolean value should accept any non-zero value of
type int as a true value.
> I truly hope that the developers of vxWorks know
> this (and compare boolean expressions with FALSE), or I will have to tell
> someone "I told you so".... ;)
If you redefine TRUE to be -1 we will have to tell you "We told you so".
- --
Gran Larsson     hoh AT approve DOT se
---------------------------
Newsgroups: comp.os.vxworks
Subject: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
Date: 28 Nov 2001 13:15:59 -0800
From: vittalk@ieee.org (Vittal Krishnamurthy)
Organization: http://groups.google.com/
Message-ID: <52e25f45.0111281315.4a70be66@posting.google.com>
Hi VxWorks gurus,
I have recently built cross
I have a small problem with the 2.95.3 GCC cross compiler that I built
for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc
does not like line continuation char "\". It complains of parse
errors. Did I do anything wrong with my cross compilation. Do u have a
solution other removing the '\' and joining lines??? Is there some
switch I need to enable during cross compiler building ???
Pls Help
thanks
- -Vittal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Why is the IP stack ARPing my non-Ethernet interface?
Date: 28 Nov 2001 13:41:19 -0800
From: rwilliams@pivotech.com (Rich Williams)
Organization: http://groups.google.com/
Message-ID: <4fdebc19.0111281341.133e9b16@posting.google.com>
References: <d491dc78.0111270811.3f1031d2@posting.google.com>
A long time ago, when I was first developing an END driver, I looked
through the MUX code. This was shortly after the END code was
available, so things may have changed ???? I was having trouble
getting my non-Ethernet driver to work. I thought that if I set the
"M2" type to something like "M2_ifType_other", then the MUX would
treat my driver differently from the Ethernet driver.
Wrong!
Inside the MUX was code like this:
switch( M2_type )
{
      case M2_Ethernet:
      default:
           blah, blah, blah;
          break;
}
The MUX code treats all drivers the same.
The solution was to put an ARP packet simulator in my END driver.
When vxWorks sends out the ARP request, you must send back the
ARP response to make the stack happy.
Rich
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: IP address
Date: Wed, 28 Nov 2001 14:07:27 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3C05601F.24BEBE17@alcatel.com>
References: <9u3j5t$1ov$1@newsreader.mailgate.org>
Tim,
Take a look to the ifLib. It contains a function ifAddrGet ( ...
It is a great idea to add to your browser the:
            $WIND_BASE/docs/books.html
in order to have all the Tornado and vxWorks doc online.
stephane.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Wed, 28 Nov 2001 22:10:35 +0000
From: molochai <molochai@vapour-trail.demon.co.uk>
Message-ID: <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com>
In message <488e459a.0111281120.765483ed@posting.google.com>
          john_94501@yahoo.com (John) wrote:
>
> "Martin Roth" <bmr006@email.mot.com> wrote in message
> news:<9u2v6q$g3j$1@newshost.mot.com>...
> > I intend to use the TFFS - flash file system to log events to the flash
> > disk. In average I  will write one short message each 5 minutes. I know
> > that flash memory has it's lifetime limitation and therefore I am asking
> > the following questions:
> >
> > Assuming that I want my system to operate 10-15 years,  is it a smart
> > decision to use TFFS or any other flash disk software? Do you see any
> > danger to the FLASH memory by using TFFS ?
> >
> > Thanks,
> > Martin Roth
> Hello,
>
> You need to do the calculations basically... before doing that, there
> are some things to think about:
>
> 1) Are you overwriting the message, or is this log file going to grow? If
> the latter, the size of the flash is probably more limiting than the
> lifetime of it ;-)
>
> 2) Are you using the file system for anything else, especially write
> operations?
>
> I believe that TFFS employs wear leveling code, so in theory at least, if
> you continually overwrite the file you should be able to work out the
> number of messages that will fit in the flash before an erase is necessary.
> Given that, and the number of erase cycles that your flash chips support,
> you should be able to determine whether a message every five minutes will
> be OK for the lifespan of the device.
This isn't necessarily the case. Remember that TFFS is a block device and
handles entire blocks at a time. I suspect that in your application, you'd
want to ensure that there was no buffering in order that each message was
written immediately to non-volatile storage. This effectively means that
you'll be writing at least one block to the flash every time a message is
written, even if it's length is only a few bytes. Once in a while there'll be
a block write for a FAT update too.
On this basis, you'll be rquiring about 2.7 million block writes over the
device lifetime. On an Intel Strataflash for instance, you get 100,000 erase
cycles per erase units, of which there are 32 on a 32MB part in 8 bit
bus-mode (= 3.2 Million erase cycles for the entire device).
TFFS [1] will get slightly fewer than 256 blocks per erase unit. This is
perhaps 600Million block writes assuming TFFS is 75% efficient in recycling
erase units.
I'd say getting some emperical evidence would be the best idea here.
[1] If possible use a cluster size of 1 when formatting under dosFs.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: 28 Nov 2001 17:14:35 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u8zcqh7as.fsf@yahoo.com>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <Xns9167A01191938andreykhomecom@24.2.9.58>
Sender: bpringlemeir@DeadDuck
 >> "Martin Roth" <bmr006@email.mot.com> wrote in message
[snip]
 >>> Assuming that I want my system to operate 10-15 years, is it a
 >>> smart decision to use TFFS or any other flash disk software?  Do
 >>> you see any danger to the FLASH memory by using TFFS ?
 >> john_94501@yahoo.com (John) wrote
[snip]
 >> I believe that TFFS employs wear leveling code, so in theory at
 >> least, if you continually overwrite the file you should be able to
 >> work out the number of messages that will fit in the flash before
 Andray> As John correctly pointed out, TrueFFS employs wear levelling
 Andray> algorithms which spread 'write' and 'erase' operations evenly
 Andray> over the length of the entire flash array. To verify that
[snip]
 Andray> watch the above mentioned 'address' parameters. If they
 Andray> appear to be constantly changing and spread all over the
 Andray> flash array, they you shouldn't worry about wearing down the
 Andray> flash.
Several notes,
1) The effects of wear leveling will depend on the amount of free
   space.  If you have a lot of program code that occupies disk space,
   I don't believe that the TFFS wear leveling will move this `static
   file' to a `hot region' of flash.  So when you do the calculation,
   you must utilize the amount of free space on the disk.  At least
   this is my understanding; and I could definitely be wrong.
2) DosFs will constantly update the directory structure not just on a
   file write, but whenever an application does an "open, read, close"
   sequence.  This is mandated by Dos's "last accessed" field.  If you
   have the DosFs source, you can remove this.
3) A typical NOR flash has 100,000 to 1,000,000 cycles.  To calculate
   the duration you would need to multiply by the (free space/write
   size).  For example, a 2MB disk with 128k free space and 512 byte
   writes (minimum DosFs write size) give 25.6 million for the worst
   case.  This is 25.6/(60*60*24) = 296 days for a write of once a
   second[*].  For five minutes, this gives 243 years.
Generally for five minute writes, you don't even have to worry if you
have wear leveling or not.  Wear levelling will extend the life of the
system if you are in the <30 second range [assuming most products are
about 10 years].  However as Andray suggest, you would be wise to
instrument the flash write code to see what the _REAL WRITES_ are.
You might be surprised!
hth,
Bill Pringlemeir.
[*] increases to 4738 days (for a write per second) if TFFS does wear
    leveling which moves active blocks.
- --
ATTACKED BY DESTROYER. ENGAGING PLOT DEVICE. U-312.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: 28 Nov 2001 17:46:16 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uzo56fr9j.fsf@yahoo.com>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>
Sender: bpringlemeir@DeadDuck
>>>>> "molochai" == molochai  <molochai@vapour-trail.demon.co.uk> writes:
[snip]
 molochai> On this basis, you'll be rquiring about 2.7 million block
 molochai> writes over the device lifetime. On an Intel Strataflash
 molochai> for instance, you get 100,000 erase cycles per erase units,
 molochai> of which there are 32 on a 32MB part in 8 bit bus-mode (=
 molochai> 3.2 Million erase cycles for the entire device).
 molochai> TFFS [1] will get slightly fewer than 256 blocks per erase
 molochai> unit. This is perhaps 600Million block writes assuming TFFS
 molochai> is 75% efficient in recycling erase units.
I have instrumented the flash writes and the cluster size doesn't
matter.  One only has to see the effects of layering the software to
see why.
  App:Write(fd,"new test",8)
  DosFs: update sector 1 in cluster 534
  TFFS: re-write 512 bytes of flash.
Since DosFs already has the sector in the file mapping, the FAT is
only update when the file extends beyond the cluster size and a new
cluster has to be added to the file (and FAT updated).  TFFS maintains
a mapping of sectors to flash memory.  It may have to write to the
TFFS structures in the flash to note the active flash area for that
cluster.  I think that this deals with the flash in a better way so that
it
I am surprised that the 32MB StrataFlash has 1MB flash sectors!  Most
flash I have worked with is 32 or 64Kb.  The sector size may not
matter that much, _DEPENDING_ on the algorithm[*].  Unfortunately, it
says that TFFS implements wear leveling... just like vxWorks
implements memory allocation.  There are certainly better memory
allocation algorithms that what vxWorks uses.
[*] If you have a `static file' in a sector, then that static file
will continually be re-written unless the file is moved.  I think that
TFFS must move the files to prevent this type of fragmentation.
Whether it moves this `static data' around to wear level things is the
other question that I have.  Maybe Lenoid could answer this.  Maybe this
is what is meant by wear leveling?  How did you arrive at 75%?
Opps!  I am a dumb ass.  I looked at the TFFS user guide and it does
do this.  [Section 1.2.2 of TFFS user guide].  So I don't think that
this is an issue at all.  Most flash is greater than 2MB, divided by
512 gives about 2000 disk sectors.  With the low end 100,000 that is
about 24000 days at once a second, which is 63 years.  The maximum
possible time is a sector reprogram of about 1ms (6us byte write,
2second sector erase).  If all your code does is write flash, I think
DosFS would last about 24 days [assuming an infinite CPU speed ;-].
regards,
Bill Pringlemeir.
- --
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: IP address
Date: Wed, 28 Nov 2001 18:00:35 -0500
From: Chandwani <rexrc@ubbsrv3.ho.lucent.com>
Organization: Lucent Technologies
Message-ID: <3C056C93.B9D7340@ubbsrv3.ho.lucent.com>
References: <9u3j5t$1ov$1@newsreader.mailgate.org>
ifAddrGet()
It requires interface name and unit. The interface name must be known to u as it
is hardcoded in driver eg. motfcc0, motec0 etc. See the vxworks library docs
from windriver.
Rakesh
- ----
Tim Moeller wrote:
>
> Sorry, I know this is a dumb question, but I can't seem to find the answer
> in my documentation.
>
> How do you programmatically determine the IP address being used on the
> target processor?
>
> The IP address is entered and stored in NVRAM by the BOOT ROM setup on my
> board (Walnut PPC 405GP, if that makes a difference.)  Isn't there some
> kernel function that returns My IP Address?
>
> Be kind.  :-)
>
> Thanks,
>  -- Tim
---------------------------
Newsgroups: comp.os.vxworks
Subject: Is this Q so dumb that no one is answering
Date: Wed, 28 Nov 2001 18:03:35 -0500
From: Chandwani <rexrc@ubbsrv3.ho.lucent.com>
Organization: Lucent Technologies
Message-ID: <3C056D47.BA4D920A@ubbsrv3.ho.lucent.com>
> Hi all !
>
> I have a a couple of questions regarding the multiple ip address provisioning on
> same IP port in  vxworks IP stack.
>
> A port has a private class C IP address ( non broadcast ) provisioned on it. Now
> I go and add a public IP address on that port using function ifAddrAdd(). This
> works successfully.
>
> Question 1) If I do a ifAddrGet(), which IP address will I get of the two ?
> Question 2 ) If I want to change the public IP address on that port but maintain
> the private IP address, how do I achieve this ?
>
> Please help anyone.
>
> Thanks,
> Rakesh
( maybe no one knows the answer ;-). If I don't get it here, I will go and test
this on a single board computer and enlighten you folks )
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Wed, 28 Nov 2001 23:32:06 +0000
From: molochai <molochai@vapour-trail.demon.co.uk>
Message-ID: <4bb6bae04a%molochai@vapour-trail.demon.co.uk>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>
 <uzo56fr9j.fsf@yahoo.com>
In message <uzo56fr9j.fsf@yahoo.com>
          Bill Pringlemeir <bpringlemeir@yahoo.com> wrote:
> >>>>> "molochai" == molochai  <molochai@vapour-trail.demon.co.uk> writes:
> [snip]
>  molochai> On this basis, you'll be rquiring about 2.7 million block
>  molochai> writes over the device lifetime. On an Intel Strataflash
>  molochai> for instance, you get 100,000 erase cycles per erase units,
>  molochai> of which there are 32 on a 32MB part in 8 bit bus-mode (=
>  molochai> 3.2 Million erase cycles for the entire device).
>
>  molochai> TFFS [1] will get slightly fewer than 256 blocks per erase
>  molochai> unit. This is perhaps 600Million block writes assuming TFFS
>  molochai> is 75% efficient in recycling erase units.
>
> I have instrumented the flash writes and the cluster size doesn't
> matter.  One only has to see the effects of layering the software to
> see why.
>
>   App:Write(fd,"new test",8)
>
>   DosFs: update sector 1 in cluster 534
>
>   TFFS: re-write 512 bytes of flash.
when is the directory entry updated to reflect the new file size? Perhaps
dosFs2 is smart enough to perform smaller-than-cluster operations. I will
check.
>
> Since DosFs already has the sector in the file mapping, the FAT is
> only update when the file extends beyond the cluster size and a new
> cluster has to be added to the file (and FAT updated).  TFFS maintains
> a mapping of sectors to flash memory.  It may have to write to the
> TFFS structures in the flash to note the active flash area for that
> cluster.
Almost certainly. You can get this down to clearing a few bits though, and
one mapping value.
> I think that this deals with the flash in a better way so that
> it
>
> I am surprised that the 32MB StrataFlash
32MB ==  Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units are
still *huge* at 128Kb each.
> has 1MB flash sectors!  Most
> flash I have worked with is 32 or 64Kb.  The sector size may not
> matter that much, _DEPENDING_ on the algorithm[*].  Unfortunately, it
> says that TFFS implements wear leveling... just like vxWorks
> implements memory allocation.  There are certainly better memory
> allocation algorithms that what vxWorks uses.
It's a totally different type of problem to be honest. The allocation scheme
that dosFs2 uses is a much more pertinent issue.
>
> [*] If you have a `static file' in a sector, then that static file
> will continually be re-written unless the file is moved.  I think that
> TFFS must move the files to prevent this type of fragmentation.
Yes. That is precisely what it needs to do. When writing such a block
management layer (and I have) you find yourself having to do move blocks that
otherwise would be optimally positioned, otherwise you can very easily get
into a situation whereby two erase units ping-pong.
> Whether it moves this `static data' around to wear level things is the
> other question that I have.
See above. It has to. TFFS does however claim to only do approximate wear
levelling, and this may well curb the worst excesses.
> Maybe Lenoid could answer this.  Maybe this
> is what is meant by wear leveling?  How did you arrive at 75%?
>
> Opps!  I am a dumb ass.  I looked at the TFFS user guide and it does
> do this.  [Section 1.2.2 of TFFS user guide].  So I don't think that
> this is an issue at all.  Most flash is greater than 2MB, divided by
> 512 gives about 2000 disk sectors.  With the low end 100,000 that is
> about 24000 days at once a second, which is 63 years.  The maximum
> possible time is a sector reprogram of about 1ms (6us byte write,
> 2second sector erase).  If all your code does is write flash, I think
> DosFS would last about 24 days [assuming an infinite CPU speed ;-].
>
You're maybe misunderstanding the timings.  However, if the flash component
drivers are using taskDelay() in their delay loops, the performance is going
to suck, as some of the writes take considerably less than a kernel tick.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Faster stat function? *OR* The stat implementation? (In a C/C++ program.)
Date: 28 Nov 2001 15:40:22 -0800
From: vitopirelli@hotmail.com (Vito Pirelli)
Organization: http://groups.google.com/
Message-ID: <9220e2a6.0111281540.61cf3f0b@posting.google.com>
Hello,
I will need to determine the dates on thousands of files, the only way
of doing that that I can find is using the stat command. The problem
is that stat fills in a struct with a lot stuff that I don't need.
This grately slows down my program.
For this reason I'm looking for a better way or reading the date of
the file or the implemenation of the stat command so that I can remove
the code that doesn't pertain to the retrival of the date from the
file.
Thanks in advance,
VP.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.1 PowerPc
Date: 28 Nov 2001 16:11:36 -0800
From: Robert Gove <Robert_member@newsguy.com>
Organization: Newsguy News Service [http://newsguy.com]
Message-ID: <9u3ufo021ea@drn.newsguy.com>
References: <9s5ua8$o3p$1@rex.ip-plus.net>
I believe Tornado 2.1 is available now for AltiVec (74xx) and
750 based PowerPC processors.  I'd talk to your local WRS rep.
- -- Robert Gove
In article <9s5ua8$o3p$1@rex.ip-plus.net>, "Serge says...
>
>Did somebody has a time frame for Tornado 2.1 PowerPc?
>
>Serge Wenger
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: how to delelte a IP address added by ifAddrAdd()
Date: 28 Nov 2001 16:48:13 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111281648.5655ff24@posting.google.com>
hi all
   I have added a new IP address to a ethernet interface.But now I
want to remove it.But I didn't find the *remove* or *delete* function
to be this function.Is there any other way to delete the IP address
without affectiong other ethernet interface.
  thanks
   kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Changing MAC address?
Date: 28 Nov 2001 19:30:44 -0800
From: umeshs@myw.ltindia.com (Umesh Satyanarayana)
Organization: http://groups.google.com/
Message-ID: <b6df7130.0111281930.5ab018e1@posting.google.com>
MAC address is unique to each ethernet card. Is it advisable to change
the MAC address? I have an application which calls for dynamically
changing the MAC address? I would like to know repercussions of doing
so?
if not why?
Umesh
---------------------------
Newsgroups: comp.os.vxworks
Subject: Fw: VxSim license.dat file
Date: Thu, 29 Nov 2001 11:38:42 +0800
From: "zhaoyandong" <zhaoyandong@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9u4aog$peh$1@mail.cn99.com>
References: <uBUM7.3032$FR5.46605413@radon.golden.net> <9u1fmv$4iv$1@mail.cn99.com>
I just forwarded another question of pedja.
Thank you for the suggestion.
But now I have a problem with my virtual WindRiver ULIP NIC. It was
installed fine, but nobody from the list in target server configuration
cannot talk with the "card". I tried changing IP address but did not help.
Please try to give me a direction what to do.
Thanks, again
Predrag
Thanks everybody
"zhaoyandong" <zhaoyandong@163.net> wrote in message
news:9u1fmv$4iv$1@mail.cn99.com...
>
> "pedja" <grkovic@golden.net> wrote in message
> news:uBUM7.3032$FR5.46605413@radon.golden.net...
> > Please help. I installed Tornado2 under win2000, and I don't have a
> > license.dat file under .wind directory. When I try to configure and
launch
> > target server gives me an error:
> >
> > tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001
> >     Checking License ...FAILED
> > Cannot get a valid license.
> > Failed to receive a Target Server license.
> > Either your network or license server is down or your LM_LICENSE_FILE
> > variable is not set to a valid license server.
> >
> > Cannot find license file
> >  The license files (or server network addresses) attempted are
> >  listed below.  Use LM_LICENSE_FILE to use a different license file,
> >  or contact your software provider for a license file.
> > Feature:       tornado
> > Filename:      F:/Tornado\.wind\license
> > License path:  F:/Tornado\.wind\license
> > FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
> > For further information, refer to the FLEXlm End User Manual,
> > available at "www.globetrotter.com".
> >
> >
> > Target Server will exit
> >
> > Where should I look to obtain this file?
> > Thanks everybody.
> >
> > Predrag
> >
> >
>
>
> Hi, I encounted the same problem before. Now I've solved it.
> You can go to www.wrs.com and request a license key according to the
> instructions. Now it's ok.
>
> zhaoyandong
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: A stupid quetion. But I don't understand.
Date: Thu, 29 Nov 2001 12:13:15 +0800
From: "Howchin" <Eigen@ms1.url.com.tw>
Organization: SEEDNet News Service
Message-ID: <9u4cg3$l10$1@news.seed.net.tw>
This is the main function.
I key a or A to test function.
 #include "stdioLib.h"
 #include "ioLib.h"
        void usrAppInit (void)
        {
                char input_command[20];
                char *line=input_command;
                int com1;
                int i=0,j=0;
                com1 = open("/tyCo/0",2,0);
                (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL); printf
("\n");
                while(1)
                {
                 printf ("C:\\>");
                 read(com1,input_command,20);
                 line=input_command;
                 while(*line==' ')printf("%2.2X \n",*(line++));
                 switch (*(line))
                 {
                  case 'H':
                  case 'h':Print_Help();
                  break;
                  case 'D':
                  case 'd':Display_Memory(++line);
                  break;
                  case 0x0a:
                  case 0x00:
                  break;
                  default:printf("Bad command or file name.\nType 'H' for
help.\n");
                  break;
                  case 'A':
                  case 'a':
                  i++;j+=2;
                  printfr("i=%d,j=%d\n",i,j);
                  break;
                 }/*switch (input_command)*/
                }/*while(1)*/
        }
This is a simple function call.
I want to print error message with color.
 #include  "ioLib.h"
 #include "ansi.h"
 #include "stdarg.h"
 #define  ANSI_RED "1;31m"
 #define  ANSI_GREEN "1;32m"
 #define  ANSI_YELLOW "1;33m"
 #define  ANSI_BLUE "1;5;34m"
 #define  ANSI_PURPLE "1;5;35m"
 #define  ANSI_WATER "1;5;36m"
 #define  ANSI_DEFAULT "0m"
 #define  ansi(i) printf("\x1b[%s",(i));
        void printfr(const char *format, ...)
        {
                va_list ap;
                ansi(ANSI_RED);
                va_start(ap,format);
                vprintf(format,ap);
                va_end(ap);
                ansi(ANSI_DEFAULT);
        }
This is the question.
Why
 #include "stdarg.h"
 #include  "ioLib.h"
will cause function unexpectedly.
And
 #include  "ioLib.h"
 #include "stdarg.h"
will work correctly.
What does  #include "ioLib.h"  do?
Thank you very much ^_^..
---------------------------
Newsgroups: comp.os.vxworks
Subject: license data file problems?
Date: Thu, 29 Nov 2001 04:34:59 GMT
From: "tiejunyang" <tiejunyang@rogers.com>
Message-ID: <TViN7.12761$12d.8871@news2.bloor.is>
I install prototyper plus  on Windows98 . According to "Tornado Prototyper
Getting Started Guide 2.0.", "3.6    Download the Project to the VxWorks
Target Simulator", I  do gizmo File ->download 'gizmo.out' -> ......, then
generate the following problems:
Log Console
License path:  C:/TORNADO\.wind\license
FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
For further information, refer to the FLEXlm End User Manual,
available at "http://www.globetrotter.com.
Target Server will exit
Do you know what is the problems?
Thanks
---------------------------
Newsgroups: comp.os.vxworks
Subject: The same prob " VxSim license.dat file"
Date: Thu, 29 Nov 2001 04:37:46 GMT
From: "tiejunyang" <tiejunyang@rogers.com>
Message-ID: <uYiN7.12765$12d.375@news2.bloor.is>
References: <uBUM7.3032$FR5.46605413@radon.golden.net>
pedja <grkovic@golden.net> wrote in message
news:uBUM7.3032$FR5.46605413@radon.golden.net...
> Please help. I installed Tornado2 under win2000, and I don't have a
> license.dat file under .wind directory. When I try to configure and launch
> target server gives me an error:
>
> tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001
>     Checking License ...FAILED
> Cannot get a valid license.
> Failed to receive a Target Server license.
> Either your network or license server is down or your LM_LICENSE_FILE
> variable is not set to a valid license server.
>
> Cannot find license file
>  The license files (or server network addresses) attempted are
>  listed below.  Use LM_LICENSE_FILE to use a different license file,
>  or contact your software provider for a license file.
> Feature:       tornado
> Filename:      F:/Tornado\.wind\license
> License path:  F:/Tornado\.wind\license
> FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
> For further information, refer to the FLEXlm End User Manual,
> available at "www.globetrotter.com".
>
>
> Target Server will exit
>
> Where should I look to obtain this file?
> Thanks everybody.
>
> Predrag
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Wed, 28 Nov 2001 20:45:06 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9u4fpj$lbe$1@newstest.laserlink.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il>
Hello Ofer,
    From everything I see, the etherInputHookRtn is checked for
(etherInputHookRtn == NULL)
which is what is was initialized to before the etherInputHookAdd() call was
performed. HTH.
"Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:newscache$2npgng$loc$1@lnews.actcom.co.il...
> Hi.
> I would like to change the definition of TRUE from 1 to -1. I was wonder
if
> somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE),
or
> does it check if (hookRtn result != FALSE) to see if the packet should go
> back to the OS or should be discarded.
> You see, if it checks for (== TRUE), I need to "convert" my definition of
> TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to
do.
>
> Does anybody has the code, and could tell me?
>
> Thanks,
>
> Ofer.
>
> P.S.
> Please don't ask me "what do you need it for, just stick with the old
TRUE",
> since basicly, it's not my decision...;)
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Meet the same prob as "VxSim license.dat file " on Windows98
Date: Thu, 29 Nov 2001 04:54:40 GMT
From: "tiejunyang" <tiejunyang@rogers.com>
Message-ID: <kcjN7.12535$2Fd.3660@news1.bloor.is>
References: <uBUM7.3032$FR5.46605413@radon.golden.net>
pedja <grkovic@golden.net> wrote in message
news:uBUM7.3032$FR5.46605413@radon.golden.net...
> Please help. I installed Tornado2 under win2000, and I don't have a
> license.dat file under .wind directory. When I try to configure and launch
> target server gives me an error:
>
> tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001
>     Checking License ...FAILED
> Cannot get a valid license.
> Failed to receive a Target Server license.
> Either your network or license server is down or your LM_LICENSE_FILE
> variable is not set to a valid license server.
>
> Cannot find license file
>  The license files (or server network addresses) attempted are
>  listed below.  Use LM_LICENSE_FILE to use a different license file,
>  or contact your software provider for a license file.
> Feature:       tornado
> Filename:      F:/Tornado\.wind\license
> License path:  F:/Tornado\.wind\license
> FLEXlm error:  -1,359.  System Error: 2 "No such file or directory"
> For further information, refer to the FLEXlm End User Manual,
> available at "www.globetrotter.com".
>
>
> Target Server will exit
>
> Where should I look to obtain this file?
> Thanks everybody.
>
> Predrag
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: DHCP not getting DNS or gateway
Date: Wed, 28 Nov 2001 21:13:02 -0800
From: "drdiags" <drdiags@covad.net>
Organization: laserlink.net
Message-ID: <9u4hdv$qus$1@newstest.laserlink.net>
References: <95ebbe31.0111280725.53fda93b@posting.google.com>
Hello Aaron,
   For vxWorks 5.4/Tornado 2.0, the following worked for me.
 if (dhcpcOptionSet(pCookie, _DHCP_DNS_SERVER_TAG, 0, 0, NULL) == ERROR)
     logMsg("Set DHCP_DNS_SERVER_TAG failed. %x \n", errno,0,0,0,0,0);
I have a simple DHCP Client example which I can send you if you want. Maybe
I will send
it to Johan to see if it has merit.
"Aaron Graham" <agraham@openglobe.net> wrote in message
news:95ebbe31.0111280725.53fda93b@posting.google.com...
> I've seen this same question asked on comp.os.vxworks several times,
> but it never has a follow up.  I need to know if anyone has found a
> solution to this problem:
>
> When I perform a DHCP bind, I get a valid IP address, subnet mask, and
> it even returns the IP address of the DHCP server in the
> dhcp_param.s_addr field.  However, it refuses to get a DNS server or a
> gateway.  If I zero those fields out before I do a request, they're
> still zero after the request.  Here's the code:
> struct dhcp_param params;
> // Need to zero out ALL values, as stated in the dhcpcParamsGet()
> // documentation in the reference manual.
> memset(&params, 0, sizeof(struct dhcp_param));
>
> // Provide non-NULL pointers for fields of interest, as stated
> // in the dhcpcParamsGet() documentation in the reference manual.
> struct in_addrs dns_server_addrs;
> struct in_addr dns_addr[2];
> params.dns_server = &dns_server_addrs;
> dns_server_addrs.num = 2;
> dns_server_addrs.addr = dns_addr;
> params.dns_server->addr[0].s_addr = 0;
> params.dns_server->addr[1].s_addr = 0;
>
> struct in_addr subnet_mask;
> params.subnet_mask = &subnet_mask;
>
> if (dhcpcParamsGet(m_cookieHandle, &params) == ERROR)
> {
> printf("Couldn't get dhcp params\n");
> return -1;
> }
>
> // Print parameter values...
>
> Believe it or not, it doesn't return a gateway address or a DNS server
> address, but everything else I need comes back from the DHCP server.
>
> If anyone has found a solution to this yet, please let me know.
>
> Aaron
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: WindView task are listed several times
Date: Thu, 29 Nov 2001 15:41:35 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C05C387.3D2ECCE0@dsto.defence.gov.au>
References: <3c04c3e4.75294057@news.eunet.no>
This is a known problem if you're using post mortem mode, and the buffer
is uploaded before it has filled and started cycling. The 'workaround'
we were told from WRS is to right click on every second item and hide
it.
Tim
BT wrote:
> When I use WindView I get the same task listed more than once in the
> WindView View.It is not the same task's are listed twice each time I
> start WV. It is both VxWorks task's as tShell and my own task's.
> These double listed task's have both the same task name and task ID.
>
> Anyone seen this and can explain it?
>
> BT
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 08:48:14 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c05e7fd$0$225$4d4ebb8e@oce.news.eu.uu.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com>
"David Laight" <David.Laight@btinternet.com> wrote in message
news:9u2qjq$smr$1@plutonium.btinternet.com...
>
> > >I would like to change the definition of TRUE from 1 to -1
> >
> >   NO.  Don't do that.
>
> Agreed...
>
> Actually you would be better off removing  'TRUE' and 'FALSE' (and 'OK',
>  'ERROR' and 'NULL') from the entire source tree!
>
> The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all
> they do is obfuscate bits of the language and force people to scan header
> files for definitions.
Yup, I'd suggest not to use structs, typedef's, defines, functions, etc ...
hey wait maybe we shouldn't be using any header files at all ;-)
Any clue of the meaning of 'abstraction' or 'encapsulation' ?
Manuel
>
>     David
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 09:17:53 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il>
Prepare to say 'I told you so' :-)
The C language does not require an implementation to provide a define for
'FALSE'. What IS defined is the result of conditional expressions. The only
useful definition of TRUE and FALSE is one that matches the results of
conditional expression. In the most portable form this is:
    #define FALSE (1==0)
    #define TRUE  (1==1)
You suggest that in conditional expression involving booleans, one should
always explicitly compare with FALSE only, not TRUE.
If I have a boolean, say b, I can simply say ' if (b) {} else {} '.
It makes no sense to explicitly compare with TRUE or FALSE; the 'if'
expects a truth value and b already IS a truth value.
Two final questions:
If you expect that VxWorks doesn't care about the actual values of TRUE
or FALSE, why does your software?
If someone instructs you to jump off a plane without a parachute, would
you do so? (And yes, the plane IS flying at 2km height of course.)
Regards,
Manuel
"Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:newscache$kjming$8gf$1@lnews.actcom.co.il...
> well, as I said, this is not up to me. The fact is that I HAVE to change
> TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all
other
> are compiler dependent. I truly hope that the developers of vxWorks know
> this (and compare boolean expressions with FALSE), or I will have to tell
> someone "I told you so".... ;)
>
>
>
> --
> Ofer Goren
> Iamba Technologies
> "David Laight" <David.Laight@btinternet.com> wrote in message
> news:9u2qjq$smr$1@plutonium.btinternet.com...
> >
> > > >I would like to change the definition of TRUE from 1 to -1
> > >
> > >   NO.  Don't do that.
> >
> > Agreed...
> >
> > Actually you would be better off removing  'TRUE' and 'FALSE' (and 'OK',
> >  'ERROR' and 'NULL') from the entire source tree!
> >
> > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all
> > they do is obfuscate bits of the language and force people to scan
header
> > files for definitions.
> >
> >     David
> >
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 10:18:17 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$l80kng$sih$1@lnews.actcom.co.il>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <GnJ3s0.5MJ@approve.se>
see my answer embedded
"Goran Larsson" <hoh@invalid.invalid> wrote in message
news:<GnJ3s0.5MJ@approve.se>...
> In article <newscache$kjming$8gf$1@lnews.actcom.co.il>,
> Ofer Goren <ofer_goren@iamba.com> wrote:
>
> > well, as I said, this is not up to me. The fact is that I HAVE to change
> > TRUE to -1.
>
> You have said so a couple of times, but you still haven't explained why.
Well, yes, my Boss told me so. And he has some points on making it so:
1. When you look @ the memory, you will see 0xffffffff for -1. So when
dumping a memory, it is real clear when looking at TRUE as -1, and FALSE as
all zeros.
2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1)
value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000),
while when dealing with TRUE as 1, both will have different results (~1 =
0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and
logical 'not' should give the same result.
3. As you said: "Any operation receiving a boolean value should accept any
non-zero value of type int as a true value.". So, it can get -1, 7, or
0x456fed as a non-false result. And yes, I do claim that the ture's value is
compiler and architecture dependent.
4. He also qoute some kinf of a rule, that you should never ever ever
compare boolean expressions to nothing but FALSE. You shouldn't use TRUE
values, only as a return values or such. So there....
5. he will fire me if I wont do it.... he he he. And you know the status of
the hi-tech industry today..... and I have a kid to raise, and a wife to
support.......:(( :((
...
> What are you trying to say here? Are you saying that the true value is
> compiler dependent in C?
>
> > I truly hope that the developers of vxWorks know
> > this (and compare boolean expressions with FALSE), or I will have to
tell
> > someone "I told you so".... ;)
>
> If you redefine TRUE to be -1 we will have to tell you "We told you so".
Hey, I'm with you here guys. I will be really glad to tell him "I told you
so" after strange things will happened, and we won't be able to understand
why until we will get real into assembler. I will be gloating as hell....;-)
>
> --
> Gran Larsson hoh AT approve DOT se
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Changing MAC address?
Date: 29 Nov 2001 00:20:59 -0800
From: haisada@yahoo.com (peram)
Organization: http://groups.google.com/
Message-ID: <1ec48eae.0111290020.1c0cb039@posting.google.com>
References: <b6df7130.0111281930.5ab018e1@posting.google.com>
The repercussions depends on your network configuration and what your
application is trying to do.
In a typical network configuration this problem is resolved.When you
change the MAC address of your station all other stations in the
network will not have instant knowledge of it unless the application
sends an ARP broadcast message.But usually this is solved when ARP
tables are refreshed.
It can also have effect on your IP address depending on how your DHCP
server is configured.
umeshs@myw.ltindia.com (Umesh Satyanarayana) wrote in message news:<b6df7130.0111281930.5ab018e1@posting.google.com>...
> MAC address is unique to each ethernet card. Is it advisable to change
> the MAC address? I have an application which calls for dynamically
> changing the MAC address? I would like to know repercussions of doing
> so?
> if not why?
>
> Umesh
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: What happen ? anybody understand?
Date: Thu, 29 Nov 2001 09:25:20 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c05f0af$0$224$4d4ebb8e@oce.news.eu.uu.net>
References: <9u1kpa$af1$1@news.seed.net.tw>
Another hint:
There is a potential problem that will result in a page fault if you have
more than 30 tasks in your system. The 'maxid=sizeof(idlist)' returns you
the size of the array -- in bytes!!
If you change this to: 'maxid = sizeof(idlist)/sizeof(idlist[0])', the
problem is solved. Or even better use a #define:
#define arraylength(a)  (sizeof(a)/sizeof((a)[0]))
Regards,
Manuel
"v" <Eigen@ms1.url.com.tw> wrote in message
news:9u1kpa$af1$1@news.seed.net.tw...
> I use taskIdListGet() and taskShow() to display all tasks.
>
> This is the function contents:
>         int Display_Task()
>         {
>                 int idlist[30];
>                 int maxid,currentid,i;
>
>                 maxid=sizeof(idlist);
>                 currentid=taskIdListGet(idlist,maxid);
>                 taskShow(0,2);
>                 printf("total %d tasks \n",currentid);
>                 return currentid;
>       }
>
> I use two way to call this function.
> first direct call :Display_Task();
> second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0);
>
>
>         void usrAppInit (void)
>         {
>                 char    input_command[20];
>                 char    *line=input_command;
>                 int     com1;
>                 int     i;
>
>                 com1 = open("/tyCo/0",2,0);
>                 (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL);
> printf ("\n");
>
>                 taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0);
>
>                 while(1)
>                 {
>                         printf ("C:\\>");
>                         read(com1,input_command,20);
>                         line=input_command;
>                         while(*line==' ')printf("%2.2X \n",*(line++));
>                         switch (*(line))
>                         {
>                            case 'P':
>                                 case 'p':Display_Task();
>                                 break;
>                         }/*switch (input_command)*/
>                 }/*while(1)*/
>         }
>         void Display_Task_D()
>         {
>                 while(1)
>                 {
>                         taskDelay(180);
>                         Display_Task();
>                 }
>         }
>
>
> This is the result.
>
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- -------
- --
> ---
> tRootTask  10d6c0        1fffdf8   0 READY        1aeb74  1fffcc0  3d0001
> 0
> tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
> 0
> tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
> 0
> tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
> 0
> tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
> 0
> gLighting  109d98        1fb29c0  99 READY        1ae104  1fb2930       0
> 0
> total 6 tasks
>
>
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- -------
- --
> ---
> tRootTask  10d6c0        1fffdf8   0 PEND         1a9ca8  1fffcc0  3d0001
> 0
> tExcTask   18bf94        1ffa1e0   0 PEND         1d0598  1ffa0f0       0
> 0
> tLogTask   19224c        1ff7858   0 PEND         1d0598  1ff7778       0
> 0
> tWdbTask   1a0be0        1fb5840   3 PEND         1a9ca8  1fb5678       0
> 0
> tNetTask   185a14        1fb9910  50 PEND         1a9ca8  1fb9850       0
> 0
> ??      109d98        1fb2fd8  99 READY        1aeb74  1fb2f48       0
0
> total 6 tasks
> ~~~~~~~~~~~~~~ here is question
>
> Why I use taskSpawn() to call Display_Task() and the function name will
> disappear ?
>
> Then even I directly call Display_Task() ,the name still disappear.
>
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Need information on Zinc configuration
Date: 29 Nov 2001 00:25:29 -0800
From: manibala@covansys.com (B.Manivannan)
Organization: http://groups.google.com/
Message-ID: <23de5426.0111290025.421c3a95@posting.google.com>
References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> <m2r8qks2xv.fsf@sympatico.ca>
HI,
Please try to post ONLY the queries and answers.
Thanks Mr.John for your reference.
With Thanks and Regards,
B.Manivannan.
"Bill Pringlemeir" bpringlemeir@yahoo.com wrote in message news:<m2r8qks2xv.fsf@sympatico.ca>...
> >>>>> "BM" == BALASUBRAMANIAN Manivannan <manibala@COVANSYS.COM> writes:
>
>  BM> Hi, I got your email ID in VxWorks group. I am trying to
>  BM> configure Zinc 6.0 in my Simulator. Enclosed is the document
>  BM> which describes the problem in detail.
>
>  BM> 	Please suggest me suitable solution as I am stucked with
>  BM> WindML configuration.  <<Zinc Config for Simulator.doc>>
>  BM> Awaiting.
>
> Hello Mani and Kundesh,
>
> I am not an employee of WRS (Wind River System).  I am just a user of
> vxWorks, Zinc and WindML.  I would only help you out of the kindness
> of my heart.  However, your request is big.  It would take a lot of my
> time and I would get nothing.  Just to read your document, I had to
> run a hex editor as I would be foolish to read unknown Word documents;
> They could be full of viruses or trojan programs.  I don't use a virus
> scanner as it only finds older viruses.  I am very busy now because of
> business and personal demands.
>
> If I answered your question on comp.os.vxworks, at least there would
> be a public archive of the message [something like you found].  This
> lets people using vxWorks find useful information.  Also, you will
> reach a larger set of people than just myself.  You should also
> contact your WRS FAE (field application engineer).  We have done what
> you ask, from my current understanding, and have resolved several
> problems that were logged as SPRs/TSRs.  I have posted your question
> to comp.os.vxworks [but NOT your Word document].  If you make your
> problem more specific, you might get better answers by posting there.
>
> Here is the vxWorks FAQ, "www.xs4all.nl/~borkhuis/vxworks/vxworks.html".
>
> Please refrain from sending any further unsolicited emails to my email
> address, ESPECIALLY BINARY FILES!
>
> regards,
> Bill Pringlemeir.
>
> [I get a request like this about once per month.  Does anyone else on
> `c.o.v'?  What is the best way to deal with it?  I guess having an
> mangled email would prevent it.  People asking me to do their work for
> them, p!?ses me off.  I would really like it if WRS didn't include
> email addresses in there WindSurf search engine.]
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 09:26:52 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3C05F14C.A5884FA5@sepro-robotique.com>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com>
David Laight wrote:
> Actually you would be better off removing  'TRUE' and 'FALSE' (and 'OK',
>  'ERROR' and 'NULL') from the entire source tree!
>
> The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all
Hi,
I don't agree with you : a function (without source code, ie : most part
of VxWorks) which returns OK or ERROR is much more user friendly (and much
less confusing) than a function which returns 0 or 1.
What does it mean "0 or 1" ?
Is "0" for "job done" ?
Or "0" for "nothing done" ?
An other example : I use to write
#ifdef DEBUG
...debug code...
#endif
But someone else in the staff like to write :
#ifndef NODEBUG
...debug code...
#endif
It works the same, but in a very different way of thinking.
And no, "FOREVER" is not in the same category as "TRUE" and "FALSE".
FOREVER and FUNCPTR are really stupid define because there is only
one way to do FOREVER (for(;;) or while(1)) and FUNCPTR (void*).
No need to use "define" to avoid confusion in those cases.
Regards
Emmanuel
- --
Que vous soyez paranoiaque ne signifie pas qu'ils n'en aient pas aprs vous...
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 10:30:22 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$us0kng$ojh$1@lnews.actcom.co.il>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net>
answer embedded:
- --
Ofer Goren
Iamba Technologies
"Manuel van den Berg" <qmvb@oce.nl> wrote in message
news:3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net...
> Prepare to say 'I told you so' :-)
>
> The C language does not require an implementation to provide a define for
> 'FALSE'. What IS defined is the result of conditional expressions. The
only
> useful definition of TRUE and FALSE is one that matches the results of
> conditional expression. In the most portable form this is:
>     #define FALSE (1==0)
>     #define TRUE  (1==1)
>
> You suggest that in conditional expression involving booleans, one should
> always explicitly compare with FALSE only, not TRUE.
> If I have a boolean, say b, I can simply say ' if (b) {} else {} '.
> It makes no sense to explicitly compare with TRUE or FALSE; the 'if'
> expects a truth value and b already IS a truth value.
Sorry, but from point of "code-reading convineint" I disagree. The case of
TRUE and FALSE are maybe easy, but what if you have a definition of FINE as
1, and a version later you wish to changed it to 0 (I've seen this
happened). The easiest and more understanable way to do this is specificly
write "if (a == FINE)", and not to expect the code reviewer/reader to
understand. And it is much easier to change the value of "FINE" to something
else in a later revisions.
>
> Two final questions:
>
> If you expect that VxWorks doesn't care about the actual values of TRUE
> or FALSE, why does your software?
I don't. All I want to make sure is that the vxWorks code uses FALSE as
comparison and not "TRUE". So, I wish it was like "if (*hookRtnRetVal !=
FALSE){do something}" and not "if (*hookRtnRetVal == TRUE) {do something}",
since as I said, the only real constant in C, is zero for FALSE expression.
>
> If someone instructs you to jump off a plane without a parachute, would
> you do so? (And yes, the plane IS flying at 2km height of course.)
Hey, don't get into personal issues here. It's nothing like that. If you
jump off a plnae, you won't have the ability to tell the one who pushed you
"I told you so". However, in this case, after long nights of debugging, I
WILL have the ability.....:)
>
> Regards,
>
> Manuel
>
>
> "Ofer Goren" <ofer_goren@iamba.com> wrote in message
> news:newscache$kjming$8gf$1@lnews.actcom.co.il...
> > well, as I said, this is not up to me. The fact is that I HAVE to change
> > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all
> other
> > are compiler dependent. I truly hope that the developers of vxWorks know
> > this (and compare boolean expressions with FALSE), or I will have to
tell
> > someone "I told you so".... ;)
> >
> >
> >
> > --
> > Ofer Goren
> > Iamba Technologies
> > "David Laight" <David.Laight@btinternet.com> wrote in message
> > news:9u2qjq$smr$1@plutonium.btinternet.com...
> > >
> > > > >I would like to change the definition of TRUE from 1 to -1
> > > >
> > > >   NO.  Don't do that.
> > >
> > > Agreed...
> > >
> > > Actually you would be better off removing  'TRUE' and 'FALSE' (and
'OK',
> > >  'ERROR' and 'NULL') from the entire source tree!
> > >
> > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR',
all
> > > they do is obfuscate bits of the language and force people to scan
> header
> > > files for definitions.
> > >
> > >     David
> > >
> > >
> >
> >
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
Date: Thu, 29 Nov 2001 09:35:42 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c05f31b$0$228$4d4ebb8e@oce.news.eu.uu.net>
References: <52e25f45.0111281315.4a70be66@posting.google.com>
Are you sure there are no characters after the '\'?
I noticed that the gnu compiler has difficulties compiling files that
contain both '\n' terminated and '\r\n' terminated lines.
HTH
Manuel
"Vittal Krishnamurthy" <vittalk@ieee.org> wrote in message
news:52e25f45.0111281315.4a70be66@posting.google.com...
> Hi VxWorks gurus,
> I have recently built cross
>
> I have a small problem with the 2.95.3 GCC cross compiler that I built
> for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc
> does not like line continuation char "\". It complains of parse
> errors. Did I do anything wrong with my cross compilation. Do u have a
> solution other removing the '\' and joining lines??? Is there some
> switch I need to enable during cross compiler building ???
> Pls Help
>
> thanks
> -Vittal
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Faster stat function? *OR* The stat implementation? (In a C/C++ program.)
Date: Thu, 29 Nov 2001 10:58:04 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$642kng$5nh$1@lnews.actcom.co.il>
References: <9220e2a6.0111281540.61cf3f0b@posting.google.com>
I doubt there can be any other way of determining a file's
modification (or creation and access) date and time
other then using fstat() or stat() functions.
These functions could be a little slow,
but this is not because much processing is needed,
but because these functions need to access the hard
disk to get the required information. In other words,
to stat() a file takes tens of milliseconds, much like
opening a file.
HTH,
 - Leonid
"Vito Pirelli" <vitopirelli@hotmail.com> wrote in message
news:9220e2a6.0111281540.61cf3f0b@posting.google.com...
> Hello,
>
> I will need to determine the dates on thousands of files, the only way
> of doing that that I can find is using the stat command. The problem
> is that stat fills in a struct with a lot stuff that I don't need.
> This grately slows down my program.
>
>
> For this reason I'm looking for a better way or reading the date of
> the file or the implemenation of the stat command so that I can remove
> the code that doesn't pertain to the retrival of the date from the
> file.
>
> Thanks in advance,
> VP.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Thu, 29 Nov 2001 11:20:05 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$w43kng$ioh$1@lnews.actcom.co.il>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>  <uzo56fr9j.fsf@yahoo.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk>
"molochai" <molochai@vapour-trail.demon.co.uk> wrote in message
news:4bb6bae04a%molochai@vapour-trail.demon.co.uk...
[snip]
> >   TFFS: re-write 512 bytes of flash.
>
> when is the directory entry updated to reflect the new file size? Perhaps
> dosFs2 is smart enough to perform smaller-than-cluster operations. I will
> check.
>
DosFs2 will allocate space in "cluster" or "Cluster groups" (see "Nearly
Contigous allocation")
but the I/O is done in sectors. Actually dosFs itself does I/O in bytes, but
when that boils
down to a Block driver, then the I/O is allways done at sector level,
because that is
the basic I/O unit of a block device. right?
[snip]
> > has 1MB flash sectors!  Most
> > flash I have worked with is 32 or 64Kb.  The sector size may not
> > matter that much, _DEPENDING_ on the algorithm[*].  Unfortunately, it
> > says that TFFS implements wear leveling... just like vxWorks
> > implements memory allocation.  There are certainly better memory
> > allocation algorithms that what vxWorks uses.
>
> It's a totally different type of problem to be honest. The allocation
scheme
> that dosFs2 uses is a much more pertinent issue.
>
Please do not confuse between DosFs2 space allocation and TFFS, which does
its
own space allocation - it can put a logical sector anywhere in the Flash, so
it
can do wear leveling. Where does a certain logical sector get placed is
TFFS's
own allocation scheme.
[snip]
Bill, I really dont remember much about TFFS, so I am not sure if I can help
much here.
I can say however that in FlashLib we did move "static" files around so that
each erase
block "erase counter" would not deviate from the average erase count by more
then 10
erase cycles.
Moving "static" data around does not only extend the life of the Flash in
terms of erase
cycles - it also makes rue that all data remains usable. Remember, the way
Flash (like EPROM)
keep a bit's value is by locking a charged cell in a layer of isolators.
There are current leaks
and external radiation which can (and do) cause these charges to gradually
weaken in time.
In othwe words, if you program a Flash and just keep it in a drawer, after a
couple of years
(or months if you are close to some kind of nuke)  some of dta data will
become corrupt.
So to avoid loosing data files to leak currents and particles, we had the
static files move
around the Flash, whenever there was some write activity, keep erase count
even, and refresh
old data just in case it will be used again.
Being on the subject, I actually know a compnay which had a similar "weak
bits" problem
causing loss of static files on a magnetic disk. They made a digital image
recording machine
for X-Ray rooms (much ambient radiation), so after a few years, the software
image would become
unreadbale, because it was not refreshed and the magnetic field had
gradually degraded.
Martin, I strongly recommend you sacrifice one board and to the end-of-life
test that John has recommended.
- - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: Need to develop small dialog based GUI
Date: 29 Nov 2001 01:21:43 -0800
From: manibala@covansys.com (B.Manivannan)
Organization: http://groups.google.com/
Message-ID: <23de5426.0111290121.594902cf@posting.google.com>
Good Day To Every one,
I need to develop the small GUI in Tornado IDE under VxWorks through
Zinc 6.0.(Initially it is for Simulator, SIMNT)
I downloaded the setup file and WindML 2.0, Zinc 6.0 Graphics library
from the following URL:
http://www.wrs.com/csdocs/partner/download/protowindml/. Even it was
not giving WindML and Zinc menu under Tools in Tornado IDE. After one
of our friend's suggestion, i installed Cumulative patch files from
www.wrs.com. Then Tornado IDE gave Tools->WindML and Tools->Zinc. I
was happy and ready to configure WindML and Zinc.
I got error while configure the WindML. The Error was "No targets
specifies and No make file found". After setting the following path in
System environment,
set WIND_BASE=N:\Tornado2
set WIND_HOST_TYPE=x86-win32
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
WindML builds successfully. But still the error occurs for Zinc. The
Zinc error is "No rule to Make target,'configToolAppLibsClean'.stop"
coming. How can i configure the zinc 6.0 successfully????
Once i design the GUI in Zinc Designer and generated the code. The
Zinc designer generates the .cpp, .hpp, .inc files..i included .cpp
file to the Tornado workspace. It automatically includes the .inc,
.hpp files in the external library.Then i started compiling.
If i create a downloadable application, it gives compiles successfully
and gives download error while downloading to simulator.(Note: I have
not set any path for the target server).
If i create bootable image application, it gives compilation error.
Can any one of you guide this problem?????
With Thanks and Regards,
B.Manivannan.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 10:26:56 +0100
From: patrick@hotmail.com
Organization: Siemens Inc.
Message-ID: <Pine.LNX.4.21.0111291017200.1139-100000@ulmlx023.egnetz>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> <newscache$us0kng$ojh$1@lnews.actcom.co.il>
Reply-To: patrick@hotmail.com
On Thu, 29 Nov 2001, Ofer Goren wrote:
> Sorry, but from point of "code-reading convineint" I disagree. The case of
> TRUE and FALSE are maybe easy, but what if you have a definition of FINE as
> 1, and a version later you wish to changed it to 0 (I've seen this
> happened). The easiest and more understanable way to do this is specificly
> write "if (a == FINE)", and not to expect the code reviewer/reader to
> understand. And it is much easier to change the value of "FINE" to something
> else in a later revisions.
You have this completely the wrong way round. If you write something
like "if (a == FINE)", then you are expecting the code reviewer/reader to
understand a whole lot more. If I read this I need to know firstly what
the value of "a" is and secondly what the value of "FINE" is and if it is
likely to change I need to stay current with the its definition. And hope
that it has not been redefined by someone else.
If I read something like "if (a)", I immediately know what this means.
regards,
Patrick
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 11:19:35 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c060b72$0$228$4d4ebb8e@oce.news.eu.uu.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> <newscache$us0kng$ojh$1@lnews.actcom.co.il>
Hi Ofer,
*snip*
> >
> > You suggest that in conditional expression involving booleans, one
should
> > always explicitly compare with FALSE only, not TRUE.
> > If I have a boolean, say b, I can simply say ' if (b) {} else {} '.
> > It makes no sense to explicitly compare with TRUE or FALSE; the 'if'
> > expects a truth value and b already IS a truth value.
>
> Sorry, but from point of "code-reading convineint" I disagree. The case of
> TRUE and FALSE are maybe easy, but what if you have a definition of FINE
as
> 1, and a version later you wish to changed it to 0 (I've seen this
> happened). The easiest and more understanable way to do this is specificly
> write "if (a == FINE)", and not to expect the code reviewer/reader to
> understand. And it is much easier to change the value of "FINE" to
something
> else in a later revisions.
I think it is a matter of taste. Any which way, it will work as the C
compiler does almost no type checking. When I develop a program, I attempt
to
do it as 'type-safe' as possible. So besides the defines TRUE and FALSE, I
also
use a type BOOL or bool_t, that represents truth values. An 'if' expects a
truth value, and bool_t is a truth value, so there is no need for a
comparison.
If you have a type (eg, status) with values FINE, COOL and CRAPPY, I would
use
a comparison before using it as a truth value. C does not prescribe it as it
is only weakly typed, any typesafe language would require you to do this.
But of course, that is only _my_ way of working, and everyone is allowed to
have its own.
> > If you expect that VxWorks doesn't care about the actual values of TRUE
> > or FALSE, why does your software?
> I don't. All I want to make sure is that the vxWorks code uses FALSE as
> comparison and not "TRUE". So, I wish it was like "if (*hookRtnRetVal !=
> FALSE){do something}" and not "if (*hookRtnRetVal == TRUE) {do
something}",
> since as I said, the only real constant in C, is zero for FALSE
expression.
You cannot safely make this assumption. If you want to be sure, you can
of course disassemble the VxWorks code that does this check and find out
what
comparison it performs, but you cannot rely on that: with a new patch,
WindRiver might, in their almighty wisdom, decide to change the
implementation
such that your TRUE==-1 solution does not work anymore. So from a
maintainability
point of view, this is a very poor solution.
> > If someone instructs you to jump off a plane without a parachute, would
> > you do so? (And yes, the plane IS flying at 2km height of course.)
> Hey, don't get into personal issues here. It's nothing like that. If you
> jump off a plnae, you won't have the ability to tell the one who pushed
you
> "I told you so". However, in this case, after long nights of debugging, I
> WILL have the ability.....:)
Please don't jump off that plane. Your boss would still have his problem,
and
it gives a terrible mess when you come down ;-)
I did not mean to offend you. The point I wanted to make is that there is
always a 'no' - how difficult it might be. When faced with a stupid idea, I
think it is our duty as software engineer to make clear that it _is_ indeed
stupid - even if the idea is from your boss. I think a lot of arguments have
already been given in this thread that you can use.
Success,
Manuel
---------------------------
Newsgroups: comp.os.vxworks
Subject: [OT] Re: TRUE definition
Date: Thu, 29 Nov 2001 11:39:59 +0100
From: "Manuel van den Berg" <qmvb@oce.nl>
Organization: Oce Nederland news service
Message-ID: <3c06103a$0$218$4d4ebb8e@oce.news.eu.uu.net>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <3c05e7fd$0$225$4d4ebb8e@oce.news.eu.uu.net> <3C0609AF.9D9A9053@varndellengineering.com>
*snip*
> As such, there is no
> ambiguity about whether or not 'if(0)printf("hello");' will print
> "hello".
> It will not.
I disagree. Add the following define just before the if:
    #define if(a)    if(!(a))
Insane? Yes. As is the redefinition of TRUE and FALSE.
Manuel
PS. I think the define would be nice for the obfuscated C code contest.
Lemme
think about a nice application :-)
*snip*
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Thu, 29 Nov 2001 12:26:13 +0200
From: "Aharon Sheer" <aharon.sheer@motorola.com>
Organization: Motorola
Message-ID: <9u52ga$mfu$1@newshost.mot.com>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>  <uzo56fr9j.fsf@yahoo.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> <newscache$w43kng$ioh$1@lnews.actcom.co.il>
Leonid -
 1) Suppose the flash is written once.  It is in a running system and its
contents are copied to RAM for use.   So the flash may be only read once
every few years.  Is there a chance that bits will be corrupted?
 2) Suppose the flash is only written once, but it is read all the time.
Is there a chance that bits will be corrupted over a period of years?
 Our systems must run untouched for 10 to 15 years.
  Aharon
"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:newscache$w43kng$ioh$1@lnews.actcom.co.il...
>
> I can say however that in FlashLib we did move "static" files around so
that
> each erase
> block "erase counter" would not deviate from the average erase count by
more
> then 10
> erase cycles.
> Moving "static" data around does not only extend the life of the Flash in
> terms of erase
> cycles - it also makes rue that all data remains usable. Remember, the way
> Flash (like EPROM)
> keep a bit's value is by locking a charged cell in a layer of isolators.
> There are current leaks
> and external radiation which can (and do) cause these charges to gradually
> weaken in time.
> In othwe words, if you program a Flash and just keep it in a drawer, after
a
> couple of years
> (or months if you are close to some kind of nuke)  some of dta data will
> become corrupt.
> So to avoid loosing data files to leak currents and particles, we had the
> static files move
> around the Flash, whenever there was some write activity, keep erase count
> even, and refresh
> old data just in case it will be used again.
>
> Being on the subject, I actually know a compnay which had a similar "weak
> bits" problem
> causing loss of static files on a magnetic disk. They made a digital image
> recording machine
> for X-Ray rooms (much ambient radiation), so after a few years, the
software
> image would become
> unreadbale, because it was not refreshed and the magnetic field had
> gradually degraded.
>
> Martin, I strongly recommend you sacrifice one board and to the
end-of-life
> test that John has recommended.
>
> - Leonid
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: what's the reason which will result in workQPanic?
Date: 29 Nov 2001 03:29:16 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111290329.12f02cb2@posting.google.com>
Hi
  when i can debug ARM7TDMI bsp a problem met with me.My ethernet port
driver process packet by the way of POLL. When I hook my board to our
company local LAN,I got the following trouble,"workQPanic kernel work
queue overflow".I don't know what the reasons will result in this kind
of problem.
  Any advice will be welcome
thanks
kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Changing MAC address?
Date: Thu, 29 Nov 2001 11:48:43 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9u579m$b6n$1@neptunium.btinternet.com>
References: <b6df7130.0111281930.5ab018e1@posting.google.com>
> MAC address is unique to each ethernet card. Is it advisable to change
> the MAC address? I have an application which calls for dynamically
> changing the MAC address? I would like to know repercussions of doing
> so?
> if not why?
According to 802.3 mac addresses that have the 02:00:00:00:00:00 bit
set are 'locally administered' - so could be allocated to your system
by your local network guys.  In practise some ethernet card manufacturers
use these addresses!
Even so changing the MAC address after a system has been running for a while
is (usually) not a good idea.
I worked out how to persuade vxworks to return a modified MAC address to
ARP requests in order to use the MAC address associated with the pcmcia
card that had just been plugged in  (far too hard to unplumb the interface
when it is taken out - just marked 'down').
The only protocol I know that REQUIRES locally administered addresses
is DECnet.
If you are running ISO transport (without the ISO network layer) then
packets are sent to the systems MAC address.  If a board fails the
replacement board has to use the same MAC address (or you have a lot
of reconfiguring to do).  If the MAC address PROM is socketed you may
be able to transfer it (but don't bend its legs), otherwise you need to
hide the 'dead' card and use it's address on the new card.
There are also some trick that can be done with 'high availabity' dual
servers where running them both with the same MAC address may help!
    David
---------------------------
End of New-News digest
**********************
From vxwexplo-errs@csg.lbl.gov  Thu Nov 29 06:52:09 2001
From: =?iso-8859-9?Q?Ali_=D6zdemir?= <ali.ozdemir@bildem.com.tr>
Date: Thu Nov 29 06:52:11 PST 2001
Subject: =?iso-8859-9?Q?VxWorks_=DDmage?=
This is a multi-part message in MIME format.
------=_NextPart_000_00FF_01C178F5.F966F780
Content-Type: text/plain;
	charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
Hello ;
    I want to boot a PC with VxWorks bootRom disket. And then I want to =
continue to boot the PC with a VxWorks image in the hard disk.
    When I creating a VxWorks image for the first booting , I tried to =
add IDE Harddisk driver (which is in VxWorks Tab  =
Hardware/peripherals/hard disks/ IDE hard drive )to the image but an =
error arises and the added property becomes red color. It can be =
included but results in a cotradiction. By the way I am using Tornado 2 =
and VxWoks 5.4. Does anybody knows what causes this contradicition?
Thanks
 Ali;
------=_NextPart_000_00FF_01C178F5.F966F780
Content-Type: text/html;
	charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-9" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello ;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; I want to boot a PC =
with VxWorks=20
bootRom disket. And then I want to continue to boot the PC with a =
VxWorks image=20
in the hard disk.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; When I creating a =
VxWorks image=20
for the first booting , I tried to add IDE Harddisk driver (which is in =
VxWorks=20
Tab&nbsp; Hardware/peripherals/hard disks/ IDE hard drive )to the image =
but an=20
error arises and the added property becomes red color. It can be =
included but=20
results in a cotradiction. By the way I am using Tornado 2 and VxWoks =
5.4. Does=20
anybody knows what causes this contradicition?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3D"Arial TUR" size=3D2>Thanks</FONT></DIV>
<DIV><FONT face=3D"Arial TUR" =
size=3D2>&nbsp;Ali;</FONT></DIV></BODY></HTML>
------=_NextPart_000_00FF_01C178F5.F966F780--
From vxwexplo-errs@csg.lbl.gov  Thu Nov 29 18:02:51 2001
From: lig <lig@catt.ac.cn>
Date: Thu Nov 29 18:02:54 PST 2001
Subject: How to add an ATM driver (follow the MUX interface standard)
hello,
    i use Vxworks but it didn't has ATM drivers, i need to write an ATM driver follows the MUX standard,i want to know what shall i do to add an ATM driver to the vxworks system, which files i need to modified so that the system can "know" and "use" my ATM driver?
	if it's needed to modify the MIB2 related files? how?
BR!
    lig
    lig@catt.ac.cn
2001-11-30
	  
From vxwexplo-errs@csg.lbl.gov  Thu Nov 29 19:28:23 2001
From: "Kamala K N" <kamala.kodi@wipro.com>
Date: Thu Nov 29 19:28:25 PST 2001
Subject: Re: VxWorks =?iso-8859-1?Q?=DDmage?=
This is a multi-part message in MIME format.
------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi,
Tornado 2.0 supports ATA harddisk, IDE harddisk is not supported.
kamala
------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5
Content-Type: text/plain;
	name="InterScan_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="InterScan_Disclaimer.txt"
-------------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5--
From vxwexplo-errs@csg.lbl.gov  Fri Nov 30 04:03:17 2001
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Nov 30 04:03:19 PST 2001
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Nov 30 04:03:12 PST 2001
        Subject: Re: TFFS - flash file system
        Subject: Re: how to delelte a IP address added by ifAddrAdd()
        Subject: Re: TRUE definition
        Subject: Re: makefile and linker problem
        Subject: END driver ethernet packet
        Subject: vxworks
        Subject: Re: VxWorks vulnerabilties ?
        Subject: Re: TRUE definition
        Subject: Converting from "file pointer" (fp) to "file description" (fd)
        Subject: Re: TFFS - flash file system
        Subject: Re: TFFS - flash file system
        Subject: Re: TRUE definition
        Subject: memory leak in ISR due to taskVarAdd() ??
        Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
        Subject: Re: Target Server Console freezes after hitting Properties menu
        Subject: Re: Converting from "file pointer" (fp) to "file description" (fd)
        Subject: __get_eh_context called from ISR ??
        Subject: Re: __get_eh_context called from ISR ??
        Subject: Re: TRUE definition
        Subject: Tornado 2, PPC Cumulative Patch 4
        Subject: Re: TRUE definition
        Subject: Re: TRUE definition
        Subject: GUI display on top of VxWorks ?
        Subject: Re: TRUE definition
        Subject: Thanks all of you
        Subject: Re: GUI display on top of VxWorks ?
        Subject: Re: Why is the IP stack ARPing my non-Ethernet interface?
        Subject: Could you tell me why it always restart the simulator?
        Subject: Re: Could you tell me why it always restart the simulator?
        Subject: Re: pci i/o address confliction?
        Subject: Re: TRUE definition
-------------------------------------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Thu, 29 Nov 2001 13:50:17 -0000
From: "David Laight" <David.Laight@btinternet.com>
Organization: BT Internet
Message-ID: <9u5ec5$i7t$1@neptunium.btinternet.com>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk> <uzo56fr9j.fsf@yahoo.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk>
> when is the directory entry updated to reflect the new file size? Perhaps
> dosFs2 is smart enough to perform smaller-than-cluster operations. I will
> check.
Does the TFFS layer check whether you are writing unchanged data, or whether
(if appropriate for the flash chips) only converting 1's to 0's - in which
case the existing sector can be updated.
>
> Almost certainly. You can get this down to clearing a few bits though, and
> one mapping value.
Most changes in sector mapping will (I guess) be done my changing the next
entry in the map area from ffff:ffff to <user_sector>:<real_sector>.
It may zero the old map for that sector.  Only when the map is full does the
map need to be erased and re-written (probably worth having 2 map areas...)
> 32MB ==  Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units
are
> still *huge* at 128Kb each.
The fact that each erase probably takes half a second kills performance
if you don't do something other than 128k read/modify/write cycles for
a sector write.  How many 128k erase units are you willing to hold buffered
in main memory?
[big snip]
>
> > If all your code does is write flash, I think
> > DosFS would last about 24 days [assuming an infinite CPU speed ;-].
I remember reading a AMD serial EEPROM data sheet which quoted 10 years
retention and 10^6 write cycles.  It did point out that you probably didn't
need 10 years retention on the cells you wrote 10^6 times - so in fact
you could get away with many more erases - or a longer retention time.
>
>
> You're maybe misunderstanding the timings.  However, if the flash
component
> drivers are using taskDelay() in their delay loops, the performance is
going
> to suck, as some of the writes take considerably less than a kernel tick.
>
You could probably improve the performance of any flash based files system
- - with or without a translation layer - by a few tweaks to the filesystem
code.  For instance (on a dos like fs):
1) treat direcetory entries that are all 0xff as unused.  If a directory
   entry has to updated, overwrite one of the 'ff' entries and zero out
   the old one.
2) similarly for FAT entries - maybe ffff = unused, 7fff = end of chain.
3) add an 'erase' call along with 'read' and 'write' to the block driver
   interface.
IF your system updates the existing sector when a write only changes a '1'
to a '0', then you can make your log file only require a small number of
erases...
    David
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: how to delelte a IP address added by ifAddrAdd()
Date: Thu, 29 Nov 2001 14:11:44 GMT
From: Victor Sperry <vsperry@paradyne.com>
Organization: Paradyne
Message-ID: <3C06421F.2F7FB394@paradyne.com>
References: <221caa76.0111281648.5655ff24@posting.google.com>
kewin wrote:
>
> hi all
>
>    I have added a new IP address to a ethernet interface.But now I
> want to remove it.But I didn't find the *remove* or *delete* function
> to be this function.Is there any other way to delete the IP address
> without affectiong other ethernet interface.
>
>   thanks
>
>    kevin
The vxWorks routing API sucks because it is buggy. I have had myriad
problems with the mRoute* functions, so I refuse to use them anymore.
ifAddrAdd works OK as long as you don't have any special needs.
If you need to add an address to a point-to-point interface, for
example, ifAddrAdd doesn't work.
However, the underlying Berkeley API works just fine and is flexible
and powerful. It's less user-friendly, but that's a small price to pay
for gaining the advantage of having code that actually works.
Here is an example of using the underlying API to implement the function
that you need. And, yes, it is appalling that WRS did not supply a
function that is orthogonal to ifAddrAdd.
STATUS ifAddrDel(char *pDevName, char *pIfAddr)
{
    int           sockFd;
    int           err;
    struct ifreq  ifr;
    u_long        ifAddr;
    /*
     * Convert string to int
     */
    ifAddr = inet_addr(pIfAddr);
    bzero ( (char *)&ifr, sizeof( struct ifreq ) );
    strcpy(ifr.ifr_name, pDevName);
    /* the interface address to delete is ifAddr */
    ifr.ifr_addr.sa_len = sizeof( struct sockaddr_in );
    ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET;
    ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr = ifAddr;
    if( (sockFd = socket( AF_INET, SOCK_RAW, 0 )) == NULL ){   /* 2, 3, 0 */
        printf("ifAddrDel: couldn't open socket\n");
        return( ERROR );
    }
    /*
     * SIOCDIFADDR can be found in sys/ioctl.h. This is:
     * Socket IOControl Delete InterFace ADDress
     *
     * ioctl returns 0 on success, error code on failure
     */
    err = ioctl( sockFd, SIOCDIFADDR, (int)&ifr );
    close( sockFd );
    if( err ){
        printf("ifAddrDel: ioctl failed with error %d\n", err);
        return( ERROR );
    }
    return( OK );
}
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 14:20:23 +0000 (UTC)
From: don@mars.dgrc.crc.ca (Donald McLachlan)
Organization: The unconfigured xvnews people
Message-ID: <9u5g77$e37$1@crc-news.crc.ca>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il>
Reply-To: don@mars.dgrc.crc.ca
Interesting to see the reasons behind this.  I've embedded some comments.
In article <newscache$l80kng$sih$1@lnews.actcom.co.il>, "Ofer Goren" <ofer_goren@iamba.com> writes:
>
> Well, yes, my Boss told me so. And he has some points on making it so:
>
> 1. When you look @ the memory, you will see 0xffffffff for -1. So when
> dumping a memory, it is real clear when looking at TRUE as -1, and FALSE as
> all zeros.
0 = false.  Anything else = true.  This is just a clear, IMHO, maybe even more so.
If you were scrolling though pages of memory dumps, would you notice a single
0xfffffeff  in the middle?
Sidebar.  My concern with explicit tests agains TRUE or FALSE is that you have
created an indeterminate logic state.  Independent of the value of TRUE or FALSE
(as long as neither = 7), think of what can happen the following:
	a = 7;
	if (a == TRUE)
		printf("true,\n");
	else if (a == FALSE)
		printf("false,\n");
	else
		printf("unknown.\n");
If you stick to the following one can never get unknown (assuming a in not volatile)
	a = 7;
	if(a)
		printf("true,\n");
	else if (!a)
		printf("false,\n");
	else
		printf("unknown.\n");
> 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1)
> value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000),
> while when dealing with TRUE as 1, both will have different results (~1 =
> 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and
> logical 'not' should give the same result.
OK, there is some reasonable rational to this.  But the long and the short
of it is your boss wants you to write code to protect a programmer who does
not know the difference between ! and ~ from shooting himself in the foot.
I'd tell the programmer to learn the syntax of the language.  (Ya, I've been
known to piss off my boss :-)
> 4. He also qoute some kinf of a rule, that you should never ever ever
> compare boolean expressions to nothing but FALSE. You shouldn't use TRUE
> values, only as a return values or such. So there....
Others have said this is a matter of (personal) style ... maybe they are right.
> 5. he will fire me if I wont do it.... he he he. And you know the status of
> the hi-tech industry today..... and I have a kid to raise, and a wife to
> support.......:(( :((
Do you get to fire him if/when it all breaks because of his silly decission?  :-)
- --
Donald McLachlan			E-mail	Donald.McLachlan@crc.ca
Communications Research Centre / RNS	Tel	(613) 998-2845
3701 Carling Ave.,			Fax	(613) 998-9648
Ottawa, Ontario
K2H 8S2
Canada
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: makefile and linker problem
Date: 29 Nov 2001 06:58:17 -0800
From: trosto@hotmail.com (Tal)
Organization: http://groups.google.com/
Message-ID: <705c7b34.0111290658.1ee9af7a@posting.google.com>
References: <705c7b34.0111280416.6bd18836@posting.google.com> <newscache$e0ling$6df$1@lnews.actcom.co.il>
Ofer,
First, thanks.
Second, I knew about the -I option but this doesn't
solve the problem.
I managed to find the solution myself, you have to add the variable VPATH
in the macros tab and include all of your h files directories.
Tal
"Ofer Goren" <ofer_goren@iamba.com> wrote in message news:<newscache$e0ling$6df$1@lnews.actcom.co.il>...
> yup.
> All you have to do:
> 1. go to the workspace window, and press the 'builds' tab. Expand your
> project name entry, and double click on the triangle icon. Press the 'C/C++
> compiler' tab, and add '-I<path>' for each path you need to include .h files
> from.
>
>
>
> --
> Ofer Goren
> Iamba Technologies
>
> "Tal" <trosto@hotmail.com> wrote in message
> news:705c7b34.0111280416.6bd18836@posting.google.com...
> > Hi,
> >
> > I am using the Tornado with the GNU compiler.
> > Sometimes, when I try to build my project I get an error message
> > saying "no rule to make filename.o".
> > It seems that the makefile dependencies do not know to find the h
> > files which aren't in the project's folder but in other folder.
> > In order to override the problem I delete the dependecies part of the
> > makefile and build the project again.
> > Did someone encountered this problem?
> > Do you know how to define the path of the h files (for the linker)
> > outside of the makefile?
> >
> > TIA,
> >
> > Tal
---------------------------
Newsgroups: comp.os.vxworks
Subject: END driver ethernet packet
Date: 29 Nov 2001 07:01:57 -0800
From: aditi_kapoor@yahoo.com (aditi)
Organization: http://groups.google.com/
Message-ID: <9ddca52f.0111290701.1d81e0f5@posting.google.com>
Hello!
I am working with an END driver, and I see that the packet I receive
is the ethernet (and not ieee802.3) packet.
1. Is there any manner I can change the default settings to receive
ieee 802.3 packets instead of ethernet packets.
2. I have not been able to understand what the following functions do:
endEtherAddressForm
endEtherPacketDataGet
endEtherPacketAddrGet
Please let me know what and when are these functions used.
3. As i understand the END driver is at the LLC level, because, MUX is
above the Data link layer. Where then in the END driver are we adding
teh 802.2 headers or the ethernet headers. Are they being added at the
END driver level or above.
I shall be grateful for any links on the same.
Thanx
Aditi
---------------------------
Newsgroups: comp.os.vxworks
Subject: vxworks
Date: 29 Nov 2001 07:04:40 -0800
From: aditi_kapoor@yahoo.com (aditi)
Organization: http://groups.google.com/
Message-ID: <9ddca52f.0111290704.590bab02@posting.google.com>
Hello!
       I am working with an END driver, and I see that the packet I receive
       is the ethernet (and not ieee802.3) packet.
       1. Is there any manner I can change the default settings to receive
       ieee 802.3 packets instead of ethernet packets.
       2. I have not been able to understand what the following functions do:
       endEtherAddressForm
       endEtherPacketDataGet
       endEtherPacketAddrGet
       Please let me know what and when are these functions used.
       3. As i understand the END driver is at the LLC level, because, MUX is
       above the Data link layer. Where then in the END driver are we adding
       teh 802.2 headers or the ethernet headers. Are they being added at the
       END driver level or above.
       I shall be grateful for any links on the same.
       Thanx
       Aditi
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: VxWorks vulnerabilties ?
Date: Thu, 29 Nov 2001 16:00:05 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <RSsN7.140$K96.150327@newsr2.u-net.net>
References: <3c054904$0$197$626a54ce@news.free.fr>
Sidney wrote in message <3c054904$0$197$626a54ce@news.free.fr>...
>Hello
>
>I am searching for an updated list of know vulnerabilities of VxWorks 5.4
>and especially concerning the network stack.
>
>Thank you
  It rather depends what CPU type you want to know about, doesn't it.
  Also, owing to the lack of memory protection - all tasks run in one memory
space - you can't easily predict where their stacks will be or where the
buffers you'd want to overflow might end up located in memory.
  Having said that, it's not the most stable of stacks and should keel over
nicely under pretty much any kind of DoS / packet flood attack...
           DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 18:18:32 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$cgmkng$2bi$1@lnews.actcom.co.il>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il> <9u5g77$e37$1@crc-news.crc.ca>
anyway, I've opened a long and interesting discussion. Thanks all for your
replies. When our product will be deleyed, at least I'll have my boss to
blame....;)
Thanks.
- --
Ofer Goren
Iamba Technologies
"Donald McLachlan" <don@mars.dgrc.crc.ca> wrote in message
news:9u5g77$e37$1@crc-news.crc.ca...
>
> Interesting to see the reasons behind this.  I've embedded some comments.
>
>
> In article <newscache$l80kng$sih$1@lnews.actcom.co.il>, "Ofer Goren"
<ofer_goren@iamba.com> writes:
> >
> > Well, yes, my Boss told me so. And he has some points on making it so:
> >
> > 1. When you look @ the memory, you will see 0xffffffff for -1. So when
> > dumping a memory, it is real clear when looking at TRUE as -1, and FALSE
as
> > all zeros.
>
> 0 = false.  Anything else = true.  This is just a clear, IMHO, maybe even
more so.
> If you were scrolling though pages of memory dumps, would you notice a
single
> 0xfffffeff  in the middle?
>
> Sidebar.  My concern with explicit tests agains TRUE or FALSE is that you
have
> created an indeterminate logic state.  Independent of the value of TRUE or
FALSE
> (as long as neither = 7), think of what can happen the following:
>
> a = 7;
> if (a == TRUE)
> printf("true,\n");
> else if (a == FALSE)
> printf("false,\n");
> else
> printf("unknown.\n");
>
> If you stick to the following one can never get unknown (assuming a in not
volatile)
>
> a = 7;
> if(a)
> printf("true,\n");
> else if (!a)
> printf("false,\n");
> else
> printf("unknown.\n");
>
>
> > 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE
(-1)
> > value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000),
> > while when dealing with TRUE as 1, both will have different results (~1
=
> > 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise
and
> > logical 'not' should give the same result.
>
> OK, there is some reasonable rational to this.  But the long and the short
> of it is your boss wants you to write code to protect a programmer who
does
> not know the difference between ! and ~ from shooting himself in the foot.
> I'd tell the programmer to learn the syntax of the language.  (Ya, I've
been
> known to piss off my boss :-)
>
>
>
> > 4. He also qoute some kinf of a rule, that you should never ever ever
> > compare boolean expressions to nothing but FALSE. You shouldn't use TRUE
> > values, only as a return values or such. So there....
>
> Others have said this is a matter of (personal) style ... maybe they are
right.
>
>
>
> > 5. he will fire me if I wont do it.... he he he. And you know the status
of
> > the hi-tech industry today..... and I have a kid to raise, and a wife to
> > support.......:(( :((
>
> Do you get to fire him if/when it all breaks because of his silly
decission?  :-)
>
>
> --
> Donald McLachlan E-mail Donald.McLachlan@crc.ca
> Communications Research Centre / RNS Tel (613) 998-2845
> 3701 Carling Ave., Fax (613) 998-9648
> Ottawa, Ontario
> K2H 8S2
> Canada
>
>
---------------------------
Newsgroups: comp.os.vxworks
Subject: Converting from "file pointer" (fp) to "file description" (fd)
Date: 29 Nov 2001 08:35:55 -0800
From: slinshits@hotmail.co.il (Sagi Linshits)
Organization: http://groups.google.com/
Message-ID: <4b460db0.0111290835.3455810d@posting.google.com>
Hello all!
I need a help how to convert from "file pointer" that usable for fseek
function to "file descriptor" that usable for ioctl function.
Thank you.
Sagi.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Thu, 29 Nov 2001 17:59:37 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$ndnkng$cdi$1@lnews.actcom.co.il>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk>  <uzo56fr9j.fsf@yahoo.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> <newscache$w43kng$ioh$1@lnews.actcom.co.il> <9u52ga$mfu$1@newshost.mot.com>
"Aharon Sheer" <aharon.sheer@motorola.com> wrote in message
news:9u52ga$mfu$1@newshost.mot.com...
> Leonid -
>
>  1) Suppose the flash is written once.  It is in a running system and its
> contents are copied to RAM for use.   So the flash may be only read once
> every few years.  Is there a chance that bits will be corrupted?
Yes, I beleive the charge will gradually leak, depending on ambient
radiation levels, as well as other electromagnetic field. It could take
from a few years to a few decades.
I have seen a good description of this in an academic article about EPROMs.
Flash use the same principle, but have a much thinner insulation layer.
>  2) Suppose the flash is only written once, but it is read all the time.
> Is there a chance that bits will be corrupted over a period of years?
I do not see that there is a difference if the Flash is accessed for reading
or not at all,  In both cases the gate charge remains untouched, so the
leakage
process is not being reversed.
>  Our systems must run untouched for 10 to 15 years.
To be on the safe side, I'd use PROMs (not OTP ROM), but depending on the
environment, enclosure etc. this may work. You can pursue this by trying
to get some guarantee from the manufacturer of the device and/or doing
some accelerated testing yourself. In an accelerated test you should have
an order of magnitude higher ambient radiation and EM, but you do need
a true physisist to assit you calculating the actual amount of acceleration
you are actually getting.
Perhaps you could also try to cross post this on a semiconductor related
newsgroup.
Keep me posted on this, this is a very interesting subject to me.
- - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TFFS - flash file system
Date: Thu, 29 Nov 2001 18:35:04 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$3enkng$cdi$1@lnews.actcom.co.il>
References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <bc3fb3e04a%molochai@vapour-trail.demon.co.uk> <uzo56fr9j.fsf@yahoo.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> <9u5ec5$i7t$1@neptunium.btinternet.com>
"David Laight" <David.Laight@btinternet.com> wrote in message
news:9u5ec5$i7t$1@neptunium.btinternet.com...
> > when is the directory entry updated to reflect the new file size?
Perhaps
> > dosFs2 is smart enough to perform smaller-than-cluster operations. I
will
> > check.
>
> Does the TFFS layer check whether you are writing unchanged data, or
whether
> (if appropriate for the flash chips) only converting 1's to 0's - in which
> case the existing sector can be updated.
This is most probably done in the MTD, assuming some chips can change
an arbitrary bit from "1" to "0", others (theoretically) can't. Hence the
upper
layer has to leave this to the MTD to decide. I dont't remember TFFS source
code well enough to say, but with breakpoints this is easy to verify even
without the source.
I'd say this is a "must have" feature.
> >
> > Almost certainly. You can get this down to clearing a few bits though,
and
> > one mapping value.
>
> Most changes in sector mapping will (I guess) be done my changing the next
> entry in the map area from ffff:ffff to <user_sector>:<real_sector>.
> It may zero the old map for that sector.  Only when the map is full does
the
> map need to be erased and re-written (probably worth having 2 map
areas...)
>
Actually, there is a map area in each erase block (EB), which pertains to
the sectors
within that erase block. When a sector is modified such that some bits
change
from "0" to "1", it is written to some other place on the Flash, which is
all 0xFF,
and the previous location gets invalidated by writing a 000 into the map
cell.
When all map cells in an EB are 000, then the is erased. If there are "some"
sectors
in an EB which are still valid, but there are not enough clean EBs (which
are all FF),
the still valid sectors, although unmodified, are moved elsewhere and the EB
is erased.
Some pre-defined amount of EBs will allways be clear, these are defined as
"spare blocks"
and not be used for data.
> > 32MB ==  Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units
> are
> > still *huge* at 128Kb each.
>
> The fact that each erase probably takes half a second kills performance
> if you don't do something other than 128k read/modify/write cycles for
> a sector write.  How many 128k erase units are you willing to hold
buffered
> in main memory?
You don't have EBs buffered in memory. Large EBs are bad news, because they
mean
more space will be left unused to maintain some "spare blocks".
Erase time is indeed slow, 100-300milliseconds, but a good FFS will try
to erase blocks in backkground so that writes can go ahead with no delay.
Except of course if one modifies data continously, which is very slow.
>
> [big snip]
> >
> > > If all your code does is write flash, I think
> > > DosFS would last about 24 days [assuming an infinite CPU speed ;-].
>
> I remember reading a AMD serial EEPROM data sheet which quoted 10 years
> retention and 10^6 write cycles.  It did point out that you probably
didn't
> need 10 years retention on the cells you wrote 10^6 times - so in fact
> you could get away with many more erases - or a longer retention time.
This gets more interesting if you tru to dig deeper. Under which condition
does the cell retain data for 10 years ? (in terms of erase count and
environmental conditions)
What happens to a cell which has been erased 10^6 times ?
I had a hard time digging around for more info, and my best theory is that
the retention time, which does depend on ambient environment, is reverse
proportional to the current erase count of a cell. I.e. if a cell is erased
many times,
leak currents increased because the insulation layer deteriorates with every
erase,
and retention is reduced.
> >
> >
> > You're maybe misunderstanding the timings.  However, if the flash
> component
> > drivers are using taskDelay() in their delay loops, the performance is
> going
> > to suck, as some of the writes take considerably less than a kernel
tick.
> >
>
> You could probably improve the performance of any flash based files system
> - with or without a translation layer - by a few tweaks to the filesystem
> code.  For instance (on a dos like fs):
> 1) treat direcetory entries that are all 0xff as unused.  If a directory
>    entry has to updated, overwrite one of the 'ff' entries and zero out
>    the old one.
> 2) similarly for FAT entries - maybe ffff = unused, 7fff = end of chain.
> 3) add an 'erase' call along with 'read' and 'write' to the block driver
>    interface.
>
TFFS is indeed aware of the FAT and DIR strictures of the file system above
itself,
but this is far from implementing all of these ideas. Also this awareness
must be
turned off if the file system diviates from the standard, e.g. when using
VX_LONG
file names.
When a Flash-specific file system is designed, like the now discontinued
FlashLib,
it used all these ideas and much more. Here are some xamples:
Flash memory can be accessed and modified at any granularity, hence there is
really
no need for sectors, why use 512 bytes for a 33 byte file ?
The CPU can compress and decompress data much faster then the Flash write
speed,
even without erase, so if data is deflated before being written to Flash,
write speed
is increased.
There is much more ...
> IF your system updates the existing sector when a write only changes a '1'
> to a '0', then you can make your log file only require a small number of
> erases...
>
Actually you can FORCE the TFFS code to do this:
you can pre-allocate the log files by writing a predetermined number of 0xFF
bytes,
and then write the data by modifying the file.
- - Leonid
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: 29 Nov 2001 11:46:27 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u667tfrto.fsf@yahoo.com>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <GnJ3s0.5MJ@approve.se> <newscache$l80kng$sih$1@lnews.actcom.co.il>
Sender: bpringlemeir@DeadDuck
>>>>> "Ofer" == Ofer Goren <ofer_goren@iamba.com> writes:
 Ofer> Well, yes, my Boss told me so. And he has some points on making
 Ofer> it so:
 Ofer> 1. When you look @ the memory, you will see 0xffffffff for
 Ofer> -1. So when dumping a memory, it is real clear when looking at
 Ofer> TRUE as -1, and FALSE as all zeros.
TRUE
 Ofer> 2. If someone accidently used bitwise or (~) instead of (!) on
 Ofer> a TRUE (-1) value, they will both do the same (~-1 =
 Ofer> 0x00000000, !-1 = 0x00000000), while when dealing with TRUE as
 Ofer> 1, both will have different results (~1 = 0xfffffffe, !1 =
 Ofer> 0). He claims that for true TRUE values, both bit wise and
 Ofer> logical 'not' should give the same result.
TRUE, but FALSE
 Ofer> 3. As you said: "Any operation receiving a boolean value should
 Ofer> accept any non-zero value of type int as a true value.". So, it
 Ofer> can get -1, 7, or 0x456fed as a non-false result. And yes, I do
 Ofer> claim that the ture's value is compiler and architecture
 Ofer> dependent.
FALSE
 Ofer> 4. He also qoute some kinf of a rule, that you should never
 Ofer> ever ever compare boolean expressions to nothing but FALSE. You
 Ofer> shouldn't use TRUE values, only as a return values or such. So
 Ofer> there....
TRUE (see 3)
 Ofer> 5. he will fire me if I wont do it.... he he he. And you know
 Ofer> the status of the hi-tech industry today..... and I have a kid
 Ofer> to raise, and a wife to support.......:(( :((
VERY TRUE!
This is an attempt at humour, and a very blatant waste of Usenet
bandwidth.  It can also serve as an example of excessive quoting and a
somewhat atypical `me too' post.
ciao,
Bill Pringlemeir.
- --
Semtex Panama Waco, Texas genetic  FBI domestic disruption SEAL Team 6
Serbian Cocaine Albanian NORAD quiche Delta Force colonel ammunition
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: memory leak in ISR due to taskVarAdd() ??
Date: 29 Nov 2001 09:20:09 -0800
From: sanjay.bhandari@cportcorp.com (Sanjay)
Organization: http://groups.google.com/
Message-ID: <a06e3234.0111290920.33877b11@posting.google.com>
Hi all
Some help with this issue please. We are seeing some
bizzare behavior throuh memScope where it shows that
memory is continuously allocated each time a ISR is
called. The stack is as follows:
sysMpicIntHandler->dcpISR->__get_eh_context->eh_context_specific
- ->taskVarAdd->malloc->memPartAlloc
and
sysMpicIntHandler->dcpISR->__get_eh_context->eh_context_specific
- ->new_eh_context->malloc->memPartAlloc
Any ideas? Thanks.
Sanjay
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!!
Date: Thu, 29 Nov 2001 16:40:59 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <xuuN7.144$K96.151611@newsr2.u-net.net>
References: <52e25f45.0111281315.4a70be66@posting.google.com>
Vittal Krishnamurthy wrote in message
<52e25f45.0111281315.4a70be66@posting.google.com>...
>Hi VxWorks gurus,
>I have recently built cross
>
>I have a small problem with the 2.95.3 GCC cross compiler that I built
>for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc
>does not like line continuation char "\". It complains of parse
>errors. Did I do anything wrong with my cross compilation. Do u have a
>solution other removing the '\' and joining lines??? Is there some
>switch I need to enable during cross compiler building ???
>Pls Help
You must use Unix-style LF line ends on Linux systems.  Your files must have
the wrong kind of line ends, DOS-style CRLF.  Put these two command lines
into a text file called "dos2unix" in your /usr/bin directory:
#!/bin/sh
mv $1 $1.bak && tr -d '\015' <$1.bak >$1 && rm $1.bak
(don't forget to chmod it executable) and then you can run it on a batch of
.c files in your current directory like this:
find . -name \*.c -exec dos2unix \{ \} \;
            DaveK
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Target Server Console freezes after hitting Properties menu
Date: Thu, 29 Nov 2001 16:15:22 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <xuuN7.143$K96.151611@newsr2.u-net.net>
References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> <Xns915B80EDABA00borkhuisagerecom@135.7.153.101> <osQK7.62$ZO3.96878@newsr2.u-net.net> <3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net>
Mark Galecki wrote in message
<3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net>...
>Well, I could not diagnose the problem itself, with the FileMon, but this
>software did reveal many interactions with the file system, which pointed
me
>to a workaround.  It is excellent software.
  sysinternals are GODS!  All the stuff on their site is absolutely
excellent.
>  Thank you for pointing it out.
>
>What does "WDDTT" stand for (I could not find this acronym anywhere...
)  )
>
>Mark
  A man goes to the doctor.
  "Doctor", he says, "I suffer from this terrible pain in my arm."
  "Let's see," says the doctor, "what seems to be the cause of the pain?"
  "I'm not really sure," says the man, "but it hurts like hell whenever I do
*this*".  And he demonstrates by stretching and twisting his arm up behind
his back in at an extremely awkward and uncomfortable angle.
  "Well," says the doctor, "Don't Do That Then."
  Next!
           DaveK
[It's a traditional old joke.  For more specimens, see
http://www.google.com/search?hl=en&q=%22well+don%27t+do+that+then%22+doctor
]
- --
Burn your ID card!  http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Converting from "file pointer" (fp) to "file description" (fd)
Date: Thu, 29 Nov 2001 17:56:43 +0000 (UTC)
From: don@mars.dgrc.crc.ca (Donald McLachlan)
Organization: The unconfigured xvnews people
Message-ID: <9u5ssr$kti$1@crc-news.crc.ca>
References: <4b460db0.0111290835.3455810d@posting.google.com>
Reply-To: don@mars.dgrc.crc.ca
fd = fileno(fp);
- --
Donald McLachlan			E-mail	Donald.McLachlan@crc.ca
Communications Research Centre / RNS	Tel	(613) 998-2845
3701 Carling Ave.,			Fax	(613) 998-9648
Ottawa, Ontario
K2H 8S2
Canada
---------------------------
Newsgroups: comp.os.vxworks
Subject: __get_eh_context called from ISR ??
Date: 29 Nov 2001 10:54:17 -0800
From: sanjay.bhandari@cportcorp.com (Sanjay)
Organization: http://groups.google.com/
Message-ID: <a06e3234.0111291054.2a1d269d@posting.google.com>
Hi all
We are experiencing a memory leak in our system and memScope
reveals that "__get_eh_context" is being called from the ISR
which in turn calls taskVarAdd() repeatedly. This is the cause
of the memory leak.
Can anyone shed some light on what "__get_eh_context" is and
why it gets called from the ISR? And why is there this problem
with the memory leak?
Thanks.
Sanjay
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: __get_eh_context called from ISR ??
Date: 29 Nov 2001 15:11:34 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u1yihfibt.fsf@yahoo.com>
References: <a06e3234.0111291054.2a1d269d@posting.google.com>
Sender: bpringlemeir@DeadDuck
>>>>> "Sanjay" == Sanjay  <sanjay.bhandari@cportcorp.com> writes:
[snip]
 Sanjay> Can anyone shed some light on what "__get_eh_context" is and
 Sanjay> why it gets called from the ISR? And why is there this
 Sanjay> problem with the memory leak?
"__get_eh_context" is an abbreviation for "get exception handler
context".  This will be called if you have C++ code, you are executing
in an objects context and you have exception handling enabled.  The
code uses the `this' pointer and can setup RTTI (run time type
identification) and other C++ facilities.
You could use only Embedded C++ constructs and you will probably be
ok.  Alternatively, don't allocate any objects, even on the stack in
your ISR.  Object construction can call malloc and other routines that
you shouldn't use.  It will definitely setup an exception context so
that if an exception is thrown, the object can be deleted.
hth,
Bill Pringlemeir.
- --
Can Einstein exist?
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 13:01:02 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3C06A20E.9BD66480@alcatel.com>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il> <9u5g77$e37$1@crc-news.crc.ca> <newscache$cgmkng$2bi$1@lnews.actcom.co.il>
You're right ;o) the discussion is quite long for this tiny issue.
According to the Boolean Algebra definition:
     Boolean algebra is a system of algebra (named after the
     mathematician who studied it, George Boole) based on
     only two numbers, 0 and 1, commonly thought of
     as ``false'' and ``true.''
it is impossible to affect -1 to true.
The C language doesn't have the "bool" built-in type hence nor the
true and false. Folks who used to program in other languages
which have this type (Pascal, Ada, C++,...) like to define their own
"bool" type and consequently the true and false constants.
Anyway in C you can live just fine without.
I think in your case is a bad idea to change the WindRiver's
definition. But, no one can stop you. The C is great and permissible,
is for that we all love it, and allows you to do daily almost everything
you dreamt nightly. My humble advice is think twice before and read
carefully the next very interesting white paper.
http://mindprod.com/unmain.html
Have fun,
/stephane.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Tornado 2, PPC Cumulative Patch 4
Date: Thu, 29 Nov 2001 21:59:52 GMT
From: nunya <nunya@nunya.com>
Organization: Nunya Business
Message-ID: <3C06AFD7.CB2C9D7A@nunya.com>
Hi All:
We've run into a problem with this patch.
We have our own networking protocol stack that registers
with the mux as Promiscuos (because of the well-known
failures with Snarfing. )
Up to cumulative patch 2, this was working fine.
With cumulative patch 4, however, our receive routine is
never called. This makes it very difficult for our protocol
stack to function efficiently.  :-)
Has anyone else run into this problem?
Thanks!
jlm@nospampeerless.com
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 22:02:56 GMT
From: hoh@invalid.invalid (Goran Larsson)
Organization: [1]  + 5934 done        /bin/rm -rf ~/ &
Message-ID: <GnL18w.E6A@approve.se>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il> <9u5g77$e37$1@crc-news.crc.ca> <newscache$cgmkng$2bi$1@lnews.actcom.co.il> <3C06A20E.9BD66480@alcatel.com>
In article <3C06A20E.9BD66480@alcatel.com>,
Stephane Tiriac  <Stephane.Tiriac@alcatel.com> wrote:
> The C language doesn't have the "bool" built-in type hence nor the
> true and false.
Yes it does.
The current C standard (ISO/IEC 9899:1999) says that the C language has
a builtin type _Bool. The type _Bool is large enough to store the
values 0 and 1. When any scalar value is converted to _Bool, the result
is 0 if the value compares equal to 0; otherwise, the result is 1. The
header <stdbool.h> defines a macro bool that expands to _Bool, a macro
true that expands to 1, and a macro false that expands to 0.
If anyone intends to use TRUE and FALSE-type macros they should
probably think about using a stdbool.h header file with their own
definition of bool, true, and false unless their compiler has been
upgraded to the ISO/IEC 9899:1999 standard.
- --
Gran Larsson     hoh AT approve DOT se
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Thu, 29 Nov 2001 15:16:26 -0800
From: Stephane Tiriac <Stephane.Tiriac@alcatel.com>
Organization: Alcatel USA, Inc.
Message-ID: <3C06C1C9.D6C5A3E9@alcatel.com>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il> <9u5g77$e37$1@crc-news.crc.ca> <newscache$cgmkng$2bi$1@lnews.actcom.co.il> <3C06A20E.9BD66480@alcatel.com> <GnL18w.E6A@approve.se>
Goran Larsson wrote:
> Yes it does.
>
> The current C standard (ISO/IEC 9899:1999) says that the C language has
> a builtin type _Bool. The type _Bool is large enough to store the
> values 0 and 1. When any scalar value is converted to _Bool, the result
> is 0 if the value compares equal to 0; otherwise, the result is 1. The
> header <stdbool.h> defines a macro bool that expands to _Bool, a macro
> true that expands to 1, and a macro false that expands to 0.
Thanks pal. I missed this one.
By the way could you, please remove the doubt. It is a real built-in or you
have to include a header which defines a macro?
Truly speaking I'm still at Kernighan & Ritchie age. I don't know how but
this one refuses to get old. I think it'll bury me... ;o)
/st
---------------------------
Newsgroups: comp.os.vxworks
Subject: GUI display on top of VxWorks ?
Date: 29 Nov 2001 23:55:57 GMT
From: Chris Smith <csmith@nikonrca.com>
Organization: Concentric Internet Services
Message-ID: <MPG.16706c04bc584b559897ed@news.cncdsl.com>
Hello,
I'm wondering if someone can tell me of some products out there that
would let me easily build a GUI frontend on top of VxWorks application.
I'm developing on a PPC board and want to plot and display some program
variables as the program is running.  I've come across Tilcon which
looks like what I'm looking for.  Are there any other similar products
out there to consider.
TIA
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Fri, 30 Nov 2001 03:39:24 GMT
From: pkockritz@home.com (Pete Kockritz)
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Message-ID: <pkockritz-2911012139280001@192.168.0.99>
References: <newscache$2npgng$loc$1@lnews.actcom.co.il> <JdQM7.61$K96.43566@newsr2.u-net.net> <9u2qjq$smr$1@plutonium.btinternet.com> <newscache$kjming$8gf$1@lnews.actcom.co.il> <GnJ3s0.5MJ@approve.se> <newscache$l80kng$sih$1@lnews.actcom.co.il>
In article <newscache$l80kng$sih$1@lnews.actcom.co.il>, "Ofer Goren"
<ofer_goren@iamba.com> wrote:
> 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1)
> value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000),
> while when dealing with TRUE as 1, both will have different results (~1 =
> 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and
> logical 'not' should give the same result.
So, if folks can't use the correct operator, you'll end up with:
   complementMask = ! ( 1 << bitNumber );
of course, that ! should be a ~. Perhaps you can help with these macros:
#define LOGICAL_NOT   !
#define BITWISE_NOT   ~
Of course, that assumes that everyone can remember what LOGICAL and BITWISE
mean  ;-)
What about those pesky comparison operators, folks are always forgetting those:
#define NE   !=
#define EQ   ==
#define LT   <
#define GT   >
(just kidding)
Seriously, the most effective way to catch those kinds of errors is through
code reviews.
---------------------------
Newsgroups: comp.os.vxworks
Subject: Thanks all of you
Date: 29 Nov 2001 20:48:41 -0800
From: kevinatnj@yahoo.com.cn (kewin)
Organization: http://groups.google.com/
Message-ID: <221caa76.0111292048.e80269b@posting.google.com>
Hi all
   Thanks all of you for generous and hearted help that make me
overtake so much difficulty.
    Thanks from the bottom of my heart.
kevin
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: GUI display on top of VxWorks ?
Date: 29 Nov 2001 21:30:34 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0111292130.108a0850@posting.google.com>
References: <MPG.16706c04bc584b559897ed@news.cncdsl.com>
Hello,
Depends on what level of complexity you need... Wind offers WindML,
Zinc and PJWorks (Java). There are others out there that could be
ported to VxWorks easily (Qt/Embedded from http://www.trolltech.com
springs to mind instantly).
For more complex solutions, or just more portable ones, there is also
an X server in the partner list, but I can't remember the company name
(check in the TradeWinds book, or online).
HTH,
John...
Chris Smith <csmith@nikonrca.com> wrote in message news:<MPG.16706c04bc584b559897ed@news.cncdsl.com>...
> Hello,
>
> I'm wondering if someone can tell me of some products out there that
> would let me easily build a GUI frontend on top of VxWorks application.
> I'm developing on a PPC board and want to plot and display some program
> variables as the program is running.  I've come across Tilcon which
> looks like what I'm looking for.  Are there any other similar products
> out there to consider.
>
> TIA
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Why is the IP stack ARPing my non-Ethernet interface?
Date: Fri, 30 Nov 2001 06:00:55 GMT
From: Todd Sandor <tsandor@rogers.com>
Organization: @home
Message-ID: <3C0726B4.4DE481A1@rogers.com>
References: <d491dc78.0111270811.3f1031d2@posting.google.com>
With the newer vxWorks releases what matters is if the interface flag
specifies broadcast or pointtopoint - you set this in your MUX driver.
We're using Tornado 2.02 [NPT is integrated with T2.02] with patch 68322
[I believe that is the number - its the stack jumbo patch for the T2.02
release] and we developed a pointtopoint END driver that does not perform
arps nor do we need a resolution function [there is nothing to resolve
with a point to point interface/link].    What is important is whether
your using a broadcast media and if a layer 2 address needs to be resolved
- - if no layer 2 address needs to be resolved you could use a NPT type NPT
driver - take another look at the NPT documentation is sections related to
address resolution.
VxWork release prior to 2.02 do, as Rich Williams specified, used the
interface type, not the flags, to determine how to handle the device.
Hope this helps...
Jason Perron wrote:
> Hi Everybody,
>
> I am using vxWorks version 5.4 and I'm trying to get an END driver
> going for a non-ethernet interface.  My problem is that the IP stack
> is sending me ARP packets even though I have created a non-Ethernet
> interface.
>
> I specify my interface type as "M2_ifType_other" in my END_MIB_INIT
> call.
>
> First I tried setting the "IFF_NOARP" flag for the interface and my
> driver still got Ethernet ARP packets.  Next, I tried registering my
> own arp resolve function using muxAddrResFuncAdd with the idea that
> I'd just "fake out" the IP stack.  That didn't work either, as my
> "fake" arp resolve function never gets called.
>
> Has anybody else come across this problem?  If so, how did you get
> around it?  If this is a vxWorks problem, does anybody know if this is
> fixed in the NPT stuff?
>
> TIA,
>
> Jason
---------------------------
Newsgroups: comp.os.vxworks
Subject: Could you tell me why it always restart the simulator?
Date: Fri, 30 Nov 2001 15:31:03 +0800
From: "zhaoyandong" <zhaoyandong@163.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <9u7dei$bqs$1@mail.cn99.com>
Hi, I tested the following program, but when it runs, it always restart the
simulator. Can anyone tell me why? Any suggestion is welcomed.
Thanks
yandong zhao
#include "vxWorks.h"
#include "stdio.h"
#include "taskLib.h"
#include "wdLib.h"
void int1();
void int2();
void int3();
void int4();
void taskmain();
int task1,task2,task3,task4;
void progstart()
{
task1=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int1,0,0,0,0,0,0,0,0,0
,0);
task2=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int2,0,0,0,0,0,0,0,0,0
,0);
task3=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int3,0,0,0,0,0,0,0,0,0
,0);
task4=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int4,0,0,0,0,0,0,0,0,0
,0);
}
void int1()
{WDOG_ID wid1;
wid1=wdCreate();
wdStart(wid1,30,(FUNCPTR)taskmain,0);
}
void int2()
{
WDOG_ID wid2;
wid2=wdCreate();
wdStart(wid2,30,(FUNCPTR)taskmain,0);
}
void int3()
{
WDOG_ID wid3;
wid3=wdCreate();
wdStart(wid3,30,(FUNCPTR)taskmain,0);
}
void int4()
{
WDOG_ID wid4;
wid4=wdCreate();
wdStart(wid4,30,(FUNCPTR)taskmain,0);
}
void taskmain()
{int i;
for(i=0;i<200;i++)
    printf("i  am happy");
}
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: Could you tell me why it always restart the simulator?
Date: Fri, 30 Nov 2001 08:01:03 +0000
From: Hugh Duggan <hduggan@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C073CBF.F49CD0DA@lucent.com>
References: <9u7dei$bqs$1@mail.cn99.com>
Probably because you are calling printf() in an interrupt handler
[taskmain() calls printf(), and taskmain() is invoked from a
watchdog timer callback function].  There are very few functions
that can be called safely from an interrupt handler and printf()
isn't one of them.
    Hugh
- -----------------------------------------------------------------
- -----------------------------------------------------------------
- -----------------------------------------------------------------
- -----------------------------------------------------------------
- -----------------------------------------------------------------
zhaoyandong wrote:
>
> Hi, I tested the following program, but when it runs, it always restart the
> simulator. Can anyone tell me why? Any suggestion is welcomed.
> Thanks
>
> yandong zhao
<snip>
> void int1()
> {WDOG_ID wid1;
> wid1=wdCreate();
> wdStart(wid1,30,(FUNCPTR)taskmain,0);
> }
<snip>
> void taskmain()
> {int i;
> for(i=0;i<200;i++)
>     printf("i  am happy");
> }
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: pci i/o address confliction?
Date: Fri, 30 Nov 2001 10:23:44 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c0750e7$1@brateggebdc5.br-automation.co.at>
References: <82f462ab.0111272306.691dd6be@posting.google.com>
Hi,
"Lee" <lixijun@pub.xaonline.com> wrote in message
news:82f462ab.0111272306.691dd6be@posting.google.com...
> Hi all
>  I'm new in vxworks. I write a cpci driver with x86 processor board
>  I can get pci config info as following:
> base address 0 =              0xfe6fdf00
> base address 1 =              0x0000d801
> base address 2 =              0xff1e0008
> base address 3 =              0x0000df01
>  as my pci board manaul said, the BAR 3 is application registers,
>  I can test it though write 0x01 to 0xdf22, the board led light one,
>  write 0x02, light two, etc. The problem is the board do not respond
>  after you did serveral operation. At this time, read from status register
>  (0x0000df21)value is 0xff.
>    I startup system in win2000, the device manager said there was address
> confict about 0xdf00~0xdf3f. But there is no other device use it.
Did you consider that some old style ISA devices need only decode 10 bit IO
addresses?
This makes your addressed effectively conflict with such devices on IO
0x300 - 0x33f.
(The plug and play data of the devices contain information on whether they
are decoded 10 or 16 bit, so Windows 2K is probably right with its
assumption).
hth
Werner
---------------------------
Newsgroups: comp.os.vxworks
Subject: Re: TRUE definition
Date: Fri, 30 Nov 2001 11:59:35 GMT
From: hoh@invalid.invalid (Goran Larsson)
Organization: [1]  + 5934 done        /bin/rm -rf ~/ &
Message-ID: <GnM3zB.KJ1@approve.se>
References: <newscache$l80kng$sih$1@lnews.actcom.co.il> <3C06A20E.9BD66480@alcatel.com> <GnL18w.E6A@approve.se> <3C06C1C9.D6C5A3E9@alcatel.com>
In article <3C06C1C9.D6C5A3E9@alcatel.com>,
Stephane Tiriac  <Stephane.Tiriac@alcatel.com> wrote:
> By the way could you, please remove the doubt. It is a real built-in or you
> have to include a header which defines a macro?
The type _Bool is a builtin. It is in the implementors namespace (the _)
and could be added to the language without breaking any conforming
program.
The more "visually pleasing" bool, true, and false could not be added
to the language without breaking conforming programs, so if you do want
to use them you have to include the header <stdbool.h>. This header
does not contain any magic, just a couple of macros like this:
#ifndef __bool_true_false_are_defined
 #define bool _Bool
 #define true 1
 #define false 0
 #define __bool_true_false_are_defined 1
#endif
All four defines are required by the standard.
To start using <stdbool.h> while waiting for new compilers you only have
to use something like this:
#ifndef __bool_true_false_are_defined
 #define bool _Bool
 #define true 1
 #define false 0
 #define __bool_true_false_are_defined 1
 typedef unsigned int _Bool;
#endif
You will not get the automatic store of 1 for all non-zero values to
variables of the _Bool type, but it should be good enough until updated
compilers are available.
> Truly speaking I'm still at Kernighan & Ritchie age. I don't know how but
> this one refuses to get old. I think it'll bury me... ;o)
The C standard has changed quite a lot since K&R. You can buy the
latest C standard for USD 18 in PDF format from the ANSI online bookstore.
- --
Gran Larsson     hoh AT approve DOT se
---------------------------
End of New-News digest
**********************