From lyorg@scorpio.com  Sun Sep  1 00:24:39 1996
From: lyorg@scorpio.com (Lyor Goldstein)
Date: Sun Sep  1 00:24:41 PDT 1996
Subject: http daemon source code
Does anyone know of source code for the "http" daemon on VxWorks ?


*****************************************************************
*  Lyor Goldstein.             Email :  lyorg@scorpio.com       *
*  Scorpio Communications Ltd. Phone :  972-3-5339654  ext 115  *
*  Software group              Fax   :  972-3-5339518           *
*                  1c Yoni Netanyahu  st.                       *
*                  Or Yehuda   60250                            *
*                  P.O.Box 564,   Israel                        *
*****************************************************************


From daemon@csg.lbl.gov  Sun Sep  1 04:01:09 1996
From: daemon@csg.lbl.gov
Date: Sun Sep  1 04:01:11 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Sep  1 04:01:07 PDT 1996

        Subject: Re: MV162 SRAM

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: MV162 SRAM
Date: 31 Aug 1996 02:47:33 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <508945$2gg@news.pacifier.com>
References: <3225A755.59E2B600@bbn.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

Fred Roeber writes:
[snip]
>The SRAM, on the other hand, isn't used explicitely by VxWorks at all
>and is available for any type of application use.  To use it you simply
>set a pointer to its local address and store whatever you want there.
>Hope this helps.   Fred
>
Yes, very much,
Thank you.
SteveD
steved@pacifier.com


---------------------------

End of New-News digest
**********************


From slirosi@gic.gi.com  Sun Sep  1 17:11:36 1996
From: "Lirosi, Salvatore (HT-MS)" <slirosi@gic.gi.com>
Date: Sun Sep  1 17:11:38 PDT 1996
Subject: FW: IP broadcast loopbacks


Does anyone know of a way to inhibit the loop-back of broadcasted IP frames 
on 5.2?  I've tried setting the "useloopback" to zero but to no avail. 
 Thanks in advance,

Sal LiRosi


From daemon@csg.lbl.gov  Mon Sep  2 04:00:17 1996
From: daemon@csg.lbl.gov
Date: Mon Sep  2 04:00:20 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Sep  2 04:00:15 PDT 1996

        Subject: Starting up multiple VxSim sessions?

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Starting up multiple VxSim sessions?
Date: 30 Aug 1996 17:17:45 GMT
From: markham@bnr.ca (Andrew Markham)
Organization: Bell Northern Research
Message-ID: <5077np$cds@nrtphba6.bnr.ca>

We are going to be doing some testing with a standard
configuration of X simulators with (X-1) having one software
load and 1 have another.  Is it possible to write some sort
of script that will crank up a bunch of simulators, load
them with certain loads, and then run some initialization
functions?

Any help will be greatly appreciated, but source code
would be even better...  :^)

- --
Andy Markham
markham@nortel.ca
Nortel, Inc.

---------------------------

End of New-News digest
**********************


From leonid@rst.co.il  Mon Sep  2 05:31:49 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Mon Sep  2 05:31:51 PDT 1996
Subject: Re: Starting up multiple VxSim sessions?
One easy way to do what you need is to copy the config/sunos directory
in to two new directories, and in each add your application objects
to the Makefile, and statically link the VxWorks image with the
application, and add initialization. SInce you have only two distinct
"versions", it should be pretty straight-forward.

Another way, is not to change anything in the VxWorks tree, but
to prepare a "bootline" for each of the simulators. In sunos/sysLib.c
there are sysNvramGet() and sysNvramSet() functions. VxSIm stores
the boot paramters in a plain file. If you call bootChange() from the
Shell, you will force VxSIm to create one such nvram file. If there is no
write permission in the config directory, the file will be set in your
home directory.

The name of the file is vxWorks.nvram0 for CPU# and so forth.
DOnt need to do a bootChange for each CPU, make one with bootChange, then
edit it manually and create a bootline for each of the other processors,
setting for each a startup script to load and initialize the application.
Just remember to change the e=xxx.xxx.xxx.xxx IP number for each CPU#.

Them you can fire up all VxSim's from an ordinary UNIX shell script,
with config/vxWorks -p <cpu#> setting the CPU# from the command line,
and each of them will use its distinct "bootline" and use it's own
startup script.

Hope this helps.
-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
WWW: http://www.rst.co.il		E-Mail:	leonid@rst.co.il


From froeber@bbn.com  Mon Sep  2 10:55:37 1996
From: Fred Roeber <froeber@bbn.com>
Date: Mon Sep  2 10:55:39 PDT 1996
Subject: Re: Subject: Sockets with a timeout
Kareem Fawell wrote:

> I am using SOCK_STREAM type sockets and I would like to have a connect
> and read with a timeout.  If I were using UNIX I could do something
> with signals, but this is not supported on vxWorks.  Any ideas would be
> appreciated.

I usually just use the "select" system call to implement reads with
timeouts since you can give that call a timeout and also ask it to
return when the socket you want to read from is readable.  Books like
"Unix Network Programming" can show examples of how to set this up.  A
few points to be careful of are to realize that when select says your
socket has data to read, it doesn't mean that all the data you want
to read is necessarily there yet; you may have to read the data
in multiple chunks if you are using a TCP/IP connection.  Also, there
can actually be cases where it could say that data is readable when
there isn't actually any data available so you really should make sure
to set the socket up as non-blocking and be prepared to get no data
back from your read call (as far as I can tell, this last case can
only happen when multiple tasks are sharing the same socket).  Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |


From jmarc@wrsec.fr  Tue Sep  3 02:39:59 1996
From: jmarc@wrsec.fr (Jmarc Jean-Marc de Maraumont)
Date: Tue Sep  3 02:40:01 PDT 1996
Subject: Xterminal emulator for PC


 Dear VxUsers,


 Does any one of you use a Xterminal emulator successfully with tornado:

PC client using an emulator + Unix station (X11 R5/R6) running Tornado.

Tornado should run on the Unix station and being displayed on the PC.
So far, I have tried using Xoftware (from Chameleon) but it crashes Windows 95.

 Thanks for your help,

                       Jean-Marc De Maraumont.

*****************************************************************
*  Jean-Marc de Maraumont 		email : jmarc@wrsec.fr 	*
*  WIND RIVER SYSTEM EUROPE		tel : 33 1 60 92 63 19 	*
*  19, Av. de la Norvege 	        fax : 33 1 69 92 63 15 	*
*  ZA de Courtaboeuf 1						*
*  91962 LES ULIS cedex. France        http://www.wrs.com       *
*****************************************************************



From daemon@csg.lbl.gov  Tue Sep  3 04:00:32 1996
From: daemon@csg.lbl.gov
Date: Tue Sep  3 04:00:34 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Sep  3 04:00:29 PDT 1996

        Subject: Re: How to detect end of socket connection
        Subject: Re: How to detect end of socket connection
        Subject: Re: Subject: Sockets with a timeout
        Subject: Re: Programming Boot ROMS
        Subject: Hiding symbols with external linkage scope

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to detect end of socket connection
Date: 31 Aug 1996 02:59:45 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <5089r1$2gg@news.pacifier.com>
References: <507e7g$j6v@fu-berlin.de>
Reply-To: steved@pacifier.com  (Steve Doiel)

IHeinz Junkes writes:
>I have open a socket connection with socket, bind, listen, accept
>
>then i read endless commands form the connection.....
>now the other computer crached .....
>the read request gets now always data ... without end 
>
>How can i check that a connection is still alive ???
>
>Heinz
>
I have found that the "read" routine apparently only returns zero length (on
blocking sockets) when the connection is lost.  I can't guarantee this but it
appears to work this way.

Also,  check out the setSockOpt( ...KEEPALIVE ) option
(sorry I don't have a manual in front of me to check the exact syntax).

I hope this helps,
Steve Doiel


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to detect end of socket connection
Date: Fri, 30 Aug 1996 16:19:33 -0700
From: "H.J. Bae" <hjb@peacefulstar.oakland.ca.us>
Organization: Peaceful Star
Message-ID: <32277705.78BA@peacefulstar.oakland.ca.us>
References: <507e7g$j6v@fu-berlin.de>
Reply-To: hjb@peacefulstar.oakland.ca.us

Heinz Junkes wrote:
> 
> I have open a socket connection with socket, bind, listen, accept
> 
> then i read endless commands form the connection.....
> now the other computer crached .....
> the read request gets now always data ... without end
> 
> How can i check that a connection is still alive ???
> 

Since the other computer simply crashed, you can't be
sure whether the connection has been closed properly
by the other computer.  If it had been correctly closed
you could try sending data to it, and it should come back
with error.  If it is unknown whether the other computer
had a chance to properly close the connection, there is 
not any quick way to know the other computer simply crashed
and connection is no longer valid.  You can try using 
KEEPALIVE timeout, but it is set to a long default value (hours).
Pretty much the only reliable and timely way of knowing 
something like this (the other computer crashing) is by
implementing application specific "are-you-there" or "i'm-alive"
type of messages on a seperate channel and timeout dead connections.

- -- 
H.J. Bae				http://peacefulstar.oakland.ca.us

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Subject: Sockets with a timeout
Date: 31 Aug 1996 03:05:39 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <508a63$2gg@news.pacifier.com>
References: <9608310057.AA04625@beavis.isys>
Reply-To: steved@pacifier.com  (Steve Doiel)

Kareem Fawell writes:
>Hello:
>
>I am using SOCK_STREAM type sockets and I would like to have a connect
>and read with a timeout.  If I were using UNIX I could do something
>with signals, but this is not supported on vxWorks.  Any ideas would be
>appreciated.
>

Gee.. I asked EXACTLY the same question several months back.  WRS sent
me a tech note that documents  "ConnectWithTimeout".  It does just what
you're looking for.  If you want particulars on the parameters check in the
header files, if you don't find them email me at steved@woodland.usnr.com.

SteveD
steved@pacifier.com


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Programming Boot ROMS
Date: Sat, 24 Aug 1996 19:06:11 GMT
From: wb6w@netcom.com (Glenn Thomas)
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
Message-ID: <wb6wDwnp2B.6t4@netcom.com>
References: <MAILQUEUE-101.960821094034.416@digsys1.bwi.wec.com>
Sender: wb6w@netcom19.netcom.com

My newsreader claims that CHRIS JONES (cjones@digsys1.bwi.wec.com) wrote:


: Are there any good sources available with instructions for
: programming boot roms?

: Our target is an MVME177.

: How does one seperate ROM image into the even and odd prom?


: Thanks,

: Chris Jones

: cjones@digsys1.bwi.wec.com

: (410) 765-7959
: (410) 993-8822 FAX

: Northrop Grumman
: Electronic Sensors & Systems Division

Chris - The several examples I know of all involve someone writing a
program on the host system that reads the absolute file produced by
the linker (and possibly translated by something like elmHex) into
a memory image buffer and then writeing a file or files in whatever
format is convienent.

If you lean of another way to do it, I'd appreciate an e-mail about
it! Thanks!
- --
*********************************************************************
* "Two wrongs don't make a right, but three lefts do."              *
*                                                                   *
*  wb6w@netcom.com  - Glenn Thomas                                  *
*********************************************************************

---------------------------

Newsgroups: comp.os.vxworks
Subject: Hiding symbols with external linkage scope
Date: 2 Sep 1996 23:30:52 GMT
From: "Arve Sollie" <asollie@online.no>
Organization: ABB Network Partner
Message-ID: <01bb9925$fd9d3a40$6663d4c1@nenu02h1.nopow.abb.no>

We are about to start up a rather large project with vxWorks as platform.
The dynamic link
facilites is ideal as we will develop a rather large set of optional
modules. Each of the modules
will have a rather narrow API, and most inter-module communication will be
database oriented.
Some of the modules will be rather large, and will be made up of several
source files.

Question:
	Is it possible to link a set of object files together, but only to expose
the API routines
	in the symbol table left after the module link process.?  Symbols that are
visible
	between the object files in a module, should not be visible outside the
module.
	The main problem is to avoid multiple symbol declarations, as each module
will
	be designed and implemented by different teams.
 
- ----------------------------------------------------------------
arve.sollie@serly.mail.abb.se
asollie@online.no
- ----------------------------------------------------------------


---------------------------

End of New-News digest
**********************


From MikeMcQuade@connect.com  Tue Sep  3 07:07:50 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Tue Sep  3 07:07:52 PDT 1996
Subject: Re: Xterminal emulator for PC
At 02:40 AM 9/3/96 PDT, you wrote:
>Submitted-by jmarc@wrsec.fr  Tue Sep  3 02:39:59 1996
>Submitted-by: jmarc@wrsec.fr (Jmarc Jean-Marc de Maraumont)
> 
>
>
> Dear VxUsers,
>
>
> Does any one of you use a Xterminal emulator successfully with tornado:
>
>PC client using an emulator + Unix station (X11 R5/R6) running Tornado.
>
>Tornado should run on the Unix station and being displayed on the PC.
>So far, I have tried using Xoftware (from Chameleon) but it crashes Windows 95.
>

We have done it with Linux, of course it will cost you about $6.00 to get
Linux. <g>

Using Linux as a remote X display worked great.

MikeMcQuade@connect.com



From krausvk@vs-ulm.dasa.de  Tue Sep  3 07:17:11 1996
From: "Volker" <krausvk@vs-ulm.dasa.de>
Date: Tue Sep  3 07:17:13 PDT 1996
Subject: Re: Xterminal emulator for PC
>  Dear VxUsers,
> 
> 
>  Does any one of you use a Xterminal emulator successfully with tornado:
> 
> PC client using an emulator + Unix station (X11 R5/R6) running Tornado.
> 
> Tornado should run on the Unix station and being displayed on the PC.
> So far, I have tried using Xoftware (from Chameleon) but it crashes Windows 95.
> 
>  Thanks for your help,
> 
>                        Jean-Marc De Maraumont.
> 

Hi,

we use Exceed for Windows95 /NT from "Hummingbird". We thought as  
well  about Linux.

Regards

Volker
###########################################################

Dr. Volker Kraus

debis Systemhaus GEI
Magirusstrasse 43
D-89077 Ulm
Germany

Tel.: ++49-(0)731-9344-2051
FAX : ++49-(0)731-9344-100
Mail: vkraus@gei-ulm.daimler.benz.com

currently reachable at: 

Daimler-Benz Aerospace
Telesensomatik / Airportlogistik
Woerthstrasse 85
D-89077 Ulm

Tel.: ++49-(0)731-392-4610
FAX : ++49-(0)731-392-3663
Mail: krausvk@vs-ulm.dasa.de

###########################################################


From tmorris@me.umn.edu  Tue Sep  3 07:30:19 1996
From: "Ted Morris" <tmorris@me.umn.edu>
Date: Tue Sep  3 07:30:21 PDT 1996
Subject: Re: http daemon source code
> 
> Submitted-by lyorg@scorpio.com  Sun Sep  1 00:24:39 1996
> Submitted-by: lyorg@scorpio.com (Lyor Goldstein)
>  
> Does anyone know of source code for the "http" daemon on VxWorks ?
> 


Here's something I saved a while back.  Haven't had a chance to use it yet.
In the same line of thought -- is there a server that runs JAVA out there?
yikes!

Ted


> > 
> A lot of people asked for the toy HTTP server for VxWorks.
> It is in:
>       http://peacefulstar.oakland.ca.us/vxhacks.html
> 
> It's a hack, so don't expect much.  It's useful for letting your
> embedded target respond to HTTP clients (netscape)
> for management functions, etc.
> 
> HJB
> 



     _/_/_/     _/_/    _/_/    _/_/ _/_/_/      _/_/     _/_/_/
   _/         _/  _/   _/ _/  _/ _/ _/    _/   _/  _/   _/
  _/        _/    _/  _/  _/_/  _/ _/    _/  _/    _/  _/
 _/        _/_/_/_/  _/   _/   _/ _/    _/  _/_/_/_/  _/
 _/_/_/   _/    _/  _/        _/ _/_/_/    _/    _/   _/_/_/


------------------------------------------------------------------------------

Ted Morris
tmorris@me.umn.edu                                             612-625-3520
Center For Advanced Manufacturing Design And Control           612-625-9881
Institute of Technology                                   FAX: 612-625-8884
University of Minnesota
111 Church St. S.E. (Rm 125)
Mpls  MN   55455

"A lie can travel halfway around the world before the truth can get
its shoes on." [Actually, NOT Mark Twain]

------------------------------------------------------------------------------


From c_mcfarr@linkabit.titan.com  Tue Sep  3 08:20:37 1996
From: c_mcfarr@linkabit.titan.com (Shawn McFarr)
Date: Tue Sep  3 08:20:39 PDT 1996
Subject: Using crosswind in system-mode

I am using Tornado 1.0 and would like to set breakpoints in my tasks and ISR
routines using crosswind. What are the steps involved to set breakpoints using
the system mode? The target agent is configured with a serial port as the 
communication interface to host based tools. 

Thanks, 
Shawn McFarr


From clugo@emu.sp.trw.com  Tue Sep  3 10:12:36 1996
From: "Carol L. Lugo" <clugo@emu.sp.trw.com>
Date: Tue Sep  3 10:12:38 PDT 1996
Subject: rpcgen for vxworks

Hi !
Looking for a rpcgen for VxWorks...does anyone know of anything ??

Carol


From SJohnson@systran.com  Tue Sep  3 13:46:46 1996
From: Steve Johnson <SJohnson@systran.com>
Date: Tue Sep  3 13:46:48 PDT 1996
Subject: PPC 1604 VME A32 Mapping

Summary of problem:

Cannot access A32 VME space when using default values in sysLib.c

Description of problem:

Found the following values defined in mv1600.h:
VME_WINDOW_A32_BASE     0xd0000000
VME_WINDOW_A32_SIZE     0x04000000

This will allocate a VME window from CPU addresses
0xd0000000 to 0xd3ffffff
which is consistent with the values found in the VME2PCI registers
0x48    = 1000
0x4a    = 13ff
0x4c    = 0001
0x4e    = f000

which causes any access in the range
d0000000 to d3ffffff
to be translated to the VME addresses
00000000 to 03ffffff

But, when I place our card at VME address 0 and try to read the board's 
memory, I get:

0xd0000000:
data access
Exception...
...

The problem seems to be with the addition of the LOCAL_BUS_MEM_A32 in the 
sysPhysMemDesc[] array.
This seems to allow only VME addresses from
0xd8000000 to 0xdcffffff
but the VME2PCI chip does not pass these addresses on.

I can get around this by widening the window in VME2PCI and placing our card 
at 0x08000000 or by placing our card at 0x00000000 and removing the 
LOCAL_BUS_MEM_A32 and rebuilding the kernel.
Am I doing something wrong, or is the VME A32 space disabled by default on 
purpose?


From idg!idg.encomix.com!Mr.Chip@encomix.com  Tue Sep  3 14:06:43 1996
From: Mr.Chip@idg.encomix.com (Roberto Artola)
Date: Tue Sep  3 14:06:45 PDT 1996
unsubscribe
--- OffRoad 1.9n unregistered


From bqv@eng102.eng.i-o.com  Tue Sep  3 15:19:59 1996
From: "Bang Q. Vu" <bqv@eng102.eng.i-o.com>
Date: Tue Sep  3 15:20:02 PDT 1996
Subject: Re: rpcgen for vxworks 
Carol Lugo penned:
>
>Hi !
>Looking for a rpcgen for VxWorks...does anyone know of anything ??
>
>Carol
>

Well, i'm using rpcgen which comes with SunOS 5.4 (/usr/bin/rpcgen) to 
generate codes for VxWorks. You should be able to find rpcgen for other flavor 
with Unix.
--
Bang Vu                   | I/O, Inc.             
bvu@eng102.eng.i-o.com    | 12300 Parc Crest Dr. 
Voice 713-879-2087        | Stafford, Texas 77477
Fax   713-879-2096        |



From MikeMcQuade@connect.com  Tue Sep  3 15:57:21 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Tue Sep  3 15:57:23 PDT 1996
Subject: Re: PPC 1604 VME A32 Mapping
At 01:46 PM 9/3/96 PDT, you wrote:
>Submitted-by SJohnson@systran.com  Tue Sep  3 13:46:46 1996
>Submitted-by: Steve Johnson <SJohnson@systran.com>
> 
>
>Summary of problem:
>
>Cannot access A32 VME space when using default values in sysLib.c
>
snip...


I had a similar problem trying to access A24 space, I fixed my problem with
the following code in sysLib.c

Also, someone a while back had a similar problem, thhey were in A32 space, I
sent them this code and it worked for them...

/*
 * sysBatDesc[] is used to initialize the block address translation (BAT)
 * registers within the PowerPC 603/604 MMU.
 */

UINT32 sysBatDesc [2 * (_MMU_NUM_IBAT + _MMU_NUM_DBAT)] =
    {
    ((VME_WINDOW_A24_BASE & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_16M |
    _MMU_UBAT_VS | _MMU_UBAT_VP),						/* Instruction BAT 0 */
    ((VME_WINDOW_A24_BASE & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
_MMU_LBAT_GUARDED | _MMU_LBAT_CACHE_INHIBIT),				
    ((VME_WINDOW_A32_BASE & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_256M |
    _MMU_UBAT_VS | _MMU_UBAT_VP),						/* Instruction BAT 1 */
    ((VME_WINDOW_A32_BASE & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
_MMU_LBAT_GUARDED | _MMU_LBAT_CACHE_INHIBIT),
    _MMU_UBAT_NOT_USED,								/* Instruction BAT 2 */
    _MMU_LBAT_NOT_USED,
    _MMU_UBAT_NOT_USED,								/* Instruction BAT 3 */
    _MMU_LBAT_NOT_USED,
    ((VME_WINDOW_A24_BASE & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_16M  |
    _MMU_UBAT_VS | _MMU_UBAT_VP),						/* Data BAT 0 */
    ((VME_WINDOW_A24_BASE & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
_MMU_LBAT_CACHE_INHIBIT),
    ((VME_WINDOW_A32_BASE & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_256M |
    _MMU_UBAT_VS | _MMU_UBAT_VP),						/* Data BAT 1 */
    ((VME_WINDOW_A32_BASE & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
_MMU_LBAT_CACHE_INHIBIT),
    _MMU_UBAT_NOT_USED,								/* Data BAT 2 */
    _MMU_LBAT_NOT_USED,
    _MMU_UBAT_NOT_USED,								/* Data BAT 3 */
    _MMU_LBAT_NOT_USED
    };







>Yep, your sysBatDesc worked, but I had to make a change in 
>VME_WINDOW_A32_SIZE defined in mv1600.h. The default was way too small
>at 0x04000000. With LOCAL_MEM_BUS_A32 starting at 0x08000000, this
>size is not enough to reach the PCI Slave Start Adress at 0x10000000.
>I changed VME_WINDOW_A32_SIZE to 0x10000000, and started my addressing
>at 0x0a000000. (Also I commented out the entry for A32 space in
>sysPhysMemDesc). Now I can read and write to A32 VME memory!



Hope it helps.


MikeMcQuade@connect.com



From bff@dspcon.com  Tue Sep  3 18:01:46 1996
From: bff@dspcon.com (Robert F. Franz)
Date: Tue Sep  3 18:01:51 PDT 1996
Subject: 100BaseT4
I have 2 100BaseT4 boards and I am wondering if I can hook them together
without a hub if I cross the wiring.  Are the signal levels compatible?
The price of 100BaseT4 hub is dropping every week and I only need two
computers networked at the moment.
-------------------------------------------------------------------------------
       DSPCon, Inc. -- leaders in digital signal processing solutions
-------------------------------------------------------------------------------
       Bob Franz

       380 FootHill Rd.
       Bridgewater, NJ 08807
       (908)722-5656 Fax:(908)722-3259
       bff@dspcon.com

-------------------------------------------------------------------------------



From ensslin@dreisoft.de  Wed Sep  4 00:45:03 1996
From: Friedrich Ensslin <ensslin@dreisoft.de>
Date: Wed Sep  4 00:45:05 PDT 1996
Subject: AW: Xterminal emulator for PC
the vxWorks Users Group Exploder[SMTP:vxwexplo@lbl.gov] wrote:

>
> Dear VxUsers,
>
>
> Does any one of you use a Xterminal emulator successfully with tornado:
>
>PC client using an emulator + Unix station (X11 R5/R6) running Tornado.
>
>Tornado should run on the Unix station and being displayed on the PC.
>So far, I have tried using Xoftware (from Chameleon) but it crashes Windows 95.
>
> Thanks for your help,
>
>                       Jean-Marc De Maraumont.
>

I am using Hummingbird's eXceed on Win95 successfully for exactly that purpose, and it works fine.

Hope this helps.

------------------------------------------------
  Friedrich Ensslin
  3SOFT GmbH
  Wetterkreuz 19a , D-91058 Erlangen , Germany
  phone: +49 9131 7701-0 , fax: +49 9131 7701-80
  email: ensslin@dreisoft.de  



From rip@wrsec.fr  Wed Sep  4 01:30:50 1996
From: rip@wrsec.fr (Rip richard Williamson )
Date: Wed Sep  4 01:30:52 PDT 1996
Subject: Re: PPC 1604 VME A32 Mapping
Steve Johnson <SJohnson@systran.com> might have said:

> Summary of problem:
> 
> Cannot access A32 VME space when using default values in sysLib.c
> 
> Description of problem:
> 
> Found the following values defined in mv1600.h:
> VME_WINDOW_A32_BASE     0xd0000000
> VME_WINDOW_A32_SIZE     0x04000000
> 
> This will allocate a VME window from CPU addresses
> 0xd0000000 to 0xd3ffffff
> which is consistent with the values found in the VME2PCI registers
> 0x48    = 1000
> 0x4a    = 13ff
> 0x4c    = 0001
> 0x4e    = f000
> 
> which causes any access in the range
> d0000000 to d3ffffff
> to be translated to the VME addresses
> 00000000 to 03ffffff
> 
> But, when I place our card at VME address 0 and try to read the board's 
> memory, I get:
> 
> 0xd0000000:
> data access
> Exception...
> ...
> 
> The problem seems to be with the addition of the LOCAL_BUS_MEM_A32 in the 
> sysPhysMemDesc[] array.
> This seems to allow only VME addresses from
> 0xd8000000 to 0xdcffffff
> but the VME2PCI chip does not pass these addresses on.
> 
> I can get around this by widening the window in VME2PCI and placing our card 
> at 0x08000000 or by placing our card at 0x00000000 and removing the 
> LOCAL_BUS_MEM_A32 and rebuilding the kernel.
> Am I doing something wrong, or is the VME A32 space disabled by default on 
> purpose?
>

The mv1604 bsp has in its sysLib.c the following entry in the sysPhysMemDesc
regarding A32 space on the VME:

    {
    (void *) (VME_WINDOW_A32_BASE + LOCAL_MEM_BUS_A32),
    (void *) (VME_WINDOW_A32_BASE + LOCAL_MEM_BUS_A32),
    0x04000000,                         /* 64 meg */
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT
    },

This entry has the effect of opening a window on the A32 mapping from
0x0800'0000 to 0x0c00'0000.

This is mapped this way, because the LOCAL_MEM_BUS_A32 is set to
0x0800'0000 + (0x0100'0000 * procNum), and if you are trying to boot 
n ppc cards via shared memory, this is where they will begin in A32 
space. LOCAL_MEM_BUS_A32 is set to 0x0800'0000 due to a hardware 
addressing conflict.

If, however, you are only trying to read an i/o card at A32 0x0, you will
get this data access error.

The three simplest methods then to fix this feature:

1)  change the sysPhysMemDesc entry addresses:

    {
    (void *) (VME_WINDOW_A32_BASE),
    (void *) (VME_WINDOW_A32_BASE),
    0x04000000,                         /* 64 meg */
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT
    },

(Allows A32 access from 0x0 to 0x03ff'ffff)

2)  If you need to boot n ppc cards, as well as an i/o card at 0x0, then 
you will need to change the size of the window to something outrageous 
like 0x1000'0000.  This allows A32 access from 0x0 to whereever you have 
set, but eats up a ton of memory creating the page tables for the MMU.
It might be smarter to rejumper your i/o board.

3)  Rejumper your target board for 0x0800'0000.

Wed Sep 4 10:36:02 MET DST 1996

-----------------------------------------------------------------------
  Merci de corriger mes fautes.  Sie koennen mich gern berichtigen.
-----------------------------------------------------------------------
Richard Williamson                                         rip@wrsec.fr
Technical Support Engineer                     vox: +33 (1) 60.92.63.13
Wind River Systems - EC                        fax: +33 (1) 60.92.63.15
-----------------------------------------------------------------------
INCLUDED MESSAGES: 
        36:  Certe, Toto, sentio nos in Kansate non iam adesse...
--------------------------------------------------END INCLUDED MESSAGES


From daemon@csg.lbl.gov  Wed Sep  4 04:01:39 1996
From: daemon@csg.lbl.gov
Date: Wed Sep  4 04:01:41 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Sep  4 04:00:47 PDT 1996

        Subject: Re: work queue overflow
        Subject: Re: Two Ethernets
        Subject: lptDrv, lptIntr never called
        Subject: Re: HELP!!!

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: work queue overflow
Date: 25 Aug 1996 18:19:15 -0400
From: thesharps@aol.com (THE SHARPS)
Organization: America Online, Inc. (1-800-827-6364)
Message-ID: <4vqjh3$9dr@newsbf02.news.aol.com>
References: <321F7F76.D0B@aminet.co.kr>
Reply-To: thesharps@aol.com (THE SHARPS)
Sender: root@newsbf02.news.aol.com

In general, that message indicates that the kernal work queue, which is
very small, has overflowed.  Since this should not be happening, it is a
symptom of
another problem, probably dealing with interrupts or interrupt handlers.

I have seen that message when I forget to remove a printf from an ISR
being developed, or have done other silly things in ISRs.  If you are
using interrupts in your application, make sure that you are clearing the
status bits and the source of the interrupt properly, and that you are not
doing anything improper in the ISR. The basic rules of thumb for ISRs are
not to do anything that will block, and to get in and out as quickly as
possible.

Hope this helps.  Please let me know what it ultimately turns out to be.

Tim Sharp

Software Engineer, Cambridge Parallel Processing
tsharp@cppus.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Two Ethernets
Date: Tue, 03 Sep 1996 10:10:50 -0700
From: Greg Rasche <grasche@gi.com>
Organization: General Intrument
Message-ID: <322C669A.6424@gi.com>
References: <2.2.32.19960829212248.0068cf90@mailhost.mclean.sparta.com>

Yes two enet interfaces are supported.  There is a 68EN360 
manual marked "revision 1", which is newer than the "no 
revisions" version that clearly states this.

Greg Rasche

Thomas K. Buchanan wrote:
> 
> At 01:10 PM 8/29/96 PDT, you wrote:
> >Submitted-by budh@venus.gvg.tek.com  Thu Aug 29 13:10:14 1996
> >Submitted-by: budh@venus.gvg.tek.com (Bud Hensley)
> >
> >
> >Has anyone run the Motorola MC68EN360 processor at 25mHZ
> >with two ethernets. There is a controversy on performance,
> >if two can be active the same time. Does the CPM risc have
> >enough horsepower to run 2 copies of the ethernet protocol
> >microcode at the same time.
> 
> It is my understanding that the '360 can only physically and electrically
> support one 10Mbit/s interface at a time.  At least that is what my
> technical manual says...
> 
> adios
> -----------------------------------------
>      /\\     Keith Buchanan
>     ///\\
>    /////\\   SPARTA, Inc.
>   /////  \\  7926 Jones Branch Drive
>  / \\\\\  \\ Suite 900
>  \  \\\\\ // McLean, VA 22102
>   \  //////
>    \//////   Voice: 703 448 0210
>     \////    FAX:   703 893 5494
>      \//     WWW:   www.mclean.sparta.com


---------------------------

Newsgroups: comp.os.vxworks
Subject: lptDrv, lptIntr never called
Date: Tue, 03 Sep 1996 14:46:22 -0600
From: Tom Knowlton <tknowlto@es.com>
Organization: Evans and Sutherland Computer Corp.
Message-ID: <322C991E.48F5@es.com>

I am using the standard (WRS) lptDrv.c to drive a parallel printer
on an 80486 target system. Everything appears to be working right,
except for the fact that the printer won't print (although I know it
isn't hardware that is the problem... it prints when I boot the same
hardware up into NT.

a typical session might be as follows:

- -> lptDrv(0x0f, 07)   /* IRQ 7 = INT 0x0f */
0x00 (return code)
/* I hear the printer make its typical "reset" sound */
- -> lptDevCreate("/lpt/0", 0)
0x00
- -> fd = open("/lpt/0", 1)  /* 1 = WRITE */
symbol fd added to symbol table... (shortened for brevity)
fd = 0x13 = 19
- -> fdprintf(fd, "this is a test")
lptWrite: secCnt = 1 intCnt = 0
lptWrite: secCnt = 2 intCnt = 0
lptWrite: secCnt = 3 intCnt = 0
lptWrite: secCnt = 4 intCnt = 0
/* you get the picture? */

This appears to be telling me that the IRQ is not going high, therefore
INT 0x0f is not being triggered. The driver code sets the parallel port
control register to enable the IRQ, so my big question is, why isn't
the doggone ISR being called? (as a result of the ISR not being called,
semaphores aren't being given up, and that is what causes the loop
as described above). Can anyone explain what I am doing wrong? If you
need more information about what I am doing, please email me.
Your help is appreciated.
- -- 
***********************************************************************
|Thomas E. Knowlton, Jr.           | "Some people without any brains  |
|tknowlto@es.com                   |  do an _awful_ lot of talking."  |
|Evans & Sutherland Computer Corp. |   --the Scarecrow, from          |
|http://www.cc.utah.edu/~tek08360  |     _The_Wizard_of_OZ_           |
|#include <disclaimer.h>           |                                  |
***********************************************************************

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: HELP!!!
Date: 23 Aug 1996 18:16:55 GMT
From: scott@tcville.es.hac.com
Organization: Hughes Aircraft
Message-ID: <4vksin$9o9@hacgate2.hac.com>
References: <2.2.32.19960821220149.0069c118@mail.wrs.com>
Reply-To: scott@tcville.es.hac.com

In article 0069c118@mail.wrs.com, Jon Hillman <jhillman@wrs.com> () writes:
>At 11:21 AM 8/21/96 PDT, Tai Cao wrote:
>>  Does anyone know the address of the GUI news group.
>>I need some information on the GUI design tool that interfaces with
>>Ada application on the PC platform (486 processor).  Any suggestion
>>would be greatly appreciated.

>I understand that Green Hills ADA-MULTI will be available soon on
>PC/Windows95.  I have forwarded your request to Pat Rodenbeck of
>Green Hills (pat@ghs.com) to get in touch with you.

I believe their PC version supports Ada95 !!
Quite a versatile builder utility and host side debugger
(we have 6months of use with their Ada83+C builder on an
  AIX host with SELF/RAD6k target).

Scott

- ---
Hughes Aircraft Co.		voice:	(310) 616-1059
Image and Signal Processing Lab	addr:	scott@tcville.es.hac.com
PO Box 902, EO/E01/A172, El Segundo, Ca. 90245


---------------------------

End of New-News digest
**********************


From Peter_D_Smith@ccmail.res.ray.com  Wed Sep  4 05:43:31 1996
From: Peter_D_Smith@ccmail.res.ray.com
Date: Wed Sep  4 05:43:33 PDT 1996
Subject: VxWorks Exploder Subscription List
     Please remove my e-mail address from the VxWorks Exploder subscription 
     list.  Thank you.
     
     Peter D. Smith



From clugo@emu.sp.trw.com  Wed Sep  4 12:45:38 1996
From: "Carol L. Lugo" <clugo@emu.sp.trw.com>
Date: Wed Sep  4 12:45:40 PDT 1996
Subject: shell hell !

Here is the problem:

We needed to be able to launch a startup script when our target board boots. We modified our config.h file and added quite a few 5.2 options in order to get the startup script to work under 5.3 (Tornado). 

Everything was fine until I used "m" command inside the shell to modify a register in the A16 address space of a custom board. It looks as though executing "m" under the Tornado shell caused the wrong value to be written into the register while executing the "m" command under the target resident shell caused the correct value to be written to the register.


Yukk...please tell me there is a simple explanation ....

Thanks in advance,

Carol Lugo


From daemon@csg.lbl.gov  Thu Sep  5 04:02:37 1996
From: daemon@csg.lbl.gov
Date: Thu Sep  5 04:02:39 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Sep  5 04:02:34 PDT 1996

        Subject: Re: Subject: Sockets with a timeout
        Subject: Re: UDP packet - max size?

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Subject: Sockets with a timeout
Date: 3 Sep 1996 20:12:15 GMT
From: alexm@vlsi.gsfc.nasa.gov (Alex Measday)
Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
Message-ID: <50i3ev$oil@post.gsfc.nasa.gov>
References: <322B1EFE.59E2B600@bbn.com>

In article <322B1EFE.59E2B600@bbn.com>, Fred Roeber wrote:
>
> I usually just use the "select" system call to implement reads with
> timeouts ...
> Also, there can actually be cases where [select()] could say that data
> is readable when there isn't actually any data available so you really
> should make sure to set the socket up as non-blocking ...

If you're using select(), there's no reason (that I'm aware of) for the
socket to be non-blocking.

> ... and be prepared to get no data back from your read call (as far
> as I can tell, this last case can only happen when multiple tasks are
> sharing the same socket).

Say what?!  :)  Having multiple tasks simultaneously reading from a single
socket is not a good idea.

                                        Alex

========================================================================
|  Alex Measday             Code 521 - Microelectronic Systems Branch  |
|  Integral Systems, Inc.            NASA Goddard Space Flight Center  |
|  c.a.measday@ieee.org                                 Greenbelt, MD  |
========================================================================
)                     http://purl.oclc.org/net/alex/                   (
========================================================================


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: UDP packet - max size?
Date: Wed, 04 Sep 1996 18:27:16 -0700
From: "H.J. Bae" <hjb@peacefulstar.oakland.ca.us>
Organization: Peaceful Star
Message-ID: <322E2C74.2040@peacefulstar.oakland.ca.us>
References: <3221CCFD.794B@boris.msfc.nasa.gov> <502g9o$m7k@idiom.com> <MCHARNOK.96Sep3173913@fcfsrv1.fcfsrv1.lerc.nasa.gov>
Reply-To: hjb@peacefulstar.oakland.ca.us

Michael Charnoky wrote:

> 
> First of all, these buffers can only be set to a maximum size of roughly
> 52224 bytes.  Why the limit?  Is this limit universal or only inherent to
> VxWorks?  (I've seen no documentation...)
> 

The limit in VxWorks is actually something like 52387.  This is BSD UNIX
legacy (BSD 4.3 Tahoe release, a.k.a net-1).   The limit is imposed
in sbreserve() routine in uipc_socket2.c.  This limit is rather
arbitrary
and should be changed and/or made tunable by users.  Later and eariler
versions of BSD UNIX network code had different limits.

> Second, sending a UDP packet succesfully required extensive tinkering.  I
> found that once the receive buffer is set to be twice as large as the send
> buffer, the transfer succeeds.  Why is this so?  No such magic is needed
> when setting the TCP bufs...

UDP is inherently unreliable.  If you want a reliable service, use TCP.

- -- 
H.J. Bae
http://peacefulstar.oakland.ca.us
mailto:hjb@peacefulstar.oakland.ca.us

---------------------------

End of New-News digest
**********************


From SJohnson@systran.com  Thu Sep  5 06:00:30 1996
From: Steve Johnson <SJohnson@systran.com>
Date: Thu Sep  5 06:00:33 PDT 1996
Subject: dosFs operation

We are working on a vxWorks block device driver for disc drives.  We are 
using the dosFs file system.  The driver is designed to support concurrent 
read/write requests to multiple drives to optimize throughput.  When I spawn 
a number of tasks to do operations to the discs I observe the value 
"0x3d0001" in the ERRNO field of the i() command.  This value appears to be 
consistent until each of the tasks terminate.  According to the vxWorks 
module numbering and errno reporting logic this value resolves to the error: 
"S_objLib_OBJ_ID_ERROR".  I cannot find any information as to what condition 
produces this error.  Although, I have obeserved this same return value when 
doing an "ls()" from the shell on a disc that has no files.  Is this 
expected or is there some condition I have completely overlooked in the 
driver design ?

Any insight into this situation will be greatly appreciated.

Thanx,

S.L. Johnson
Systran Corp.
Dayton, Ohio
sjohnson@systran.com


From legoas_marco_a@space.honeywell.com  Thu Sep  5 07:37:47 1996
From: "Legoas Marco A" <legoas_marco_a@space.honeywell.com>
Date: Thu Sep  5 07:37:50 PDT 1996
Subject: dos FS file size dependency?


Is there a file size limitation when using the VxWorks DOS file system?
We are noticing a speed deterioration as we are accessing  the  end of large
files (> 250 Megs). We are using file oriented IO
(fopen,fseek,fread,fclose,...etc). Also we fopen and fclose the file every
time.



Marco A. Legoas

malegoas@space.honeywell.com



From sblachma@aoc.nrao.edu  Thu Sep  5 08:17:25 1996
From: Steve Blachman <sblachma@aoc.nrao.edu>
Date: Thu Sep  5 08:17:27 PDT 1996
Subject: Re: dos FS file size dependency?

> Is there a file size limitation when using the VxWorks DOS file system?
> We are noticing a speed deterioration as we are accessing  the  end of large
> files (> 250 Megs). We are using file oriented IO
> (fopen,fseek,fread,fclose,...etc). Also we fopen and fclose the file every
> time.

Yes, or at least we noticed the same effect when writing files.  It depends
on cluster size, so if your files have a size limit, you can adjust the
clusters so the first speed shelf does not occur until after that limit.
We also notice a series of speed drops every  X mb.  I do not know what
causes it though, perhaps some multiple FAT table access.

Steve Blachman


From dmidkiff@trandes.com  Thu Sep  5 13:22:08 1996
From: "DENNIS MIDKIFF" <dmidkiff@trandes.com>
Date: Thu Sep  5 13:22:11 PDT 1996
Subject: 8 Port Serial boards for X86 platform
     Hello,
     
     Could anyone recommend a 8 channel serial board for a 486 PC.  I have 
     a project I am working on and want to stay compatable with WindRiver 
     and Tornado.  So I want to be able to plug in the Card, compile or 
     include the serial driver and be on my way.  Any help will be 
     appreciated.
     
     
     
     Thanks in advance
     
     
     Dennis midkiff
     dmidkiff@trandes.com 



From joergb@wrs.com  Thu Sep  5 15:29:32 1996
From: Joerg Bertholdt <joergb@wrs.com>
Date: Thu Sep  5 15:29:34 PDT 1996
Subject: Perl on VxWorks
Hi,

is anybody aware of a Perl interpreter for VxWorks?
Any information is highly appreciated.

Thanks in advance

Joerg

__________________________________________________________________
Joerg Bertholdt                            	joergb@wrs.com
Product Marketing Manager OS              	Wind River Systems
+1-510-814-2056 voice                        	Alameda, CA 94501
+1-510-814-2010 fascimile                       http://www.wrs.com
__________________________________________________________________



From KURT.STAUBLI@roche.com  Fri Sep  6 00:08:19 1996
From: "NAME \"Staubli Kurt\" 2607" <KURT.STAUBLI@roche.com>
Date: Fri Sep  6 00:08:22 PDT 1996
Subject: VxWork on Motorola 68332
We write real time application for medical analyzers and will use VxWorks on a
68360 in the near future. Another group evaluate a real time operating system
for a 68332@24MHz. They control DC motor controllers, step motor controllers,
digital I/O, AD Converters, serial communication 375kBaud on that board. Has
anybody used VxWorks on a 68332 Target ? What about speed and response
performance of VxWorks for such applications ? Are there other Real Time OS for
such application ?

Kurt Staubli
Kurt Staubli
c/o Tegimenta AG
Forrenstrasse
6343 Rotkreuz
Switzerland
 
++41 799 26 07
kurt.staubli@roche.com




From kiran@vms.masd.northgrum.com  Fri Sep  6 07:15:03 1996
From: kiran@vms.masd.northgrum.com (Kiran Suwal)
Date: Fri Sep  6 07:17:00 PDT 1996
Subject: Executing application code residing in SYS68K RR-2 memory board

Hi,

Does anyone know how to configure vxWorks such that after booting it executes 
application code stored in a SYS68K RR-2 memory board EPROMs. My standalone
system consists of a FRC40 CPU and a SYS68K RR-2 memory board. Any insight into
this will be greatly appreciated.


Kiran R. Suwal
Northrop Grumman Corp.






From MikeMcQuade@connect.com  Fri Sep  6 07:53:59 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Fri Sep  6 07:54:00 PDT 1996
Subject: Linked List DMA xfers
Has anyone setup a linked list DMA xfer, Im trying to set one up using the
Newbridge Universe chip.

Id love to see an example in C.


Thanks.


Mike 





MikeMcQuade@connect.com



From anthonyl@atlantis.softeng.lamrc.com  Fri Sep  6 13:55:26 1996
From: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
Date: Fri Sep  6 13:55:28 PDT 1996
Subject: Tonado development environment
Hi VxWorks users,

My company is ready to move to Tonado using Window NT as  
development environment. We plan
to use the cross compiler run on PC to genenrate embeded code. We  
like to move away from the SUN.

Can anybody make comments about this enviroment.

Thanks

Anthony Le
LAM Research Corp.


From slirosi@gic.gi.com  Fri Sep  6 14:05:04 1996
From: "Lirosi, Salvatore (HT-MS)" <slirosi@gic.gi.com>
Date: Fri Sep  6 14:05:06 PDT 1996
Subject: zbufSockLib

I am having a lot of trouble getting improved performance using zbufSockLib. 
 In receiving UDP frames, the supplied zbuf contains multiple segments. 
 These are the kernel mbufs no doubt.

However, I cannot see how non-contiguous data received can be made to work 
efficiently.  Either one has to copy the data out or if not, incur 
unreasonable overhead in using it.

Does anyone have any experiences with utilizing UDP data received within 
zbufs?



Sal


From YF.Siu@eng.efi.com  Fri Sep  6 16:51:44 1996
From: "Yuet Fung Siu" <YF.Siu@eng.efi.com>
Date: Fri Sep  6 16:51:46 PDT 1996
Subject: Token-ring driver

My colleague is seeking the routing code for token-ring
drivers under VxWorks 5.2. Any relevant information is
greatly appreciated.

YF


From daemon@csg.lbl.gov  Sat Sep  7 04:00:51 1996
From: daemon@csg.lbl.gov
Date: Sat Sep  7 04:00:55 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Sep  7 04:00:48 PDT 1996

        Subject: PC BIOS extension creation HELP ??
        Subject: Offset for VxGDB

-------------------------------------------------------

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.sys.intel
Subject: PC BIOS extension creation HELP ??
Date: 6 Sep 1996 11:30:10 GMT
From: David Costain <100072.3624@CompuServe.COM>
Organization: VG Organic
Message-ID: <50p202$7d1$1@mhade.production.compuserve.com>

I am currently trying to create a vxWorks bootrom for the 486/586
platform. To this end, I am working on a BIOS extension-like 
EPROM that contains the BIOS identifier header, and an in-house 
loader to load vxWorks into RAM, prior to executing the code.

My BIOS header format is as follows:

byte0:   55
byte1:   AA
byte2:   01      /* 1 x 512 byte block */
byte3:   start of loader code

Is this format correct ? I have a couple of technical references 
which have conflicting formats. The above format looks the same 
as my video BIOS.

I am aware of commercially available bootrom cards, but we would 
like to put the EPROM on one of our in-house ISA cards.

Any information gratefully accepted !

Thanks,
Dave Costain
Micromass UK Ltd
dave.costain@micromass.co.uk

---------------------------

Newsgroups: comp.os.vxworks
Subject: Offset for VxGDB
Date: 6 Sep 1996 19:16:55 GMT
From: ashrafis@nt.com (Siamak Razzaghe-Ashrafi)
Organization: Northern Telecom Inc., Mission Park
Message-ID: <50ptb7$hiq@nrchh52.rich.nt.com>


Is there a way to load a dynamicly linked Dot.o without symbols.
Then use the sym command to load the symbol table into VxGDB 
and get VxGDB to know the offset and debug the program?

ashrafis@nt.com

everThing, everyWhere, anyTime.
- -- 
The thing is it so I believe it is the thing. -SubZero

---------------------------

End of New-News digest
**********************


From leonid@rst.co.il  Sat Sep  7 23:37:32 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Sat Sep  7 23:37:38 PDT 1996
Subject: Re: PC BIOS extension creation HELP ??

> Subject: PC BIOS extension creation HELP ??
> Date: 6 Sep 1996 11:30:10 GMT
> From: David Costain <100072.3624@CompuServe.COM>
> Organization: VG Organic
> Message-ID: <50p202$7d1$1@mhade.production.compuserve.com>

> I am currently trying to create a vxWorks bootrom for the 486/586
> platform. To this end, I am working on a BIOS extension-like 
> EPROM that contains the BIOS identifier header, and an in-house 
> loader to load vxWorks into RAM, prior to executing the code.
> ...
> Is this format correct ? I have a couple of technical references 
> which have conflicting formats. The above format looks the same 
> as my video BIOS.

Basically the format you described is ok, except there is also a checksum
that should appear at te end of the block(s) according to the number
of blocks specified in the 3rd byte. Some BIOS check the checksum,
some dont. So if you want to be sure your BOOTROM will work
with different BIOS versions, be sure to have the checksum too.

Luckily, the lonker supplied with Tornado knows how to do it.
Use the "-b" option, and it will add the signature in front and
the checksum in the back, and will automatically calculate the 3rd byte
and checksum for you. The Tornado assembler will give you trouble
though trying to compile 16-bit code. Beware.

We have been through this when creating a BOOTABLE Flash File System.
Essentially it is an ISA (or PC104) Flash card, we reserve its first 64K
block to put a bootstrap code which will enter protected mode and
load a specific file from the rest of the Flash card formatted as
a Flash File System in to RAM and execute it. The result is pretty
cute - you plug in the Flash card, turn power on - and voila! standalone
VxWorks greets you nicely. Then of course you can replace the file
just booted, or add other files as it is a fully functional file system.


From daemon@csg.lbl.gov  Sun Sep  8 04:01:06 1996
From: daemon@csg.lbl.gov
Date: Sun Sep  8 04:01:08 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Sep  8 04:01:01 PDT 1996

        Subject: Re: Problems with select() and recv().
        Subject: Re: rpcgen for vxworks
        Subject: Re: VxWork on Motorola 68332

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Problems with select() and recv().
Date: 7 Sep 1996 13:14:01 GMT
From: tfm@sei.cmu.edu (Theodore Marz)
Organization: The Software Engineering Institute
Message-ID: <50rsep$89o@news.sei.cmu.edu>
References: <3230A5B4.3C6F@htc.honeywell.com>


In article <3230A5B4.3C6F@htc.honeywell.com>, Lee Graba <Graba_Lee@htc.honeywell.com> writes:
|> We are using VxWorks 5.1 on Force 40 VME boards (68040).  In part of our application, a 
|> task running at a priority of 33, goes into a select loop, where it waits on a few 
|> sockets on which connections already exist.  Its basic task is below:
|> 
|> 	for (;;)
|> 	{
|> 		select_cnt=select(readfds, 0, 0, 0, 10 seconds);
|> 		if (select_cnt > 0)
|> 		{
|> 			find the FD with stuff to read
|> 			read the stuff into a buffer using 2 calls to recv
|> 			spawn a task at lower priority to process the buffer
|> 		}
|> 		else if (select_cnt < 0)
|> 		{
|> 			get errno and print error string
|> 		}
|> 	}
|> 
|> After the select, I have use ioctl to check the bytes to read, and compared with the 
|> number of bytes read by the recv calls, and these add up.  The task that is spawned to 
|> process the buffer owns the buffer, and the parent task doesn't touch it after the task 
|> is spawned.
|> 
|> The problem is, we are getting many errors from select after first getting a good 
|> select, i.e. we successfully read the proper number of bytes from the fd, spawn a task, 
|> and when we then loop around to call select again, it immediately returns select_cnt = 
|> -1,  and errno = 0xD0003, which strerror_r reports as having to do with an 
|> INVALID_FILE_DESCRIPTOR.  If I put a taskDelay of 100 ms somewhere in the select loop, I 
|> no longer get these messages.
|> 
|> Anybody have any idea what is causing select to return the error, and why timing has 
|> anything to do with it?
|> 
|> 
|> -- 
|> ===========================================================================
|> Lee Graba                                                                 =
|> Honeywell Technology Center                                               =
|> 3660 Technology Drive                                                     =
|> Minneapolis, MN 55418                                                     =
|> (612) 951-7503                                                            =
|> Graba_Lee@htc.honeywell.com                                               =
|> graba@htc.honeywell.com                                                   =
|> ===========================================================================

I not sure what is happening, but here are some thoughts:

  What priority is the spawned process running at, relative to the pri 33 data
detection routine?  If the data consumer is not running at higher priority
than the data detection routine, you could be re-cycling into the data
detection while the data is in the process of being consumed.  The file
descriptor (socket) may be locked by the consumer task, and so when you try
and select(), it fails.

The 100mS delay you add pretty much ensures that the consumer task has
completed reading the data before another select() gets called on the same
fd/socket.

Ted Marz

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rpcgen for vxworks
Date: Fri, 06 Sep 1996 00:15:15 GMT
From: traymond@pcix.com
Organization: Crafted Smalltalk
Message-ID: <changi0.9m.2C831v$06k@zoe.pcix.com>
References: <199609031712.KAA04659@daisy.sp.trw.com>
Reply-To: traymond@pcix.com (Terry Raymond)

In <199609031712.KAA04659@daisy.sp.trw.com>, "Carol L. Lugo" <clugo@emu.sp.trw.com> writes:
>
>Hi !
>Looking for a rpcgen for VxWorks...does anyone know of anything ??

It is in the unsupported/rpc4.0 directory.

But, I have used the SUN and HP rpcgen to generate code
for vxworks with no problem.

===========================================================
Terry Raymond       Smalltalk Professional Debug Package
Crafted Smalltalk   *Breakpoints* and *Watchpoints* for
19 Tilley Ave.                  VW and Envy 
Newport, RI  02840
(401) 846-6573      traymond@pcix.com
<a href="http://www2.pcix.com/~traymond/"> Crafted Smalltalk</a>
===========================================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: VxWork on Motorola 68332
Date: Sat, 07 Sep 1996 05:31:04 GMT
From: johnd@reflex-tech.co.uk (John Dalton)
Organization: Reflex Technology
Message-ID: <50r1g2$2pf@luggage.rednet.co.uk>
References: <8619070906091996/A15811/TROD03/11A932471200*@MHS>
Reply-To: johnd@reflex-tech.co.uk

"NAME \"Staubli Kurt\" 2607" <KURT.STAUBLI@roche.com> wrote:

>We write real time application for medical analyzers and will use VxWorks on a
>68360 in the near future. Another group evaluate a real time operating system
>for a 68332@24MHz. They control DC motor controllers, step motor controllers,
>digital I/O, AD Converters, serial communication 375kBaud on that board. Has
>anybody used VxWorks on a 68332 Target ? What about speed and response
>performance of VxWorks for such applications ? Are there other Real Time OS for
>such application ?

>Kurt Staubli

You'd get better performance and easier programming with OSE from Enea
OSE Systems, Sweden - the kernel is only 7KB in production and
interrupt handling is very fast indeed.

Look at these figs :

Eg. event timings measured on MC68020 at 25MHz :-

where n is a system-state dependency, eg. number of messages in
queue, number of ready processes, message length etc. (The table is
tabbed every 10 chars)

Function	OSE	pSOS	VRTX32	OS-9

Alloc memory	9	37+2n	29+3n	9+?*n
Free memory	5	32+2n	33+3n	434
Create Process	29	87	73	1190+?*n
Send msg, no swap	13	46+2n	40	77+?n
Send msg & swap in	20	66+2n	55	134+?n
- -> implies process swap	7	20	16	56+?n
Receive message	8	31+2n	29	?
Disable Interrupts	4	9	10	?
Initialise INT	(2)	-	(15)	9+6n
Quit INT to next INT	3	?	12	?
Set semaphore from INT	3	38	41	?
Quit INT to background	20	39	37+21n	?

(Times in microseconds.   ? = couldn't measure value reliably)

Note that times for OSE are fully deterministic : there is no
system-state
dependency, so you can easily calculate worst-case timings.  The only
system-state-dependent function in OSE is a selective receive.

The other thing to note is that the OSE timings include executing 
run-time checks on system integrity (stack overwrites, message 
ownership conflicts, memory corruption etc) which the others don't 
provide at all, and that the application programs you write for OSE 
have less code than the others to execute because of the OSE error 
handler system architecture integral to the kernel.

Check them out on http://www.enea.se/ose

John
>Kurt Staubli
>c/o Tegimenta AG
>Forrenstrasse
>6343 Rotkreuz
>Switzerland
> 
>++41 799 26 07
>kurt.staubli@roche.com





---------------------------

End of New-News digest
**********************


From uchenick@tis4000.com  Mon Sep  9 05:43:29 1996
From: Gordon Uchenick <uchenick@tis4000.com>
Date: Mon Sep  9 05:43:31 PDT 1996
Subject: PD TCP/IP Sources
Recently someone posted the location of the public domain sources to TCP on 
gatekeeper.dec.com. Could that person please repeat that post, or could 
someone tell me where else to find the TCP source?

TIA,
Gordon Uchenick
uchenick@tis4000.com
410-581-0422






From davida@laplace.idec.sdl.usu.edu  Mon Sep  9 08:19:55 1996
From: davida@laplace.idec.sdl.usu.edu (David Anderson)
Date: Mon Sep  9 08:19:56 PDT 1996
Subject: VxWorks 5.3 and Tornado
We are considering upgrading from vxWorks 5.2 to vxWorks 5.3 and Tornado. We 
have about four to five years experience with vxWorks but to help us up the 
learning curve with Tornado we are considering taking the Tornado-5.3 class at 
Wind River.

My question is has anyone out there in vxWorks land taken the class and if so do 
you feel that the information and training you receive is worth the expense of 
the class? We are particularly interested in the the current status of Tornado, 
its C++ development tools and environment, information on tools.h++ and other 
C++ libraries etc. 

Thanks in advance for any comments/advice,

Dave.


From jfd@rtp.co.uk  Mon Sep  9 10:18:44 1996
From: Julian Day <jfd@rtp.co.uk>
Date: Mon Sep  9 10:18:46 PDT 1996
Subject: Ada Bindings for VxWorks???

Hi,
  Are you developing for Ada on VxWorks? If so, have you done any work on bindings to VxWorks libraries, e.g Networking, timers etc.

If so, can you let me know please. 

I'll collate results and feed back to the exploder, the information I receive.

TVMIA,
Julian


---------------------------------------------------------------
Julian Day				Real Time Products Ltd.

Unit 8, Holt Court,		       e-mail:	  jfd@rtp.co.uk
Aston Science Park, Jennens Road,         tel: +44 121 333 6955
Birmingham. B7 4EJ. England.		  fax: +44 121 333 5433	
---------------------------------------------------------------



From 75353.1150@compuserve.com  Mon Sep  9 18:57:12 1996
From: "William G. St.Clair" <75353.1150@compuserve.com>
Date: Mon Sep  9 18:57:14 PDT 1996
Subject: Seeking VxWorks expert
Start-up, developing highly innovative mobile Internet & workgroup product seeks
VxWorks expert  with experience in C++ Booch Components and/or CORBA ORB design.
Does this ring any bells? Let me know.

Bill St.Clair,
Greystone Peripherals



From daemon@csg.lbl.gov  Tue Sep 10 04:00:56 1996
From: daemon@csg.lbl.gov
Date: Tue Sep 10 04:00:58 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Sep 10 04:00:53 PDT 1996

        Subject: Re: PC BIOS extension creation HELP ??

-------------------------------------------------------

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.sys.intel
Subject: Re: PC BIOS extension creation HELP ??
Date: Fri, 6 Sep 1996 19:02:43 GMT
From: kam@plex.nl (Gerald van Kampen)
Organization: Plex -- a public access Internet provider --
Message-ID: <DxBsr9.Et9@plex.nl>
References: <50p202$7d1$1@mhade.production.compuserve.com> <323044F9.31FD@shellx.best.com>
Sender: news@plex.nl (Usenet News)

In article <323044F9.31FD@shellx.best.com>, Pascal Dornier <pdornier@shellx.best.com> wrote:
>David Costain wrote:
>> 
>> I am currently trying to create a vxWorks bootrom for the 486/586
>> platform. To this end, I am working on a BIOS extension-like
>> EPROM that contains the BIOS identifier header, and an in-house
>> loader to load vxWorks into RAM, prior to executing the code.
>> 
>> My BIOS header format is as follows:
>> 
>> byte0:   55
>> byte1:   AA
>> byte2:   01      /* 1 x 512 byte block */
>> byte3:   start of loader code
>> 
>> Is this format correct ? I have a couple of technical references
>> which have conflicting formats. The above format looks the same
>> as my video BIOS.
>> 
>> I am aware of commercially available bootrom cards, but we would
>> like to put the EPROM on one of our in-house ISA cards.
>
>You also need to make sure that the 8 bit checksum (add up all bytes
>in the EPROM) is 0.
>

The first two bytes of a ROM extension are always 55h and aah.
The third byte specifies the number of 512-byte blocks to scan when performing 
a checksum of the ROM BIOS extension.  The BIOS multiplies the number by 512 
and scans that many bytes starting with the first byte of the header.  If all 
the bytes add up to zero, then the ROM BIOS extension is actually called 
during initialization. So the last byte of the last block must be calculated 
in such a way that this condition will be met.

The next sample code gives an impression how a BIOS call's a ROM BIOS 
extension (in this case the VGA BIOS at C0000h-C8000h).
I adapted this code from the public domain BIOS source code "bios-asm.zip".

My goal was to initialize the VGA BIOS on an embedded PC without BIOS.
(BTW. This didn't work because the VGA BIOS execution depends on previous BIOS 
initializations like equipment list service etc.).


 
- ------------------------start-------------
ER_ROM  EQU     20h             ; Bad ROM in expansion area, bad checksum

        ASSUME  CS:cseg,DS:cseg

cseg    SEGMENT PARA PUBLIC USE16 'CODE'

        public  main
main    proc    near
        MOV     DX,0C000h                       ; (VGA-)ROM segment start
        PUSH    DS

FNDROM: MOV     DS,DX                           ; Load ROM segment
        XOR     BX,BX                           ;  ...ID offset
        MOV     AX,[BX]                         ; Read the ROM id
        CMP     AX,0AA55h
        JNZ     NXTROM                          ;  ...not valid ROM
        MOV     AX,40h
        MOV     ES,AX
        MOV     AH,0
        MOV     AL,[BX+2]                       ; Get ROM size (bytes * 512)
        MOV     CL,5
        SHL     AX,CL                           ; Now ROM size in segments
        ADD     DX,AX                           ;  ...add base segment
        MOV     CL,4
        SHL     AX,CL                           ; ROM address in bytes
        MOV     CX,AX                           ;  ...checksum requires CX
CHK_01: MOV     AL,0                            ;  ...zero checksum

ADDBYT: ADD     AL,[BX]                         ; Add byte to checksum
        INC     BX                              ;  ...BX --> next byte
        LOOP    ADDBYT                          ;  ...loop until done
        OR      AL,AL                           ; Set condition codes
        JNZ     BADROM                          ;  ...bad ROM
        PUSH    DX
        MOV     Word ptr ES:67h,3               ; Offset  for ROM being setup
        MOV     ES:69h,DS                       ; Segment for ROM being setup
        CALL    Dword ptr ES:67h                ;  ...call ROM initialization
        POP     DX
        JMP     short   FND_01

BADROM: OR      Byte ptr ES:15h,ER_ROM          ; ROM present, bad checksum

NXTROM: ADD     DX,80h                          ; Segment for next ROM

FND_01: CMP     DX,0C800h                       ; End of (VGA-)ROM space
        JL      FNDROM                          ;  ...no, continue
        POP     DS

; Exit program to DOS (should be removed, this is for testing the code
; stand-alone as a DOS program. Normally the code is part of real-mode 
; initialization of an embedded PC without BIOS.
        MOV     AL,0                            ; Exit code
        MOV     AH,4Ch                          ; Exit to DOS function
        INT     21h
main    endp

cseg    ends

        end     main
- --------------------end-------------------

Gerald van Kampen
kam@plex.nl

---------------------------

End of New-News digest
**********************


From atl@adaclabs.com  Tue Sep 10 06:46:15 1996
From: atl@adaclabs.com (Anthony Le)
Date: Tue Sep 10 06:46:17 PDT 1996
Subject: SUBSCRIBE

SUBSCRIBE

Thank you


From malcolm.cifuentes@nautronix.com.au  Tue Sep 10 20:16:06 1996
From: malcolm.cifuentes@nautronix.com.au (Malcolm Cifuentes)
Date: Tue Sep 10 20:16:08 PDT 1996
Subject: VxWorks 5.2 C++
Hi,

    I have the following problem :-
        I have a fresh installation of vxworks 5.2 with gcc.  I wish to
        do development in C++ but I do not have any libg++ libraries,  
        I am not really sure why?

        I have tried compiling libg++ but I am having trouble tracking down
        a libg++ version early enough which will compile with the 
        gcc(cygnus-2.2.3.1) compiler.  
        
        I really would like to compile the latest version of libg++ with 
        the compiler.

Any help appreciated, thanks!
-- 
Malcolm Cifuentes 
(
 Nautronix LTD          
 malcom.cifuentes@nautronix.com.au   
 PH  : +61-09-430-5900  
 FAX : +61-09-430-5901  
)



From daemon@csg.lbl.gov  Wed Sep 11 04:00:27 1996
From: daemon@csg.lbl.gov
Date: Wed Sep 11 04:00:29 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Sep 11 04:00:23 PDT 1996

        Subject: Re: How to detect end of socket connection
        Subject: Re: rpcgen for vxworks
        Subject: Re: Tonado development environment
        Subject: SMTP (Mail) client
        Subject: Migration From VAXELN

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to detect end of socket connection
Date: 3 Sep 1996 19:58:59 GMT
From: alexm@vlsi.gsfc.nasa.gov (Alex Measday)
Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
Message-ID: <50i2m3$oil@post.gsfc.nasa.gov>
References: <507e7g$j6v@fu-berlin.de>

In article <507e7g$j6v@fu-berlin.de>, Heinz Junkes wrote:
>
>How can i check that a connection is still alive ???
>

If

    1.  select() says the socket is ready for reading and
    2.  read() (or an ioctl(FIONREAD)) returns zero,

your connection is broken.  Note that you must perform the select()
before the read() or ioctl() since data may be received in between
the calls.

Also see the "Socket Programming Frequently Asked Questions" at:

    http://www.interlog.com/~vic/sock-faq/


========================================================================
|  Alex Measday             Code 521 - Microelectronic Systems Branch  |
|  Integral Systems, Inc.            NASA Goddard Space Flight Center  |
|  c.a.measday@ieee.org                                 Greenbelt, MD  |
========================================================================
)                     http://purl.oclc.org/net/alex/                   (
========================================================================


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rpcgen for vxworks
Date: 10 Sep 1996 11:49:18 GMT
From: kadionik@aramis (Patrice KADIONIK (IXL - CNRS URA 846 - FRANCE))
Organization: CRIBX1 , Universite de Bordeaux I , France
Message-ID: <513kju$8om@news.u-bordeaux.fr>
References: <199609031712.KAA04659@daisy.sp.trw.com>

Carol L. Lugo (clugo@emu.sp.trw.com) wrote:

: Hi !
: Looking for a rpcgen for VxWorks...does anyone know of anything ??

: Carol

- --
Use the rpcgen binary of your development environment in order to generate
all the C structures and codes (for example the Sun rpcgen command).
Rememenber that in the VXWorks side you must call at first and one time the
routine rpcTaskInit() in your code.

Cheers;

Pat.

P. Kadionik
Laboratory of Microelectronics - IXL
University of Bordeaux I
Bordeaux - FRANCE
 

                                \^ ^/
                                )@ @(
                  +---------oOO--(_)-------------+
                  |      Patrice Kadionik        |
                  |  kadionik@ixl.u-bordeaux.fr  |
                  +-----------------Oooo--oOO----+
                              oooO (   )
                             (   )  ) /
                              \ (  (_/
                               \_)




---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tonado development environment
Date: Tue, 10 Sep 1996 14:16:34 -0700
From: Frank Weissig <frank@steptech.com>
Organization: STEP Technology, Inc.
Message-ID: <3235DAB2.204A@steptech.com>
References: <9609062055.AA00864@softeng.lamrc.com> <3235D7A0.40B2@steptech.com>
Reply-To: frank@steptech.com

Frank Weissig wrote:
> 
> - The architecture of the Tornado environment is generally well thought
> out.  The "division of labor" between the host and target is sensible
> and
> allows effective work to be done even on somewhat anemic hosts.
> The host-based shell is particularly handy.
> 

Oops!  That was supposed to read "anemic TARGETS".

P.S. Anthony, I think your email address is incorrect.

- -- 
Frank Weissig
Senior Staff Engineer
STEP Technology, Inc.
frank@steptech.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: SMTP (Mail) client
Date: Tue, 10 Sep 1996 14:33:07 GMT
From: lyorg@Scorpio.Com (Lyor Goldstein)
Organization: Scorpio Communications Ltd.
Message-ID: <DxItr7.IzL@supernet.hellnet.org>
Reply-To: lyorg@Scorpio.Com
Sender: news@Scorpio.Com

   Does anyone konw of a simple source for a "mail" client (i.e. send some
simple text mail to a known server thru the Ethernet adaptor) ?

- ---

*****************************************************************
*  Lyor Goldstein.             Email :  lyorg@scorpio.com       *
*  Scorpio Communications Ltd. Phone :  972-3-5339654  ext 115  *
*  Software group              Fax   :  972-3-5339518           *
*                  1c Yoni Netanyahu  st.                       *
*                  Or Yehuda   60250                            *
*                  P.O.Box 564,   Israel                        *
*****************************************************************



---------------------------

Newsgroups: comp.os.vxworks
Subject: Migration From VAXELN
Date: Sun, 08 Sep 1996 14:56:45 -0400
From: Brian & Karen Bell <bgbell@mdn.net>
Organization: At Home...
Message-ID: <323316ED.736E@mdn.net>
Reply-To: bgbell@mdn.net

We're obliged (for hardware obsolescence reasons) to port a
    communication front-end system from an rtVAX/VAXELN platform to
    something else; and like all projects these days -- or at least
    so it seems -- we're on a very tight time line to get the job done.

    In addition to moving the application (~70,000 SLOC of VAX C) we
    need to replace a custom UNIBUS interface card with something a
    little more current and lot more broadly supported (like VME, or
    PMC if it will fit). In the spirit of 'getting the job done' we're
    considering using DEC's VAXELN emulation library running over
    VxWorks. While everything I've read about VxWorks (and also
    about Wind River Systems) is encouraging (quality, service etc)
    there is one, somewhat disturbing catch; DEC supports the
    VAXELN emulation library _only_ on Alpha targets. This is of
    course not surprising -- since DEC is the dominant vendor of Alpha
    SBCs -- but such a conversion doesn't take us as far as we'd like
    to go in moving from a proprietary/single-source environment to
    one in which healthy market competition works more to our
    advantage.

    We've not ruled out converting the source to replace all VAXELN
    dependencies with VxWorks equivalents, but obviously on a source
    of that size this could be a substantial undertaking. A two-step
    process in which we first make the emulation-enabled to conversion
    to an Alpha target and later remove the VAXELN (and Alpha)
    dependencies is also being considered.

    I have two questions for this forum:

     1) Has anyone undertaken such project before? If so, do you have
        any hard-won advice you'd be willing to share?

     2) Is there a message implicit in Wind River's failure to list
        Alpha among the supported targets for its most recent (V5.2)
        offering? (As near as I can tell, the newest Alpha-supported
        release is some two major rev behind at V3.2.)

    As much I admire DEC's technology (including Alpha) I have no
    desire to be dependent on a _any_ vendor's products if there's
    a way to avoid it.

    Any advice will be greatly appreciated.


    Brian Bell                            bgbell@dow.com
    Software Engineering Associate
    Global Process Control
    The Dow Chemical Company

---------------------------

End of New-News digest
**********************


From rip@wrsec.fr  Wed Sep 11 07:42:43 1996
From: rip@wrsec.fr (Rip richard Williamson )
Date: Wed Sep 11 07:42:45 PDT 1996
Subject: Re: comp.os.vxworks newsdigest
Brian Bell said:
? 
?    I have two questions for this forum:
? 
?     1) Has anyone undertaken such project before? If so, do you have
?        any hard-won advice you'd be willing to share?
? 
?     2) Is there a message implicit in Wind River's failure to list
?        Alpha among the supported targets for its most recent (V5.2)
?        offering? (As near as I can tell, the newest Alpha-supported
?        release is some two major rev behind at V3.2.)
? 
?    As much I admire DEC's technology (including Alpha) I have no
?    desire to be dependent on a _any_ vendor's products if there's
?    a way to avoid it.
? 
?    Any advice will be greatly appreciated.
? 

Don't have any hard-won experience with that, sorry.  This is about
point 2:

DEC's version of VxWorks (v3.2) is equivalent to WRS v5.1.1 .  When
they purchased the rights to use/sell it, they decided to modify
the version numbering for one reason or another.

For more information along these lines, contact DEC for information
about 3.2 for the Alpha, or WRS for Tornado (5.3) for most other
architectures (those that we support, that is).

Regards,
Richard

Wed Sep 11 15:57:07 MET DST 1996

-----------------------------------------------------------------------
Richard Williamson                                         rip@wrsec.fr
Technical Support Engineer                     vox: +33 (1) 60.92.63.13
Wind River Systems - EC                        fax: +33 (1) 60.92.63.15
-----------------------------------------------------------------------
INCLUDED MESSAGES: 
57:  Change is inevitable, except from a vending machine. 
--------------------------------------------------END INCLUDED MESSAGES



From jimb@rational.com  Wed Sep 11 11:28:10 1996
From: Jim Bushway <jimb@rational.com>
Date: Wed Sep 11 11:28:12 PDT 1996
Subject: MVME1604 board load problem 

When trying to load the boot file on our MVME1604 board
we are getting the following.  Any ideas???


Network Boot File load in progress... To abort hit <BREAK>

Bytes Received =&622160, Bytes Loaded =&622160
Bytes/Second   =&207386, Elapsed Time =3 Second(s)

Residual-Data Located at: $00F80000

Exception: Machine Check
SRR0 =00013078 SRR1 =000C3040 Vector-Offset =00200
IP     =00013078 MSR    =00003040 CR     =04000000 FPSCR  =00000000
R0     =1D203040 R1     =DFE00018 R2     =00000000 R3     =FFFFFFFF
R4     =00005000 R5     =00000000 R6     =00000000 R7     =00000000
R8     =00000000 R9     =00000000 R10    =00000000 R11    =00000000
R12    =00000000 R13    =00000000 R14    =00000000 R15    =00000000
R16    =00000000 R17    =00000000 R18    =00000000 R19    =00000000
R20    =00000000 R21    =00000000 R22    =00000000 R23    =00000000
R24    =00000000 R25    =00000000 R26    =00000000 R27    =00000000
R28    =00000000 R29    =00000000 R30    =00000000 R31    =1D203040
SPR0   =00000000 SPR1   =00000000 SPR8   =1D203040 SPR9   =00000000
00013078 4E800020  BCLR        20,0



From csuka@desy.de  Thu Sep 12 01:03:09 1996
From: csuka@desy.de (Gabor Csuka)
Date: Thu Sep 12 01:03:11 PDT 1996
Subject: Re: MVME1604 board load problem
> 
> Submitted-by jimb@rational.com  Wed Sep 11 11:28:10 1996
> Submitted-by: Jim Bushway <jimb@rational.com>
> 
> 
> When trying to load the boot file on our MVME1604 board
> we are getting the following.  Any ideas???
> 
> 
> Network Boot File load in progress... To abort hit <BREAK>

From this line - it seems to me you are using the original
motrola Bug - not the VxWorks boot prom, does it ?

--
Gabor CSUKA
DESY, Germany

csuka@heras1.desy.de



From daemon@csg.lbl.gov  Thu Sep 12 04:00:41 1996
From: daemon@csg.lbl.gov
Date: Thu Sep 12 04:00:44 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Sep 12 04:00:37 PDT 1996

        Subject: compiling kernel .c files with C++?
        Subject: Re: PC BIOS extension creation HELP ??
        Subject: Re: UDP packet - max size?
        Subject: Needed: VxWorks 5.3 driver for DP83934 lan chip
        Subject: Torando/a.out to iee695
        Subject: Problems with select() and recv().

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: compiling kernel .c files with C++?
Date: Tue, 10 Sep 1996 07:01:05 -0700
From: Todd Hoff <tmh@possibility.com>
Organization: Possibility Outpost
Message-ID: <323574A1.1A3C@possibility.com>

Has anyone compiled the kernel c files using C++?
Any tips or traps? We would like to call C++ code
directly without performance reducing c wrappers
but don't have the bandwidth to waste if it won't
work.

Thanx

- -------------------------------------------------------------
tmh@possibility.com        | The loyalty of small men can be
http://www.possibility.com | bought cheaply, for greed has no
                           | pride.  - Michael Kube-McDowell

---------------------------

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.sys.intel
Subject: Re: PC BIOS extension creation HELP ??
Date: Mon, 9 Sep 1996 06:40:38 GMT
From: ken@syd.dit.CSIRO.AU (Ken Yap)
Organization: CSIRO Division of Information Technology
Message-ID: <510e56INNbvv@degas.syd.dit.csiro.au>
References: <50p202$7d1$1@mhade.production.compuserve.com> <323044F9.31FD@shellx.best.com> <DxBsr9.Et9@plex.nl>
Reply-To: ken@syd.dit.csiro.au (Ken Yap)
Sender: ken@syd.dit.csiro.au (Ken Yap)

|>> My BIOS header format is as follows:
|>> 
|>> byte0:   55
|>> byte1:   AA
|>> byte2:   01      /* 1 x 512 byte block */
|>> byte3:   start of loader code
|>> 
|>> Is this format correct ? I have a couple of technical references
|>> which have conflicting formats. The above format looks the same
|>> as my video BIOS.
|>> 
|>> I am aware of commercially available bootrom cards, but we would
|>> like to put the EPROM on one of our in-house ISA cards.
|>
|>You also need to make sure that the 8 bit checksum (add up all bytes
|>in the EPROM) is 0.
|>
|
|The first two bytes of a ROM extension are always 55h and aah.
|The third byte specifies the number of 512-byte blocks to scan when performing 
|a checksum of the ROM BIOS extension.  The BIOS multiplies the number by 512 
|and scans that many bytes starting with the first byte of the header.  If all 
|the bytes add up to zero, then the ROM BIOS extension is actually called 
|during initialization. So the last byte of the last block must be calculated 
|in such a way that this condition will be met.

Yes, that's correct, but the checksum doesn't have to be anywhere in
particular, you just have to make all the bytes sum to 8 bit zero.  It
may be that it's convenient to make the last byte in the block the
checksum, or rather, the value that makes the checksum zero. Typically
this "check" byte is altered by an auxiliary program scanning the
binary image just before burning an EPROM.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: UDP packet - max size?
Date: 11 Sep 1996 14:23:30 GMT
From: David Perkinson <perkinsond@boris.msfc.nasa.gov>
Organization: TRW, Inc.
Message-ID: <3236CBA4.41C6@boris.msfc.nasa.gov>
References: <3221CCFD.794B@boris.msfc.nasa.gov> <502g9o$m7k@idiom.com> <MCHARNOK.96Sep3173913@fcfsrv1.fcfsrv1.lerc.nasa.gov> <322E2C74.2040@peacefulstar.oakland.ca.us>

H.J. Bae wrote:
> 
> 
> The limit in VxWorks is actually something like 52387.  This is BSD UNIX
> legacy (BSD 4.3 Tahoe release, a.k.a net-1).   The limit is imposed
> in sbreserve() routine in uipc_socket2.c.  This limit is rather
> arbitrary
> and should be changed and/or made tunable by users.  Later and eariler
> versions of BSD UNIX network code had different limits.
> 
> 
> UDP is inherently unreliable.  If you want a reliable service, use TCP.
> 
> --
> H.J. Bae
> http://peacefulstar.oakland.ca.us
> mailto:hjb@peacefulstar.oakland.ca.us

I increased udp_sendspace to 5*1024 and set udp_recvspace to twice the send
space.  This fixed my UDP packet problem.  I am sending data to a device that
only talks using these large UDP packets, so I had to make UDP work.

- -- 
===============================================================================
David Perkinson, TRW              Opinions that may be expressed in this
email
perkinsond@boris.msfc.nasa.gov    are my own and not neccessarily that of
TRW.
===============================================================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Needed: VxWorks 5.3 driver for DP83934 lan chip
Date: 11 Sep 1996 15:58:55 GMT
From: elw@lvld.hp.com (Eddie Williamson)
Organization: Hewlett Packard Loveland (Mountain IT) Site
Message-ID: <516njv$ov0@hplvejl.lvld.hp.com>

Does anyone have anyone have a driver for sale/free :)  for the
National DP83934 lan chip? We will be using VxWorks 5.3 Tornado.

Thanks for any help.

______________________________________________________________________
                                         Hewlett-Packard
    Eddie L. Williamson Jr.              Manufacturing Test Division
    elw@lvld.hp.com                      815 SW 14th Street, MS AU100
    (970) 679-3674                       Loveland, CO

---------------------------

Newsgroups: comp.os.vxworks,comp.sys.m68k
Subject: Torando/a.out to iee695
Date: Wed, 11 Sep 1996 14:02:50 -0500
From: Steve Woloschek <woloschekS@med.ge.com>
Organization: GE Medical Systems
Message-ID: <32370CDA.271E@med.ge.com>

I really need to get my hands on a conversion program for
a.out to iee695 for the Windows NT Tornado environment.
Or perhaps a sensible gnu ld68k program that can output
ieee695.


Can anybody help?


Steve Woloschek

---------------------------

Newsgroups: comp.os.vxworks
Subject: Problems with select() and recv().
Date: Fri, 06 Sep 1996 17:29:08 -0500
From: Lee Graba <Graba_Lee@htc.honeywell.com>
Organization: Honeywell Technology Center
Message-ID: <3230A5B4.3C6F@htc.honeywell.com>

We are using VxWorks 5.1 on Force 40 VME boards (68040).  In part of our application, a 
task running at a priority of 33, goes into a select loop, where it waits on a few 
sockets on which connections already exist.  Its basic task is below:

	for (;;)
	{
		select_cnt=select(readfds, 0, 0, 0, 10 seconds);
		if (select_cnt > 0)
		{
			find the FD with stuff to read
			read the stuff into a buffer using 2 calls to recv
			spawn a task at lower priority to process the buffer
		}
		else if (select_cnt < 0)
		{
			get errno and print error string
		}
	}

After the select, I have use ioctl to check the bytes to read, and compared with the 
number of bytes read by the recv calls, and these add up.  The task that is spawned to 
process the buffer owns the buffer, and the parent task doesn't touch it after the task 
is spawned.

The problem is, we are getting many errors from select after first getting a good 
select, i.e. we successfully read the proper number of bytes from the fd, spawn a task, 
and when we then loop around to call select again, it immediately returns select_cnt = 
- -1,  and errno = 0xD0003, which strerror_r reports as having to do with an 
INVALID_FILE_DESCRIPTOR.  If I put a taskDelay of 100 ms somewhere in the select loop, I 
no longer get these messages.

Anybody have any idea what is causing select to return the error, and why timing has 
anything to do with it?


- -- 
===========================================================================
Lee Graba                                                                 =
Honeywell Technology Center                                               =
3660 Technology Drive                                                     =
Minneapolis, MN 55418                                                     =
(612) 951-7503                                                            =
Graba_Lee@htc.honeywell.com                                               =
graba@htc.honeywell.com                                                   =
===========================================================================

---------------------------

End of New-News digest
**********************


From 75353.1150@compuserve.com  Thu Sep 12 06:30:03 1996
From: "William G. St.Clair" <75353.1150@compuserve.com>
Date: Thu Sep 12 06:30:05 PDT 1996
Subject: Rogue Wave/Corba/Active X experts
Start-up, developing highly innovative mobile Internet & workgroup product seeks
VxWorks expert  with experience in C++ Booch Components and/or CORBA ORB design.
Active X (DCOM) is a plus.  Let me know.

Bill St.Clair,
Greystone Peripherals
410 761-6073 (phone or fax)



From ahw@clalf1.mps.ohio-state.edu  Thu Sep 12 07:50:56 1996
From: Andreas Wolf <ahw@clalf1.mps.ohio-state.edu>
Date: Thu Sep 12 07:50:57 PDT 1996
Subject: iostream library in VxWorks
Hi there,
	we are using Tornado 1.0/VxWorks 5.3 with the GNU C++ compiler
	and found that the standard iostreams object library is unbundled.
	One has to buy the (optional?) Wind Foundation Class,
	to do a simple
		cout << "Hello World" << endl;

	Is there any reason why the objects provided in the GNU libg++
	source should not just work? Did anybody try this?

	What's the catch?

-- 
----------------------------------------------------------------------
** Andreas H. Wolf       	******      *******	*      *
** The Ohio State University   *      *    *		*      *
** Smith Lab		       *      *    *            *      *
** 174 West, 18th Ave          *      *     ******      *      *
** Columbus, OH 43210-1106     *      *           *	*      *
** Phn: (614) 292-1530         *      *           *     *      *
** FAX: (614) 292-8261          ******     *******	 ******
** E-Mail: ahw@mps.ohio-state.edu
** WWW: http://www-physics.mps.ohio-state.edu/~ahw/


From wong@vms.masd.northgrum.com  Thu Sep 12 14:42:02 1996
From: wong@vms.masd.northgrum.com (J. Pierre Wong)
Date: Thu Sep 12 14:42:54 PDT 1996
Subject: PowerPC VME Boards
Greetings,

I'm looking for information about who makes PowerPC 603 and 604 VME boards 
(that also use vxWorks, of course) in the 160~200MHz range. If you know
of any vendors that will have them on the market by January 97, could you
let me know who they are and a possible contact.

Thanks for any information,

Pierre Wong
Vehicle Management Technology Laboratory
Northrop Grumman Corp.

Tel: 310.332.6840
Fax: 310.644.3652
Email: wong@vms.masd.northgrum.com


From intrepid!alberts@uunet.uu.net  Fri Sep 13 02:12:25 1996
From: intrepid!alberts@uunet.uu.net (Ed Alberts x7819)
Date: Fri Sep 13 02:12:27 PDT 1996
Subject: Re: PowerPC VME Boards
PowerPC Boards:

VI computer "http://www.vicomp.com/" is releasing a single slot VME 166mhz or 
200mhz VI604B board early next month.  I currently have their VI604A(100 mhz)
board.  

Ed Alberts
alberts@eci-cec.com


From daemon@csg.lbl.gov  Fri Sep 13 04:00:40 1996
From: daemon@csg.lbl.gov
Date: Fri Sep 13 04:00:43 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Sep 13 04:00:37 PDT 1996

        Subject: Re: Tonado development environment
        Subject: DEC/VxWORKS KNOW HOW IN AUSTRALIA ?
        Subject: Signal Handler Context
        Subject: Purify-like tool
        Subject: Re: Tonado development environment
        Subject: Re: Xterminal emulator for PC

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tonado development environment
Date: Thu, 12 Sep 1996 13:18:36 +0200
From: Casey Crellin <casey@ccii.co.za>
Organization: CCII Systems
Message-ID: <3237F18C.766E4098@ccii.co.za>
References: <9609062055.AA00864@softeng.lamrc.com> <3235D7A0.40B2@steptech.com>

Frank Weissig wrote:

> - The actual implementation on NT needs a bit of work.  It has the feel
> of a "1.0 product."  I've encountered quite a few problems, particularly
> with the debugger GUI.  I find myself using the gdb command line
> interface
> most of the time as a result.  The on-line help is mediocre at best, and
> the
> built-in editor is pathetic.

	I am using the Windows 95 version, the above holds true for it too.
	Additional problems with windows stability and zombie processes of 
	gdbi386 and something called runCmd and WinoldApp added.
	The command line length on dos is 128 bytes so forget long command 
	lines for make or run another version of make...

> - I've been pretty much underwhelmed with Wind River tech support.
> They've
> blown off all of my bug reports because I'm running NT 4.0, for which
> Tornado hasn't been "validated."  Funny that I should want to run the
> current
> release of my operating system...

	The same problems mentioned above were ecxperienced with the
"validated"
	win95.

Casey
- --
casey@ccii.co.za
- ----------------------------------------------------------------------------------

---------------------------

Newsgroups: comp.os.vxworks
Subject: DEC/VxWORKS KNOW HOW IN AUSTRALIA ?
Date: Fri, 30 Aug 96 11:22:18 PDT
From: wb@mkc.com.au
Organization: AUSNet Services
Message-ID: <NEWTNews.841429480.8991.wb@ausnet.world.net>


Is anybody out there in Australia who can report about DEC/VxWorks experience
??

Walter Breunig, Mayer Krieg & Co.  wb@mkc.com.au


---------------------------

Newsgroups: comp.os.vxworks
Subject: Signal Handler Context
Date: Wed, 04 Sep 1996 14:58:33 -0800
From: russell.brill@jpl.nasa.gov (Russ Brill)
Organization: Jet Propulsion Laboratory
Message-ID: <russell.brill-0409961458330001@rmbrill.jpl.nasa.gov>

Do signal handlers run in task context?  Specifically, do the restrictions
for interrupt handler code also apply to signal handlers?  A manual
reference would be appreciated.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Purify-like tool
Date: Thu, 12 Sep 1996 20:31:56 GMT
From: Ed Goforth <egoforth@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
Message-ID: <3238733C.7BF4B952@netcom.com>
Sender: egoforth@netcom15.netcom.com

We are currently running VxWorks 5.1.1 on Force CPU-5V boards (but we
will be upgrading at some point for another project).  Are there any
tools similar to Purify available?  We definitely have a need for
VxWorks 5.1.1, but also for Tornado.

I have not been receiving messages from the exploder lately, so I would
appreciate it if you could copy any replies to egoforth@dsrnet.com.

Thanks,
Ed Goforth - egoforth@dsrnet.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tonado development environment
Date: 13 Sep 1996 03:34:47 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <51akon$9o1@news.pacifier.com>
References: <9609062055.AA00864@softeng.lamrc.com> <3235D7A0.40B2@steptech.com> <3237F18C.766E4098@ccii.co.za>
Reply-To: steved@pacifier.com  (Steve Doiel)

Casey Crellin writes:
>Frank Weissig wrote:
>
>> - The actual implementation on NT needs a bit of work.  It has the feel
>> of a "1.0 product."  I've encountered quite a few problems, particularly
>> with the debugger GUI.  I find myself using the gdb command line
>> interface
>> most of the time as a result.  The on-line help is mediocre at best, and
>> the
>> built-in editor is pathetic.

Agreed.  After speaking with their tech support I learned that they were doing
their development (of the environment) with Microsoft Visual C++.  I told him
they should be required to develop in the development environment they were
generating... he said something like "they'd never go for that".

>
>	I am using the Windows 95 version, the above holds true for it too.
>	Additional problems with windows stability and zombie processes of 
>	gdbi386 and something called runCmd and WinoldApp added.
>	The command line length on dos is 128 bytes so forget long command 
>	lines for make or run another version of make...
>

After getting a couple of patches for Tornado, we haven't had may problems
with the system locking up.  Maybe that's partly because we have learned what
to avoid.  I prefer to run Tornado on NT... that way when it locks up you can
just kill the task without having to reboot.

>> - I've been pretty much underwhelmed with Wind River tech support.
>> They've
>> blown off all of my bug reports because I'm running NT 4.0, for which
>> Tornado hasn't been "validated."  Funny that I should want to run the
>> current
>> release of my operating system...

I have been using Tornado on NT 4.0 for about a week now.  It does not
appear to behave any differently on NT 4.0 than it did on NT 3.51.

At this point the only siginficant problem I have is with the debugger.  It has
proven to be very inconsistant in it's reliability.  Sometimes I can debug a
process, and sometimes I cannot.  I've learned that it is a good idea to first
"detach" before "stop debugging", and definitely don't just reset the target
CPU, unless you want to lock Tornado.

On the other hand though, I have found VxWorks to be an EXCELLENT product.
The only thing it is missing is a lot of documentation.



---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Xterminal emulator for PC
Date: Thu, 12 Sep 1996 16:26:21 -0700
From: Graham Waters <waters@triumf.ca>
Organization: TRIUMF
Message-ID: <32389C1D.7F1B@triumf.ca>
References: <9609030937.AA01711@wrsec.fr> <32383B74.5B7@steptech.com>

> Jmarc Jean-Marc de Maraumont wrote:
> >
> >  Dear VxUsers,
> >
> >  Does any one of you use a Xterminal emulator successfully with tornado:
> >

You might like to try Exceed from Hummingbird. I have used versions
for Windows 3.2 and Windows 95. I find it faster than X-Win32.

You have a choice of contacts:	e-mail: support@hummingbird.com
				www:	http://www.hummingbird.com

				North America:   1 (416) 496 2200
				Europe (Geneva):   +41 (22) 733 18 58

Graham

+-------------------------------------------------------------------+
| Graham Waters           |  Internet   waters@triumf.ca            |
| Electronics Development |                                         |
| TRIUMF                  |                                         |
| 4004 Wesbrook Mall      |                                         |
| Vancouver BC            |  Tel:       (604)-222-1047 X 6531       |
| V6T 2A3                 |  Fax:       (604)-222-7307              |
| Canada                  |  TRIUMF Home Page: http://www.triumf.ca |
+-------------------------------------------------------------------+

---------------------------

End of New-News digest
**********************


From BARONK@hub01.tds-gn.lmco.com  Fri Sep 13 05:56:50 1996
From: "Baron, Kenneth @ GRNK (LI-JUPITER DIRSYNC)" <BARONK@hub01.tds-gn.lmco.com>
Date: Fri Sep 13 05:56:52 PDT 1996
Subject: NFS data rate
Hello,

I have a sonar application that needs to read about 350 Mbytes of data
which I presently have on a fast SCSI hard disk on a Solaris 2.5
SPARC-20 workstation. I am using VxWorks 5.2 on a Motorola PowerPC
MVME1604-014 100 MHz board. In my VxWorks application I use fread() to
read the data as needed. Since my application is data starved, I would
like the reads to be faster.

When I mount the Solaris file system and use NFS I get a transfer rate
of 5.7 Mbits of my data per second (not counting the packet overhead).
When I use netDrv (RSH) I get a transfer rate of 4.1 Mbits per second.
Ethernet is supposed to be able to handle 10 Mbits/sec. I have only
three nodes on the ethernet: SPARC-20; MVME1604 and an HP printer.

1) Is there any way to tune NFS on Solaris or VxWorks to increase the
NFS data rate?
2) What data rates do others experience with PowerPC and 68K systems?
3) How fast a data rate could I expect if I used a client/server TCP
socket approach to read the data?

Thanks in advance for the info.
Ken Baron
Lockheed Martin
(516) 574-2549
kenneth.baron@lmco.com
or
BARONK@hub01.tds-gn.lmco.com


From garyf@arrowtech.uucp.mcd.mot.com  Fri Sep 13 07:07:29 1996
From: garyf@arrowtech.uucp.mcd.mot.com
Date: Fri Sep 13 07:07:31 PDT 1996
Subject: Re: PowerPC VME Boards
-- Begin original message --

|> From: uumcg!lbl.gov!vxwexplo (the vxWorks Users Group Exploder)
|> Date: Fri, 13 Sep 96 02:12:29 PDT
|> Subject: Re: PowerPC VME Boards
|> To: csg.lbl.gov!vxworks_users
|>
|> Submitted-by intrepid!alberts@uunet.uu.net  Fri Sep 13 02:12:25 1996
|> Submitted-by: intrepid!alberts@uunet.uu.net (Ed Alberts x7819)
|>  
|> PowerPC Boards:
|> 
|> VI computer "http://www.vicomp.com/" is releasing a single slot
|> VME 166mhz or 200mhz VI604B board early next month.  I currently
|> have their VI604A(100 mhz) board.  
|> 
|> Ed Alberts
|> alberts@eci-cec.com
|> 
-- End original message --

Motorola has already announced their new single slot PowerPC VME
boards with either 603 or 604 microprocessors at 200MHz. They expect
to start shipping quantity orders with a couple weeks.  This new
board will be model number series MVME2600.  Their new dual slot
PowerPC boards, also initially introduced with 200MHz processors
will be available in December, and will be model number series
MVME3600.  Both new board series will support PCI-64 for significant
performance increases over the current PowerPC boards.  Motorola has
been shipping the MVME1600 series PowerPC VME boards for about 18
months with 603-66, 603E-100, 604-100 and 604-133 processors.
The prices on the new MVME2600 and MVME3600 boards is also lower
than the older MVME1600 boards with equal memory sizes.

If you want any info on the new or old boards, just email, call or
FAX me and I can FAX you data sheets and pricing.

+---------------------------------------------------------------+
| DO NOT USE THE 'REPLY' PATH WHEN REPLYING TO THIS EMAIL.  YOU |
| MUST USE THE EMAIL PATH BELOW TO REPLY OR INITIATE EMAIL.     |
|---------------------------------------------------------------|
|Gary W. Furr, Manager     |email    : garyf@mclean.mcd.mot.com |
|Technical Sales Support   |hotline  : 800-470-0704             |
|Arrow Electronics, Inc.   |phone    : 410-309-0686             |
|9800J Patuxent Woods Drive|fax      : 410-290-7617             |
|Columbia, MD 21046-1561   |voicemail: 800-232-2776 #3912710    |
|---------------------------------------------------------------|


From MikeMcQuade@connect.com  Fri Sep 13 07:58:45 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Fri Sep 13 07:58:48 PDT 1996
Subject: Re: PowerPC VME Boards
At 02:12 AM 9/13/96 PDT, you wrote:
>Submitted-by intrepid!alberts@uunet.uu.net  Fri Sep 13 02:12:25 1996
>Submitted-by: intrepid!alberts@uunet.uu.net (Ed Alberts x7819)
> 
>PowerPC Boards:
>

You might want to look at the New Motorola MVME-2600 boards, they
are about a 2:1 performance gain over existing PPC boards.

I think what really makes the differance is the Falcon and Raven 
ASICs on these boards.


Internal memory to memory xfers on the MVME2600/3600 boards much
faster than other mfg boards.


The boards have the usual complement of goodies:

DEC 21140A 10/100 Mbit ethernet
Universe VME-PCI
lots of Ram and Flash.


MikeMcQuade@connect.com



From MikeMcQuade@connect.com  Fri Sep 13 10:48:01 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Fri Sep 13 10:48:04 PDT 1996
Subject: Re: NFS data rate
At 05:56 AM 9/13/96 PDT, you wrote:
>Submitted-by BARONK@hub01.tds-gn.lmco.com  Fri Sep 13 05:56:50 1996
>Submitted-by: "Baron, Kenneth @ GRNK (LI-JUPITER DIRSYNC)"
<BARONK@hub01.tds-gn.lmco.com>
> 
>Hello,
>
>I have a sonar application that needs to read about 350 Mbytes of data
>which I presently have on a fast SCSI hard disk on a Solaris 2.5
>SPARC-20 workstation. I am using VxWorks 5.2 on a Motorola PowerPC
>MVME1604-014 100 MHz board. In my VxWorks application I use fread() to
>read the data as needed. Since my application is data starved, I would
>like the reads to be faster.
>
>When I mount the Solaris file system and use NFS I get a transfer rate
>of 5.7 Mbits of my data per second (not counting the packet overhead).
>When I use netDrv (RSH) I get a transfer rate of 4.1 Mbits per second.
>Ethernet is supposed to be able to handle 10 Mbits/sec. I have only
>three nodes on the ethernet: SPARC-20; MVME1604 and an HP printer.
>
>1) Is there any way to tune NFS on Solaris or VxWorks to increase the
>NFS data rate?
>2) What data rates do others experience with PowerPC and 68K systems?
>3) How fast a data rate could I expect if I used a client/server TCP
>socket approach to read the data?
>



With TCP/IP we have seen about that same data rate (5.7Mbits sustained) 
on a 1604 133Mhz using VxWorks 5.3 on a moderate trafic network.

I think you are at the limitation of 10base-T, if you want to move the 
data faster, go to 100Base-T.

You can get a 100Base-T PMC card for the 1604, from Ramix for about $300.00

I think you will hit the next bottleneck at the SCSI disk xfer rate.




MikeMcQuade@connect.com



From BARONK@hub01.tds-gn.lmco.com  Fri Sep 13 11:13:46 1996
From: "Baron, Kenneth @ GRNK (LI-JUPITER DIRSYNC)" <BARONK@hub01.tds-gn.lmco.com>
Date: Fri Sep 13 11:13:48 PDT 1996
Subject: NFS data rate
Hello,

I have a sonar application that needs to read about 350 Mbytes of data
which I presently have on a fast SCSI hard disk on a Solaris 2.5
SPARC-20 workstation. I am using VxWorks 5.2 on a Motorola PowerPC
MVME1604-014 100 MHz board. In my VxWorks application I use fread() to
read the data as needed. Since my application is data starved, I would
like the reads to be faster.

When I mount the Solaris file system and use NFS I get a transfer rate
of 5.7 Mbits of my data per second (not counting the packet overhead).
When I use netDrv (RSH) I get a transfer rate of 4.1 Mbits per second.
Ethernet is supposed to be able to handle 10 Mbits/sec. I have only
three nodes on the ethernet: SPARC-20; MVME1604 and an HP printer.

1) Is there any way to tune NFS on Solaris or VxWorks to increase the
NFS data rate?
2) What data rates do others experience with PowerPC and 68K systems?
3) How fast a data rate could I expect if I used a client/server TCP
socket approach to read the data?

Thanks in advance for the info.
Ken Baron
Lockheed Martin
(516) 574-2549
kenneth.baron@lmco.com
or
BARONK@hub01.tds-gn.lmco.com


From hesham@baynetworks.com  Fri Sep 13 16:26:14 1996
From: Hesham El Bakoury <hesham@baynetworks.com>
Date: Fri Sep 13 16:26:16 PDT 1996
Subject: debugging exceptions

   I would like to instrument the exception/handling code to be able to
print the values
   of the PC (program counter registers) and other registers.

   Is there a way to do this ? my understanding is that I can not do printf
from within
   an exception/interrupt handler.

   I am not sure also how I can get the value of the PC register.

   Thanks

   
  
   =======================================================
   = Hesham El Bakoury               Tel: (408) 486-3410 =
   = Bay Networks, CA                                    =
   =======================================================



From dandy@netmision.net  Sat Sep 14 17:50:56 1996
From: dandy@netmision.net
Date: Sat Sep 14 17:50:58 PDT 1996
Subject: Your work could be faster, easier and even fun ! 
Didn't you ever got the feeling that working with a clipboard that
holds and pastes just one object at a time is just too limited?

"Clip Baby Clip" breaks that limitation.
It collects the text objects as you copy them,displays them in 
a menu, and lets you paste each one of them whenever you need it !

Enough leaping back and forth re-typing, re-coping the same things 
again and again. Avoid those embarrassing human mistakes in names, 
addresses, difficult terms and numbers. 
Let "Clip Baby Clip" do the job !

You are invited to download your FREE fully functional shareware
(for Windows 3.1x and Windows 95).
Visit us at http://www.xmission.com/~wintrnx/regnet/297p.htm !

Thank you in advance,
Dandy Quarter



From daemon@csg.lbl.gov  Mon Sep 16 04:00:40 1996
From: daemon@csg.lbl.gov
Date: Mon Sep 16 04:00:43 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Sep 16 04:00:32 PDT 1996

        Subject: Re: Subject: Sockets with a timeout
        Subject: Token Ring Driver
        Subject: Re: Xterminal emulator for PC
        Subject: Re: mvme162fx
        Subject: Re: Tonado development environment
        Subject: Re: Subject: Sockets with a timeout
        Subject: Re: Tonado development environment
        Subject: Re: Problems with select() and recv().
        Subject: Re: Problems with select() and recv().
        Subject: OUTPOST PATCH

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Subject: Sockets with a timeout
Date: 12 Sep 1996 22:25:23 -0700
From: mcs@goblin.caltech.edu (Martin Shepherd)
Organization: California Institute of Technology.
Message-ID: <yc9bufboukc.fsf@goblin.caltech.edu>
References: <322B1EFE.59E2B600@bbn.com> <50i3ev$oil@post.gsfc.nasa.gov>
	<yc9afuxs3pv.fsf@goblin.caltech.edu> <519ie9$gd@post.gsfc.nasa.gov>


In article <519ie9$gd@post.gsfc.nasa.gov> alexm@vlsi.gsfc.nasa.gov
(Alex Measday) writes:
>...
>I'm really getting confused.  I just found out that one of my programs
>that select()s a blocking socket to see if it is writeable before
>write()ing to it works as I expected under SunOS but not VxWorks.

Ok. It would be nice to get an authoritative answer to this so I have
posted to comp.unix.programmer requesting clarification.

Martin Shepherd  (mcs@astro.caltech.edu)

---------------------------

Newsgroups: comp.os.vxworks
Subject: Token Ring Driver
Date: Tue, 10 Sep 1996 12:04:16 -0400
From: Jeremy Frank <jfrank@teklogix.com>
Organization: Teklogix Incorporated
Message-ID: <32359180.39AF@teklogix.com>
Reply-To: jfrank@teklogix.com

hi all,

I am looking for a token ring driver.

The hardware we are using is an IBM mini-card which contains the TROPIC
chip.

The first application just uses the connectionless mode of the chip (?)
and runs TCP/IP over it.  However, we will eventually need a driver that
can handle both TCP/IP and SNA (not simultaneously; configurable at
runtime).

Any help would be appreciated.  Please email a reply to me, as I do not
keep up with this newsgroup constantly.  Thank you!

Jeremy Frank, Teklogix Inc.
jfrank@teklogix.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Xterminal emulator for PC
Date: Thu, 12 Sep 1996 09:35:33 -0700
From: Frank Weissig <frank@steptech.com>
Organization: STEP Technology, Inc.
Message-ID: <32383B74.5B7@steptech.com>
References: <9609030937.AA01711@wrsec.fr>
Reply-To: frank@steptech.com

Jmarc Jean-Marc de Maraumont wrote:
> 
>  Dear VxUsers,
> 
>  Does any one of you use a Xterminal emulator successfully with tornado:
> 
> PC client using an emulator + Unix station (X11 R5/R6) running Tornado.
> 
> Tornado should run on the Unix station and being displayed on the PC.
> So far, I have tried using Xoftware (from Chameleon) but it crashes Windows 95.
> 
>  Thanks for your help,
> 
>                        Jean-Marc De Maraumont.
> 
> *****************************************************************
> *  Jean-Marc de Maraumont               email : jmarc@wrsec.fr  *
> *  WIND RIVER SYSTEM EUROPE             tel : 33 1 60 92 63 19  *
> *  19, Av. de la Norvege                fax : 33 1 69 92 63 15  *
> *  ZA de Courtaboeuf 1                                          *
> *  91962 LES ULIS cedex. France        http://www.wrs.com       *
> *****************************************************************

For a PC-based XServer, I've been using Micro X-Win32 from StarNet
Communications.  Seems to work pretty well on NT 3.51, 4.0 and Win95.
I haven't used it with Tornado, since I run the NT version, but I
do use it quite a bit for administering a Linux system from my NT
desktop and my Win95 system at home.

The company can be reached at +1.408.739.0881 or sales@starnet.com

They have a single-node demo version you can try out for free.

- -- 
Frank Weissig
Senior Staff Engineer
STEP Technology, Inc.
frank@steptech.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: mvme162fx
Date: Fri, 13 Sep 1996 17:37:51 -0700
From: Frank Weissig <frank@steptech.com>
Organization: STEP Technology, Inc.
Message-ID: <3239FE5F.CB0@steptech.com>
References: <51cqei$56t@news.internetmci.com>
Reply-To: frank@steptech.com

Chuck Woodring wrote:
> 
> Hi,
> 
>         Has anyone successfully put a VxWorks boot image into the Flash RAM of
> the Motorola MVME162FX, 33MHz card.  I'm having a heck of a time.
> Windriver is sending me a boot eprom but I would still like to get the
> code into the fllash.
> 
> Any help/comments appreciated.

I didn't have any problems burning the flash in an MVME162 per the
instructions in the target.txt file, but I don't know what's different
about an "FX" board.

- -- 
Frank Weissig
Senior Staff Engineer
STEP Technology, Inc.
frank@steptech.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tonado development environment
Date: Fri, 13 Sep 1996 17:48:02 -0700
From: Frank Weissig <frank@steptech.com>
Organization: STEP Technology, Inc.
Message-ID: <323A00C2.1DE2@steptech.com>
References: <9609062055.AA00864@softeng.lamrc.com> <3235D7A0.40B2@steptech.com> <3237F18C.766E4098@ccii.co.za> <51akon$9o1@news.pacifier.com>
Reply-To: frank@steptech.com

Steve Doiel wrote:
> 
> Casey Crellin writes:
> >Frank Weissig wrote:
> >
> >> - The actual implementation on NT needs a bit of work.  It has the feel
> >> of a "1.0 product."  I've encountered quite a few problems, particularly
> >> with the debugger GUI.  I find myself using the gdb command line
> >> interface
> >> most of the time as a result.  The on-line help is mediocre at best, and
> >> the
> >> built-in editor is pathetic.
> 
> Agreed.  After speaking with their tech support I learned that they were doing
> their development (of the environment) with Microsoft Visual C++.  I told him
> they should be required to develop in the development environment they were
> generating... he said something like "they'd never go for that".
> 
> >
> >       I am using the Windows 95 version, the above holds true for it too.
> >       Additional problems with windows stability and zombie processes of
> >       gdbi386 and something called runCmd and WinoldApp added.
> >       The command line length on dos is 128 bytes so forget long command
> >       lines for make or run another version of make...
> >
> 
> After getting a couple of patches for Tornado, we haven't had may problems
> with the system locking up.  Maybe that's partly because we have learned what
> to avoid.  I prefer to run Tornado on NT... that way when it locks up you can
> just kill the task without having to reboot.
> 
> >> - I've been pretty much underwhelmed with Wind River tech support.
> >> They've
> >> blown off all of my bug reports because I'm running NT 4.0, for which
> >> Tornado hasn't been "validated."  Funny that I should want to run the
> >> current
> >> release of my operating system...
> 
> I have been using Tornado on NT 4.0 for about a week now.  It does not
> appear to behave any differently on NT 4.0 than it did on NT 3.51.

I suspect that at least some of my problems are unrelated to 4.0, but
the
fact that I'm using 4.0 has caused WRS tech support to blow most of them
off.  And I don't have time to install on 3.51 just to prove the point.
(None of the problems are show-stoppers.)

> 
> At this point the only siginficant problem I have is with the debugger.  It has
> proven to be very inconsistant in it's reliability.  Sometimes I can debug a
> process, and sometimes I cannot.  I've learned that it is a good idea to first
> "detach" before "stop debugging", and definitely don't just reset the target
> CPU, unless you want to lock Tornado.
> 
> On the other hand though, I have found VxWorks to be an EXCELLENT product.
> The only thing it is missing is a lot of documentation.

As I mentioned in my original post, I've found the quality of the print
docs to be quite good. If I have to make a choice, I guess I'll take
that
over quantity.  I do wish that the on-line help was more complete and
better organized, so I don't have to drag the print docs with me when I
run
tests at my client's lab.

- -- 
Frank Weissig
Senior Staff Engineer
STEP Technology, Inc.
frank@steptech.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Subject: Sockets with a timeout
Date: 9 Sep 1996 16:35:18 GMT
From: alexm@vlsi.gsfc.nasa.gov (Alex Measday)
Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
Message-ID: <511h06$msi@post.gsfc.nasa.gov>
References: <322B1EFE.59E2B600@bbn.com> <50i3ev$oil@post.gsfc.nasa.gov> <yc9raoek9s4.fsf@goblin.caltech.edu>

Martin Shepherd wrote:
> Alex Measday wrote:
>
> > If you're using select(), there's no reason (that I'm aware of) for the
> > socket to be non-blocking.
>
> It isn't necessary but it certainly helps. The fact that select()
> indicates that there is data available to be read doesn't mean that
> the whole message that you are expecting is available, only that at
> least one byte is available. If you then attempt to read from the
> indicated socket, the socket may block if you attempt to read more
> than a single byte, whereas if the socket were set up for non-blocking
> I/O then you could attempt to read the complete remainder of the
> expected message without danger of blocking. This is clearly more
> efficient.

If select() indicates that input is available, then a read(), blocking
or non-blocking, will return whatever is available.  A blocking read()
does NOT wait until the requested amount of data (e.g., a complete
message) has been received before returning to the caller.  That's
why you have to loop on a read() to collect the complete message.
(Or you can buffer what's been read and loop on select() to wait
for the remainder of the message.)  I don't know if there's any
difference in efficiency between a blocking and non-blocking read().

                                        Alex

========================================================================
|  Alex Measday             Code 521 - Microelectronic Systems Branch  |
|  Integral Systems, Inc.            NASA Goddard Space Flight Center  |
|  c.a.measday@ieee.org                                 Greenbelt, MD  |
========================================================================
)                     http://purl.oclc.org/net/alex/                   (
========================================================================


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tonado development environment
Date: Thu, 12 Sep 1996 14:22:05 GMT
From: sighg@sesig.abb.se (Henry Gessau)
Organization: Adtranz Signal, Stockholm
Message-ID: <32381afc.633213502@news.seinf.abb.se>
References: <9609062055.AA00864@softeng.lamrc.com> <3235D7A0.40B2@steptech.com> <3237F18C.766E4098@ccii.co.za>
Reply-To: sighg@sesig.abb.se

On Thu, 12 Sep 1996 13:18:36 +0200, Casey Crellin <casey@ccii.co.za> wrote:

> Frank Weissig wrote:
> 
> > - The actual implementation on NT needs a bit of work.  It has the feel
> > of a "1.0 product."  I've encountered quite a few problems, particularly
> > with the debugger GUI.  I find myself using the gdb command line
> > interface
> > most of the time as a result.  The on-line help is mediocre at best, and
> > the
> > built-in editor is pathetic.
> 
> 	I am using the Windows 95 version, the above holds true for it too.
> 	Additional problems with windows stability and zombie processes of 
> 	gdbi386 and something called runCmd and WinoldApp added.
> 	The command line length on dos is 128 bytes so forget long command 
> 	lines for make or run another version of make...

I'll add a "me too". We use Tornado under NT and very often in debugging
sessions we get zombie runcmd processes and the whole system deteriorates
until it is unusable. We have to use a "kill" utility from the NT Resource Kit
to blat the offending processes.

At least under NT there is no problem with 128 byte command lines. We have
very long make command lines presenting no problem at all. In fact the make
and compiler stuff is very fast and stable.

- --                                                                   -------+
Henry Gessau            System Designer/Software Engineer/Programmer/Hacker |
|                 ABB Daimler-Benz Transportation Signal, Stockholm, Sweden |
+------- All views and opinions expressed in this message are strictly my own

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Problems with select() and recv().
Date: Mon, 09 Sep 1996 08:35:33 -0500
From: Lee Graba <Graba_Lee@htc.honeywell.com>
Organization: Honeywell Technology Center
Message-ID: <32341D25.154F@htc.honeywell.com>
References: <3230A5B4.3C6F@htc.honeywell.com> <3231EA39.6B93@netcom.com>

Jim Simpson wrote:
>
> Lee Graba wrote:
> >
> > We are using VxWorks 5.1 on Force 40 VME boards (68040).  In part of our application, a
> > task running at a priority of 33, goes into a select loop, where it waits on a few
> > sockets on which connections already exist.  Its basic task is below:
> >
> >         for (;;)
> >         {
> >                 select_cnt=select(readfds, 0, 0, 0, 10 seconds);
> >                 if (select_cnt > 0)
> >                 {
> >                         find the FD with stuff to read
> >                         read the stuff into a buffer using 2 calls to recv
> >                         spawn a task at lower priority to process the buffer
> >                 }
> >                 else if (select_cnt < 0)
> >                 {
> >                         get errno and print error string
> >                 }
> >         }
> >
> > After the select, I have use ioctl to check the bytes to read, and compared with the
> > number of bytes read by the recv calls, and these add up.  The task that is spawned to
> > process the buffer owns the buffer, and the parent task doesn't touch it after the task
> > is spawned.
> >
> > The problem is, we are getting many errors from select after first getting a good
> > select, i.e. we successfully read the proper number of bytes from the fd, spawn a task,
> > and when we then loop around to call select again, it immediately returns select_cnt =
> > -1,  and errno = 0xD0003, which strerror_r reports as having to do with an
> > INVALID_FILE_DESCRIPTOR.  If I put a taskDelay of 100 ms somewhere in the select loop, I
> > no longer get these messages.
> >
> > Anybody have any idea what is causing select to return the error, and why timing has
> > anything to do with it?
> >
> > --
> > ===========================================================================
> > Lee Graba                                                                 =
> > Honeywell Technology Center                                               =
> > 3660 Technology Drive                                                     =
> > Minneapolis, MN 55418                                                     =
> > (612) 951-7503                                                            =
> > Graba_Lee@htc.honeywell.com                                               =
> > graba@htc.honeywell.com                                                   =
> > ===========================================================================
>
> How about this:
>
> >         for (;;)
> >         {
>
>                   readfds = set all the fd bits from which you
>                         want to read.  Do this everytime through
>                         the loop.
>
> >                 select_cnt=select(readfds, 0, 0, 0, 10 seconds);
> >                 if (select_cnt > 0)
> >                 {
> >                         find the FD with stuff to read
> >                         read the stuff into a buffer using 2 calls to recv
> >                         spawn a task at lower priority to process the buffer
> >                 }
> >                 else if (select_cnt < 0)
> >                 {
> >                         get errno and print error string
> >                 }
> >         }
> >

Actually, we already to the bit that you added.  My pseudo-code was too 'pseudo'
to include it in my original post!
- --
===========================================================================
Lee Graba                                                                 =
Honeywell Technology Center                                               =
3660 Technology Drive                                                     =
Minneapolis, MN 55418                                                     =
(612) 951-7503                                                            =
Graba_Lee@htc.honeywell.com                                               =
graba@htc.honeywell.com                                                   =
===========================================================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Problems with select() and recv().
Date: Mon, 09 Sep 1996 08:37:40 -0500
From: Lee Graba <Graba_Lee@htc.honeywell.com>
Organization: Honeywell Technology Center
Message-ID: <32341DA4.60FF@htc.honeywell.com>
References: <3230A5B4.3C6F@htc.honeywell.com> <50rsep$89o@news.sei.cmu.edu>

Theodore Marz wrote:
>
> In article <3230A5B4.3C6F@htc.honeywell.com>, Lee Graba <Graba_Lee@htc.honeywell.com> writes:
> |> We are using VxWorks 5.1 on Force 40 VME boards (68040).  In part of our application, a
> |> task running at a priority of 33, goes into a select loop, where it waits on a few
> |> sockets on which connections already exist.  Its basic task is below:
> |>
> |>      for (;;)
> |>      {
> |>              select_cnt=select(readfds, 0, 0, 0, 10 seconds);
> |>              if (select_cnt > 0)
> |>              {
> |>                      find the FD with stuff to read
> |>                      read the stuff into a buffer using 2 calls to recv
> |>                      spawn a task at lower priority to process the buffer
> |>              }
> |>              else if (select_cnt < 0)
> |>              {
> |>                      get errno and print error string
> |>              }
> |>      }
> |>
> |> After the select, I have use ioctl to check the bytes to read, and compared with the
> |> number of bytes read by the recv calls, and these add up.  The task that is spawned to
> |> process the buffer owns the buffer, and the parent task doesn't touch it after the task
> |> is spawned.
> |>
> |> The problem is, we are getting many errors from select after first getting a good
> |> select, i.e. we successfully read the proper number of bytes from the fd, spawn a task,
> |> and when we then loop around to call select again, it immediately returns select_cnt =
> |> -1,  and errno = 0xD0003, which strerror_r reports as having to do with an
> |> INVALID_FILE_DESCRIPTOR.  If I put a taskDelay of 100 ms somewhere in the select loop, I
> |> no longer get these messages.
> |>
> |> Anybody have any idea what is causing select to return the error, and why timing has
> |> anything to do with it?
> |>
> |>
> |> --
> |> ===========================================================================
> |> Lee Graba                                                                 =
> |> Honeywell Technology Center                                               =
> |> 3660 Technology Drive                                                     =
> |> Minneapolis, MN 55418                                                     =
> |> (612) 951-7503                                                            =
> |> Graba_Lee@htc.honeywell.com                                               =
> |> graba@htc.honeywell.com                                                   =
> |> ===========================================================================
>
> I not sure what is happening, but here are some thoughts:
>
>   What priority is the spawned process running at, relative to the pri 33 data
> detection routine?  If the data consumer is not running at higher priority
> than the data detection routine, you could be re-cycling into the data
> detection while the data is in the process of being consumed.  The file
> descriptor (socket) may be locked by the consumer task, and so when you try
> and select(), it fails.
>
> The 100mS delay you add pretty much ensures that the consumer task has
> completed reading the data before another select() gets called on the same
> fd/socket.
>
> Ted Marz

The spawned task is running at a lower priority than the task that calls select
and reads from the socket.  The spawned task does not read from the socket, this
will have been done by the task that called select().
- --
===========================================================================
Lee Graba                                                                 =
Honeywell Technology Center                                               =
3660 Technology Drive                                                     =
Minneapolis, MN 55418                                                     =
(612) 951-7503                                                            =
Graba_Lee@htc.honeywell.com                                               =
graba@htc.honeywell.com                                                   =
===========================================================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: OUTPOST PATCH
Date: Sun, 15 Sep 1996 16:07:09 -0500
From: Jeremy Brandt <v874@academic.truman.edu>
Organization: Northeast Missouri State University
Message-ID: <323C6FFD.5DEB@academic.truman.edu>

Help!

I need a patch for Sierra's game Outpost.  It's 
actually a single file that's been corrupted and I 
need a copy of it.  It is called:

tile6.opc

If you know about this, could you e-mail me?  I 
can't access this newsgroup on a reg basis.

ThankS!

Jeremy Brandt
v874@academic.truman.edu

O-

---------------------------

End of New-News digest
**********************


From gema@force.de  Mon Sep 16 05:35:05 1996
From: gema@force.de (Gerhard Mayr)
Date: Mon Sep 16 05:35:07 PDT 1996
Subject: Re: PowerPC VME Boards
FORCE Computers has already PowerPC based single-slot CPU boards
in their product program. The current portfolio covers 603 and 604
based boards, with one or two PMC slots. Several operating systems
has been ported, also VxWorks.

FORCE COMPUTERS has sales offices all over the world, please visit
our web page to get details about your next sales office.
"http://www.forcecomputers.com".

Gerd Mayr
gema@force.de



From cpr@ocegr.fr  Mon Sep 16 09:41:09 1996
From: cpr@ocegr.fr (Craig Preston)
Date: Mon Sep 16 09:41:11 PDT 1996
Subject: Purify with VxSim?
This may seem like an oddball question, but ...
does anybody know if using Purify from Pure Atria with VxSim gives any
useful results? 

Purify is a run-time error detection tool using Object Code Insertion
in the Unix environment.  I have no idea how VxSim maps its emulation
of VxWorks memory management onto Unix, and so I wonder if using
Purify on an application running with VxSim isn't a waste of time.  

I am aware that there are equivalent tools for VxWorks, but my
organization is hesitant to invest in them.  Any insight, experience,
advice, etc, pro or con is solicited.  If nothing else, they may serve
to justify an investment in dedicated tools. :-) 

Please reply to me directly.  If anyone's interested, I'd be happy to
summarize and pass on any responses I get.

Thanks in advance for your help,
Craig

// Craig Preston 
// Software Quality Engineer
// Oce Graphics France S.A.           
// email:  preston@ocegr.fr  
// phone: +33 1 48 98 80 92 
// fax  : +33 1 48 98 54 50 



From c_mcfarr@linkabit.titan.com  Mon Sep 16 09:41:37 1996
From: c_mcfarr@linkabit.titan.com (Shawn McFarr)
Date: Mon Sep 16 09:41:39 PDT 1996
Subject: Accessing host files using Tornado?

My Tornado configuration excludes network facilities due to small amount of 
available target memory. I'd like to use open()/close()/read()/write() VxWorks 
calls in my application to access files that are resident on my host file 
system (i.e. using WDB target agent).
My other method is to use the host resident WTX protocol through either 
the WTX Tcl API or WTX C API. Any other alternate methods?

Thanks,
Shawn McFarr


From usd@mee.hwm.com  Mon Sep 16 09:56:13 1996
From: Uwe Scheffold <usd@mee.hwm.com>
Date: Mon Sep 16 09:56:15 PDT 1996
Subject: Load and run applications with telnet
Hi vxWorker's

has anybody out there been able to load and run a application,
compiled for tornado, only with a telnet (rlogin host)?
We do !not! want to use the "host based shell". 

Uwe


From MAILER-DAEMON  Mon Sep 16 10:39:22 1996
From: PMDF Mail Server <pmdfmail@emamv1.orl.mmc.com>
Date: Mon Sep 16 10:39:27 PDT 1996
Subject: Undeliverable mail: Processing failure

--Boundary (ID raoQahN+HFNcBmVBehljuQ)
Content-type: TEXT/PLAIN; CHARSET=US-ASCII

These addresses were rejected:

  suan j henry: ***  Unknown message recipient  ***

--Boundary (ID raoQahN+HFNcBmVBehljuQ)
Content-type: MESSAGE/RFC822

Return-path: vxwexplo@lbl.gov
Date: Mon, 16 Sep 1996 06:00:45 -0500 (EST)
From: vxwexplo@lbl.gov
Subject: comp.os.vxworks newsdigest
To: vxworks_users@csg.lbl.gov
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=TEXT.TXT
Content-transfer-encoding: X-UUENCODE

begin 600 TEXT.TXT
M4W5B;6ET=&5D+6)Y(&1A96UO;D!C<V<N;&)L+F=O=B`@36]N(%-E<"`Q-B`P
M-#HP,#HT,"`Q.3DV#0I3=6)M:71T960M8GDZ(&1A96UO;D!C<V<N;&)L+F=O
M=@T*(`T*0V]M<"Y/<RY6>'=O<FMS($1A:6QY($1I9V5S="`@("!-;VX@4V5P
M(#$V(#`T.C`P.C,R(%!$5"`Q.3DV#0H-"B`@("`@("`@4W5B:F5C=#H@4F4Z
M(%-U8FIE8W0Z(%-O8VME=',@=VET:"!A('1I;65O=70-"B`@("`@("`@4W5B
M:F5C=#H@5&]K96X@4FEN9R!$<FEV97(-"B`@("`@("`@4W5B:F5C=#H@4F4Z
M(%AT97)M:6YA;"!E;75L871O<B!F;W(@4$,-"B`@("`@("`@4W5B:F5C=#H@
M4F4Z(&UV;64Q-C)F>`T*("`@("`@("!3=6)J96-T.B!293H@5&]N861O(&1E
M=F5L;W!M96YT(&5N=FER;VYM96YT#0H@("`@("`@(%-U8FIE8W0Z(%)E.B!3
M=6)J96-T.B!3;V-K971S('=I=&@@82!T:6UE;W5T#0H@("`@("`@(%-U8FIE
M8W0Z(%)E.B!4;VYA9&\@9&5V96QO<&UE;G0@96YV:7)O;FUE;G0-"B`@("`@
M("`@4W5B:F5C=#H@4F4Z(%!R;V)L96US('=I=&@@<V5L96-T*"D@86YD(')E
M8W8H*2X-"B`@("`@("`@4W5B:F5C=#H@4F4Z(%!R;V)L96US('=I=&@@<V5L
M96-T*"D@86YD(')E8W8H*2X-"B`@("`@("`@4W5B:F5C=#H@3U544$]35"!0
M051#2`T*#0HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM#0H-"DYE=W-G<F]U<',Z(&-O;7`N;W,N=GAW
M;W)K<PT*4W5B:F5C=#H@4F4Z(%-U8FIE8W0Z(%-O8VME=',@=VET:"!A('1I
M;65O=70-"D1A=&4Z(#$R(%-E<"`Q.3DV(#(R.C(U.C(S("TP-S`P#0I&<F]M
M.B!M8W-`9V]B;&EN+F-A;'1E8V@N961U("A-87)T:6X@4VAE<&AE<F0I#0I/
M<F=A;FEZ871I;VXZ($-A;&EF;W)N:6$@26YS=&ET=71E(&]F(%1E8VAN;VQO
M9WDN#0I-97-S86=E+4E$.B`\>6,Y8G5F8F]U:V,N9G-F0&=O8FQI;BYC86QT
M96-H+F5D=3X-"E)E9F5R96YC97,Z(#PS,C)",45&12XU.44R0C8P,$!B8FXN
M8V]M/B`\-3!I,V5V)&]I;$!P;W-T+F=S9F,N;F%S82YG;W8^#0H)/'EC.6%F
M=7AS,W!V+F9S9D!G;V)L:6XN8V%L=&5C:"YE9'4^(#PU,3EI93DD9V1`<&]S
M="YG<V9C+FYA<V$N9V]V/@T*#0H-"DEN(&%R=&EC;&4@/#4Q.6EE.21G9$!P
M;W-T+F=S9F,N;F%S82YG;W8^(&%L97AM0'9L<VDN9W-F8RYN87-A+F=O=@T*
M*$%L97@@365A<V1A>2D@=W)I=&5S.@T*/BXN+@T*/DDG;2!R96%L;'D@9V5T
M=&EN9R!C;VYF=7-E9"X@($D@:G5S="!F;W5N9"!O=70@=&AA="!O;F4@;V8@
M;7D@<')O9W)A;7,-"CYT:&%T('-E;&5C="@I<R!A(&)L;V-K:6YG('-O8VME
M="!T;R!S964@:68@:70@:7,@=W)I=&5A8FQE(&)E9F]R90T*/G=R:71E*"EI
M;F<@=&\@:70@=V]R:W,@87,@22!E>'!E8W1E9"!U;F1E<B!3=6Y/4R!B=70@
M;F]T(%9X5V]R:W,N#0H-"D]K+B!)="!W;W5L9"!B92!N:6-E('1O(&=E="!A
M;B!A=71H;W)I=&%T:79E(&%N<W=E<B!T;R!T:&ES('-O($D@:&%V90T*<&]S
M=&5D('1O(&-O;7`N=6YI>"YP<F]G<F%M;65R(')E<75E<W1I;F<@8VQA<FEF
M:6-A=&EO;BX-"@T*36%R=&EN(%-H97!H97)D("`H;6-S0&%S=')O+F-A;'1E
M8V@N961U*0T*#0HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"@T*3F5W
M<V=R;W5P<SH@8V]M<"YO<RYV>'=O<FMS#0I3=6)J96-T.B!4;VME;B!2:6YG
M($1R:79E<@T*1&%T93H@5'5E+"`Q,"!397`@,3DY-B`Q,CHP-#HQ-B`M,#0P
M,`T*1G)O;3H@2F5R96UY($9R86YK(#QJ9G)A;FM`=&5K;&]G:7@N8V]M/@T*
M3W)G86YI>F%T:6]N.B!496ML;V=I>"!);F-O<G!O<F%T960-"DUE<W-A9V4M
M240Z(#PS,C,U.3$X,"XS.4%&0'1E:VQO9VEX+F-O;3X-"E)E<&QY+51O.B!J
M9G)A;FM`=&5K;&]G:7@N8V]M#0H-"FAI(&%L;"P-"@T*22!A;2!L;V]K:6YG
M(&9O<B!A('1O:V5N(')I;F<@9')I=F5R+@T*#0I4:&4@:&%R9'=A<F4@=V4@
M87)E('5S:6YG(&ES(&%N($E"32!M:6YI+6-A<F0@=VAI8V@@8V]N=&%I;G,@
M=&AE(%123U!)0PT*8VAI<"X-"@T*5&AE(&9I<G-T(&%P<&QI8V%T:6]N(&IU
M<W0@=7-E<R!T:&4@8V]N;F5C=&EO;FQE<W,@;6]D92!O9B!T:&4@8VAI<"`H
M/RD-"F%N9"!R=6YS(%1#4"])4"!O=F5R(&ET+B`@2&]W979E<BP@=V4@=VEL
M;"!E=F5N='5A;&QY(&YE960@82!D<FEV97(@=&AA=`T*8V%N(&AA;F1L92!B
M;W1H(%1#4"])4"!A;F0@4TY!("AN;W0@<VEM=6QT86YE;W5S;'D[(&-O;F9I
M9W5R86)L92!A=`T*<G5N=&EM92DN#0H-"D%N>2!H96QP('=O=6QD(&)E(&%P
M<')E8VEA=&5D+B`@4&QE87-E(&5M86EL(&$@<F5P;'D@=&\@;64L(&%S($D@
M9&\@;F]T#0IK965P('5P('=I=&@@=&AI<R!N97=S9W)O=7`@8V]N<W1A;G1L
M>2X@(%1H86YK('EO=2$-"@T*2F5R96UY($9R86YK+"!496ML;V=I>"!);F,N
M#0IJ9G)A;FM`=&5K;&]G:7@N8V]M#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+0T*#0I.97=S9W)O=7!S.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE
M8W0Z(%)E.B!8=&5R;6EN86P@96UU;&%T;W(@9F]R(%!##0I$871E.B!4:'4L
M(#$R(%-E<"`Q.3DV(#`Y.C,U.C,S("TP-S`P#0I&<F]M.B!&<F%N:R!796ES
M<VEG(#QF<F%N:T!S=&5P=&5C:"YC;VT^#0I/<F=A;FEZ871I;VXZ(%-415`@
M5&5C:&YO;&]G>2P@26YC+@T*365S<V%G92U)1#H@/#,R,S@S0C<T+C5"-T!S
M=&5P=&5C:"YC;VT^#0I2969E<F5N8V5S.B`\.38P.3`S,#DS-RY!03`Q-S$Q
M0'=R<V5C+F9R/@T*4F5P;'DM5&\Z(&9R86YK0'-T97!T96-H+F-O;0T*#0I*
M;6%R8R!*96%N+4UA<F,@9&4@36%R875M;VYT('=R;W1E.@T*/B`-"CX@($1E
M87(@5GA5<V5R<RP-"CX@#0H^("!$;V5S(&%N>2!O;F4@;V8@>6]U('5S92!A
M(%AT97)M:6YA;"!E;75L871O<B!S=6-C97-S9G5L;'D@=VET:"!T;W)N861O
M.@T*/B`-"CX@4$,@8VQI96YT('5S:6YG(&%N(&5M=6QA=&]R("L@56YI>"!S
M=&%T:6]N("A8,3$@4C4O4C8I(')U;FYI;F<@5&]R;F%D;RX-"CX@#0H^(%1O
M<FYA9&\@<VAO=6QD(')U;B!O;B!T:&4@56YI>"!S=&%T:6]N(&%N9"!B96EN
M9R!D:7-P;&%Y960@;VX@=&AE(%!#+@T*/B!3;R!F87(L($D@:&%V92!T<FEE
M9"!U<VEN9R!8;V9T=V%R92`H9G)O;2!#:&%M96QE;VXI(&)U="!I="!C<F%S
M:&5S(%=I;F1O=W,@.34N#0H^(`T*/B`@5&AA;FMS(&9O<B!Y;W5R(&AE;'`L
M#0H^(`T*/B`@("`@("`@("`@("`@("`@("`@("`@($IE86XM36%R8R!$92!-
M87)A=6UO;G0N#0H^(`T*/B`J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*@T*/B`J("!*
M96%N+4UA<F,@9&4@36%R875M;VYT("`@("`@("`@("`@("`@96UA:6P@.B!J
M;6%R8T!W<G-E8RYF<B`@*@T*/B`J("!724Y$(%))5D52(%-94U1%32!%55)/
M4$4@("`@("`@("`@("`@=&5L(#H@,S,@,2`V,"`Y,B`V,R`Q.2`@*@T*/B`J
M("`Q.2P@078N(&1E(&QA($YO<G9E9V4@("`@("`@("`@("`@("`@9F%X(#H@
M,S,@,2`V.2`Y,B`V,R`Q-2`@*@T*/B`J("!:02!D92!#;W5R=&%B;V5U9B`Q
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@*@T*
M/B`J("`Y,3DV,B!,15,@54Q)4R!C961E>"X@1G)A;F-E("`@("`@("!H='1P
M.B\O=W=W+G=R<RYC;VT@("`@("`@*@T*/B`J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*@T*#0I&;W(@82!00RUB87-E9"!84V5R=F5R+"!))W9E(&)E96X@=7-I;F<@
M36EC<F\@6"U7:6XS,B!F<F]M(%-T87).970-"D-O;6UU;FEC871I;VYS+B`@
M4V5E;7,@=&\@=V]R:R!P<F5T='D@=V5L;"!O;B!.5"`S+C4Q+"`T+C`@86YD
M(%=I;CDU+@T*22!H879E;B=T('5S960@:70@=VET:"!4;W)N861O+"!S:6YC
M92!)(')U;B!T:&4@3E0@=F5R<VEO;BP@8G5T($D-"F1O('5S92!I="!Q=6ET
M92!A(&)I="!F;W(@861M:6YI<W1E<FEN9R!A($QI;G5X('-Y<W1E;2!F<F]M
M(&UY($Y4#0ID97-K=&]P(&%N9"!M>2!7:6XY-2!S>7-T96T@870@:&]M92X-
M"@T*5&AE(&-O;7!A;GD@8V%N(&)E(')E86-H960@870@*S$N-#`X+C<S.2XP
M.#@Q(&]R('-A;&5S0'-T87)N970N8V]M#0H-"E1H97D@:&%V92!A('-I;F=L
M92UN;V1E(&1E;6\@=F5R<VEO;B!Y;W4@8V%N('1R>2!O=70@9F]R(&9R964N
M#0H-"BT@+2T@#0I&<F%N:R!796ES<VEG#0I396YI;W(@4W1A9F8@16YG:6YE
M97(-"E-415`@5&5C:&YO;&]G>2P@26YC+@T*9G)A;FM`<W1E<'1E8V@N8V]M
M#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0I.97=S9W)O=7!S
M.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE8W0Z(%)E.B!M=FUE,38R9G@-"D1A
M=&4Z($9R:2P@,3,@4V5P(#$Y.38@,3<Z,S<Z-3$@+3`W,#`-"D9R;VTZ($9R
M86YK(%=E:7-S:6<@/&9R86YK0'-T97!T96-H+F-O;3X-"D]R9V%N:7IA=&EO
M;CH@4U1%4"!496-H;F]L;V=Y+"!);F,N#0I-97-S86=E+4E$.B`\,S(S.49%
M-48N0T(P0'-T97!T96-H+F-O;3X-"E)E9F5R96YC97,Z(#PU,6-Q96DD-39T
M0&YE=W,N:6YT97)N971M8VDN8V]M/@T*4F5P;'DM5&\Z(&9R86YK0'-T97!T
M96-H+F-O;0T*#0I#:'5C:R!7;V]D<FEN9R!W<F]T93H-"CX@#0H^($AI+`T*
M/B`-"CX@("`@("`@("!(87,@86YY;VYE('-U8V-E<W-F=6QL>2!P=70@82!6
M>%=O<FMS(&)O;W0@:6UA9V4@:6YT;R!T:&4@1FQA<V@@4D%-(&]F#0H^('1H
M92!-;W1O<F]L82!-5DU%,38R1E@L(#,S34AZ(&-A<F0N("!))VT@:&%V:6YG
M(&$@:&5C:R!O9B!A('1I;64N#0H^(%=I;F1R:79E<B!I<R!S96YD:6YG(&UE
M(&$@8F]O="!E<')O;2!B=70@22!W;W5L9"!S=&EL;"!L:6ME('1O(&=E="!T
M:&4-"CX@8V]D92!I;G1O('1H92!F;&QA<V@N#0H^(`T*/B!!;GD@:&5L<"]C
M;VUM96YT<R!A<'!R96-I871E9"X-"@T*22!D:61N)W0@:&%V92!A;GD@<')O
M8FQE;7,@8G5R;FEN9R!T:&4@9FQA<V@@:6X@86X@359-13$V,B!P97(@=&AE
M#0II;G-T<G5C=&EO;G,@:6X@=&AE('1A<F=E="YT>'0@9FEL92P@8G5T($D@
M9&]N)W0@:VYO=R!W:&%T)W,@9&EF9F5R96YT#0IA8F]U="!A;B`B1E@B(&)O
M87)D+@T*#0HM("TM(`T*1G)A;FL@5V5I<W-I9PT*4V5N:6]R(%-T869F($5N
M9VEN965R#0I35$50(%1E8VAN;VQO9WDL($EN8RX-"F9R86YK0'-T97!T96-H
M+F-O;0T*#0HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"@T*3F5W<V=R
M;W5P<SH@8V]M<"YO<RYV>'=O<FMS#0I3=6)J96-T.B!293H@5&]N861O(&1E
M=F5L;W!M96YT(&5N=FER;VYM96YT#0I$871E.B!&<FDL(#$S(%-E<"`Q.3DV
M(#$W.C0X.C`R("TP-S`P#0I&<F]M.B!&<F%N:R!796ES<VEG(#QF<F%N:T!S
M=&5P=&5C:"YC;VT^#0I/<F=A;FEZ871I;VXZ(%-415`@5&5C:&YO;&]G>2P@
M26YC+@T*365S<V%G92U)1#H@/#,R,T$P,$,R+C%$13)`<W1E<'1E8V@N8V]M
M/@T*4F5F97)E;F-E<SH@/#DV,#DP-C(P-34N04$P,#@V-$!S;V9T96YG+FQA
M;7)C+F-O;3X@/#,R,S5$-T$P+C0P0C)`<W1E<'1E8V@N8V]M/B`\,S(S-T8Q
M.$,N-S8V130P.3A`8V-I:2YC;RYZ83X@/#4Q86MO;B0Y;S%`;F5W<RYP86-I
M9FEE<BYC;VT^#0I297!L>2U4;SH@9G)A;FM`<W1E<'1E8V@N8V]M#0H-"E-T
M979E($1O:65L('=R;W1E.@T*/B`-"CX@0V%S97D@0W)E;&QI;B!W<FET97,Z
M#0H^(#Y&<F%N:R!796ES<VEG('=R;W1E.@T*/B`^#0H^(#X^("T@5&AE(&%C
M='5A;"!I;7!L96UE;G1A=&EO;B!O;B!.5"!N965D<R!A(&)I="!O9B!W;W)K
M+B`@270@:&%S('1H92!F965L#0H^(#X^(&]F(&$@(C$N,"!P<F]D=6-T+B(@
M($DG=F4@96YC;W5N=&5R960@<75I=&4@82!F97<@<')O8FQE;7,L('!A<G1I
M8W5L87)L>0T*/B`^/B!W:71H('1H92!D96)U9V=E<B!'54DN("!)(&9I;F0@
M;7ES96QF('5S:6YG('1H92!G9&(@8V]M;6%N9"!L:6YE#0H^(#X^(&EN=&5R
M9F%C90T*/B`^/B!M;W-T(&]F('1H92!T:6UE(&%S(&$@<F5S=6QT+B`@5&AE
M(&]N+6QI;F4@:&5L<"!I<R!M961I;V-R92!A="!B97-T+"!A;F0-"CX@/CX@
M=&AE#0H^(#X^(&)U:6QT+6EN(&5D:71O<B!I<R!P871H971I8RX-"CX@#0H^
M($%G<F5E9"X@($%F=&5R('-P96%K:6YG('=I=&@@=&AE:7(@=&5C:"!S=7!P
M;W)T($D@;&5A<FYE9"!T:&%T('1H97D@=V5R92!D;VEN9PT*/B!T:&5I<B!D
M979E;&]P;65N="`H;V8@=&AE(&5N=FER;VYM96YT*2!W:71H($UI8W)O<V]F
M="!6:7-U86P@0RLK+B`@22!T;VQD(&AI;0T*/B!T:&5Y('-H;W5L9"!B92!R
M97%U:7)E9"!T;R!D979E;&]P(&EN('1H92!D979E;&]P;65N="!E;G9I<F]N
M;65N="!T:&5Y('=E<F4-"CX@9V5N97)A=&EN9RXN+B!H92!S86ED('-O;65T
M:&EN9R!L:6ME(")T:&5Y)V0@;F5V97(@9V\@9F]R('1H870B+@T*/B`-"CX@
M/@T*/B`^("`@("`@($D@86T@=7-I;F<@=&AE(%=I;F1O=W,@.34@=F5R<VEO
M;BP@=&AE(&%B;W9E(&AO;&1S('1R=64@9F]R(&ET('1O;RX-"CX@/B`@("`@
M("!!9&1I=&EO;F%L('!R;V)L96US('=I=&@@=VEN9&]W<R!S=&%B:6QI='D@
M86YD('IO;6)I92!P<F]C97-S97,@;V8-"CX@/B`@("`@("!G9&)I,S@V(&%N
M9"!S;VUE=&AI;F<@8V%L;&5D(')U;D-M9"!A;F0@5VEN;VQD07!P(&%D9&5D
M+@T*/B`^("`@("`@(%1H92!C;VUM86YD(&QI;F4@;&5N9W1H(&]N(&1O<R!I
M<R`Q,C@@8GET97,@<V\@9F]R9V5T(&QO;F<@8V]M;6%N9`T*/B`^("`@("`@
M(&QI;F5S(&9O<B!M86ME(&]R(')U;B!A;F]T:&5R('9E<G-I;VX@;V8@;6%K
M92XN+@T*/B`^#0H^(`T*/B!!9G1E<B!G971T:6YG(&$@8V]U<&QE(&]F('!A
M=&-H97,@9F]R(%1O<FYA9&\L('=E(&AA=F5N)W0@:&%D(&UA>2!P<F]B;&5M
M<PT*/B!W:71H('1H92!S>7-T96T@;&]C:VEN9R!U<"X@($UA>6)E('1H870G
M<R!P87)T;'D@8F5C875S92!W92!H879E(&QE87)N960@=VAA=`T*/B!T;R!A
M=F]I9"X@($D@<')E9F5R('1O(')U;B!4;W)N861O(&]N($Y4+BXN('1H870@
M=V%Y('=H96X@:70@;&]C:W,@=7`@>6]U(&-A;@T*/B!J=7-T(&MI;&P@=&AE
M('1A<VL@=VET:&]U="!H879I;F<@=&\@<F5B;V]T+@T*/B`-"CX@/CX@+2!)
M)W9E(&)E96X@<')E='1Y(&UU8V@@=6YD97)W:&5L;65D('=I=&@@5VEN9"!2
M:79E<B!T96-H('-U<'!O<G0N#0H^(#X^(%1H97DG=F4-"CX@/CX@8FQO=VX@
M;V9F(&%L;"!O9B!M>2!B=6<@<F5P;W)T<R!B96-A=7-E($DG;2!R=6YN:6YG
M($Y4(#0N,"P@9F]R('=H:6-H#0H^(#X^(%1O<FYA9&\@:&%S;B=T(&)E96X@
M(G9A;&ED871E9"XB("!&=6YN>2!T:&%T($D@<VAO=6QD('=A;G0@=&\@<G5N
M('1H90T*/B`^/B!C=7)R96YT#0H^(#X^(')E;&5A<V4@;V8@;7D@;W!E<F%T
M:6YG('-Y<W1E;2XN+@T*/B`-"CX@22!H879E(&)E96X@=7-I;F<@5&]R;F%D
M;R!O;B!.5"`T+C`@9F]R(&%B;W5T(&$@=V5E:R!N;W<N("!)="!D;V5S(&YO
M=`T*/B!A<'!E87(@=&\@8F5H879E(&%N>2!D:69F97)E;G1L>2!O;B!.5"`T
M+C`@=&AA;B!I="!D:60@;VX@3E0@,RXU,2X-"@T*22!S=7-P96-T('1H870@
M870@;&5A<W0@<V]M92!O9B!M>2!P<F]B;&5M<R!A<F4@=6YR96QA=&5D('1O
M(#0N,"P@8G5T#0IT:&4-"F9A8W0@=&AA="!))VT@=7-I;F<@-"XP(&AA<R!C
M875S960@5U)3('1E8V@@<W5P<&]R="!T;R!B;&]W(&UO<W0@;V8@=&AE;0T*
M;V9F+B`@06YD($D@9&]N)W0@:&%V92!T:6UE('1O(&EN<W1A;&P@;VX@,RXU
M,2!J=7-T('1O('!R;W9E('1H92!P;VEN="X-"BA.;VYE(&]F('1H92!P<F]B
M;&5M<R!A<F4@<VAO=RUS=&]P<&5R<RXI#0H-"CX@#0H^($%T('1H:7,@<&]I
M;G0@=&AE(&]N;'D@<VEG:6YF:6-A;G0@<')O8FQE;2!)(&AA=F4@:7,@=VET
M:"!T:&4@9&5B=6=G97(N("!)="!H87,-"CX@<')O=F5N('1O(&)E('9E<GD@
M:6YC;VYS:7-T86YT(&EN(&ET)W,@<F5L:6%B:6QI='DN("!3;VUE=&EM97,@
M22!C86X@9&5B=6<@80T*/B!P<F]C97-S+"!A;F0@<V]M971I;65S($D@8V%N
M;F]T+B`@22=V92!L96%R;F5D('1H870@:70@:7,@82!G;V]D(&ED96$@=&\@
M9FER<W0-"CX@(F1E=&%C:"(@8F5F;W)E(")S=&]P(&1E8G5G9VEN9R(L(&%N
M9"!D969I;FET96QY(&1O;B=T(&IU<W0@<F5S970@=&AE('1A<F=E=`T*/B!#
M4%4L('5N;&5S<R!Y;W4@=V%N="!T;R!L;V-K(%1O<FYA9&\N#0H^(`T*/B!/
M;B!T:&4@;W1H97(@:&%N9"!T:&]U9V@L($D@:&%V92!F;W5N9"!6>%=O<FMS
M('1O(&)E(&%N($580T5,3$5.5"!P<F]D=6-T+@T*/B!4:&4@;VYL>2!T:&EN
M9R!I="!I<R!M:7-S:6YG(&ES(&$@;&]T(&]F(&1O8W5M96YT871I;VXN#0H-
M"D%S($D@;65N=&EO;F5D(&EN(&UY(&]R:6=I;F%L('!O<W0L($DG=F4@9F]U
M;F0@=&AE('%U86QI='D@;V8@=&AE('!R:6YT#0ID;V-S('1O(&)E('%U:71E
M(&=O;V0N($EF($D@:&%V92!T;R!M86ME(&$@8VAO:6-E+"!)(&=U97-S($DG
M;&P@=&%K90T*=&AA=`T*;W9E<B!Q=6%N=&ET>2X@($D@9&\@=VES:"!T:&%T
M('1H92!O;BUL:6YE(&AE;'`@=V%S(&UO<F4@8V]M<&QE=&4@86YD#0IB971T
M97(@;W)G86YI>F5D+"!S;R!)(&1O;B=T(&AA=F4@=&\@9')A9R!T:&4@<')I
M;G0@9&]C<R!W:71H(&UE('=H96X@20T*<G5N#0IT97-T<R!A="!M>2!C;&EE
M;G0G<R!L86(N#0H-"BT@+2T@#0I&<F%N:R!796ES<VEG#0I396YI;W(@4W1A
M9F8@16YG:6YE97(-"E-415`@5&5C:&YO;&]G>2P@26YC+@T*9G)A;FM`<W1E
M<'1E8V@N8V]M#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0I.
M97=S9W)O=7!S.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE8W0Z(%)E.B!3=6)J
M96-T.B!3;V-K971S('=I=&@@82!T:6UE;W5T#0I$871E.B`Y(%-E<"`Q.3DV
M(#$V.C,U.C$X($=-5`T*1G)O;3H@86QE>&U`=FQS:2YG<V9C+FYA<V$N9V]V
M("A!;&5X($UE87-D87DI#0I/<F=A;FEZ871I;VXZ($Y!4T$@1V]D9&%R9"!3
M<&%C92!&;&EG:'0@0V5N=&5R("TM($=R965N8F5L="P@36%R>6QA;F0@55-!
M#0I-97-S86=E+4E$.B`\-3$Q:#`V)&US:4!P;W-T+F=S9F,N;F%S82YG;W8^
M#0I2969E<F5N8V5S.B`\,S(R0C%%1D4N-3E%,D(V,#!`8F)N+F-O;3X@/#4P
M:3-E=B1O:6Q`<&]S="YG<V9C+FYA<V$N9V]V/B`\>6,Y<F%O96LY<S0N9G-F
M0&=O8FQI;BYC86QT96-H+F5D=3X-"@T*36%R=&EN(%-H97!H97)D('=R;W1E
M.@T*/B!!;&5X($UE87-D87D@=W)O=&4Z#0H^#0H^(#X@268@>6]U)W)E('5S
M:6YG('-E;&5C="@I+"!T:&5R92=S(&YO(')E87-O;B`H=&AA="!))VT@87=A
M<F4@;V8I(&9O<B!T:&4-"CX@/B!S;V-K970@=&\@8F4@;F]N+6)L;V-K:6YG
M+@T*/@T*/B!)="!I<VXG="!N96-E<W-A<GD@8G5T(&ET(&-E<G1A:6YL>2!H
M96QP<RX@5&AE(&9A8W0@=&AA="!S96QE8W0H*0T*/B!I;F1I8V%T97,@=&AA
M="!T:&5R92!I<R!D871A(&%V86EL86)L92!T;R!B92!R96%D(&1O97-N)W0@
M;65A;B!T:&%T#0H^('1H92!W:&]L92!M97-S86=E('1H870@>6]U(&%R92!E
M>'!E8W1I;F<@:7,@879A:6QA8FQE+"!O;FQY('1H870@870-"CX@;&5A<W0@
M;VYE(&)Y=&4@:7,@879A:6QA8FQE+B!)9B!Y;W4@=&AE;B!A='1E;7!T('1O
M(')E860@9G)O;2!T:&4-"CX@:6YD:6-A=&5D('-O8VME="P@=&AE('-O8VME
M="!M87D@8FQO8VL@:68@>6]U(&%T=&5M<'0@=&\@<F5A9"!M;W)E#0H^('1H
M86X@82!S:6YG;&4@8GET92P@=VAE<F5A<R!I9B!T:&4@<V]C:V5T('=E<F4@
M<V5T('5P(&9O<B!N;VXM8FQO8VMI;F<-"CX@22]/('1H96X@>6]U(&-O=6QD
M(&%T=&5M<'0@=&\@<F5A9"!T:&4@8V]M<&QE=&4@<F5M86EN9&5R(&]F('1H
M90T*/B!E>'!E8W1E9"!M97-S86=E('=I=&AO=70@9&%N9V5R(&]F(&)L;V-K
M:6YG+B!4:&ES(&ES(&-L96%R;'D@;6]R90T*/B!E9F9I8VEE;G0N#0H-"DEF
M('-E;&5C="@I(&EN9&EC871E<R!T:&%T(&EN<'5T(&ES(&%V86EL86)L92P@
M=&AE;B!A(')E860H*2P@8FQO8VMI;F<-"F]R(&YO;BUB;&]C:VEN9RP@=VEL
M;"!R971U<FX@=VAA=&5V97(@:7,@879A:6QA8FQE+B`@02!B;&]C:VEN9R!R
M96%D*"D-"F1O97,@3D]4('=A:70@=6YT:6P@=&AE(')E<75E<W1E9"!A;6]U
M;G0@;V8@9&%T82`H92YG+BP@82!C;VUP;&5T90T*;65S<V%G92D@:&%S(&)E
M96X@<F5C96EV960@8F5F;W)E(')E='5R;FEN9R!T;R!T:&4@8V%L;&5R+B`@
M5&AA="=S#0IW:'D@>6]U(&AA=F4@=&\@;&]O<"!O;B!A(')E860H*2!T;R!C
M;VQL96-T('1H92!C;VUP;&5T92!M97-S86=E+@T**$]R('EO=2!C86X@8G5F
M9F5R('=H870G<R!B965N(')E860@86YD(&QO;W`@;VX@<V5L96-T*"D@=&\@
M=V%I=`T*9F]R('1H92!R96UA:6YD97(@;V8@=&AE(&UE<W-A9V4N*2`@22!D
M;VXG="!K;F]W(&EF('1H97)E)W,@86YY#0ID:69F97)E;F-E(&EN(&5F9FEC
M:65N8WD@8F5T=V5E;B!A(&)L;V-K:6YG(&%N9"!N;VXM8FQO8VMI;F<@<F5A
M9"@I+@T*#0H@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@06QE>`T*#0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"GP@($%L
M97@@365A<V1A>2`@("`@("`@("`@("!#;V1E(#4R,2`M($UI8W)O96QE8W1R
M;VYI8R!3>7-T96US($)R86YC:"`@?`T*?"`@26YT96=R86P@4WES=&5M<RP@
M26YC+B`@("`@("`@("`@($Y!4T$@1V]D9&%R9"!3<&%C92!&;&EG:'0@0V5N
M=&5R("!\#0I\("!C+F$N;65A<V1A>4!I965E+F]R9R`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@($=R965N8F5L="P@340@('P-"CT]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/0T**2`@("`@("`@("`@("`@("`@("`@(&AT
M='`Z+R]P=7)L+F]C;&,N;W)G+VYE="]A;&5X+R`@("`@("`@("`@("`@("`@
M("`H#0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*#0HM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2T-"@T*3F5W<V=R;W5P<SH@8V]M<"YO<RYV
M>'=O<FMS#0I3=6)J96-T.B!293H@5&]N861O(&1E=F5L;W!M96YT(&5N=FER
M;VYM96YT#0I$871E.B!4:'4L(#$R(%-E<"`Q.3DV(#$T.C(R.C`U($=-5`T*
M1G)O;3H@<VEG:&=`<V5S:6<N86)B+G-E("A(96YR>2!'97-S874I#0I/<F=A
M;FEZ871I;VXZ($%D=')A;GH@4VEG;F%L+"!3=&]C:VAO;&T-"DUE<W-A9V4M
M240Z(#PS,C,X,6%F8RXV,S,R,3,U,#)`;F5W<RYS96EN9BYA8F(N<V4^#0I2
M969E<F5N8V5S.B`\.38P.3`V,C`U-2Y!03`P.#8T0'-O9G1E;F<N;&%M<F,N
M8V]M/B`\,S(S-40W03`N-#!",D!S=&5P=&5C:"YC;VT^(#PS,C,W1C$X0RXW
M-C9%-#`Y.$!C8VEI+F-O+GIA/@T*4F5P;'DM5&\Z('-I9VAG0'-E<VEG+F%B
M8BYS90T*#0I/;B!4:'4L(#$R(%-E<"`Q.3DV(#$S.C$X.C,V("LP,C`P+"!#
M87-E>2!#<F5L;&EN(#QC87-E>4!C8VEI+F-O+GIA/B!W<F]T93H-"@T*/B!&
M<F%N:R!796ES<VEG('=R;W1E.@T*/B`-"CX@/B`M(%1H92!A8W1U86P@:6UP
M;&5M96YT871I;VX@;VX@3E0@;F5E9',@82!B:70@;V8@=V]R:RX@($ET(&AA
M<R!T:&4@9F5E;`T*/B`^(&]F(&$@(C$N,"!P<F]D=6-T+B(@($DG=F4@96YC
M;W5N=&5R960@<75I=&4@82!F97<@<')O8FQE;7,L('!A<G1I8W5L87)L>0T*
M/B`^('=I=&@@=&AE(&1E8G5G9V5R($=522X@($D@9FEN9"!M>7-E;&8@=7-I
M;F<@=&AE(&=D8B!C;VUM86YD(&QI;F4-"CX@/B!I;G1E<F9A8V4-"CX@/B!M
M;W-T(&]F('1H92!T:6UE(&%S(&$@<F5S=6QT+B`@5&AE(&]N+6QI;F4@:&5L
M<"!I<R!M961I;V-R92!A="!B97-T+"!A;F0-"CX@/B!T:&4-"CX@/B!B=6EL
M="UI;B!E9&ET;W(@:7,@<&%T:&5T:6,N#0H^(`T*/B`)22!A;2!U<VEN9R!T
M:&4@5VEN9&]W<R`Y-2!V97)S:6]N+"!T:&4@86)O=F4@:&]L9',@=')U92!F
M;W(@:70@=&]O+@T*/B`)061D:71I;VYA;"!P<F]B;&5M<R!W:71H('=I;F1O
M=W,@<W1A8FEL:71Y(&%N9"!Z;VUB:64@<')O8V5S<V5S(&]F(`T*/B`)9V1B
M:3,X-B!A;F0@<V]M971H:6YG(&-A;&QE9"!R=6Y#;60@86YD(%=I;F]L9$%P
M<"!A9&1E9"X-"CX@"51H92!C;VUM86YD(&QI;F4@;&5N9W1H(&]N(&1O<R!I
M<R`Q,C@@8GET97,@<V\@9F]R9V5T(&QO;F<@8V]M;6%N9"`-"CX@"6QI;F5S
M(&9O<B!M86ME(&]R(')U;B!A;F]T:&5R('9E<G-I;VX@;V8@;6%K92XN+@T*
M#0I))VQL(&%D9"!A(")M92!T;V\B+B!792!U<V4@5&]R;F%D;R!U;F1E<B!.
M5"!A;F0@=F5R>2!O9G1E;B!I;B!D96)U9V=I;F<-"G-E<W-I;VYS('=E(&=E
M="!Z;VUB:64@<G5N8VUD('!R;V-E<W-E<R!A;F0@=&AE('=H;VQE('-Y<W1E
M;2!D971E<FEO<F%T97,-"G5N=&EL(&ET(&ES('5N=7-A8FQE+B!792!H879E
M('1O('5S92!A(")K:6QL(B!U=&EL:71Y(&9R;VT@=&AE($Y4(%)E<V]U<F-E
M($MI=`T*=&\@8FQA="!T:&4@;V9F96YD:6YG('!R;V-E<W-E<RX-"@T*070@
M;&5A<W0@=6YD97(@3E0@=&AE<F4@:7,@;F\@<')O8FQE;2!W:71H(#$R."!B
M>71E(&-O;6UA;F0@;&EN97,N(%=E(&AA=F4-"G9E<GD@;&]N9R!M86ME(&-O
M;6UA;F0@;&EN97,@<')E<V5N=&EN9R!N;R!P<F]B;&5M(&%T(&%L;"X@26X@
M9F%C="!T:&4@;6%K90T*86YD(&-O;7!I;&5R('-T=69F(&ES('9E<GD@9F%S
M="!A;F0@<W1A8FQE+@T*#0HM("TM("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("TM
M+2TM+2TK#0I(96YR>2!'97-S874@("`@("`@("`@("!3>7-T96T@1&5S:6=N
M97(O4V]F='=A<F4@16YG:6YE97(O4')O9W)A;6UE<B](86-K97(@?`T*?"`@
M("`@("`@("`@("`@("`@04)"($1A:6UL97(M0F5N>B!4<F%N<W!O<G1A=&EO
M;B!3:6=N86PL(%-T;V-K:&]L;2P@4W=E9&5N('P-"BLM+2TM+2TM($%L;"!V
M:65W<R!A;F0@;W!I;FEO;G,@97AP<F5S<V5D(&EN('1H:7,@;65S<V%G92!A
M<F4@<W1R:6-T;'D@;7D@;W=N#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+0T*#0I.97=S9W)O=7!S.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE8W0Z
M(%)E.B!0<F]B;&5M<R!W:71H('-E;&5C="@I(&%N9"!R96-V*"DN#0I$871E
M.B!-;VXL(#`Y(%-E<"`Q.3DV(#`X.C,U.C,S("TP-3`P#0I&<F]M.B!,964@
M1W)A8F$@/$=R86)A7TQE94!H=&,N:&]N97EW96QL+F-O;3X-"D]R9V%N:7IA
M=&EO;CH@2&]N97EW96QL(%1E8VAN;VQO9WD@0V5N=&5R#0I-97-S86=E+4E$
M.B`\,S(S-#%$,C4N,34T1D!H=&,N:&]N97EW96QL+F-O;3X-"E)E9F5R96YC
M97,Z(#PS,C,P035"-"XS0S9&0&AT8RYH;VYE>7=E;&PN8V]M/B`\,S(S,45!
M,SDN-D(Y,T!N971C;VTN8V]M/@T*#0I*:6T@4VEM<'-O;B!W<F]T93H-"CX-
M"CX@3&5E($=R86)A('=R;W1E.@T*/B`^#0H^(#X@5V4@87)E('5S:6YG(%9X
M5V]R:W,@-2XQ(&]N($9O<F-E(#0P(%9-12!B;V%R9',@*#8X,#0P*2X@($EN
M('!A<G0@;V8@;W5R(&%P<&QI8V%T:6]N+"!A#0H^(#X@=&%S:R!R=6YN:6YG
M(&%T(&$@<')I;W)I='D@;V8@,S,L(&=O97,@:6YT;R!A('-E;&5C="!L;V]P
M+"!W:&5R92!I="!W86ET<R!O;B!A(&9E=PT*/B`^('-O8VME=',@;VX@=VAI
M8V@@8V]N;F5C=&EO;G,@86QR96%D>2!E>&ES="X@($ET<R!B87-I8R!T87-K
M(&ES(&)E;&]W.@T*/B`^#0H^(#X@("`@("`@("!F;W(@*#L[*0T*/B`^("`@
M("`@("`@>PT*/B`^("`@("`@("`@("`@("`@("!S96QE8W1?8VYT/7-E;&5C
M="AR96%D9F1S+"`P+"`P+"`P+"`Q,"!S96-O;F1S*3L-"CX@/B`@("`@("`@
M("`@("`@("`@:68@*'-E;&5C=%]C;G0@/B`P*0T*/B`^("`@("`@("`@("`@
M("`@("![#0H^(#X@("`@("`@("`@("`@("`@("`@("`@("`@9FEN9"!T:&4@
M1D0@=VET:"!S='5F9B!T;R!R96%D#0H^(#X@("`@("`@("`@("`@("`@("`@
M("`@("`@<F5A9"!T:&4@<W1U9F8@:6YT;R!A(&)U9F9E<B!U<VEN9R`R(&-A
M;&QS('1O(')E8W8-"CX@/B`@("`@("`@("`@("`@("`@("`@("`@("!S<&%W
M;B!A('1A<VL@870@;&]W97(@<')I;W)I='D@=&\@<')O8V5S<R!T:&4@8G5F
M9F5R#0H^(#X@("`@("`@("`@("`@("`@('T-"CX@/B`@("`@("`@("`@("`@
M("`@96QS92!I9B`H<V5L96-T7V-N="`\(#`I#0H^(#X@("`@("`@("`@("`@
M("`@('L-"CX@/B`@("`@("`@("`@("`@("`@("`@("`@("!G970@97)R;F\@
M86YD('!R:6YT(&5R<F]R('-T<FEN9PT*/B`^("`@("`@("`@("`@("`@("!]
M#0H^(#X@("`@("`@("!]#0H^(#X-"CX@/B!!9G1E<B!T:&4@<V5L96-T+"!)
M(&AA=F4@=7-E(&EO8W1L('1O(&-H96-K('1H92!B>71E<R!T;R!R96%D+"!A
M;F0@8V]M<&%R960@=VET:"!T:&4-"CX@/B!N=6UB97(@;V8@8GET97,@<F5A
M9"!B>2!T:&4@<F5C=B!C86QL<RP@86YD('1H97-E(&%D9"!U<"X@(%1H92!T
M87-K('1H870@:7,@<W!A=VYE9"!T;PT*/B`^('!R;V-E<W,@=&AE(&)U9F9E
M<B!O=VYS('1H92!B=69F97(L(&%N9"!T:&4@<&%R96YT('1A<VL@9&]E<VXG
M="!T;W5C:"!I="!A9G1E<B!T:&4@=&%S:PT*/B`^(&ES('-P87=N960N#0H^
M(#X-"CX@/B!4:&4@<')O8FQE;2!I<RP@=V4@87)E(&=E='1I;F<@;6%N>2!E
M<G)O<G,@9G)O;2!S96QE8W0@869T97(@9FER<W0@9V5T=&EN9R!A(&=O;V0-
M"CX@/B!S96QE8W0L(&DN92X@=V4@<W5C8V5S<V9U;&QY(')E860@=&AE('!R
M;W!E<B!N=6UB97(@;V8@8GET97,@9G)O;2!T:&4@9F0L('-P87=N(&$@=&%S
M:RP-"CX@/B!A;F0@=VAE;B!W92!T:&5N(&QO;W`@87)O=6YD('1O(&-A;&P@
M<V5L96-T(&%G86EN+"!I="!I;6UE9&EA=&5L>2!R971U<FYS('-E;&5C=%]C
M;G0@/0T*/B`^("TQ+"`@86YD(&5R<FYO(#T@,'A$,#`P,RP@=VAI8V@@<W1R
M97)R;W)?<B!R97!O<G1S(&%S(&AA=FEN9R!T;R!D;R!W:71H(&%N#0H^(#X@
M24Y604Q)1%]&24Q%7T1%4T-225!43U(N("!)9B!)('!U="!A('1A<VM$96QA
M>2!O9B`Q,#`@;7,@<V]M97=H97)E(&EN('1H92!S96QE8W0@;&]O<"P@20T*
M/B`^(&YO(&QO;F=E<B!G970@=&AE<V4@;65S<V%G97,N#0H^(#X-"CX@/B!!
M;GEB;V1Y(&AA=F4@86YY(&ED96$@=VAA="!I<R!C875S:6YG('-E;&5C="!T
M;R!R971U<FX@=&AE(&5R<F]R+"!A;F0@=VAY('1I;6EN9R!H87,-"CX@/B!A
M;GET:&EN9R!T;R!D;R!W:71H(&ET/PT*/B`^#0H^(#X@+2T-"CX@/B`]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"CX@/B!,964@1W)A8F$@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@(#T-"CX@/B!(;VYE>7=E;&P@5&5C:&YO;&]G>2!#
M96YT97(@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@(#T-"CX@/B`S-C8P(%1E8VAN;VQO9WD@1')I=F4@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#T-
M"CX@/B!-:6YN96%P;VQI<RP@34X@-34T,3@@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#T-"CX@/B`H-C$R
M*2`Y-3$M-S4P,R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@(#T-"CX@/B!'<F%B85],965`:'1C
M+FAO;F5Y=V5L;"YC;VT@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@(#T-"CX@/B!G<F%B84!H=&,N:&]N97EW96QL+F-O
M;2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@(#T-"CX@/B`]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-
M"CX-"CX@2&]W(&%B;W5T('1H:7,Z#0H^#0H^(#X@("`@("`@("!F;W(@*#L[
M*0T*/B`^("`@("`@("`@>PT*/@T*/B`@("`@("`@("`@("`@("`@("!R96%D
M9F1S(#T@<V5T(&%L;"!T:&4@9F0@8FET<R!F<F]M('=H:6-H('EO=0T*/B`@
M("`@("`@("`@("`@("`@("`@("`@("!W86YT('1O(')E860N("!$;R!T:&ES
M(&5V97)Y=&EM92!T:')O=6=H#0H^("`@("`@("`@("`@("`@("`@("`@("`@
M('1H92!L;V]P+@T*/@T*/B`^("`@("`@("`@("`@("`@("!S96QE8W1?8VYT
M/7-E;&5C="AR96%D9F1S+"`P+"`P+"`P+"`Q,"!S96-O;F1S*3L-"CX@/B`@
M("`@("`@("`@("`@("`@:68@*'-E;&5C=%]C;G0@/B`P*0T*/B`^("`@("`@
M("`@("`@("`@("![#0H^(#X@("`@("`@("`@("`@("`@("`@("`@("`@9FEN
M9"!T:&4@1D0@=VET:"!S='5F9B!T;R!R96%D#0H^(#X@("`@("`@("`@("`@
M("`@("`@("`@("`@<F5A9"!T:&4@<W1U9F8@:6YT;R!A(&)U9F9E<B!U<VEN
M9R`R(&-A;&QS('1O(')E8W8-"CX@/B`@("`@("`@("`@("`@("`@("`@("`@
M("!S<&%W;B!A('1A<VL@870@;&]W97(@<')I;W)I='D@=&\@<')O8V5S<R!T
M:&4@8G5F9F5R#0H^(#X@("`@("`@("`@("`@("`@('T-"CX@/B`@("`@("`@
M("`@("`@("`@96QS92!I9B`H<V5L96-T7V-N="`\(#`I#0H^(#X@("`@("`@
M("`@("`@("`@('L-"CX@/B`@("`@("`@("`@("`@("`@("`@("`@("!G970@
M97)R;F\@86YD('!R:6YT(&5R<F]R('-T<FEN9PT*/B`^("`@("`@("`@("`@
M("`@("!]#0H^(#X@("`@("`@("!]#0H^(#X-"@T*06-T=6%L;'DL('=E(&%L
M<F5A9'D@=&\@=&AE(&)I="!T:&%T('EO=2!A9&1E9"X@($UY('!S975D;RUC
M;V1E('=A<R!T;V\@)W!S975D;R<-"G1O(&EN8VQU9&4@:70@:6X@;7D@;W)I
M9VEN86P@<&]S="$-"BT@+2T-"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/0T*3&5E($=R86)A("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`]#0I(;VYE>7=E
M;&P@5&5C:&YO;&]G>2!#96YT97(@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@(#T-"C,V-C`@5&5C:&YO;&]G>2!$<FEV
M92`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@/0T*36EN;F5A<&]L:7,L($U.(#4U-#$X("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`]#0HH
M-C$R*2`Y-3$M-S4P,R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@(#T-"D=R86)A7TQE94!H=&,N
M:&]N97EW96QL+F-O;2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@/0T*9W)A8F%`:'1C+FAO;F5Y=V5L;"YC;VT@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`]#0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H-"DYE=W-G<F]U<',Z(&-O;7`N;W,N
M=GAW;W)K<PT*4W5B:F5C=#H@4F4Z(%!R;V)L96US('=I=&@@<V5L96-T*"D@
M86YD(')E8W8H*2X-"D1A=&4Z($UO;BP@,#D@4V5P(#$Y.38@,#@Z,S<Z-#`@
M+3`U,#`-"D9R;VTZ($QE92!'<F%B82`\1W)A8F%?3&5E0&AT8RYH;VYE>7=E
M;&PN8V]M/@T*3W)G86YI>F%T:6]N.B!(;VYE>7=E;&P@5&5C:&YO;&]G>2!#
M96YT97(-"DUE<W-A9V4M240Z(#PS,C,T,41!-"XV,$9&0&AT8RYH;VYE>7=E
M;&PN8V]M/@T*4F5F97)E;F-E<SH@/#,R,S!!-4(T+C-#-D9`:'1C+FAO;F5Y
M=V5L;"YC;VT^(#PU,')S97`D.#EO0&YE=W,N<V5I+F-M=2YE9'4^#0H-"E1H
M96]D;W)E($UA<GH@=W)O=&4Z#0H^#0H^($EN(&%R=&EC;&4@/#,R,S!!-4(T
M+C-#-D9`:'1C+FAO;F5Y=V5L;"YC;VT^+"!,964@1W)A8F$@/$=R86)A7TQE
M94!H=&,N:&]N97EW96QL+F-O;3X@=W)I=&5S.@T*/B!\/B!792!A<F4@=7-I
M;F<@5GA7;W)K<R`U+C$@;VX@1F]R8V4@-#`@5DU%(&)O87)D<R`H-C@P-#`I
M+B`@26X@<&%R="!O9B!O=7(@87!P;&EC871I;VXL(&$-"CX@?#X@=&%S:R!R
M=6YN:6YG(&%T(&$@<')I;W)I='D@;V8@,S,L(&=O97,@:6YT;R!A('-E;&5C
M="!L;V]P+"!W:&5R92!I="!W86ET<R!O;B!A(&9E=PT*/B!\/B!S;V-K971S
M(&]N('=H:6-H(&-O;FYE8W1I;VYS(&%L<F5A9'D@97AI<W0N("!)=',@8F%S
M:6,@=&%S:R!I<R!B96QO=SH-"CX@?#X-"CX@?#X@("`@("!F;W(@*#L[*0T*
M/B!\/B`@("`@('L-"CX@?#X@("`@("`@("`@("`@('-E;&5C=%]C;G0]<V5L
M96-T*')E861F9',L(#`L(#`L(#`L(#$P('-E8V]N9',I.PT*/B!\/B`@("`@
M("`@("`@("`@:68@*'-E;&5C=%]C;G0@/B`P*0T*/B!\/B`@("`@("`@("`@
M("`@>PT*/B!\/B`@("`@("`@("`@("`@("`@("`@("!F:6YD('1H92!&1"!W
M:71H('-T=69F('1O(')E860-"CX@?#X@("`@("`@("`@("`@("`@("`@("`@
M<F5A9"!T:&4@<W1U9F8@:6YT;R!A(&)U9F9E<B!U<VEN9R`R(&-A;&QS('1O
M(')E8W8-"CX@?#X@("`@("`@("`@("`@("`@("`@("`@<W!A=VX@82!T87-K
M(&%T(&QO=V5R('!R:6]R:71Y('1O('!R;V-E<W,@=&AE(&)U9F9E<@T*/B!\
M/B`@("`@("`@("`@("`@?0T*/B!\/B`@("`@("`@("`@("`@96QS92!I9B`H
M<V5L96-T7V-N="`\(#`I#0H^('P^("`@("`@("`@("`@("![#0H^('P^("`@
M("`@("`@("`@("`@("`@("`@(&=E="!E<G)N;R!A;F0@<')I;G0@97)R;W(@
M<W1R:6YG#0H^('P^("`@("`@("`@("`@("!]#0H^('P^("`@("`@?0T*/B!\
M/@T*/B!\/B!!9G1E<B!T:&4@<V5L96-T+"!)(&AA=F4@=7-E(&EO8W1L('1O
M(&-H96-K('1H92!B>71E<R!T;R!R96%D+"!A;F0@8V]M<&%R960@=VET:"!T
M:&4-"CX@?#X@;G5M8F5R(&]F(&)Y=&5S(')E860@8GD@=&AE(')E8W8@8V%L
M;',L(&%N9"!T:&5S92!A9&0@=7`N("!4:&4@=&%S:R!T:&%T(&ES('-P87=N
M960@=&\-"CX@?#X@<')O8V5S<R!T:&4@8G5F9F5R(&]W;G,@=&AE(&)U9F9E
M<BP@86YD('1H92!P87)E;G0@=&%S:R!D;V5S;B=T('1O=6-H(&ET(&%F=&5R
M('1H92!T87-K#0H^('P^(&ES('-P87=N960N#0H^('P^#0H^('P^(%1H92!P
M<F]B;&5M(&ES+"!W92!A<F4@9V5T=&EN9R!M86YY(&5R<F]R<R!F<F]M('-E
M;&5C="!A9G1E<B!F:7)S="!G971T:6YG(&$@9V]O9`T*/B!\/B!S96QE8W0L
M(&DN92X@=V4@<W5C8V5S<V9U;&QY(')E860@=&AE('!R;W!E<B!N=6UB97(@
M;V8@8GET97,@9G)O;2!T:&4@9F0L('-P87=N(&$@=&%S:RP-"CX@?#X@86YD
M('=H96X@=V4@=&AE;B!L;V]P(&%R;W5N9"!T;R!C86QL('-E;&5C="!A9V%I
M;BP@:70@:6UM961I871E;'D@<F5T=7)N<R!S96QE8W1?8VYT(#T-"CX@?#X@
M+3$L("!A;F0@97)R;F\@/2`P>$0P,#`S+"!W:&EC:"!S=')E<G)O<E]R(')E
M<&]R=',@87,@:&%V:6YG('1O(&1O('=I=&@@86X-"CX@?#X@24Y604Q)1%]&
M24Q%7T1%4T-225!43U(N("!)9B!)('!U="!A('1A<VM$96QA>2!O9B`Q,#`@
M;7,@<V]M97=H97)E(&EN('1H92!S96QE8W0@;&]O<"P@20T*/B!\/B!N;R!L
M;VYG97(@9V5T('1H97-E(&UE<W-A9V5S+@T*/B!\/@T*/B!\/B!!;GEB;V1Y
M(&AA=F4@86YY(&ED96$@=VAA="!I<R!C875S:6YG('-E;&5C="!T;R!R971U
M<FX@=&AE(&5R<F]R+"!A;F0@=VAY('1I;6EN9R!H87,-"CX@?#X@86YY=&AI
M;F<@=&\@9&\@=VET:"!I=#\-"CX@?#X-"CX@?#X-"CX@?#X@+2T-"CX@?#X@
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]#0H^('P^($QE92!'<F%B
M82`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@/0T*/B!\/B!(;VYE>7=E;&P@5&5C:&YO
M;&]G>2!#96YT97(@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@(#T-"CX@?#X@,S8V,"!496-H;F]L;V=Y($1R:79E("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`]#0H^('P^($UI;FYE87!O;&ES+"!-3B`U-30Q."`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@/0T*
M/B!\/B`H-C$R*2`Y-3$M-S4P,R`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#T-"CX@?#X@1W)A
M8F%?3&5E0&AT8RYH;VYE>7=E;&PN8V]M("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`]#0H^('P^(&=R86)A0&AT8RYH
M;VYE>7=E;&PN8V]M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@/0T*/B!\/B`]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T-"CX-"CX@22!N;W0@<W5R92!W:&%T(&ES(&AA<'!E;FEN
M9RP@8G5T(&AE<F4@87)E('-O;64@=&AO=6=H=',Z#0H^#0H^("`@5VAA="!P
M<FEO<FET>2!I<R!T:&4@<W!A=VYE9"!P<F]C97-S(')U;FYI;F<@870L(')E
M;&%T:79E('1O('1H92!P<FD@,S,@9&%T80T*/B!D971E8W1I;VX@<F]U=&EN
M93\@($EF('1H92!D871A(&-O;G-U;65R(&ES(&YO="!R=6YN:6YG(&%T(&AI
M9VAE<B!P<FEO<FET>0T*/B!T:&%N('1H92!D871A(&1E=&5C=&EO;B!R;W5T
M:6YE+"!Y;W4@8V]U;&0@8F4@<F4M8WEC;&EN9R!I;G1O('1H92!D871A#0H^
M(&1E=&5C=&EO;B!W:&EL92!T:&4@9&%T82!I<R!I;B!T:&4@<')O8V5S<R!O
M9B!B96EN9R!C;VYS=6UE9"X@(%1H92!F:6QE#0H^(&1E<V-R:7!T;W(@*'-O
M8VME="D@;6%Y(&)E(&QO8VME9"!B>2!T:&4@8V]N<W5M97(@=&%S:RP@86YD
M('-O('=H96X@>6]U('1R>0T*/B!A;F0@<V5L96-T*"DL(&ET(&9A:6QS+@T*
M/@T*/B!4:&4@,3`P;5,@9&5L87D@>6]U(&%D9"!P<F5T='D@;75C:"!E;G-U
M<F5S('1H870@=&AE(&-O;G-U;65R('1A<VL@:&%S#0H^(&-O;7!L971E9"!R
M96%D:6YG('1H92!D871A(&)E9F]R92!A;F]T:&5R('-E;&5C="@I(&=E=',@
M8V%L;&5D(&]N('1H92!S86UE#0H^(&9D+W-O8VME="X-"CX-"CX@5&5D($UA
M<GH-"@T*5&AE('-P87=N960@=&%S:R!I<R!R=6YN:6YG(&%T(&$@;&]W97(@
M<')I;W)I='D@=&AA;B!T:&4@=&%S:R!T:&%T(&-A;&QS('-E;&5C=`T*86YD
M(')E861S(&9R;VT@=&AE('-O8VME="X@(%1H92!S<&%W;F5D('1A<VL@9&]E
M<R!N;W0@<F5A9"!F<F]M('1H92!S;V-K970L('1H:7,-"G=I;&P@:&%V92!B
M965N(&1O;F4@8GD@=&AE('1A<VL@=&AA="!C86QL960@<V5L96-T*"DN#0HM
M("TM#0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"DQE92!'<F%B
M82`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@/0T*2&]N97EW96QL(%1E8VAN;VQO9WD@
M0V5N=&5R("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`]#0HS-C8P(%1E8VAN;VQO9WD@1')I=F4@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#T-"DUI
M;FYE87!O;&ES+"!-3B`U-30Q."`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@/0T**#8Q,BD@.34Q+3<U,#,@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`]#0I'<F%B85],965`:'1C+FAO;F5Y=V5L;"YC;VT@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M(#T-"F=R86)A0&AT8RYH;VYE>7=E;&PN8V]M("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@/0T*/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+0T*#0I.97=S9W)O=7!S.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE
M8W0Z($]55%!/4U0@4$%40T@-"D1A=&4Z(%-U;BP@,34@4V5P(#$Y.38@,38Z
M,#<Z,#D@+3`U,#`-"D9R;VTZ($IE<F5M>2!"<F%N9'0@/'8X-S1`86-A9&5M
M:6,N=')U;6%N+F5D=3X-"D]R9V%N:7IA=&EO;CH@3F]R=&AE87-T($UI<W-O
M=7)I(%-T871E(%5N:79E<G-I='D-"DUE<W-A9V4M240Z(#PS,C-#-D9&1"XU
M1$5"0&%C861E;6EC+G1R=6UA;BYE9'4^#0H-"DAE;'`A#0H-"DD@;F5E9"!A
M('!A=&-H(&9O<B!3:65R<F$G<R!G86UE($]U='!O<W0N("!)="=S(`T*86-T
M=6%L;'D@82!S:6YG;&4@9FEL92!T:&%T)W,@8F5E;B!C;W)R=7!T960@86YD
M($D@#0IN965D(&$@8V]P>2!O9B!I="X@($ET(&ES(&-A;&QE9#H-"@T*=&EL
M938N;W!C#0H-"DEF('EO=2!K;F]W(&%B;W5T('1H:7,L(&-O=6QD('EO=2!E
M+6UA:6P@;64_("!)(`T*8V%N)W0@86-C97-S('1H:7,@;F5W<V=R;W5P(&]N
M(&$@<F5G(&)A<VES+@T*#0I4:&%N:U,A#0H-"DIE<F5M>2!"<F%N9'0-"G8X
M-S1`86-A9&5M:6,N=')U;6%N+F5D=0T*#0I/+0T*#0HM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2T-"@T*16YD(&]F($YE=RU.97=S(&1I9V5S=`T**BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*@T*#0HJ*BHJ*BHJ*BHJ#0H-"B`@("!4:&ES
M(&ES(&$@=7-E<B!G<F]U<"!M86EL:6YG(&QI<W0@9F]R('9X5V]R:W,@<F5L
M871E9"!T;W!I8W,-"B`@("!3=6)M:70@87)T:6-L97,@=&\@=GAW97AP;&]`
M;&)L+F=O=B!F;W(@)V5X<&QO<VEO;B<-"B`@("!396YD('-U8G-C<FEP=&EO
M;B!R97%U97-T<R`F(&-O;6UE;G1S('1O('9X=V5X<&QO+7)E<75E<W1`;&)L
&+F=O=@T*
`
end

--Boundary (ID raoQahN+HFNcBmVBehljuQ)--


From aac!sol!applanix.com!babak@seraph.uunet.ca  Mon Sep 16 11:15:01 1996
From: babak@applanix.com
Date: Mon Sep 16 11:15:03 PDT 1996
Subject: VxWorks/Ada-Multi

  Date: Sept. 16, 1996
  To:   vxwexplo@lbl.gov
  Re:   VxWorks/Ada-Multi 

  I like to hear from anyone who has or is currently using
  the Ada Compiler with GreenHills in combination with
  VxWorks/Tornado.

  I am particularly interested in finding out your experiences
  on devlopment on Pentium based PCI SBC (Single Board Computers) 
  with TCP/IP and SCSI support.

  If you are one of these people or you know of someone, I 
  sincerely appreciate a response.

  Thank you.
  Bob Derak  
  Applanix Corp.
  Toronto, Canada
  Email:  babak@applanix.com



From schen3@ccgate.hac.com  Mon Sep 16 11:54:55 1996
From: schen3@ccgate.hac.com
Date: Mon Sep 16 11:54:57 PDT 1996
Subject: vxWorks I/O system
     Hello,
     
     When the application make call to the VxWorks I/O system such as 
     open(), does VxWorks spawn the open() as a task or just a function 
     call?
     
     Thanks,
     Steven
     schen3@ccgate.hac.com



From tkb@mclean.sparta.com  Mon Sep 16 13:17:40 1996
From: "Thomas K. Buchanan" <tkb@mclean.sparta.com>
Date: Mon Sep 16 13:17:41 PDT 1996
Subject: Re: vxWorks I/O system
At 11:54 AM 9/16/96 PDT, you wrote:
>Submitted-by schen3@ccgate.hac.com  Mon Sep 16 11:54:55 1996
>Submitted-by: schen3@ccgate.hac.com
> 
>     Hello,
>     
>     When the application make call to the VxWorks I/O system such as 
>     open(), does VxWorks spawn the open() as a task or just a function 
>     call?

function call from used in application like Unix, 
function call called from shell UNlike Unix

adios
-----------------------------------------  
     /\\     Keith Buchanan 
    ///\\    
   /////\\   SPARTA, Inc. 
  /////  \\  7926 Jones Branch Drive
 / \\\\\  \\ Suite 900
 \  \\\\\ // McLean, VA 22102 
  \  //////  
   \//////   Voice: 703 448 0210
    \////    FAX:   703 893 5494
     \//     WWW:   www.mclean.sparta.com



From bwenholz@pacesetter.com  Mon Sep 16 16:36:24 1996
From: bwenholz@pacesetter.com (Bruce Wenholz)
Date: Mon Sep 16 16:36:32 PDT 1996
Subject: FWD>FW- WARNING (fwd)

----- Begin Included Message -----

From curata@Pacesetter.Com Mon Sep 16 14:19 PDT 1996
Return-Path: <curata@Pacesetter.Com>
Received: from tustin.Pacesetter.Com by hydra.Pacesetter.Com (SMI-8.6/SMI-SVR4)
	id OAA10368; Mon, 16 Sep 1996 14:19:19 -0700
Received: by tustin.Pacesetter.Com (SMI-8.6/SMI-SVR4-PI)
	id OAA09585; Mon, 16 Sep 1996 14:19:18 -0700
Date: Mon, 16 Sep 1996 14:19:18 -0700
From: curata@Pacesetter.Com (Chet Urata)
To: vsorense@Pacesetter.Com, ffernand@Pacesetter.Com, gmusser@Pacesetter.Com,
        terzis@Pacesetter.Com, gbenenyan@Pacesetter.Com, hzar@Pacesetter.Com,
        sshah@Pacesetter.Com, elogan@Pacesetter.Com, smccord@Pacesetter.Com,
        syang@Pacesetter.Com, ted@sd.inri.com, emiller@SIRIUS.COM,
        Don_Pugh@zd.com, bwenholz@Pacesetter.Com, cheturata@earthlink.net,
        lhoffman@xxcal.com, rengan@alsys.com, iwamoto@nvidia.com,
        rcisnero@Pacesetter.Com, YUENR@cpvz.dcs.saic.com
Subject: FWD>FW- WARNING (fwd)

Yo!

I called the number and it looks like they are ready for the deluge.
They say that the database does not contain any lethal info.  Use
your own judgement.

					Chet

----- Begin Included Message -----

From sophie@worldnet.att.net Mon Sep 16 09:57 PDT 1996
X-Sender: sophie@postoffice.worldnet.att.net
Mime-Version: 1.0
To: CariePaTi@aol.com, curata@Pacesetter.Com, billyogl@minn.net,
        cafoley@aol.com, MDP5902@aol.com, Freeeeko@aol.com, mitch@hdmg.com,
        sma@unlinfo.unl.edu (steven anderson), jill@ssch.com,
        steves@pa.dec.com
From: Sophie Anderson <sophie@worldnet.att.net>
Subject: FWD>FW- WARNING (fwd)
Date: Mon, 16 Sep 1996 16:14:06 +0000

>From: Kelly Bowen <kbowen@it.berklee.edu>
>To: barbara <bclough@bics.bwh.harvard.edu>, Sophie <sophie@worldnet.att.net>
>Subject: FWD>FW- WARNING (fwd)
>Date: Mon, 16 Sep 96 15:24:17 +0000
>
>Mail*Link(r) SMTP               FWD>FW: WARNING (fwd)
>
>
>I just got this in the mail.  FYI.
>
>Forwarded message:
>> > _______________________________
>> > 
>> > FYI (sent to me by one our attorneys):
>> > 
>> > Your name, social security number, current address, previous addresses, 
>> > mother's maiden name, birth date, and other personal information are now 
>> > available to anyone with a credit card through a new Lexis database called
>
>> > P-Trax.  As I am sure you are aware, this information could be used to 
>> > commit credit card fraud or otherwise allow someone else to use your 
>> > identity.
>>> 
>>> You can have your name and information removed from this list by making a 
>>> telephone request.  Call (800) 543-6862, select option4 and then option 3 
>>> ("all other questions") and tell the representative answering that you wish
>
>>> to remove your name from this P-trax database.  You may also send a fax to 
>>> (513) 865-7360, or physical mail to LEXIS-NEXIS / P.O. Box 933 / Dayton, 
>>> Ohio 45401-0933.  Sending physical mail to confirm your name has been 
>>> removed is always a good idea.
>>> 
>>>As word of the existence of this database has spread on the net, Lexis-Nexis
>
>>>has been inundated with calls, and has set up a special set of operators to 
>>> handle the volume.  In addition, Andrew Bleh (rhymes with "Play") is a 
>>> manager responsible for this product, and is the person to whom complaints 
>>> about the service could be directed.  He can be reached at the above 800 
>>> number.  Ask for extension 3385.  According to Lexis, the manager 
>>> responsible is Bill Fister at extension 1364.
>>> 
>>>I called this morning and had my name removed.  The representative will need
>
>>>your name and social security number to remove you from the list.  I suggest
>
>>>that we inundate these people with requests to remove our info from the list
>
>>> and FORWARD THIS E-MAIL TO EVERYONE WE KNOW!!!!
>
>------------------ RFC822 Header Follows ------------------
>Received: by it.berklee.edu with SMTP;13 Sep 1996 11:10:30 -0500
>Received: (from egieskes@localhost) by acs4.bu.edu (8.7.5/) id KAA145440; Fri,
>13 Sep 1996 10:55:41 -0400
>From: egieskes@bu.edu
>Message-Id: <199609131455.KAA145440@acs4.bu.edu>
>Subject: FW: WARNING (fwd)
>To: kbowen@it.berklee.edu (Kelly Bowen), steves@pa.dec.com (Steve Schneider),
>        BGieskes@aol.com (Barbara Gieskes), Freeeeko@aol.com (Michiel Gieskes)
>Date: Fri, 13 Sep 1996 10:55:40 -0400 (EDT)
>Cc: ahartley@acs.bu.edu, lkehoe@acs.bu.edu (Lauren Kehoe),
>        jsiemon@acs.bu.edu (James Siemon),
>        wcarroll@acs.bu.edu (William Carroll),
>        kbazler@acs.bu.edu (Kirk Melnikoff),
>        paigemct@acs.bu.edu (Paige McThenia),
>        zleib@acs.bu.edu (Zahava Leibowitz), slyons@acs.bu.edu (Sarah Lyons),
>        mwalker@acs.bu.edu (Michael Walker),
>        kpetersn@acs.bu.edu (Kaara Peterson),
>        kbrumm@acs.bu.edu (Kathryn Brumm),
>        kmur-and@acs.bu.edu (Kathryn MurphyAnderson),
>        jillo@acs.bu.edu (Jill Orofino),
>        imlac@acs.bu.edu (Eric Johnson-DeBaufre),
>        jmulroon@acs.bu.edu (Jonathan Mulrooney),
>        colinh@acs.bu.edu (Colin Harris)
>X-Mailer: ELM [version 2.4 PL25]
>MIME-Version: 1.0
>Content-Type: text/plain; charset=US-ASCII
>Content-Transfer-Encoding: 7bit
>
>
>
>



----- End Included Message -----



----- End Included Message -----



From anthonyl@atlantis.softeng.lamrc.com  Mon Sep 16 16:43:46 1996
From: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
Date: Mon Sep 16 16:43:48 PDT 1996
Subject: Re: vxWorks I/O system
Hi everyone,

Question: How do I make standard input NON-BLOCKING? I want to check
			if there is a keyboard character input  
before I use getc() function.


Anthony Le
LAM RESEARCH CORP.
anthony.le@lamrc.com


From bwenholz@pacesetter.com  Mon Sep 16 17:30:16 1996
From: bwenholz@pacesetter.com (Bruce Wenholz)
Date: Mon Sep 16 17:30:47 PDT 1996
Subject: FWD>FW- WARNING (fwd)

----- Begin Included Message -----

From curata@Pacesetter.Com Mon Sep 16 14:19 PDT 1996
Return-Path: <curata@Pacesetter.Com>
Received: from tustin.Pacesetter.Com by hydra.Pacesetter.Com (SMI-8.6/SMI-SVR4)
	id OAA10368; Mon, 16 Sep 1996 14:19:19 -0700
Received: by tustin.Pacesetter.Com (SMI-8.6/SMI-SVR4-PI)
	id OAA09585; Mon, 16 Sep 1996 14:19:18 -0700
Date: Mon, 16 Sep 1996 14:19:18 -0700
From: curata@Pacesetter.Com (Chet Urata)
To: vsorense@Pacesetter.Com, ffernand@Pacesetter.Com, gmusser@Pacesetter.Com,
        terzis@Pacesetter.Com, gbenenyan@Pacesetter.Com, hzar@Pacesetter.Com,
        sshah@Pacesetter.Com, elogan@Pacesetter.Com, smccord@Pacesetter.Com,
        syang@Pacesetter.Com, ted@sd.inri.com, emiller@SIRIUS.COM,
        Don_Pugh@zd.com, bwenholz@Pacesetter.Com, cheturata@earthlink.net,
        lhoffman@xxcal.com, rengan@alsys.com, iwamoto@nvidia.com,
        rcisnero@Pacesetter.Com, YUENR@cpvz.dcs.saic.com
Subject: FWD>FW- WARNING (fwd)

Yo!

I called the number and it looks like they are ready for the deluge.
They say that the database does not contain any lethal info.  Use
your own judgement.

					Chet

----- Begin Included Message -----

From sophie@worldnet.att.net Mon Sep 16 09:57 PDT 1996
X-Sender: sophie@postoffice.worldnet.att.net
Mime-Version: 1.0
To: CariePaTi@aol.com, curata@Pacesetter.Com, billyogl@minn.net,
        cafoley@aol.com, MDP5902@aol.com, Freeeeko@aol.com, mitch@hdmg.com,
        sma@unlinfo.unl.edu (steven anderson), jill@ssch.com,
        steves@pa.dec.com
From: Sophie Anderson <sophie@worldnet.att.net>
Subject: FWD>FW- WARNING (fwd)
Date: Mon, 16 Sep 1996 16:14:06 +0000

>From: Kelly Bowen <kbowen@it.berklee.edu>
>To: barbara <bclough@bics.bwh.harvard.edu>, Sophie <sophie@worldnet.att.net>
>Subject: FWD>FW- WARNING (fwd)
>Date: Mon, 16 Sep 96 15:24:17 +0000
>
>Mail*Link(r) SMTP               FWD>FW: WARNING (fwd)
>
>
>I just got this in the mail.  FYI.
>
>Forwarded message:
>> > _______________________________
>> > 
>> > FYI (sent to me by one our attorneys):
>> > 
>> > Your name, social security number, current address, previous addresses, 
>> > mother's maiden name, birth date, and other personal information are now 
>> > available to anyone with a credit card through a new Lexis database called
>
>> > P-Trax.  As I am sure you are aware, this information could be used to 
>> > commit credit card fraud or otherwise allow someone else to use your 
>> > identity.
>>> 
>>> You can have your name and information removed from this list by making a 
>>> telephone request.  Call (800) 543-6862, select option4 and then option 3 
>>> ("all other questions") and tell the representative answering that you wish
>
>>> to remove your name from this P-trax database.  You may also send a fax to 
>>> (513) 865-7360, or physical mail to LEXIS-NEXIS / P.O. Box 933 / Dayton, 
>>> Ohio 45401-0933.  Sending physical mail to confirm your name has been 
>>> removed is always a good idea.
>>> 
>>>As word of the existence of this database has spread on the net, Lexis-Nexis
>
>>>has been inundated with calls, and has set up a special set of operators to 
>>> handle the volume.  In addition, Andrew Bleh (rhymes with "Play") is a 
>>> manager responsible for this product, and is the person to whom complaints 
>>> about the service could be directed.  He can be reached at the above 800 
>>> number.  Ask for extension 3385.  According to Lexis, the manager 
>>> responsible is Bill Fister at extension 1364.
>>> 
>>>I called this morning and had my name removed.  The representative will need
>
>>>your name and social security number to remove you from the list.  I suggest
>
>>>that we inundate these people with requests to remove our info from the list
>
>>> and FORWARD THIS E-MAIL TO EVERYONE WE KNOW!!!!
>
>------------------ RFC822 Header Follows ------------------
>Received: by it.berklee.edu with SMTP;13 Sep 1996 11:10:30 -0500
>Received: (from egieskes@localhost) by acs4.bu.edu (8.7.5/) id KAA145440; Fri,
>13 Sep 1996 10:55:41 -0400
>From: egieskes@bu.edu
>Message-Id: <199609131455.KAA145440@acs4.bu.edu>
>Subject: FW: WARNING (fwd)
>To: kbowen@it.berklee.edu (Kelly Bowen), steves@pa.dec.com (Steve Schneider),
>        BGieskes@aol.com (Barbara Gieskes), Freeeeko@aol.com (Michiel Gieskes)
>Date: Fri, 13 Sep 1996 10:55:40 -0400 (EDT)
>Cc: ahartley@acs.bu.edu, lkehoe@acs.bu.edu (Lauren Kehoe),
>        jsiemon@acs.bu.edu (James Siemon),
>        wcarroll@acs.bu.edu (William Carroll),
>        kbazler@acs.bu.edu (Kirk Melnikoff),
>        paigemct@acs.bu.edu (Paige McThenia),
>        zleib@acs.bu.edu (Zahava Leibowitz), slyons@acs.bu.edu (Sarah Lyons),
>        mwalker@acs.bu.edu (Michael Walker),
>        kpetersn@acs.bu.edu (Kaara Peterson),
>        kbrumm@acs.bu.edu (Kathryn Brumm),
>        kmur-and@acs.bu.edu (Kathryn MurphyAnderson),
>        jillo@acs.bu.edu (Jill Orofino),
>        imlac@acs.bu.edu (Eric Johnson-DeBaufre),
>        jmulroon@acs.bu.edu (Jonathan Mulrooney),
>        colinh@acs.bu.edu (Colin Harris)
>X-Mailer: ELM [version 2.4 PL25]
>MIME-Version: 1.0
>Content-Type: text/plain; charset=US-ASCII
>Content-Transfer-Encoding: 7bit
>
>
>
>



----- End Included Message -----



----- End Included Message -----



From MikeMcQuade@connect.com  Mon Sep 16 22:30:45 1996
From: MikeMcQuade@connect.com
Date: Mon Sep 16 22:30:48 PDT 1996
Subject: Motorola MVME-160x Parallel Port
Has anyone ever setup the parallel port on a Moto PowerPC 1603/4 board such
that it generates interrupts ?


Ive got a signal that I want to bring into my system via interrupt, Id like
to use the /ACK line on the parallel port to generate the int.


Thanks in advance.


MikeMcQuade@connect.com



From daemon@csg.lbl.gov  Tue Sep 17 04:00:29 1996
From: daemon@csg.lbl.gov
Date: Tue Sep 17 04:00:32 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Sep 17 04:00:25 PDT 1996

        Subject: mvme162fx
        Subject: Re: How to get CPU time?
        Subject: Re: How to get CPU time?
        Subject: Re: Need recommendations on real-time OS and hardware
        Subject: iRMX port to VxWorks

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: mvme162fx
Date: Wed, 11 Sep 1996 13:19:46 GMT
From: woodring.fam@MCI2000.com (Chuck Woodring)
Organization: InternetMCI
Message-ID: <51cqei$56t@news.internetmci.com>

Hi,

	Has anyone successfully put a VxWorks boot image into the Flash RAM of
the Motorola MVME162FX, 33MHz card.  I'm having a heck of a time.
Windriver is sending me a boot eprom but I would still like to get the
code into the fllash.  

Any help/comments appreciated.

Chuck Woodring
NUWCDIVNPT
woodring_C@fs107.npt.nuwc.navy.mil
woodring.fam@mci2000.com


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to get CPU time?
Date: 13 Sep 1996 16:42:51 -0700
From: kla@leland.Stanford.EDU (Earl Mitchell)
Organization: Stanford University, CA 94305, USA
Message-ID: <51crhr$6te@amy14.Stanford.EDU>
References: <32467211.249333462@netline-fddi.jpl.nasa.gov> <3238DD66.2FF5@finley.com>

In article <3238DD66.2FF5@finley.com>, John Finley  <john@finley.com> wrote:
>Kevin D. Quitt wrote:
>> 
>> I need my program to be able to determine the amount of CPU time it's had, as
>> well as how much real-time has elapsed.  The spy and timex libraries prove it
>> can be done, but only print to the console.
>....
>
>Spy samples who the current task is at a fixed rate (via interrupts),
>and calculates the percent time spent in each task by its frequency
>in the overall total. So it's a statistical measure of CPU time in
>each task, but that doesn't sound like what you want.
>
>I think timex just run a routine over and over, timing it each time,
>until it thinks it has a good average measurement of the time the
>routine takes.  That is, if you run it 100 times, and 50 times it takes
>3 ticks, and 50 times it takes 4 ticks, then you say the routine takes
>about 3.5 ticks to execute.
>
>You could use the task switch hook if you need a "precise" measurement.
>Each switch, you would see if your task is being switched to or from,
>read the tick, and act accordingly. This would not account for interrupt
>time, though. (I put "precise" in quotes, because you will only get
>tick-resolution if you use the system ticker.  If a faster (non-
>interrupting) timebase is available, you can get better resolution.)
>
>I don't know how the commercial tools work.

The spy tool reports cpu utilization per task in ticks. So the smallest 
unit of time it will detect is 1 tick. On a typical mv162 target clockrate
for VxWorks is 60Hz (so 1 tick = 1/60 seconds = approx. 16 milliseconds).
So if you run spy and a task never runs for more than 16 milliseconds the
spy report will show it ran for 0 ticks in the sampled time period.
Changing the clock rate will make tick granularity better but this will
cause "thrashing" from too many interrupts. 

So if you need more granularity than a tick you must use something else.
One option is "WindView" which has microsecond granularity. Another option
is using a logic analyzer. 

If you just want to see if a task ran at all then use a hook. 


---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to get CPU time?
Date: Mon, 16 Sep 1996 18:23:32 GMT
From: kdq@emoryi.jpl.nasa.gov (Kevin D. Quitt)
Organization: Speaking only for Myself
Message-ID: <3242990c.586993702@netline-fddi.jpl.nasa.gov>
References: <32467211.249333462@netline-fddi.jpl.nasa.gov>
Reply-To: kdq@emoryi.jpl.nasa.gov

As an experiment, I ran spy, then ran my program.  To my amazement, the
taskTicks field was now being maintained, and my program timed itself
correctly!  So I tried again using spyClkStart(), which didn't work, then I
tried calling spyClkStart() from one task, then having it spawn the real
program.  This also didn't work.

Why should this be so hard?

- -- 
#include <standard_disclaimer.h>
 _
Kevin D Quitt  USA 91351-4454           96.37% of all statistics are made up
Per the FCA, this email address may not be added to any commercial mail list

---------------------------

Newsgroups: comp.os.os9,comp.os.vxworks
Subject: Re: Need recommendations on real-time OS and hardware
Date: Thu, 05 Sep 1996 00:32:20 GMT
From: afraser@hookup.net (Andrew Fraser)
Organization: HookUp Communication Corporation, Ottawa, Ontario, CANADA
Message-ID: <322e1936.82193449@nnrp.ott.hookup.net>
References: <1996Sep4.192253.25115@nosc.mil>

mitch@manta.nosc.mil (Ray Mitchell) wrote:

>Greetings All,
>	This is a long-winded posting since my experience in this area
>is limited.  We are in the process of putting together a new system and
>I need as much information as I can get regarding recommendations based
>on everyone's prior experience.  The system is intended to implement a
>direction finding algorithm and support routines requiring some DSP.
>Our current prototype is implemented on a VME system using a Force CPU30
>card, a DMA card, an extended memory card, and a custom hardware card.
>We are currently using OS9 and doing all development on the same system that
>runs the finished product.  I know that this is vague but if possible I would
>like recommendations on both software and hardware that are not only good
>alone, but are know to work together compatibly.   The following are some of
>the requirements (and questions) as I see them:
>
>1. REAL TIME OPERATING SYSTEM
>	The two operating systems I have heard of in this regard are OS9
>	(obviously) and VxWorks (which I've never used).  What I need out
>	of whatever operating system I use is:
Not many comments here since I'm hardware, but VxWorks is very
commonly used in realtime applications.
>		A.  Ability to compile and develop programs locally on the
>		    same system that will run the finished product.  Requiring
>		    reasonable development only on a remote platform is
>		    unacceptable (although the ability to do so is a plus).
Vx is usually developed on a seperate Sun or equivalent, but I don't
see why this would be a disadvantage.  Tornado (ie VxWorks 5.3) seems
to have some quite powerful graphical debugging tools.  (And if your
application crashes the system, you don't have to reboot your
development environment?<g>)
>		B.  Real time response
>		C.  Easy low level hardware access
Via pointers in C.
>		D.  Ability to read and write PC formatted SCSI disks (OS9
>		    does this acceptably but not perfectly)
VxWorks can host a DOS file system.
>		E.  Ethernet access for I/O of the finished product
Available under Vx and I would assume every commercial RTOS; the
actual interface may depend on the Ethernet card vendor's firmware?
>		F.  A local GUI interface for the finished product
You would probably get this via an X-Windows package for whichever
video card you are using.  Usually available from the video card
manufacturer.  You didn't mention including a video card, so I don't
know where the GUI would be defined and run?
>		G.  User friendly development environment and good vendor
>		    support
>2. HARDWARE
>	If possible I would like recommendations of products that are known
>	to work well together as well as with the real time OS chosen.
>		A.  Bus architecture
>			We are currently using an old VME system.  I assume
>			VME (with possibly VSB) is the way to go on this
>			system but am open to other suggestions.  Whatever
>			is used must to be stable.
Clearly VME, but then this is also the industry I work in!  You can
find just about any type of card you need, in several form factors and
ruggedization levels.  You may not need the VSB bus, since VME's
bandwidth is quite high, but many CPU cards offer it.
>		B.  CPU card
>			Currently we are using a Force CPU30(25MHz) with 4MB
>			on-card memory which is woefully inadequate.  I would
>			like to use whatever the current consensus is for a
>			good, fast, reliable CPU card with at least 32MB of
>			on-card memory.  My experience with Force sales has
>		    	been all bad and I assume is their tech support will
>			be even worse (although this is just my opinion).  I'm
>			not committed to a particular processor and software
>			support and reliability are most important.  Three
>			RS422 serial ports not dedicated to anything else are
>			required (either on the CPU card or another card).
You have a pretty wide choice of processors; 680x0, PowerPC, Pentium,
etc.  32 MB is easily available.  Your serial channels may be entirely
on the base card, or some may be from a daughter card.  Either way
it's a one slot solution.

Browse through the on-line catalog at VITA (VMEbus Industry Trade
Assoc), at http://www.vita.com to see what is available.

>		C.  DSP card
>			This is the point where I know the least.  I would
>			like a card with at least 32MB of DMAable RAM and
>			reasonable (whatever that means) compute power.  We
>			are doing a few FFTs and matrix operations which the
>			current CPU can't even begin to keep up with.  I don't
>			know whether multiple DSPs on the card are necessary
>			but if they are available they will probably be used.
>			C language support is required (and a DSP function
>			library is desired).
Again, visit the VITA catalog.  Several DSP processors and
architectures are available.
>		D.  DMA card
>			This card must have at least one 32bit DMA port (single
>			ended TTL is fine) and will be used to DMA into the DSP
>			memory.  I understand that there is something called
>			the VSB bus which may be used for such DMA transfers
>			without tieing up the VME bus.  This may be desirable
>			but I'm not sure it's required in our application.
You don't need this. <g>.  The DMA card presently (I assume) reads
from your custom card, and writes the data to the DSP card.  That will
be two cycles, since VME does not support "fly-by" transfers.  All
current VMEbus cards have a bus interface with a decent DMA built into
them, so the DSP card would use it's own DMA to read from the data
source. 
>
>Thanks to everyone,
>Ray Mitchell
>mitch@nosc.mil


- ---------------------------------------------------------------------
    ANDREW FRASER          DY 4 Systems Inc   email afraser@dy4.com
Senior Hardware Designer   333 Palladium Dr.  voice (613)599-9199x251
 Product Support Group     Kanata, Ontario    fax   (613)599-7777
                           Canada K2V 1A6     support support@dy4.com
                           http://www.dy4.com sales   sales@dy4.com
- ------------------- CUSTOMER FIRST, QUALITY ALWAYS ------------------

---------------------------

Newsgroups: comp.os.vxworks
Subject: iRMX port to VxWorks
Date: Wed, 11 Sep 1996 09:49:36 +1100
From: Steve Elliott <selliott@mkc.com.au>
Organization: Mayer Krieg & Co
Message-ID: <3235F080.344@mkc.com.au>
Reply-To: selliott@mkc.com.au

Can anyone give guidance on porting iRMX applications to VxWorks.

Thanks in advance.

Steve Elliott

---------------------------

End of New-News digest
**********************


From uchenick@tis4000.com  Tue Sep 17 04:58:49 1996
From: Gordon Uchenick <uchenick@tis4000.com>
Date: Tue Sep 17 04:58:50 PDT 1996
Subject: RE: vxWorks I/O system

> Question: How do I make standard input NON-BLOCKING? I want to check
> 			if there is a keyboard character input
> before I use getc() function.

Use fileno(stdin) to get the fd. Then you can either use select() or 
ioctl() with FIONREAD to find out if there is at least one byte present in 
the stdin buffer. You should not have to bother actually setting ioctl 
FIONBIO on fileno(stdin) if you use either one of these techniques.

If you do set ioctl FIONBIO and then use read() on the fd, I think that you 
would get a -1 return and errno set to EWOULDBLOCK if there was nothing in 
the console buffer. However, be cautious because I haven't actually tested 
this.

You should also be careful to test that your software is not adversely 
affected when someone telnets or rlogins into your shell. I think you'd be 
OK, but you never really know until you try it.

HTH,
Gordon Uchenick
uchenick@tis4000.com

"Life's a reach. Then you jibe."







From jhillman@wrs.com  Tue Sep 17 06:42:52 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Tue Sep 17 06:42:54 PDT 1996
Subject: Re: vxWorks I/O system
At 11:54 AM 9/16/96 PDT, Steven wrote:
>     Hello,
>     
>     When the application make call to the VxWorks I/O system such as 
>     open(), does VxWorks spawn the open() as a task or just a function 
>     call?


VxWorks makes a function call for the open, close, read, write, ioctl calls.
These calls are part of the I/O system library, which looks up the device
driver routines in a table look-up related to the name of the device. The
appropriate routine is then called to do the operation.  No tasks are spawned,
although they my communicate with other tasks (e.g., if asynchronous I/O is
used) which may manage some portion of the process.

It is not efficient to spawn tasks which do a single function and dies.  Rather
tasks should be spawned once and (for example) accept input via message
queues, etc.

I tried to be brief but informative. Feel free to contact me directly for more
details.


        _________________________
       | Jon Hillman, FAE        |       
       | Wind River Systems      |       
      /) (407) 273-4646          (\      
     / ) Email:jhillman@wrs.com  ( \    
   _( (|_________________________) )  />  
  (((\ \)  /,)             / )  / //))/  
  (\\\\ \_/ /              \ \_/ /////    
   \       /                \       /      
    \    _/                  \_    /          
----/   /----------------------\   \----
   /   /                        \   \



From c_mcfarr@linkabit.titan.com  Tue Sep 17 16:39:54 1996
From: c_mcfarr@linkabit.titan.com (Shawn McFarr)
Date: Tue Sep 17 16:39:56 PDT 1996
Subject: Intel hex converter?

Anyone knows where I can get a hold of a binary to convert an 'a.out' format to
Intel hex?

Thanks,
Shawn McFarr


From pardo@rti.com  Wed Sep 18 00:37:26 1996
From: Gerardo Pardo-Castellote <pardo@rti.com>
Date: Wed Sep 18 00:37:28 PDT 1996
Subject: Re: Load and run applications with telnet

>> Hi vxWorker's
>> 
>> has anybody out there been able to load and run a application,
>> compiled for tornado, only with a telnet (rlogin host)?
>> We do !not! want to use the "host based shell". 
>> 
>> Uwe

What do you mean by "compiled for tornado". The application doesn't
really change, however you need a kernel that has included all the
necessary facilities (loader, shell, rlogin, telnet). You can use
WindConfig or change configAll.h directly. In any case, you may want to
look in target/config/all/configAll.h and search for the #ifdef
INCLUDE_CONFIGURATION_5_2 to see what you need to define to have all
the facilities on the target.

The only "gotcha" is that the CrossWind debugger will not work (and
similarly any other tools that use the symbol table in the
target-server will not be aware of the code that you loaded directly to
the target). You can still degug using vxgdb.

	-Gerardo


===========================================================================
=                                           =                             =
=   Gerardo Pardo-Castellote                =   email: pardo@rti.com      =
=   Real-Time Innovations, Inc.             =   Phone: (408) 720-8312     =
=   155A Moffett Park Drive, Suite 111      =   Fax:   (408) 734-5009     =
=   Sunnyvale, CA 94089                     =   http://www.rti.com        =
=                                           =                             =
===========================================================================


From daemon@csg.lbl.gov  Wed Sep 18 04:00:20 1996
From: daemon@csg.lbl.gov
Date: Wed Sep 18 04:00:22 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Sep 18 04:00:17 PDT 1996

        Subject: HELP - tgtsrvr bombs out on me!

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: HELP - tgtsrvr bombs out on me!
Date: Tue, 17 Sep 1996 14:37:15 -0400
From: Yamudda Wezamibootz <neilr@inigo.us.dg.com>
Organization: Data General Corporation, Westboro, MA 
Message-ID: <323EEFDB.6BE5@inigo.us.dg.com>

I'm using tornado 1.0, VxWorks 5.2, trying to debug over TCP/IP ethernet
connection.  Here's what I get:

    Attaching backend... succeeded.
    Connecting to target agent... succeeded.
    Attached a.out OMF reader.

    Error: rpccore backend client Procedure unavailable
    Error: Can't read ctor/dtor strategy in target memory

    Error: rpccore backend client Procedure unavailable

    Error: rpccore backend client Remote system error

Meanwhile, I can talk to my target via a shell task on a serial port. 
It pings my host just fine.  In response to "i", it gives:

  NAME        ENTRY       TID    PRI   STATUS      PC       SP    
ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- --------
- ------- -----
tExcTask   _excTask       1fc9cc   0 PEND        3e4b69d   1fc93c      
0     0
tLogTask   _logTask       1fa0b4   0 PEND        3e4b69d   1fa020      
0     0
tShell     _shell         1b5964   1 READY       3e1e60c   1b564c      
0     0
tWdbTask   3e432dc        1b6b0c   3 PEND        3e43a0d   1b69c0      
0     0
dacsmssvc  _dacsmssvc     1af480  20 PEND        3e43a0d   1af368  
d0003     0
mulvio     _mulvioserv    1acbc8  20 PEND        3e43a0d   1acab0  
d0003     0
ampctodacse_ampctodacse   1aa310  20 PEND        3e43a0d   1aa1f8  
d0003     0
tNetTask   _netTask       1f5d7c  50 PEND        3e43a0d   1f5d24      
0     0
tPortmapd  _portmapd      1d8d78 100 PEND        3e43a0d   1d8c48     
16     0
value = 0 =
0x0                                                                 

...What does it all mean?  What can I do about it?  Many thanks in
advance.

---------------------------

End of New-News digest
**********************


From MAILER-DAEMON  Wed Sep 18 17:04:39 1996
From: PMDF Mail Server <pmdfmail@emamv1.orl.mmc.com>
Date: Wed Sep 18 17:04:43 PDT 1996
Subject: Undeliverable mail: Processing failure

--Boundary (ID MsPJyuN7x3wVP7dxPwaWOA)
Content-type: TEXT/PLAIN; CHARSET=US-ASCII

These addresses were rejected:

  suan j henry: ***  Unknown message recipient  ***

--Boundary (ID MsPJyuN7x3wVP7dxPwaWOA)
Content-type: MESSAGE/RFC822

Return-path: vxwexplo@lbl.gov
Date: Tue, 17 Sep 1996 06:00:34 -0500 (EST)
From: vxwexplo@lbl.gov
Subject: comp.os.vxworks newsdigest
To: vxworks_users@csg.lbl.gov
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=TEXT.TXT
Content-transfer-encoding: X-UUENCODE

begin 600 TEXT.TXT
M4W5B;6ET=&5D+6)Y(&1A96UO;D!C<V<N;&)L+F=O=B`@5'5E(%-E<"`Q-R`P
M-#HP,#HR.2`Q.3DV#0I3=6)M:71T960M8GDZ(&1A96UO;D!C<V<N;&)L+F=O
M=@T*(`T*0V]M<"Y/<RY6>'=O<FMS($1A:6QY($1I9V5S="`@("!4=64@4V5P
M(#$W(#`T.C`P.C(U(%!$5"`Q.3DV#0H-"B`@("`@("`@4W5B:F5C=#H@;79M
M93$V,F9X#0H@("`@("`@(%-U8FIE8W0Z(%)E.B!(;W<@=&\@9V5T($-052!T
M:6UE/PT*("`@("`@("!3=6)J96-T.B!293H@2&]W('1O(&=E="!#4%4@=&EM
M93\-"B`@("`@("`@4W5B:F5C=#H@4F4Z($YE960@<F5C;VUM96YD871I;VYS
M(&]N(')E86PM=&EM92!/4R!A;F0@:&%R9'=A<F4-"B`@("`@("`@4W5B:F5C
M=#H@:5)-6"!P;W)T('1O(%9X5V]R:W,-"@T*+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0I.97=S
M9W)O=7!S.B!C;VUP+F]S+G9X=V]R:W,-"E-U8FIE8W0Z(&UV;64Q-C)F>`T*
M1&%T93H@5V5D+"`Q,2!397`@,3DY-B`Q,SHQ.3HT-B!'350-"D9R;VTZ('=O
M;V1R:6YG+F9A;4!-0TDR,#`P+F-O;2`H0VAU8VL@5V]O9')I;F<I#0I/<F=A
M;FEZ871I;VXZ($EN=&5R;F5T34-)#0I-97-S86=E+4E$.B`\-3%C<65I)#4V
M=$!N97=S+FEN=&5R;F5T;6-I+F-O;3X-"@T*2&DL#0H-"@E(87,@86YY;VYE
M('-U8V-E<W-F=6QL>2!P=70@82!6>%=O<FMS(&)O;W0@:6UA9V4@:6YT;R!T
M:&4@1FQA<V@@4D%-(&]F#0IT:&4@36]T;W)O;&$@359-13$V,D98+"`S,TU(
M>B!C87)D+B`@22=M(&AA=FEN9R!A(&AE8VL@;V8@82!T:6UE+@T*5VEN9')I
M=F5R(&ES('-E;F1I;F<@;64@82!B;V]T(&5P<F]M(&)U="!)('=O=6QD('-T
M:6QL(&QI:V4@=&\@9V5T('1H90T*8V]D92!I;G1O('1H92!F;&QA<V@N("`-
M"@T*06YY(&AE;'`O8V]M;65N=',@87!P<F5C:6%T960N#0H-"D-H=6-K(%=O
M;V1R:6YG#0I.55=#1$E63E!4#0IW;V]D<FEN9U]#0&9S,3`W+FYP="YN=7=C
M+FYA=GDN;6EL#0IW;V]D<FEN9RYF86U`;6-I,C`P,"YC;VT-"@T*#0HM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"@T*3F5W<V=R;W5P<SH@8V]M<"YO
M<RYV>'=O<FMS#0I3=6)J96-T.B!293H@2&]W('1O(&=E="!#4%4@=&EM93\-
M"D1A=&4Z(#$S(%-E<"`Q.3DV(#$V.C0R.C4Q("TP-S`P#0I&<F]M.B!K;&%`
M;&5L86YD+E-T86YF;W)D+D5$52`H16%R;"!-:71C:&5L;"D-"D]R9V%N:7IA
M=&EO;CH@4W1A;F9O<F0@56YI=F5R<VET>2P@0T$@.30S,#4L(%5300T*365S
M<V%G92U)1#H@/#4Q8W)H<B0V=&5`86UY,30N4W1A;F9O<F0N1415/@T*4F5F
M97)E;F-E<SH@/#,R-#8W,C$Q+C(T.3,S,S0V,D!N971L:6YE+69D9&DN:G!L
M+FYA<V$N9V]V/B`\,S(S.$1$-C8N,D9&-4!F:6YL97DN8V]M/@T*#0I);B!A
M<G1I8VQE(#PS,C,X1$0V-BXR1D8U0&9I;FQE>2YC;VT^+"!*;VAN($9I;FQE
M>2`@/&IO:&Y`9FEN;&5Y+F-O;3X@=W)O=&4Z#0H^2V5V:6X@1"X@475I='0@
M=W)O=&4Z#0H^/B`-"CX^($D@;F5E9"!M>2!P<F]G<F%M('1O(&)E(&%B;&4@
M=&\@9&5T97)M:6YE('1H92!A;6]U;G0@;V8@0U!5('1I;64@:70G<R!H860L
M(&%S#0H^/B!W96QL(&%S(&AO=R!M=6-H(')E86PM=&EM92!H87,@96QA<'-E
M9"X@(%1H92!S<'D@86YD('1I;65X(&QI8G)A<FEE<R!P<F]V92!I=`T*/CX@
M8V%N(&)E(&1O;F4L(&)U="!O;FQY('!R:6YT('1O('1H92!C;VYS;VQE+@T*
M/BXN+BX-"CX-"CY3<'D@<V%M<&QE<R!W:&\@=&AE(&-U<G)E;G0@=&%S:R!I
M<R!A="!A(&9I>&5D(')A=&4@*'9I82!I;G1E<G)U<'1S*2P-"CYA;F0@8V%L
M8W5L871E<R!T:&4@<&5R8V5N="!T:6UE('-P96YT(&EN(&5A8V@@=&%S:R!B
M>2!I=',@9G)E<75E;F-Y#0H^:6X@=&AE(&]V97)A;&P@=&]T86PN(%-O(&ET
M)W,@82!S=&%T:7-T:6-A;"!M96%S=7)E(&]F($-052!T:6UE(&EN#0H^96%C
M:"!T87-K+"!B=70@=&AA="!D;V5S;B=T('-O=6YD(&QI:V4@=VAA="!Y;W4@
M=V%N="X-"CX-"CY)('1H:6YK('1I;65X(&IU<W0@<G5N(&$@<F]U=&EN92!O
M=F5R(&%N9"!O=F5R+"!T:6UI;F<@:70@96%C:"!T:6UE+`T*/G5N=&EL(&ET
M('1H:6YK<R!I="!H87,@82!G;V]D(&%V97)A9V4@;65A<W5R96UE;G0@;V8@
M=&AE('1I;64@=&AE#0H^<F]U=&EN92!T86ME<RX@(%1H870@:7,L(&EF('EO
M=2!R=6X@:70@,3`P('1I;65S+"!A;F0@-3`@=&EM97,@:70@=&%K97,-"CXS
M('1I8VMS+"!A;F0@-3`@=&EM97,@:70@=&%K97,@-"!T:6-K<RP@=&AE;B!Y
M;W4@<V%Y('1H92!R;W5T:6YE('1A:V5S#0H^86)O=70@,RXU('1I8VMS('1O
M(&5X96-U=&4N#0H^#0H^66]U(&-O=6QD('5S92!T:&4@=&%S:R!S=VET8V@@
M:&]O:R!I9B!Y;W4@;F5E9"!A(")P<F5C:7-E(B!M96%S=7)E;65N="X-"CY%
M86-H('-W:71C:"P@>6]U('=O=6QD('-E92!I9B!Y;W5R('1A<VL@:7,@8F5I
M;F<@<W=I=&-H960@=&\@;W(@9G)O;2P-"CYR96%D('1H92!T:6-K+"!A;F0@
M86-T(&%C8V]R9&EN9VQY+B!4:&ES('=O=6QD(&YO="!A8V-O=6YT(&9O<B!I
M;G1E<G)U<'0-"CYT:6UE+"!T:&]U9V@N("A)('!U="`B<')E8VES92(@:6X@
M<75O=&5S+"!B96-A=7-E('EO=2!W:6QL(&]N;'D@9V5T#0H^=&EC:RUR97-O
M;'5T:6]N(&EF('EO=2!U<V4@=&AE('-Y<W1E;2!T:6-K97(N("!)9B!A(&9A
M<W1E<B`H;F]N+0T*/FEN=&5R<G5P=&EN9RD@=&EM96)A<V4@:7,@879A:6QA
M8FQE+"!Y;W4@8V%N(&=E="!B971T97(@<F5S;VQU=&EO;BXI#0H^#0H^22!D
M;VXG="!K;F]W(&AO=R!T:&4@8V]M;65R8VEA;"!T;V]L<R!W;W)K+@T*#0I4
M:&4@<W!Y('1O;VP@<F5P;W)T<R!C<'4@=71I;&EZ871I;VX@<&5R('1A<VL@
M:6X@=&EC:W,N(%-O('1H92!S;6%L;&5S="`-"G5N:70@;V8@=&EM92!I="!W
M:6QL(&1E=&5C="!I<R`Q('1I8VLN($]N(&$@='EP:6-A;"!M=C$V,B!T87)G
M970@8VQO8VMR871E#0IF;W(@5GA7;W)K<R!I<R`V,$AZ("AS;R`Q('1I8VL@
M/2`Q+S8P('-E8V]N9',@/2!A<'!R;W@N(#$V(&UI;&QI<V5C;VYD<RDN#0I3
M;R!I9B!Y;W4@<G5N('-P>2!A;F0@82!T87-K(&YE=F5R(')U;G,@9F]R(&UO
M<F4@=&AA;B`Q-B!M:6QL:7-E8V]N9',@=&AE#0IS<'D@<F5P;W)T('=I;&P@
M<VAO=R!I="!R86X@9F]R(#`@=&EC:W,@:6X@=&AE('-A;7!L960@=&EM92!P
M97)I;V0N#0I#:&%N9VEN9R!T:&4@8VQO8VL@<F%T92!W:6QL(&UA:V4@=&EC
M:R!G<F%N=6QA<FET>2!B971T97(@8G5T('1H:7,@=VEL;`T*8V%U<V4@(G1H
M<F%S:&EN9R(@9G)O;2!T;V\@;6%N>2!I;G1E<G)U<'1S+B`-"@T*4V\@:68@
M>6]U(&YE960@;6]R92!G<F%N=6QA<FET>2!T:&%N(&$@=&EC:R!Y;W4@;75S
M="!U<V4@<V]M971H:6YG(&5L<V4N#0I/;F4@;W!T:6]N(&ES(")7:6YD5FEE
M=R(@=VAI8V@@:&%S(&UI8W)O<V5C;VYD(&=R86YU;&%R:71Y+B!!;F]T:&5R
M(&]P=&EO;@T*:7,@=7-I;F<@82!L;V=I8R!A;F%L>7IE<BX@#0H-"DEF('EO
M=2!J=7-T('=A;G0@=&\@<V5E(&EF(&$@=&%S:R!R86X@870@86QL('1H96X@
M=7-E(&$@:&]O:RX@#0H-"@T*+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M#0H-"DYE=W-G<F]U<',Z(&-O;7`N;W,N=GAW;W)K<PT*4W5B:F5C=#H@4F4Z
M($AO=R!T;R!G970@0U!5('1I;64_#0I$871E.B!-;VXL(#$V(%-E<"`Q.3DV
M(#$X.C(S.C,R($=-5`T*1G)O;3H@:V1Q0&5M;W)Y:2YJ<&PN;F%S82YG;W8@
M*$ME=FEN($0N(%%U:71T*0T*3W)G86YI>F%T:6]N.B!3<&5A:VEN9R!O;FQY
M(&9O<B!->7-E;&8-"DUE<W-A9V4M240Z(#PS,C0R.3DP8RXU.#8Y.3,W,#)`
M;F5T;&EN92UF9&1I+FIP;"YN87-A+F=O=CX-"E)E9F5R96YC97,Z(#PS,C0V
M-S(Q,2XR-#DS,S,T-C)`;F5T;&EN92UF9&1I+FIP;"YN87-A+F=O=CX-"E)E
M<&QY+51O.B!K9'%`96UO<GEI+FIP;"YN87-A+F=O=@T*#0I!<R!A;B!E>'!E
M<FEM96YT+"!)(')A;B!S<'DL('1H96X@<F%N(&UY('!R;V=R86TN("!4;R!M
M>2!A;6%Z96UE;G0L('1H90T*=&%S:U1I8VMS(&9I96QD('=A<R!N;W<@8F5I
M;F<@;6%I;G1A:6YE9"P@86YD(&UY('!R;V=R86T@=&EM960@:71S96QF#0IC
M;W)R96-T;'DA("!3;R!)('1R:65D(&%G86EN('5S:6YG('-P>4-L:U-T87)T
M*"DL('=H:6-H(&1I9&XG="!W;W)K+"!T:&5N($D-"G1R:65D(&-A;&QI;F<@
M<W!Y0VQK4W1A<G0H*2!F<F]M(&]N92!T87-K+"!T:&5N(&AA=FEN9R!I="!S
M<&%W;B!T:&4@<F5A;`T*<')O9W)A;2X@(%1H:7,@86QS;R!D:61N)W0@=V]R
M:RX-"@T*5VAY('-H;W5L9"!T:&ES(&)E('-O(&AA<F0_#0H-"BT@+2T@#0HC
M:6YC;'5D92`\<W1A;F1A<F1?9&ES8VQA:6UE<BYH/@T*(%\-"DME=FEN($0@
M475I='0@(%5302`Y,3,U,2TT-#4T("`@("`@("`@("`Y-BXS-R4@;V8@86QL
M('-T871I<W1I8W,@87)E(&UA9&4@=7`-"E!E<B!T:&4@1D-!+"!T:&ES(&5M
M86EL(&%D9')E<W,@;6%Y(&YO="!B92!A9&1E9"!T;R!A;GD@8V]M;65R8VEA
M;"!M86EL(&QI<W0-"@T*+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H-
M"DYE=W-G<F]U<',Z(&-O;7`N;W,N;W,Y+&-O;7`N;W,N=GAW;W)K<PT*4W5B
M:F5C=#H@4F4Z($YE960@<F5C;VUM96YD871I;VYS(&]N(')E86PM=&EM92!/
M4R!A;F0@:&%R9'=A<F4-"D1A=&4Z(%1H=2P@,#4@4V5P(#$Y.38@,#`Z,S(Z
M,C`@1TU4#0I&<F]M.B!A9G)A<V5R0&AO;VMU<"YN970@*$%N9')E=R!&<F%S
M97(I#0I/<F=A;FEZ871I;VXZ($AO;VM5<"!#;VUM=6YI8V%T:6]N($-O<G!O
M<F%T:6]N+"!/='1A=V$L($]N=&%R:6\L($-!3D%$00T*365S<V%G92U)1#H@
M/#,R,F4Q.3,V+C@R,3DS-#0Y0&YN<G`N;W1T+FAO;VMU<"YN970^#0I2969E
M<F5N8V5S.B`\,3DY-E-E<#0N,3DR,C4S+C(U,3$U0&YO<V,N;6EL/@T*#0IM
M:71C:$!M86YT82YN;W-C+FUI;"`H4F%Y($UI=&-H96QL*2!W<F]T93H-"@T*
M/D=R965T:6YG<R!!;&PL#0H^"51H:7,@:7,@82!L;VYG+7=I;F1E9"!P;W-T
M:6YG('-I;F-E(&UY(&5X<&5R:65N8V4@:6X@=&AI<R!A<F5A#0H^:7,@;&EM
M:71E9"X@(%=E(&%R92!I;B!T:&4@<')O8V5S<R!O9B!P=71T:6YG('1O9V5T
M:&5R(&$@;F5W('-Y<W1E;2!A;F0-"CY)(&YE960@87,@;75C:"!I;F9O<FUA
M=&EO;B!A<R!)(&-A;B!G970@<F5G87)D:6YG(')E8V]M;65N9&%T:6]N<R!B
M87-E9`T*/F]N(&5V97)Y;VYE)W,@<')I;W(@97AP97)I96YC92X@(%1H92!S
M>7-T96T@:7,@:6YT96YD960@=&\@:6UP;&5M96YT(&$-"CYD:7)E8W1I;VX@
M9FEN9&EN9R!A;&=O<FET:&T@86YD('-U<'!O<G0@<F]U=&EN97,@<F5Q=6ER
M:6YG('-O;64@1%-0+@T*/D]U<B!C=7)R96YT('!R;W1O='EP92!I<R!I;7!L
M96UE;G1E9"!O;B!A(%9-12!S>7-T96T@=7-I;F<@82!&;W)C92!#4%4S,`T*
M/F-A<F0L(&$@1$U!(&-A<F0L(&%N(&5X=&5N9&5D(&UE;6]R>2!C87)D+"!A
M;F0@82!C=7-T;VT@:&%R9'=A<F4@8V%R9"X-"CY792!A<F4@8W5R<F5N=&QY
M('5S:6YG($]3.2!A;F0@9&]I;F<@86QL(&1E=F5L;W!M96YT(&]N('1H92!S
M86UE('-Y<W1E;2!T:&%T#0H^<G5N<R!T:&4@9FEN:7-H960@<')O9'5C="X@
M($D@:VYO=R!T:&%T('1H:7,@:7,@=F%G=64@8G5T(&EF('!O<W-I8FQE($D@
M=V]U;&0-"CYL:6ME(')E8V]M;65N9&%T:6]N<R!O;B!B;W1H('-O9G1W87)E
M(&%N9"!H87)D=V%R92!T:&%T(&%R92!N;W0@;VYL>2!G;V]D#0H^86QO;F4L
M(&)U="!A<F4@:VYO=R!T;R!W;W)K('1O9V5T:&5R(&-O;7!A=&EB;'DN("`@
M5&AE(&9O;&QO=VEN9R!A<F4@<V]M92!O9@T*/G1H92!R97%U:7)E;65N=',@
M*&%N9"!Q=65S=&EO;G,I(&%S($D@<V5E('1H96TZ#0H^#0H^,2X@4D5!3"!4
M24U%($]015)!5$E.1R!365-414T-"CX)5&AE('1W;R!O<&5R871I;F<@<WES
M=&5M<R!)(&AA=F4@:&5A<F0@;V8@:6X@=&AI<R!R96=A<F0@87)E($]3.0T*
M/@DH;V)V:6]U<VQY*2!A;F0@5GA7;W)K<R`H=VAI8V@@22=V92!N979E<B!U
M<V5D*2X@(%=H870@22!N965D(&]U=`T*/@EO9B!W:&%T979E<B!O<&5R871I
M;F<@<WES=&5M($D@=7-E(&ES.@T*3F]T(&UA;GD@8V]M;65N=',@:&5R92!S
M:6YC92!))VT@:&%R9'=A<F4L(&)U="!6>%=O<FMS(&ES('9E<GD-"F-O;6UO
M;FQY('5S960@:6X@<F5A;'1I;64@87!P;&EC871I;VYS+@T*/@D)02X@($%B
M:6QI='D@=&\@8V]M<&EL92!A;F0@9&5V96QO<"!P<F]G<F%M<R!L;V-A;&QY
M(&]N('1H90T*/@D)("`@('-A;64@<WES=&5M('1H870@=VEL;"!R=6X@=&AE
M(&9I;FES:&5D('!R;V1U8W0N("!297%U:7)I;F<-"CX)"2`@("!R96%S;VYA
M8FQE(&1E=F5L;W!M96YT(&]N;'D@;VX@82!R96UO=&4@<&QA=&9O<FT@:7,-
M"CX)"2`@("!U;F%C8V5P=&%B;&4@*&%L=&AO=6=H('1H92!A8FEL:71Y('1O
M(&1O('-O(&ES(&$@<&QU<RDN#0I6>"!I<R!U<W5A;&QY(&1E=F5L;W!E9"!O
M;B!A('-E<&5R871E(%-U;B!O<B!E<75I=F%L96YT+"!B=70@22!D;VXG=`T*
M<V5E('=H>2!T:&ES('=O=6QD(&)E(&$@9&ES861V86YT86=E+B`@5&]R;F%D
M;R`H:64@5GA7;W)K<R`U+C,I('-E96US#0IT;R!H879E('-O;64@<75I=&4@
M<&]W97)F=6P@9W)A<&AI8V%L(&1E8G5G9VEN9R!T;V]L<RX@("A!;F0@:68@
M>6]U<@T*87!P;&EC871I;VX@8W)A<VAE<R!T:&4@<WES=&5M+"!Y;W4@9&]N
M)W0@:&%V92!T;R!R96)O;W0@>6]U<@T*9&5V96QO<&UE;G0@96YV:7)O;FUE
M;G0_/&<^*0T*/@D)0BX@(%)E86P@=&EM92!R97-P;VYS90T*/@D)0RX@($5A
M<WD@;&]W(&QE=F5L(&AA<F1W87)E(&%C8V5S<PT*5FEA('!O:6YT97)S(&EN
M($,N#0H^"0E$+B`@06)I;&ET>2!T;R!R96%D(&%N9"!W<FET92!00R!F;W)M
M871T960@4T-322!D:7-K<R`H3U,Y#0H^"0D@("`@9&]E<R!T:&ES(&%C8V5P
M=&%B;'D@8G5T(&YO="!P97)F96-T;'DI#0I6>%=O<FMS(&-A;B!H;W-T(&$@
M1$]3(&9I;&4@<WES=&5M+@T*/@D)12X@($5T:&5R;F5T(&%C8V5S<R!F;W(@
M22]/(&]F('1H92!F:6YI<VAE9"!P<F]D=6-T#0I!=F%I;&%B;&4@=6YD97(@
M5G@@86YD($D@=V]U;&0@87-S=6UE(&5V97)Y(&-O;6UE<F-I86P@4E1/4SL@
M=&AE#0IA8W1U86P@:6YT97)F86-E(&UA>2!D97!E;F0@;VX@=&AE($5T:&5R
M;F5T(&-A<F0@=F5N9&]R)W,@9FER;7=A<F4_#0H^"0E&+B`@02!L;V-A;"!'
M54D@:6YT97)F86-E(&9O<B!T:&4@9FEN:7-H960@<')O9'5C=`T*66]U('=O
M=6QD('!R;V)A8FQY(&=E="!T:&ES('9I82!A;B!8+5=I;F1O=W,@<&%C:V%G
M92!F;W(@=VAI8VAE=F5R#0IV:61E;R!C87)D('EO=2!A<F4@=7-I;F<N("!5
M<W5A;&QY(&%V86EL86)L92!F<F]M('1H92!V:61E;R!C87)D#0IM86YU9F%C
M='5R97(N("!9;W4@9&ED;B=T(&UE;G1I;VX@:6YC;'5D:6YG(&$@=FED96\@
M8V%R9"P@<V\@22!D;VXG=`T*:VYO=R!W:&5R92!T:&4@1U5)('=O=6QD(&)E
M(&1E9FEN960@86YD(')U;C\-"CX)"4<N("!5<V5R(&9R:65N9&QY(&1E=F5L
M;W!M96YT(&5N=FER;VYM96YT(&%N9"!G;V]D('9E;F1O<@T*/@D)("`@('-U
M<'!O<G0-"CXR+B!(05)$5T%210T*/@E)9B!P;W-S:6)L92!)('=O=6QD(&QI
M:V4@<F5C;VUM96YD871I;VYS(&]F('!R;V1U8W1S('1H870@87)E(&MN;W=N
M#0H^"71O('=O<FL@=V5L;"!T;V=E=&AE<B!A<R!W96QL(&%S('=I=&@@=&AE
M(')E86P@=&EM92!/4R!C:&]S96XN#0H^"0E!+B`@0G5S(&%R8VAI=&5C='5R
M90T*/@D)"5=E(&%R92!C=7)R96YT;'D@=7-I;F<@86X@;VQD(%9-12!S>7-T
M96TN("!)(&%S<W5M90T*/@D)"59-12`H=VET:"!P;W-S:6)L>2!64T(I(&ES
M('1H92!W87D@=&\@9V\@;VX@=&AI<PT*/@D)"7-Y<W1E;2!B=70@86T@;W!E
M;B!T;R!O=&AE<B!S=6=G97-T:6]N<RX@(%=H871E=F5R#0H^"0D):7,@=7-E
M9"!M=7-T('1O(&)E('-T86)L92X-"D-L96%R;'D@5DU%+"!B=70@=&AE;B!T
M:&ES(&ES(&%L<V\@=&AE(&EN9'5S=')Y($D@=V]R:R!I;B$@(%EO=2!C86X-
M"F9I;F0@:G5S="!A8F]U="!A;GD@='EP92!O9B!C87)D('EO=2!N965D+"!I
M;B!S979E<F%L(&9O<FT@9F%C=&]R<R!A;F0-"G)U9V=E9&EZ871I;VX@;&5V
M96QS+B`@66]U(&UA>2!N;W0@;F5E9"!T:&4@5E-"(&)U<RP@<VEN8V4@5DU%
M)W,-"F)A;F1W:61T:"!I<R!Q=6ET92!H:6=H+"!B=70@;6%N>2!#4%4@8V%R
M9',@;V9F97(@:70N#0H^"0E"+B`@0U!5(&-A<F0-"CX)"0E#=7)R96YT;'D@
M=V4@87)E('5S:6YG(&$@1F]R8V4@0U!5,S`H,C5-2'HI('=I=&@@-$U"#0H^
M"0D);VXM8V%R9"!M96UO<GD@=VAI8V@@:7,@=V]E9G5L;'D@:6YA9&5Q=6%T
M92X@($D@=V]U;&0-"CX)"0EL:6ME('1O('5S92!W:&%T979E<B!T:&4@8W5R
M<F5N="!C;VYS96YS=7,@:7,@9F]R(&$-"CX)"0EG;V]D+"!F87-T+"!R96QI
M86)L92!#4%4@8V%R9"!W:71H(&%T(&QE87-T(#,R34(@;V8-"CX)"0EO;BUC
M87)D(&UE;6]R>2X@($UY(&5X<&5R:65N8V4@=VET:"!&;W)C92!S86QE<R!H
M87,-"CX)"2`@("`)8F5E;B!A;&P@8F%D(&%N9"!)(&%S<W5M92!I<R!T:&5I
M<B!T96-H('-U<'!O<G0@=VEL;`T*/@D)"6)E(&5V96X@=V]R<V4@*&%L=&AO
M=6=H('1H:7,@:7,@:G5S="!M>2!O<&EN:6]N*2X@($DG;0T*/@D)"6YO="!C
M;VUM:71T960@=&\@82!P87)T:6-U;&%R('!R;V-E<W-O<B!A;F0@<V]F='=A
M<F4-"CX)"0ES=7!P;W)T(&%N9"!R96QI86)I;&ET>2!A<F4@;6]S="!I;7!O
M<G1A;G0N("!4:')E90T*/@D)"5)3-#(R('-E<FEA;"!P;W)T<R!N;W0@9&5D
M:6-A=&5D('1O(&%N>71H:6YG(&5L<V4@87)E#0H^"0D)<F5Q=6ER960@*&5I
M=&AE<B!O;B!T:&4@0U!5(&-A<F0@;W(@86YO=&AE<B!C87)D*2X-"EEO=2!H
M879E(&$@<')E='1Y('=I9&4@8VAO:6-E(&]F('!R;V-E<W-O<G,[(#8X,'@P
M+"!0;W=E<E!#+"!096YT:75M+`T*971C+B`@,S(@34(@:7,@96%S:6QY(&%V
M86EL86)L92X@(%EO=7(@<V5R:6%L(&-H86YN96QS(&UA>2!B92!E;G1I<F5L
M>0T*;VX@=&AE(&)A<V4@8V%R9"P@;W(@<V]M92!M87D@8F4@9G)O;2!A(&1A
M=6=H=&5R(&-A<F0N("!%:71H97(@=V%Y#0II="=S(&$@;VYE('-L;W0@<V]L
M=71I;VXN#0H-"D)R;W=S92!T:')O=6=H('1H92!O;BUL:6YE(&-A=&%L;V<@
M870@5DE402`H5DU%8G5S($EN9'5S=')Y(%1R861E#0I!<W-O8RDL(&%T(&AT
M='`Z+R]W=W<N=FET82YC;VT@=&\@<V5E('=H870@:7,@879A:6QA8FQE+@T*
M#0H^"0E#+B`@1%-0(&-A<F0-"CX)"0E4:&ES(&ES('1H92!P;VEN="!W:&5R
M92!)(&MN;W<@=&AE(&QE87-T+B`@22!W;W5L9`T*/@D)"6QI:V4@82!C87)D
M('=I=&@@870@;&5A<W0@,S)-0B!O9B!$34%A8FQE(%)!32!A;F0-"CX)"0ER
M96%S;VYA8FQE("AW:&%T979E<B!T:&%T(&UE86YS*2!C;VUP=71E('!O=V5R
M+B`@5V4-"CX)"0EA<F4@9&]I;F<@82!F97<@1D94<R!A;F0@;6%T<FEX(&]P
M97)A=&EO;G,@=VAI8V@@=&AE#0H^"0D)8W5R<F5N="!#4%4@8V%N)W0@979E
M;B!B96=I;B!T;R!K965P('5P('=I=&@N("!)(&1O;B=T#0H^"0D):VYO=R!W
M:&5T:&5R(&UU;'1I<&QE($134',@;VX@=&AE(&-A<F0@87)E(&YE8V5S<V%R
M>0T*/@D)"6)U="!I9B!T:&5Y(&%R92!A=F%I;&%B;&4@=&AE>2!W:6QL('!R
M;V)A8FQY(&)E('5S960N#0H^"0D)0R!L86YG=6%G92!S=7!P;W)T(&ES(')E
M<75I<F5D("AA;F0@82!$4U`@9G5N8W1I;VX-"CX)"0EL:6)R87)Y(&ES(&1E
M<VER960I+@T*06=A:6XL('9I<VET('1H92!6251!(&-A=&%L;V<N("!3979E
M<F%L($134"!P<F]C97-S;W)S(&%N9`T*87)C:&ET96-T=7)E<R!A<F4@879A
M:6QA8FQE+@T*/@D)1"X@($1-02!C87)D#0H^"0D)5&AI<R!C87)D(&UU<W0@
M:&%V92!A="!L96%S="!O;F4@,S)B:70@1$U!('!O<G0@*'-I;F=L90T*/@D)
M"65N9&5D(%143"!I<R!F:6YE*2!A;F0@=VEL;"!B92!U<V5D('1O($1-02!I
M;G1O('1H92!$4U`-"CX)"0EM96UO<GDN("!)('5N9&5R<W1A;F0@=&AA="!T
M:&5R92!I<R!S;VUE=&AI;F<@8V%L;&5D#0H^"0D)=&AE(%930B!B=7,@=VAI
M8V@@;6%Y(&)E('5S960@9F]R('-U8V@@1$U!('1R86YS9F5R<PT*/@D)"7=I
M=&AO=70@=&EE:6YG('5P('1H92!6344@8G5S+B`@5&AI<R!M87D@8F4@9&5S
M:7)A8FQE#0H^"0D)8G5T($DG;2!N;W0@<W5R92!I="=S(')E<75I<F5D(&EN
M(&]U<B!A<'!L:6-A=&EO;BX-"EEO=2!D;VXG="!N965D('1H:7,N(#QG/BX@
M(%1H92!$34$@8V%R9"!P<F5S96YT;'D@*$D@87-S=6UE*2!R96%D<PT*9G)O
M;2!Y;W5R(&-U<W1O;2!C87)D+"!A;F0@=W)I=&5S('1H92!D871A('1O('1H
M92!$4U`@8V%R9"X@(%1H870@=VEL;`T*8F4@='=O(&-Y8VQE<RP@<VEN8V4@
M5DU%(&1O97,@;F]T('-U<'!O<G0@(F9L>2UB>2(@=')A;G-F97)S+B`@06QL
M#0IC=7)R96YT(%9-16)U<R!C87)D<R!H879E(&$@8G5S(&EN=&5R9F%C92!W
M:71H(&$@9&5C96YT($1-02!B=6EL="!I;G1O#0IT:&5M+"!S;R!T:&4@1%-0
M(&-A<F0@=V]U;&0@=7-E(&ET)W,@;W=N($1-02!T;R!R96%D(&9R;VT@=&AE
M(&1A=&$-"G-O=7)C92X@#0H^#0H^5&AA;FMS('1O(&5V97)Y;VYE+`T*/E)A
M>2!-:71C:&5L;`T*/FUI=&-H0&YO<V,N;6EL#0H-"@T*+2`M+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2T-"B`@("!!3D1215<@1E)!4T52("`@("`@("`@($19
M(#0@4WES=&5M<R!);F,@("!E;6%I;"!A9G)A<V5R0&1Y-"YC;VT-"E-E;FEO
M<B!(87)D=V%R92!$97-I9VYE<B`@(#,S,R!086QL861I=6T@1'(N("!V;VEC
M92`H-C$S*34Y.2TY,3DY>#(U,0T*(%!R;V1U8W0@4W5P<&]R="!'<F]U<"`@
M("`@2V%N871A+"!/;G1A<FEO("`@(&9A>"`@("@V,3,I-3DY+3<W-S<-"B`@
M("`@("`@("`@("`@("`@("`@("`@("`@($-A;F%D82!+,E8@,4$V("`@("!S
M=7!P;W)T('-U<'!O<G1`9'DT+F-O;0T*("`@("`@("`@("`@("`@("`@("`@
M("`@("`@:'1T<#HO+W=W=RYD>30N8V]M('-A;&5S("`@<V%L97-`9'DT+F-O
M;0T*+2`M+2TM+2TM+2TM+2TM+2TM+2TM($-54U1/3452($9)4E-4+"!154%,
M2519($%,5T%94R`M+2TM+2TM+2TM+2TM+2TM+2T-"@T*+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM#0H-"DYE=W-G<F]U<',Z(&-O;7`N;W,N=GAW;W)K
M<PT*4W5B:F5C=#H@:5)-6"!P;W)T('1O(%9X5V]R:W,-"D1A=&4Z(%=E9"P@
M,3$@4V5P(#$Y.38@,#DZ-#DZ,S8@*S$Q,#`-"D9R;VTZ(%-T979E($5L;&EO
M='0@/'-E;&QI;W1T0&UK8RYC;VTN874^#0I/<F=A;FEZ871I;VXZ($UA>65R
M($MR:65G("8@0V\-"DUE<W-A9V4M240Z(#PS,C,U1C`X,"XS-#1`;6MC+F-O
M;2YA=3X-"E)E<&QY+51O.B!S96QL:6]T=$!M:V,N8V]M+F%U#0H-"D-A;B!A
M;GEO;F4@9VEV92!G=6ED86YC92!O;B!P;W)T:6YG(&E235@@87!P;&EC871I
M;VYS('1O(%9X5V]R:W,N#0H-"E1H86YK<R!I;B!A9'9A;F-E+@T*#0I3=&5V
M92!%;&QI;W1T#0H-"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0I%
M;F0@;V8@3F5W+4YE=W,@9&EG97-T#0HJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M#0H-"BHJ*BHJ*BHJ*BH-"@T*("`@(%1H:7,@:7,@82!U<V5R(&=R;W5P(&UA
M:6QI;F<@;&ES="!F;W(@=GA7;W)K<R!R96QA=&5D('1O<&EC<PT*("`@(%-U
M8FUI="!A<G1I8VQE<R!T;R!V>'=E>'!L;T!L8FPN9V]V(&9O<B`G97AP;&]S
M:6]N)PT*("`@(%-E;F0@<W5B<V-R:7!T:6]N(')E<75E<W1S("8@8V]M;65N
@=',@=&\@=GAW97AP;&\M<F5Q=65S=$!L8FPN9V]V#0H`
`
end

--Boundary (ID MsPJyuN7x3wVP7dxPwaWOA)--


From daemon@csg.lbl.gov  Thu Sep 19 04:00:35 1996
From: daemon@csg.lbl.gov
Date: Thu Sep 19 04:00:37 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Sep 19 04:00:32 PDT 1996

        Subject: vxWorks 5.3 and iostreams

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: vxWorks 5.3 and iostreams
Date: 18 Sep 1996 15:58:14 -0600
From: kscdenv@stout.entertain.com (Greg Greene)
Organization: ABWAM, Inc., full service ISP, voice: 1+ 303 730-6050
Message-ID: <51pr9m$48r@stout.entertain.com>

Does anyone know of any alternatives to spending $2000 to get the
iostream library for vxWorks 5.3?  Once again, WRS is paying more
attention to the bottom line than to supporting its customers and
WRS has decided to package RogueWave, Tools.h++, and the iostreams
together, forcing me to pay $2000 for these tools when all I need
is iostreams (this is after I paid for the WindC++ Gateway for
vxWorks 5.2!).

I consider this outrageous and would appreciate any
feedback on this.

Thanks

Greg Greene
KineticSystems Corp.
303-220-7455 x13
greene@kscorp.com


---------------------------

End of New-News digest
**********************


From jfd@rtp.co.uk  Thu Sep 19 05:14:00 1996
From: Julian Day <jfd@rtp.co.uk>
Date: Thu Sep 19 05:14:01 PDT 1996
Subject: RE: Load and run applications with telnet


>> Submitted-by pardo@rti.com  Wed Sep 18 00:37:26 1996
>> Submitted-by: Gerardo Pardo-Castellote <pardo@rti.com>

>> Snip
When using tornado with the host shell configured in etc.
>> The only "gotcha" is that the CrossWind debugger will not work.

Firstly, you can use Crosswind. just type:
  target vxworks <hostname>
in the command window. It then uses RDB/RPC like vxgdb, but
the interface is nicer. :)

Secondly, It is my experience that you do not have to #undef
INCLUDE_WDB. Instead if you #undef INCLUDE_WDB_BP, things still
seem to work OK. (I have mainly used this with the Green Hills
multi debugger, so I don't promise Crosswind will be quite the
same. You might have to undef some of the other options like
WDB_REG and WDB_MEM with Crosswind. At least you can keep the
browser though.

What would be really nice (WRS are you listening?) is some
commmunication between the target tools and the host tools.
e.g. if I load something using the tgtsvr it should check to
see if I have a symbol table on the target and if so updates it
and the module list etc. How radical! It would also be nice if
when I ld on the target it causes the tgtsvr to update it's
records.

This is a fundemental flaw in the way the system behaves at the
moment. For years people have used startup scripts to load the
relevant objects to the target when it boots, so they don't have
to keep relinking BSPs. Now with tornado, as soon as you want to
run a startup script, without host intervention, you need the
old shell. You also need the old loader. So you can't see the
module or any of the symbols from the tgtsvr, so the new flashy
tools become almost unusable.

Don't get me wrong, things are moving in the right direction.
It's just I see a lot of people using this software and this is
frequently a problem.

regards,
Julian

---------------------------------------------------------------
Julian Day				Real Time Products Ltd.

Unit 8, Holt Court,		       e-mail:	  jfd@rtp.co.uk
Aston Science Park, Jennens Road,         tel: +44 121 333 6955
Birmingham. B7 4EJ. England.		  fax: +44 121 333 5433	
---------------------------------------------------------------



From uzgeit@zellweger.ch  Thu Sep 19 06:43:19 1996
From: Geiter Paul <uzgeit@zellweger.ch>
Date: Thu Sep 19 06:43:21 PDT 1996
Subject: Search for PC platform

Hi VxWorkers,

is there anyone who can recommend us a PC
platform for use in industrial environment.

We have the following requirements:

  Power supply:     24VDC or 115VAC / 230VAC

  Environment temperature up to 70 degrees C

  CPU:              486 33MHz

  RAM:              4 MB

  IDE interface:    for HD min 10 MB or SANDISK

  Serial interface: RS485, 115kBaud, galv. sep., (16550)
                    RS232, 19.2kBaud, (16550)

  Ethernet:         RJ45, HW Jumper for NE2000/3COM

  Keyboard interface

  VGA LCD interface

  Parallel interface


============================================================
Paul Geiter

Zellweger Uster                 phone   +41 1 943 22 51
Wilstr 11                       fax     +41 1 943 38 11
8610 Uster                      email   uzgeit@zellweger.ch
============================================================


From usd@mee.hwm.com  Thu Sep 19 07:35:30 1996
From: Uwe Scheffold <usd@mee.hwm.com>
Date: Thu Sep 19 07:35:32 PDT 1996
Subject: Use of Tools.h++ iostreams WFC on SPARC host
Hi vxWorker's

has anybody out there installed (and in use) the WFC, Booch, Tools.h++
and iostreams for a SPARC target and host?

What installation procedure did you take?

I get some undefined (WFC) references on compiling the Kernel:
vxWorks.tmp(.data+0x814): undefined reference to `__iosout_o'
vxWorks.tmp(.data+0x818): undefined reference to `__manip_o'
etc.

So what can be done to clear this?

Uwe


From smith.ian@traf.com  Thu Sep 19 08:13:25 1996
From: smith.ian@traf.com
Date: Thu Sep 19 08:13:27 PDT 1996
Subject: Serial lines on 167
Hi

We are trying to configure the serial lines on a MVME-167 .

Does anyone have a note of what needs to be done to cd2400Sio.c, to 
permit the use of the hardware control functions  SIO_HW_OPTS_SET and 
SIO_HW_OPTS_GET for character size,stop bits etc, that they would be 
willing to share.
Many Thanks

Ian

===================================
Ian D. Smith (smith.ian@traf.com)
Phone:  +44- (114) -244 9971
Davy International
===================================



From pardo@rti.com  Thu Sep 19 11:47:28 1996
From: Gerardo Pardo-Castellote <pardo@rti.com>
Date: Thu Sep 19 11:47:29 PDT 1996
Subject: RE: Load and run applications with telnet

>> 
>> >> Snip
>> When using tornado with the host shell configured in etc.
>> >> The only "gotcha" is that the CrossWind debugger will not work.
>> 
>> Firstly, you can use Crosswind. just type:
>>   target vxworks <hostname>
>> in the command window. It then uses RDB/RPC like vxgdb, but
>> the interface is nicer. :)
>> 

I hadn't tried that. Still, you can use either strategy:
windshell-loading & CrossWind, or target-shell loading &
CorssWind(VxGDB mode). But, assuming there are any dependencies) you
cannot mix where you load the code because objects loaded though windsh
will fail to link to objects loaded directly to the target and
vice-versa.

>> What would be really nice (WRS are you listening?) is some
>> commmunication between the target tools and the host tools.
>> e.g. if I load something using the tgtsvr it should check to
>> see if I have a symbol table on the target and if so updates it
>> and the module list etc. How radical! It would also be nice if
>> when I ld on the target it causes the tgtsvr to update it's
>> records.


I completely agree, in fact we already developped such facility
internally.
 
>> This is a fundemental flaw in the way the system behaves at the
>> moment. For years people have used startup scripts to load the
>> relevant objects to the target when it boots, so they don't have
>> to keep relinking BSPs. Now with tornado, as soon as you want to
>> run a startup script, without host intervention, you need the
>> old shell. You also need the old loader. So you can't see the
>> module or any of the symbols from the tgtsvr, so the new flashy
>> tools become almost unusable.

This is definitely a problem, I wouldn't go as far as calling it
a fundamental flaw in the design because WRS can probably solve
it by adding the communicatuons you mentioned above and keeping
the target and host sides consistent.

>> Don't get me wrong, things are moving in the right direction.
>> It's just I see a lot of people using this software and this is
>> frequently a problem.

I agree.

	-Gerardo


===========================================================================
=                                           =                             =
=   Gerardo Pardo-Castellote                =   email: pardo@rti.com      =
=   Real-Time Innovations, Inc.             =   Phone: (408) 720-8312     =
=   155A Moffett Park Drive, Suite 111      =   Fax:   (408) 734-5009     =
=   Sunnyvale, CA 94089                     =   http://www.rti.com        =
=                                           =                             =
===========================================================================



From jhillman@wrs.com  Thu Sep 19 21:26:58 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Thu Sep 19 21:27:00 PDT 1996
Subject: Re: Use of Tools.h++ iostreams WFC on SPARC host
At 07:35 AM 9/19/96 PDT, Uwe wrote:
> 
>Hi vxWorker's
>
>has anybody out there installed (and in use) the WFC, Booch, Tools.h++
>and iostreams for a SPARC target and host?
>
>What installation procedure did you take?
>
>I get some undefined (WFC) references on compiling the Kernel:
>vxWorks.tmp(.data+0x814): undefined reference to `__iosout_o'
>vxWorks.tmp(.data+0x818): undefined reference to `__manip_o'
>etc.
>
>So what can be done to clear this?


Uwe,   At the risk of telling you something you may already know:

Make sure you include INCLUDE_IOSTREAMS in your configuration before
you build vxWorks.


        _________________________
       | Jon Hillman, FAE        |       
       | Wind River Systems      |       
      /) (407) 273-4646          (\      
     / ) Email:jhillman@wrs.com  ( \    
   _( (|_________________________) )  />  
  (((\ \)  /,)             / )  / //))/  
  (\\\\ \_/ /              \ \_/ /////    
   \       /                \       /      
    \    _/                  \_    /          
----/   /----------------------\   \----
   /   /                        \   \



From daemon@csg.lbl.gov  Fri Sep 20 04:00:16 1996
From: daemon@csg.lbl.gov
Date: Fri Sep 20 04:00:19 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Sep 20 04:00:13 PDT 1996

        Subject: Re: How to detect end of socket connection
        Subject: Programming PB-TIM2, VADI3, VADI4, PB-DIN2
        Subject: Re: Subject: Sockets with a timeout
        Subject: Re: multi-protocol implementation
        Subject: Performace Data of VxWorks
        Subject: Re: debugging exceptions
        Subject: Re: multi-protocol implementation

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to detect end of socket connection
Date: 11 Sep 1996 15:28:13 GMT
From: David Perkinson <perkinsond@boris.msfc.nasa.gov>
Organization: TRW, Inc.
Message-ID: <3236DACF.167E@boris.msfc.nasa.gov>
References: <507e7g$j6v@fu-berlin.de> <50i2m3$oil@post.gsfc.nasa.gov>

Alex Measday wrote:
>
> In article <507e7g$j6v@fu-berlin.de>, Heinz Junkes wrote:
> >
> >How can i check that a connection is still alive ???
> >
>
> If
>
>     1.  select() says the socket is ready for reading and
>     2.  read() (or an ioctl(FIONREAD)) returns zero,
>
> your connection is broken.  Note that you must perform the select()
> before the read() or ioctl() since data may be received in between
> the calls.
>
> Also see the "Socket Programming Frequently Asked Questions" at:
>
>     http://www.interlog.com/~vic/sock-faq/
>
> ========================================================================
> |  Alex Measday             Code 521 - Microelectronic Systems Branch  |
> |  Integral Systems, Inc.            NASA Goddard Space Flight Center  |
> |  c.a.measday@ieee.org                                 Greenbelt, MD  |
> ========================================================================
> )                     http://purl.oclc.org/net/alex/                   (
> ========================================================================

I have sockets that are connected to processes that don't always notify
me when they are leaving.  I have found the zero return of the read call
to be a reliable check to determine that the connection is no longer
valid.

- --
===============================================================================
David Perkinson, TRW              Opinions that may be expressed in this
email
perkinsond@boris.msfc.nasa.gov    are my own and not neccessarily that
of TRW.
===============================================================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Programming PB-TIM2, VADI3, VADI4, PB-DIN2
Date: Thu, 19 Sep 1996 12:31:16 +0200
From: Bartlomiej Piwek <piwek@student.uci.agh.edu.pl>
Organization: University of Mining & Metallurgy
Message-ID: <Pine.SUN.3.93.960919122734.29594A-100000@student>


I'm starting with VxWorks & VME programming, therefore I'm looking
for examples of code for  PB-TIM2, VADI3, VADI4, PB-DIN2. Is there
any archive for VxWorks & devices source code ?

Thanks,

Bartek Piwek
Dept. of Automatic Control, UMM, Krakow, Poland.



---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Subject: Sockets with a timeout
Date: 11 Sep 1996 04:14:52 -0700
From: mcs@goblin.caltech.edu (Martin Shepherd)
Organization: California Institute of Technology.
Message-ID: <yc9afuxs3pv.fsf@goblin.caltech.edu>
References: <322B1EFE.59E2B600@bbn.com> <50i3ev$oil@post.gsfc.nasa.gov>
	<yc9raoek9s4.fsf@goblin.caltech.edu> <511h06$msi@post.gsfc.nasa.gov>


In article <511h06$msi@post.gsfc.nasa.gov> alexm@vlsi.gsfc.nasa.gov (Alex Measday) writes:
>Martin Shepherd wrote:
>> Alex Measday wrote:
>>
>> > If you're using select(), there's no reason (that I'm aware of) for the
>> > socket to be non-blocking.
>>...
>> least one byte is available. If you then attempt to read from the
>> indicated socket, the socket may block if you attempt to read more
>> than a single byte, whereas if the socket were set up for non-blocking
>>...
>If select() indicates that input is available, then a read(), blocking
>or non-blocking, will return whatever is available.

I stand corrected. My confusion is related to the following excerpt
from Richard Steven's "Advanced Programming in the UNIX Environment".

 "When reading from a network, buffering within the network may cause
  less than the requested amount to be returned."

This says nothing about how long read() will wait before giving up and
returning what is available. Furthermore a cautious interpretation of
this sentence would have the word "may" refering to what read() will
do in the situation where there is insufficient data to satisfy the
request.

Can you name and/or provide a quote from any documentation that is more
explicit on this point?

>I don't know if there's any
>difference in efficiency between a blocking and non-blocking read().

Well, since I was comparing reading one byte at a time to reading
larger chunks, this is irrelevant in light of the above.

Martin Shepherd  (mcs@astro.caltech.edu)

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: multi-protocol implementation
Date: 19 Sep 1996 11:26:10 -0700
From: Venu
Organization: Zippo
Message-ID: <51s382$372@lex.zippo.com>
References: <51q4m5$rq@lex.zippo.com> <gerlachDxzJME.3s2@netcom.com>

In article <gerlachDxzJME.3s2@netcom.com>, gerlach@netcom.com says...
>
>
>It's been some time that I messed with VxWorks protocol stacks, but
>at one time I worked on a product with IP and Link Layer SNA.
>
>In short the protocol stacks in VxWorks are not implemented as individual
>tasks.  There is no IP task per say.  There is the netjob task which actually
>executes the IP code.  In our case the SNA Link Layer protocol stack
>was implemented so that the code executes in the context of the net job
>tasks as well.  
>
>Usually in multi-protocol envirnments the different protocol don't usually
>talk to each other directly.  Usually the device driver hands the given
>packet to the appropriate protocol stack and that's about it.  One might
>have an application that interacts with multiple protocols, like a 
>protocol translater, but in that case data is received from on protocol
>and then transmittedd out another protocol.
>

Now I understand my question was confusing. Let me make it clear. I didn't
intend to ask about inter-protocol communication. I wanted to ask how does
multiple protocols talk to same MAC/physical interface. For example, there 
are two protocol stacks -- A and B -- and a MAC/phy interface C. One way to
implement is to run all the three entities as single task. Other way is to
implement all there as seperate tasks where A and B talk to C using message
queues or any other inter-task communication mechanism. One another way is
that A and C run as a task, and B run as a different task. Are there any more
ways of implementing them? What are the advantages and disadvantages of these 
various scenarios? 


Venu

>I hope this helps rather than confuses.
>
>Matthew
>In article <51q4m5$rq@lex.zippo.com> Venu writes:
>>Hi all,
>>
>>I would like to know how multi-protocol stacks (for e.g., TCP/IP and SPX/IPX),
>>using same MAC interface (say 802.3), are implemented in VxWorks. I would 
>>appreciate if anybody can provide me information as to how these three entities 
>>(in the example) -- TCP/IP, SPX/IPX, and 802.3 -- are organized as tasks and
>>how they communicate.
>>
>>Thanks,
>>Venu
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Performace Data of VxWorks
Date: Thu, 19 Sep 1996 12:31:28 -0400
From: Yafan An <yafan@nortel.ca>
Organization: Northern Telecom
Message-ID: <32417560.1115@nortel.ca>
Reply-To: yafan@nortel.ca

Hi there,

I am trying to collect some performance data of VxWorks in order to
compare it with OS9. The following are what I am interested:

    1. context switching overhead;
    2. memory management performance and details;
    3. interupt latency;
    4. networking library performance.

Test data on 68xxx and MIPS are most interested. I think there must
be some data somethere, I am trying to find. I appreciate any help.

I am also interested in writing some performance testing routines
for some specific functions, but I need to compile enough data in 
order to assist RTOS selection for our wireless phone product.

Thanks,
Yafan An,  yafan@nortel.ca
Computing Research Lab.
Nortel, tel: 613-763-2536

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: debugging exceptions
Date: 19 Sep 1996 17:50:39 -0700
From: kla@leland.Stanford.EDU (Earl Mitchell)
Organization: Stanford University, CA 94305, USA
Message-ID: <51spov$dtn@amy15.Stanford.EDU>
References: <2.2c.32.19960913184516.0069af00@sc-mail1.corpwest.baynetworks.com>

In article <2.2c.32.19960913184516.0069af00@sc-mail1.corpwest.baynetworks.com>,
Hesham El Bakoury  <hesham@baynetworks.com> wrote:
>
>   I would like to instrument the exception/handling code to be able to
>print the values
>   of the PC (program counter registers) and other registers.
>
>   Is there a way to do this ? my understanding is that I can not do printf
>from within
>   an exception/interrupt handler.
>
>   I am not sure also how I can get the value of the PC register.

The following code fragments should answer your questions:


1. install signal handlers for for all possible exceptions

SIGCONTEXT localContext;

void sigInstall (void)
{
    SIGVEC pVec;
    SIGVEC oVec;

    if (sigvec (SIGSEGV, NULL, &oVec) == ERROR)
        logMsg ("Cannot get info from signal vector\n");

    pVec = oVec;
    pVec.sv_handler = sigHandler;
    if (sigvec (SIGSEGV, &pVec, &oVec) == ERROR)
        logMsg ("Cannot initialize signal vector\n");

    /* .. others deleted .. */
}

2. Create a signal handler which dumps info like PC reg
   by accessing the VxWorks context info. This struct is
   CPU specific. Code below is for a 68020 cpu.


void sigHandler (int sig, int code, SIGCONTEXT *sigContext)
{
    unsigned short op_code, i;

    infoBuf.taskID = taskIdSelf();
    infoBuf.signal = sig;
    infoBuf.code = code;
    localContext = *sigContext;
    logMsg ("*****************************************\n");
    printSignal();
    op_code = *(unsigned short *)localContext.sc_regs.pc;
    logMsg ("PC: %#08x  SR: %#04x  OP_CODE: %#04x  SIG: %d\n",
           localContext.sc_regs.pc,
           localContext.sc_regs.sr, op_code, sig);

    /*
     * print out information to user and re-start task.
     */
        printf ("A0-6:");
        for (i = 0; i < 7; i++)
            printf(" %08lx", localContext.sc_regs.addrReg[i]);
        printf("\n");

        printf ("D0-7:");
        for (i = 0; i < 8; i++)
            printf(" %08lx", localContext.sc_regs.dataReg[i]);
        printf("\n");
        logMsg("Restarting: %s (%#x)\n", taskName(infoBuf.taskID),
               infoBuf.taskID);
        taskRestart(infoBuf.taskID);
}

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: multi-protocol implementation
Date: Thu, 19 Sep 1996 21:21:11 -0700
From: "H.J. Bae" <hjb@peacefulstar.oakland.ca.us>
Organization: Peaceful Star
Message-ID: <32421BB7.291B@peacefulstar.oakland.ca.us>
References: <51q4m5$rq@lex.zippo.com> <gerlachDxzJME.3s2@netcom.com> <51s382$372@lex.zippo.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

Venu wrote:

> 
> Now I understand my question was confusing. Let me make it clear. I didn't
> intend to ask about inter-protocol communication. I wanted to ask how does
> multiple protocols talk to same MAC/physical interface. For example, there
> are two protocol stacks -- A and B -- and a MAC/phy interface C. One way to
> implement is to run all the three entities as single task. Other way is to
> implement all there as seperate tasks where A and B talk to C using message
> queues or any other inter-task communication mechanism. One another way is
> that A and C run as a task, and B run as a different task. Are there any more
> ways of implementing them? 

In VxWorks, as well as other BSD-derived network software, interfaces to
MAC/phy interface is done through various if_***() routines.  For
example,
to send a packet from IP or any other network protocol, you will use
if_output() indicating which interface to send the packet out, and
pointer to the data to be sent.

In practice, it does not make sense to partition out interfaces between
MAC/phy interface and protocols into seperate tasks.  There is no need,
and it will slow things down.

- -- 
H.J. Bae
http://peacefulstar.oakland.ca.us
mailto:hjb@peacefulstar.oakland.ca.us

---------------------------

End of New-News digest
**********************


From MikeMcQuade@connect.com  Fri Sep 20 13:03:45 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Fri Sep 20 13:03:47 PDT 1996
Subject: RPC and VxWorks
Im trying to use RPC to run functions on my VxWorks target, from a Unix
application, and XDR to send data structs to the target.

does anyone know of, or have any sample code for RPC ?

Thank you.


MikeMcQuade@connect.com



From daemon@csg.lbl.gov  Sat Sep 21 04:00:18 1996
From: daemon@csg.lbl.gov
Date: Sat Sep 21 04:00:21 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Sep 21 04:00:16 PDT 1996

        Subject: Boot failures
        Subject: Exit handler/task

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Boot failures
Date: Fri, 20 Sep 1996 15:11:56 -0500
From: Alan Currie <currie@ghgcorp.com>
Organization: NASA/Johnson Space Center
Message-ID: <3242FA71.6A85@ghgcorp.com>
Reply-To: currie@ghgcorp.com

I am having a problem that when I include my application to the
vxWorks.st load, it auto reboots after I get the loading... xxxxxx
xxxxxx xxxxxx.  When I remove my application, and do a separate load
from the shell after vxWorks has booted, it works fine.  Any
suggestions?

I am using a DY4 SVME 163 board which has a 68040 processor.  Thanks.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Exit handler/task
Date: 20 Sep 1996 21:39:09 GMT
From: wiltzius@coral.llnl.gov (David P Wiltzius,LC,21551,)
Organization: Lawrence Livermore Nat'l Lab
Message-ID: <51v2tt$6ar@lll-winken.llnl.gov>

I'm using VxWorks 5.2.  I'm finding the
exit handler mechanism (e.g., taskDeleteHookAdd etc)
rather clumsy.  This exit task is invoked when
any task is deleted, not just speicific tasks.
And it runs in the context of the shell or
exception task, depending on how the task is
terminated, rather than in the context of the
task that is terminating.

I also tried using task variables to get some
context of the exiting task, but I was unable
to successfully (i.e., w/o error) invoke
taskVarGet, even tho the task variables did
successfully follow the context of the tasks -
that is the taskVarAdd worked as expected.

All this makes such "exit handlers" more challenging
(not impossible tho!) to utilize.  Or am I
missing something (I consider myself a vxWorks
novice)?

Any suggestions or help welcomed.  Thanks.
  Dave Wiltzius
  LLNL
  wiltzius@llnl.gov

---------------------------

End of New-News digest
**********************


From tkb@mclean.sparta.com  Sat Sep 21 12:01:24 1996
From: "Thomas K. Buchanan" <tkb@mclean.sparta.com>
Date: Sat Sep 21 12:01:30 PDT 1996
Subject: Re: Boot failures

>I am having a problem that when I include my application to the
>vxWorks.st load, it auto reboots after I get the loading... xxxxxx
>xxxxxx xxxxxx.  When I remove my application, and do a separate load
>from the shell after vxWorks has booted, it works fine.  Any
>suggestions?
>
>I am using a DY4 SVME 163 board which has a 68040 processor.  Thanks.


The big kernel and your application must fit under the boot code in RAM.
You BSP comes setup so that the kernel itself can be peoperly loaded
underneath the boot code.  If you link in application code of any size, it
may not fit any longer.  The fix is to burn a new bootrom which loads itself
to a higher location in RAM.
-----------------------------------------  
     /\\     Keith Buchanan 
    ///\\    
   /////\\   SPARTA, Inc. 
  /////  \\  7926 Jones Branch Drive
 / \\\\\  \\ Suite 900
 \  \\\\\ // McLean, VA 22102 
  \  //////  
   \//////   Voice: 703 448 0210
    \////    FAX:   703 893 5494
     \//     WWW:   www.mclean.sparta.com



From Teerasak=Rengpraphun%EOL%MSDTWK@vines.msd.ray.com  Sun Sep 22 10:05:51 1996
From: Teerasak=Rengpraphun%EOL%MSDTWK@vines.msd.ray.com
Date: Sun Sep 22 10:05:53 PDT 1996
Subject: Console Tasks in VxWorks not Functioning
I have an intermittent problem that may be related to VxWorks.  Does anyone 
have a suggestion on what the problem is or how I may be able to obtain more 
information to get more clues on what the problem is?

The system has a SUN GUI interface which talks to an MVME162-262 68040 
processor card via ethernet.  The boot and the kernel load to the processor 
card has no problem.  Under normal running conditions the following tasks are 
running on the processor board:

The asterisk next to the task name is an application generated tasks.

  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  
DELAY
---------- ------------ -------- --- ---------- -------- -------- ------- 
-----
tExcTask   _excTask       fd8244   0 PEND          80140   fd81ac   d0003    
 0
tLogTask   _logTask       fd5944   0 PEND          80140   fd58a8       0    
 0
tShell     _shell         fa3fa0   1 READY         4ead4   fa3c68   d0003    
 0
tRlogind   _rlogind       fb6118   2 PEND          29664   fb5f1c       0    
 0
tTelnetd   _telnetd       fb4274   2 PEND          29664   fb41a4       0    
 0
tRlogOutTas_rlogOutTask   fff218   2 READY         29664   fff0b8       0    
 0
tRlogInTask_rlogInTask    fa1700   2 READY         2963c   fa1578       0    
 0
tRdbTask   _rdbTask       fb1844  20 PEND          29664   fb1724   d0003    
 0
tNetTask   _netTask       fd15b8  50 READY         4d248   fd1550       0    
 0
tFtpdTask  _ftpdTask      faf38c  55 PEND          29664   faf2d0       0    
 0
*EndOfFrame _eof          dfb148  80 READY         29664   dfb100       0    
 0
*GOUCommsWS _GOUCommsWS   e34c1c  82 PEND          29664   e346c0       0    
 0
*GOUCommsVME_GOUCommsVME  e2fc6c  83 PEND          80140   e2f7d4       0    
 0
*DualPortMon_DualPortMon  e2acbc  84 PEND+T        80140   e2a82c  3d0004    
12
*MV200      _MV200Main    e20d5c  85 PEND          80140   e208c8       0    
 0
*Ampex      _AmpexMessag  e25d0c  87 PEND          80140   e25874       0    
 0
tPortmapd  _portmapd      fb2d5c 100 PEND          29664   fb2c28      16    
 0
*DAC        _DataAcquisi  e111cc 102 PEND          80140   e10d24       0    
 0
*Display    _Display      d340f4 130 READY        f1f966   d33e0c       0    
 0
value = 0 = 0x0
->

The mechanism used for inter-task communication is through VxWorks's
msQLib.h which contains calls for creating a message queue and for sending 
and receiving these queues.

The system would sometimes run all day, and sometimes fail several times a 
day.  The time and occurrence of failure seems random, but the symptoms are 
exactly the same.

Normally, the RUN light on the processor board is very active.  At the time 
of the failure, the RUN light is still on but is very dim.  The logic 
analyzer monitoring the VME backplane IRQs indicates that the processor board 
never came out of the interrupt service routine for IRQ3 because higher 
priority interrupts are still being processed, but IRQ3 remains activated.  
Then when lower priority IRQs are activated, they too remain unserviced.

At the time of the failure, the tShell task for the console display is 
frozen.  The console is directly connected from the console port of the 
processor board to the SUN Sparc station.

Any comments or suggestions would be greatly appreciated.
_______________________________________________________________________
Luke Rengpraphun
Raytheon Company, ESD/EOL
50 Apple Hill Drive MS/T3LC21
Tewksbury, MA   01876

Tel    : 508-858-1259
Fax    : 508-858-5522
E-Mail : Teerasak=Rengpraphun@vines.msd.ray.com
________________________________________________________________________


From kelvin.martin@def.bae.co.uk  Mon Sep 23 05:58:19 1996
From: kelvin.martin@def.bae.co.uk (MARTIN)
Date: Mon Sep 23 05:58:21 PDT 1996
Subject: Unsubscribe

unsubscribe


From froeber@bbn.com  Mon Sep 23 06:30:38 1996
From: Fred Roeber <froeber@bbn.com>
Date: Mon Sep 23 06:30:40 PDT 1996
Subject: Re: Console Tasks in VxWorks not Functioning
Luke Rengpraphun wrote:

> I have an intermittent problem that may be related to VxWorks.  Does anyone
> have a suggestion on what the problem is or how I may be able to obtain more
> information to get more clues on what the problem is?
> 
> The system has a SUN GUI interface which talks to an MVME162-262 68040
> processor card via ethernet.  The boot and the kernel load to the processor
> card has no problem.

<<CUT>>

> The system would sometimes run all day, and sometimes fail several times a
> day.  The time and occurrence of failure seems random, but the symptoms are
> exactly the same.
> 
> Normally, the RUN light on the processor board is very active.  At the time
> of the failure, the RUN light is still on but is very dim.  The logic
> analyzer monitoring the VME backplane IRQs indicates that the processor board
> never came out of the interrupt service routine for IRQ3 because higher
> priority interrupts are still being processed, but IRQ3 remains activated.
> Then when lower priority IRQs are activated, they too remain unserviced.
> 
> At the time of the failure, the tShell task for the console display is
> frozen.  The console is directly connected from the console port of the
> processor board to the SUN Sparc station.

The most straight-forward way to track down a problem like this would be
to use the WindView tool in "post mortem" mode.  This way you would see
exactly what was happening before the problem showed up.  Lacking
WindView, you need to resort to guess-work on what hung the system.

From the task list you provided, it would appear that this processor
is interfacing with a lot of other cards across the backplane.  From
what you say about IRQ3 it would appear that your processor gets hung
up processing a higher level interrupt.  Since the problem is random,
it is probably due to some hardware glitch in one of the cards where
under certain conditions it keeps the interrupt line high when it
shouldn't causing an infinite interrupt condition.  I would suspect
any home-grown boards first.  As far as finding out what interrupt is
hanging things you can try a trick like toggling the FAIL LED control
bit on and off in the system clock interrupt handler (use the
TIMERCR_BDFLO bit in the VMECHIP2_TIMERCR register since you are using
an MVME162LX).  Then when the system locks up if the fail LED is still
blinking then it means the interrupt that is locking the system is at
a lower level than the system clock interrupt (level 6 by default).
You can then change the system clock level by changing the SYS_CLK_LEVEL
value in the mv162.h BSP file until you find which interrupt level is
locking the system.  Once you see that, figure out what devices are on
that level and track things from there.  Like I said, WindView would
make it a lot simpler since you would be able to see directly what
interrupt level hung things.   Good luck.   Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |


From leif.thuresson@tsl.uu.se  Mon Sep 23 06:47:02 1996
From: leif.thuresson@tsl.uu.se (Leif Thuresson)
Date: Mon Sep 23 06:47:03 PDT 1996
Subject: Driver for Kinetics 2917 CAMAC interface
Hi,
Does anyone know of a vxWorks driver for Kinetics 2917 VME bus interface
for 3922 CAMAC crate controller ?

Regards,

/Leif

-----------------------------------------------------------------------------
Leif Thuresson				  Tel: 	  +46-18-183860
Uppsala University			  Fax: 	  +46-18-183833
The Svedberg Laboratory 		  E-mail: leif.thuresson@tsl.uu.se
P.O.Box 533, S-751 21 Uppsala, Sweden
                



From bqv@eng102.eng.i-o.com  Mon Sep 23 07:06:49 1996
From: "Bang Q. Vu" <bqv@eng102.eng.i-o.com>
Date: Mon Sep 23 07:06:51 PDT 1996
Subject: Re: RPC and VxWorks 
Mike McQuad penned:
>Submitted-by MikeMcQuade@connect.com  Fri Sep 20 13:03:45 1996
>Submitted-by: Mike McQuade <MikeMcQuade@connect.com>
> 
>Im trying to use RPC to run functions on my VxWorks target, from a Unix
>application, and XDR to send data structs to the target.
>
>does anyone know of, or have any sample code for RPC ?
>
>Thank you.
>
>
>MikeMcQuade@connect.com
>

There are many books on RPC programming. A good one is "Power Programming with 
RPC" by John Bloomer from O'Reilly & Associates. Tons of good RPC stuff in 
there, including codes that should get you going.

Bang Vu
IO Inc.


From mea@mclean.sparta.com  Mon Sep 23 07:13:56 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Mon Sep 23 07:13:58 PDT 1996
Subject: Re: Console Tasks in VxWorks not Functioning
At 10:05 AM 9/22/96 PDT, you wrote:
>Submitted-by Teerasak=Rengpraphun%EOL%MSDTWK@vines.msd.ray.com  Sun Sep 22
10:05:51 1996
>Submitted-by: Teerasak=Rengpraphun%EOL%MSDTWK@vines.msd.ray.com
> 
>I have an intermittent problem that may be related to VxWorks.  Does anyone 
>have a suggestion on what the problem is or how I may be able to obtain more 
>information to get more clues on what the problem is?
>

[snip...]

>
>Normally, the RUN light on the processor board is very active.  At the time 
>of the failure, the RUN light is still on but is very dim.  The logic 
>analyzer monitoring the VME backplane IRQs indicates that the processor board 
>never came out of the interrupt service routine for IRQ3 because higher 
>priority interrupts are still being processed, but IRQ3 remains activated.  
>Then when lower priority IRQs are activated, they too remain unserviced.
>
>At the time of the failure, the tShell task for the console display is 
>frozen.  The console is directly connected from the console port of the 
>processor board to the SUN Sparc station.
>
>Any comments or suggestions would be greatly appreciated.

Fred Roeber's comments are certainly a good approach.  However, just for yucks,
why not try boosting the ISR_STACK_SIZE in configAll.h to something greater
than the 1K default.  It sounds like your ISR nesting level may be blowing
away the hardware ISR stack.  Do something wreckless like setting it to
2K ;-).

HTH,

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================




From feng@bnlls1.nsls.bnl.gov  Mon Sep 23 11:51:10 1996
From: Kate Feng <feng@bnlls1.nsls.bnl.gov>
Date: Mon Sep 23 11:51:12 PDT 1996
Subject: Re: Driver for Kinetics 2917 CAMAC interface

> Hi,
> Does anyone know of a vxWorks driver for Kinetics 2917 VME bus interface
> for 3922 CAMAC crate controller ?
> 

I worte it for VxWorks 5.1.  You can get it from  anonymous ftp
ftp.nsls.bnl.gov:/nsls/pub/beamline.driver.

----------------------------------------------------------------------
S. Kate Feng                        E-mail: feng@bnlls1.nsls.bnl.gov
Brookhaven National Laboratory,             feng1@bnl.gov
725B,                               
Upton, NY 11973                     Phone: (516)344-2647
U.S.A.                              FAX:   (516)344-4745



From aac!sol!applanix.com!babak@seraph.uunet.ca  Tue Sep 24 07:44:35 1996
From: babak@applanix.com
Date: Tue Sep 24 07:44:37 PDT 1996
Subject: BSP for AMPRO 486i and P5i

-----
  From: Bob Derak

    Does anyone know of a BSP for the following AMPRO boards:

        - AMPRO Little Board/486i
        - AMPRO Little Board/P5i 

    If you do, I appreciate a note.  Thanks.
 
  Email:  babak@applanix.com
----- 
  Bob Derak  
  Applanix Corp.
  Markham, Ontario, Canada



From Gerald.Pelissier@france.sun.com  Tue Sep 24 09:25:49 1996
From: Gerald.Pelissier@france.sun.com (Gerald Pelissier - SME - SUN Microelectronics)
Date: Tue Sep 24 09:25:51 PDT 1996
Subject: VxWORKS SBUS card drivers
Dear Sir(s),

I'm looking for a SBUS cards VxWORKS driver as SCSIS, Ethenet
etc.. and more especially now, for an SBUS card VxWORKS driver
for a SUN card called SBUS Quad Ethernet Controller, Ref. #X1058A.

An application engineer at Wind River Systems advised me to post 
a request on this alias, because Wind River Systems doesn't
provide such driver.

Best regards, thank in advance.
Gerald Pelissier
-----------------------------------------------------------------------
        ______
       /_____/\		Gerald Pelissier, Southern Europe
      /_____\\ \        Field Application Engineer 
     /_____\ \\ /       Sun Microelectronics
    /_____/ \/ / /      A Division of Sun Microsystems Inc.
   /_____/ /   \//\     13 Avenue Morane Saulnier - BP 53
   \_____\//\   / /     78142  Velizy Cedex - France
    \_____/ / /\ /      Email  : gerald.pelissier@france.sun.com 
     \_____/ \\ \       Phone  : +33 1 30 67 52 78
      \_____\ \\        Fax    : +33 1 30 67 53 05
       \_____\/         Mobile : +33 07 39 44 79
------------------------------------------------------------------------



From cwcssk@leonis.nus.sg  Tue Sep 24 18:00:11 1996
From: Suresh Santhana Krishnan <cwcssk@leonis.nus.sg>
Date: Tue Sep 24 18:00:14 PDT 1996
Subject: Anyone working on PCI with VxWorks!
Hi,

I am interested to know whether anyone working with PCI bus drivers for
VxWorks. I am involved in programming S5933 (AMCC). If any help on PCI-BIOS
access and method of data xfer (Mailbox, Fifo, Burst) will mostly be
appreciated.

Thanks,
Suresh.S.K
-- 
                       __^^^^^__
                        / @ @ \
=====================ooO==(_)=Ooo===========================

Suresh Santhana Krishnan			Tel: 065-7715151 (O)
Senior Research Engineer			Fax: 065-7795441 (O)
Centre For Wireless Communication    Email: cwcssk@leonis.nus.sg (O)
National University Of Singapore	    sureener@pacific.net.sg (H)	
Engineering Blk 2,#05-02,
10, Kent Ridge Crescent
Singapore - 119260
                        ooO 
=======================(   )-Ooo============================
                        \ ( (   )
                         \_) ) /
                            (_/



From leonid@rst.co.il  Wed Sep 25 00:13:26 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Wed Sep 25 00:13:28 PDT 1996
Subject: Re: Console Tasks in VxWorks not Functioning
Luke Rengpraphun wrote:

> I have an intermittent problem that may be related to VxWorks.  Does anyone
> have a suggestion on what the problem is or how I may be able to obtain more
> information to get more clues on what the problem is?

Fred Roeber <froeber@bbn.com> wrote:
>From the task list you provided, it would appear that this processor
>is interfacing with a lot of other cards across the backplane.  From
>what you say about IRQ3 it would appear that your processor gets hung
>up processing a higher level interrupt.  Since the problem is random,
>...

I agree with Fred, but would like to add some thoughts:

From the description it seems that the interrupt that is looping
infinitely is not a "spurious" one, it is one that has an interrupt
handler installed, and It seems this interrupt handler either:

  a. has an infinite loop inside the ISR
or
  b. does not do any system calls.

Because if it did system calls for each iteration of the ISR, or
if it was a spurious (unconnected) vector, then "panic: qorkQ overflow"
would appear and system would restart.

That should narrow down the options. Now in order to "debug" this situation,
I can recommend another "primitive" technique - to add some debug
messages to the suspected ISR, which are written to some memory
instead of peing printed to logMsg(). This memory could be
on another VME board, or simply in the EXC_MSG_ADRS area, writing to it
as a circular buffer. So when the card is stock, you can
access this area and see a couple of last messages, which should
give you a hint.

Note that EXC_MSG_ADRS is zeroed when you hit the RESET button (aka cold
start). Activating the ABORT switch with an NMI is a better option, or else
use NVRAM or something for the messages.

Hope this helps.
-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
WWW: http://www.rst.co.il		E-Mail:	leonid@rst.co.il



From info@triada.si  Wed Sep 25 05:32:46 1996
From: info@triada.si
Date: Wed Sep 25 05:32:49 PDT 1996
Subject: subscribe
subscribe
info@triada.si




From rich@immrc1.eng.mcmaster.ca  Wed Sep 25 06:41:32 1996
From: rich@immrc1.eng.mcmaster.ca (Richard Teltz)
Date: Wed Sep 25 06:41:34 PDT 1996
Subject: VxWorks TCP/IP backplane bandwidth

Does anyone have any benchmark data for data transfer
rates (maximum) when using the VxWorks implementation
of TCP/IP over the backplane?

I am particularly interested in the following configuration
(or similar):

	-VMEbus,
	-Motorola 147 or 167 cards,
	-both stream and datagram comm.

Also,
has VxWorks implemented this over the PCI bus?  Can anyone
guide me to any good reference material for the PCI bus?


Thanks in advance,

Rich Teltz


*------------------------------------------------------------------*
|  INTELLIGENT MACHINES AND MANUFACTURING RESEARCH CENTRE (IMMRC)  |
*------------------------------------------------------------------*
|       Richard Teltz,           | Dept. of Mechanical Engineering,|  
|  principal research engineer,  | McMaster University,            |
|   tel: (905) 525-9140, x27351  | Hamilton, Ontario,              |
|   fax: (905) 572-7944          | Canada,                         |
| email: rich@immrc.mcmaster.ca  | L8S 4L7                         |
*------------------------------------------------------------------*


From anthonyl@atlantis.softeng.lamrc.com  Wed Sep 25 07:47:49 1996
From: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
Date: Wed Sep 25 07:47:51 PDT 1996
Subject: Re: Console Tasks in VxWorks not Functioning
Hi Vxperts,

I have a problem related to console window that needs to be solved.  
I use a "tip" program (run in a Xwindow UNIX) to interact with the  
console connected over a RS-232 line (9600 baud) of the SUN .  
Sometime it badly hung up specially when I display a lot of messages  
on the UNIX screen.

If I use an external VT100 terminal, it is OK or if I rlogin to the  
target It's also OK too! Does anyone know why?

Thanks for the answer.


Anthony Le
LAM RESEARCH CORP.
anthony.le@lamrc.com


From byron@wrs.com  Wed Sep 25 14:38:16 1996
From: Byron Goulding <byron@wrs.com>
Date: Wed Sep 25 14:38:20 PDT 1996
Subject: Adaptec Drivers
Hello,

I am a Field Applications Engineer for Wind River Systems.  I have several
customers looking for Adaptec SCSI drivers for the x86 target platform.
Has anyone written a vxWorks driver for any Adaptec SCSI chips?
Thanks for your attention.

Regards,
Byron Goulding
Wind River Systems
Field Applications Engineer
(408)-562-5769
byron@wrs.com



From shg@adv.sbc.sony.co.jp  Thu Sep 26 02:09:37 1996
From: shg@adv.sbc.sony.co.jp (Stuart Gray)
Date: Thu Sep 26 02:09:39 PDT 1996
Subject: Tornado Virtual I/O
Hello - 

I am a bit confised about the virtual i/o mechanism that the target server
implements under Tornado.

When I boot my target and type "devs", /vf0 appears as a device. And sure
enough, I can open a path to this redirect all target standard i/o to that
channel (as the Users manual says). However, unless I specify that I want a
virtual console window (when starting the tgtsvr) then all my host shells
are connected to the virtual i/o channel.

The manual page on tgtsvr says the following::

     Virtual I/O Driver must be included in  the  target  system.
     When  this  driver  is  included, any task on the target may
     open a virtual channel to read from, or write to, that chan-
     nel.   On the host, any tool may open the same virtual chan-
     nel to write to, or read from, that channel.  Thus the  tar-
     get  server acts as an I/O dispatcher, multiplexing whatever
     physical communications layer is available to allow run-time
     tasks and host tools to communicate easily.

Is it possible to open multiple virtual io channels that connect to
different host shells? And is it possible for different target tasks to
redirect standard i/o to different virtual io channels?
All the best...

Stuart.

############################################################################

Stuart Gray
New Technologies (D&D)                    Tel:      +44 (0) 1256 455011
Sony Broadcast & Professional Europe      DDI:      +44 (0) 1256 483105
Jays Close                                Fax:      +44 (0) 1256 811430
Viables
Basingstoke                               EMail:    shg@adv.sbc.sony.co.jp
RG22 4SB
United Kingdom

#############################################################################



From shg@adv.sbc.sony.co.jp  Thu Sep 26 02:36:29 1996
From: shg@adv.sbc.sony.co.jp (Stuart Gray)
Date: Thu Sep 26 02:36:31 PDT 1996
Subject: Re: VxWorks TCP/IP backplane bandwidth
>Submitted-by rich@immrc1.eng.mcmaster.ca  Wed Sep 25 06:41:32 1996
>Submitted-by: rich@immrc1.eng.mcmaster.ca (Richard Teltz)
> 
>
>Does anyone have any benchmark data for data transfer
>rates (maximum) when using the VxWorks implementation
>of TCP/IP over the backplane?
>
>I am particularly interested in the following configuration
>(or similar):
>
>	-VMEbus,
>	-Motorola 147 or 167 cards,
>	-both stream and datagram comm.
>
>Also,
>has VxWorks implemented this over the PCI bus?  Can anyone
>guide me to any good reference material for the PCI bus?
>
>
>Thanks in advance,
>
>Rich Teltz

Rich -

Have you seen the PCI Special Intereset Group Web home page? Everything you
ever wanted to know.......

        http://www.pcisig.com
All the best...

Stuart.

############################################################################

Stuart Gray
New Technologies (D&D)                    Tel:      +44 (0) 1256 455011
Sony Broadcast & Professional Europe      DDI:      +44 (0) 1256 483105
Jays Close                                Fax:      +44 (0) 1256 811430
Viables
Basingstoke                               EMail:    shg@adv.sbc.sony.co.jp
RG22 4SB
United Kingdom

#############################################################################



From daemon@csg.lbl.gov  Thu Sep 26 04:00:20 1996
From: daemon@csg.lbl.gov
Date: Thu Sep 26 04:00:22 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Sep 26 04:00:16 PDT 1996

        Subject: Boot failures
        Subject: Re: MVME167, FDDI and vxworks
        Subject: Linux and vxWorks
        Subject: Re: How to get CPU time?

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Boot failures
Date: Fri, 20 Sep 1996 15:11:56 -0500
From: Alan Currie <currie@ghgcorp.com>
Organization: NASA/Johnson Space Center
Message-ID: <R.3242FA71.6A85@ghgcorp.com>
Reply-To: currie@ghgcorp.com

Reposting article removed by rogue canceller.

I am having a problem that when I include my application to the
vxWorks.st load, it auto reboots after I get the loading... xxxxxx
xxxxxx xxxxxx.  When I remove my application, and do a separate load
from the shell after vxWorks has booted, it works fine.  Any
suggestions?

I am using a DY4 SVME 163 board which has a 68040 processor.  Thanks.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: MVME167, FDDI and vxworks
Date: Wed, 25 Sep 1996 11:29:14 -0700
From: David McCullough <dave@sd.aplabs.com>
Organization: Advanced Processing Laboratories, Inc.
Message-ID: <324979FA.63DECDAD@sd.aplabs.com>
References: <3247DB87.56CD@morgan.ucs.mun.ca> <32494351.18F2@lsoc114x.ksc.nasa.gov>

Richard Price wrote:
> 
> Bill Hunt wrote:
> >
> > I'm wondering about peoples experiences using the combination of a
> > MVME167 CPU board, an Interphase 5211 FDDI board, and Vxworks.
> > Interphase supplies a "sample" Vxworks driver for the board. What kind
> > of performance might I expect from it ?  How about third party drivers
> > (the two I know of are from AP Labs and Sparta Inc).
> >
> > Any information you can share would be much appreciated.
> >
> > BillFirst understand that the 5211 is older,slower etc. than the 5411. but if that is what you've got
> it is a fine product.  We used the APL Driver (costly) and then researched inhouse drivers trying
> different modes (UDP TCP IP. Depending upon word size and ring topology you may be able to write
> your own driver.

Certainly our driver is sold to make a profit.  But one would
be hard pressed to fund the necessary engineering effort to 
develop even a scaled down driver, for what we sell our driver
for.  The AP Labs 5211 VxWorks driver is a mature product that
is currently used in a wide variety of real time systems.  It is
available for both SPARC and 68k targets.  If is a full VxWorks 
network driver, supporting all protocols available under VxWorks.

Performance will vary depending on whether you running an a 25mhz
or 33mhz MVME167, your load level, and the packet size of your
transmissions.  Our sales organization can provide benchmarks.
                                                              
                                                              


David McCullough
Software Engineer
AP Labs
dave@sd.aplabs.com
www.sd.aplabs.com
(619) 546-8626

---------------------------

Newsgroups: comp.os.vxworks
Subject: Linux and vxWorks
Date: Tue, 17 Sep 1996 16:41:28 +0200
From: Casey Crellin <casey@ccii.co.za>
Organization: CCII Systems
Message-ID: <323EB898.15C1@ccii.co.za>

Hi,

A little while back there was a thread wrt Linux and vxworks
Has anyone ported the 5.3 Tornado system to Linux?

With advice from Lyor Goldstein I got the gnu tools going OK.
Although I am having hassles with gdb. It is compiled for my target 
seems to be in order.

WDBREADY comes through on the right device.

But upon initialising the gdb for the target, it get malformed 
packets sent from the target and gdb shuts down...

I am guessing but could this be because of the target server not being 
run? I tried to run tgtsvr undr dosemu but it cannot run in DOS mode.

Could anyone out there spare me aclue?

Casey
- --
Casey Crellin                              casey@ccii.co.za  
CCII Systems (Pty) Ltd
- ------------------------------------------------------------

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to get CPU time?
Date: Fri, 13 Sep 1996 20:56:37 -0700
From: John Finley <john@finley.com>
Organization: Netcom
Message-ID: <323A2CF5.4AE5@finley.com>
References: <32467211.249333462@netline-fddi.jpl.nasa.gov> <3238DD66.2FF5@finley.com> <51crhr$6te@amy14.Stanford.EDU>
Reply-To: john@finley.com

Earl Mitchell wrote:
>
....
>
> The spy tool reports cpu utilization per task in ticks. So the smallest
> unit of time it will detect is 1 tick. On a typical mv162 target clockrate
> for VxWorks is 60Hz (so 1 tick = 1/60 seconds = approx. 16 milliseconds).
> So if you run spy and a task never runs for more than 16 milliseconds the
> spy report will show it ran for 0 ticks in the sampled time period.
> Changing the clock rate will make tick granularity better but this will
> cause "thrashing" from too many interrupts.
>
> So if you need more granularity than a tick you must use something else.
> One option is "WindView" which has microsecond granularity. Another option
> is using a logic analyzer.
>
> If you just want to see if a task ran at all then use a hook.

Not really.  Spy turns on an ISR driven by the aux clock at the
rate you specify.  On each interrupt, the spy ISR looks to see
what task was interrupted, and credits one "tick" to the task
that was interrupted.  If the CPU was at interrupt level, then
"interrupt" gets credited one tick; same for idle.

The "ticks" column in the spy report is a little misleading; it
should really be labelled "hits".

So no matter how briefly a task executes, it might get caught
by spy.  In general, to get good spy results, you should:

1) Set the spy clock rate to something reasonably high, to get
   more samples.

2) Set the spy clock rate to something unrelated to (relatively
   prime to?) the main clock.  This prevents tasks that do lots
   of taskDelay() calls from getting in or out of sync with the
   spy clock, and getting more or less hits than they deserve.

3) Let it run "a long time".  Whatever that means....

A statistician could figure out how long to let it run at what
spy clock rate to give whatever assurance you'd catch a task
waking up every X microseconds and running for Y microseconds.
With a long enough run, you *will* see hits on a task or ISR
that runs for periods much less than the spy clock period.

A habit I had once was "spy 10,777" on a 167/33 MHz.

Spy's one of those neat tools that's simple, yet still does
a very good job.  But you really need to know what it's doing
to use it correctly.

I can only guess on how a windview works.  And that guess is
that it hooks the task switch, and reads a clock with very
good resolution (usec).  Does windview count interrupt time?
If so, then it has to hook ISR entry and return, I think.

John

- --------------------------------------------------
John Finley                 Engineering Consultant
john@finley.com                  Real Time Systems
(619) 689-0032                Networking Protocols
- --------------------------------------------------

---------------------------

End of New-News digest
**********************


From froeber@bbn.com  Thu Sep 26 05:15:12 1996
From: Fred Roeber <froeber@bbn.com>
Date: Thu Sep 26 05:15:14 PDT 1996
Subject: Re: Console Tasks in VxWorks not Functioning
Anthony Le wrote:
> I have a problem related to console window that needs to be solved.
> I use a "tip" program (run in a Xwindow UNIX) to interact with the
> console connected over a RS-232 line (9600 baud) of the SUN .
> Sometime it badly hung up specially when I display a lot of messages
> on the UNIX screen.

Just an idea.  If you run tip inside a cmdtool window on the SUN you
can have problems.  In fact, after some amount of time the window
usually goes away because too much past data has been saved for
scrolling back to.  Things usually work better if you run tip from
an xterm window or even a shelltool window. We do this with xterm
windows on SUNs all the time with no problems.  HTH.   Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |


From leonid@rst.co.il  Thu Sep 26 06:11:24 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Thu Sep 26 06:11:27 PDT 1996
Subject: Re: How to get CPU time?
> Date: Fri, 13 Sep 1996 20:56:37 -0700
> From: John Finley <john@finley.com>
> ...
> I can only guess on how a windview works.  And that guess is
> that it hooks the task switch, and reads a clock with very
> good resolution (usec).  Does windview count interrupt time?
> If so, then it has to hook ISR entry and return, I think.

You are quite right. WindView adds "instrumentation" i.e. hoks
to all system events, including task switch, semaphore operations,
and interrupt entry and exit. You can enable instrumentation
of specific event classes, and when you do, a WindView function is added,
and it records the event with a very precise time stamp.

It is a very powerful tool, it has nothing to do with statistics
when it comes down to measuring an event which occurs once in
a very long period of time. Leaving our statistics means a better
precentage of truth in the results.

Still, it takes some experience to guess how the system would
perform without the hooks installed, and without the overhead they
add. I heard there is a hardware product by BBN that takes the measurement
part and assotiated overhead out of the equation. I think it's in the
TradeWinds directory on Wind River's Web site.
-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
WWW: http://www.rst.co.il		E-Mail:	leonid@rst.co.il


From froeber@bbn.com  Thu Sep 26 06:20:46 1996
From: Fred Roeber <froeber@bbn.com>
Date: Thu Sep 26 06:20:49 PDT 1996
Subject: Re: spy use
john finley wrote:

> Spy's one of those neat tools that's simple, yet still does
> a very good job.  But you really need to know what it's doing
> to use it correctly.
>
> A statistician could figure out how long to let it run at what
> spy clock rate to give whatever assurance you'd catch a task
> waking up every X microseconds and running for Y microseconds.
> With a long enough run, you *will* see hits on a task or ISR
> that runs for periods much less than the spy clock period.

I totally agree with John.  If you have periodic applications then
spy will give you good information if you let it run long enough.
I had a paper from a while ago where someone actually did the analysis
to show how long you had to run things to get whatever accuracy you
wanted on the task timing.

One thing to note about measuring interrupt timings with spy, is that
you will only get the timing for interrupt handlers and code that
don't mask the aux clock interrupt that is used to generate the data
needed for the spy report.  I have run spy off of a non maskable
interrupt before to get accurate timings including all interrupt
levels and code that locked out interrupts but that was back when I
had source access and could tweak the spy code a little to get it
to work in this mode.

> I can only guess on how a windview works.  And that guess is
> that it hooks the task switch, and reads a clock with very
> good resolution (usec).  Does windview count interrupt time?
> If so, then it has to hook ISR entry and return, I think.

WindView works entirely differently from spy (which is a profiler).
With WindView, the object code for vxWorks has extra code added to
many key points in the operating system to create a record of the
execution of that code in a large circular buffer.  Each of these
event records is time stamped using a local high resolution clock.
This mode of operation means that WindView is much more useful to
look at the explicit timing of sequences of code including code that
doesn't run periodically.  The WindView manual has a complete
description of all the points in the operating system that are
instrumented (plus you can add your own instrumentation points).
We actually sell a product called TraceMaker that makes WindView
work even better.    Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |


From MikeMcQuade@connect.com  Thu Sep 26 08:03:28 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Thu Sep 26 08:03:30 PDT 1996
Subject: 100 Base-Tx PMC cards
Is anyone using a 100Base-Tx PMC card ?

if so who makes the card, and what are your thoughts on the card ?


thank you.


MikeMcQuade@connect.com



From compston@radstone.co.uk  Thu Sep 26 09:52:33 1996
From: David Compston <compston@radstone.co.uk>
Date: Thu Sep 26 09:52:35 PDT 1996
Subject: Re: 100 Base-Tx PMC cards
Replying to: Mike McQuade,Thu, 26 Sep 96 17:16:41 BST  

> >Is anyone using a 100Base-Tx PMC card ?
> >if so who makes the card, and what are your thoughts on the card ?

This question seems to crop up from time to time.

Radstone has a 100Base-TX PMC adapter that comes complete with VxWorks
driver for PowerPC -- checkout our website for further details...

http://www.radstone.com/pmc.html

Regards
--
David Compston                  compston@radstone.co.uk
Radstone Technology PLC         Tel: +44 (0)1327 359444
Water Lane, Towcester           Fax: +44 (0)1327 358113
NN12 6JN, UK                    Web: http://www.radstone.com/







From mea@mclean.sparta.com  Thu Sep 26 10:47:57 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Thu Sep 26 10:47:59 PDT 1996
Subject: Re: MVME167, FDDI and vxworks
At 04:00 AM 9/26/96 PDT, you wrote:

>
>Richard Price wrote:
>> 
>> Bill Hunt wrote:
>> >
>> > I'm wondering about peoples experiences using the combination of a
>> > MVME167 CPU board, an Interphase 5211 FDDI board, and Vxworks.
>> > Interphase supplies a "sample" Vxworks driver for the board. What kind
>> > of performance might I expect from it ?  How about third party drivers
>> > (the two I know of are from AP Labs and Sparta Inc).
>> >
>> > Any information you can share would be much appreciated.
>> >
>> > BillFirst understand that the 5211 is older,slower etc. than the 5411.
but if that is what you've got
>> it is a fine product.  We used the APL Driver (costly) and then
researched inhouse drivers trying
>> different modes (UDP TCP IP. Depending upon word size and ring topology
you may be able to write
>> your own driver.
>
>Certainly our driver is sold to make a profit.  But one would
>be hard pressed to fund the necessary engineering effort to 
>develop even a scaled down driver, for what we sell our driver
>for.  The AP Labs 5211 VxWorks driver is a mature product that
>is currently used in a wide variety of real time systems.  It is
>available for both SPARC and 68k targets.  If is a full VxWorks 
>network driver, supporting all protocols available under VxWorks.
>
>Performance will vary depending on whether you running an a 25mhz
>or 33mhz MVME167, your load level, and the packet size of your
>transmissions.  Our sales organization can provide benchmarks.
>                                                              
>                                                              

Speaking for SPARTA, I can certainly agree with Dave's sentiments.  Clearly,
a company who writes a driver and then offers it for sale is at least
trying to recoup their development costs and hopefully make a little extra ;-).
There are generally two pricing models that companies will follow.  One,
price it high and sell only a few units.  This was certainly WRS's pricing
model for VxWorks B.T. (Before Tornado).  At $23K+, this price was too high 
for the 1-2 man company to be able to purchase the product, especially given
that they'd have to buy another ODL if they ever got a second project.  But,
when your target marketplace is the GMs, TRWs and HPs of the world, they
can afford it.

The other model is price it cheap and try to make it up in volume.  I refer
to this as the Turbo Pascal model.  This is where you find the $5K (and less)
real-time kernels for the X86 platforms.  But, think about how much money a
senior
engineer will bill out for on a daily basis.  It's not at all uncommon to
pay $1K/day for a guy who really knows his stuff as a consultant.  When you 
think of it in those terms, even the old VxWorks pricing was a bargain.  Because
it would certainly take more than 23 days to duplicate all of the facilities
of VxWorks.

So, as for my view point on drivers, here we tend to look at those markets were
we believe there's sufficient volume and then use the Turbo Pascal model.
For instance, our 5211 driver sells for $800 per target and you get the
source code.  We support 68K, SPARC, MIPS and have versions running on PPC.
Sure, folks could try to cheat us, but for $800?  Why bother to risk the 
litigation?  We also tend to assume that people are basically honest and
giving them the source code gives us a fighting chance at customer support
(just change line 572 and recompile...).  Of course, even with the source,
we run into a fair share of problems with all of the possible combinations of
hardware that exists out there.  Especially since our FDDI driver supports
VME32, VME32 BLT and VME64 MBLT.  Setting these options up on the arbitrary
VxWorks system can be non-trivial.  But that's why you *pay* for the driver
so you can get some tech support when you need it.

Therefore, before rejecting that driver as being "too expensive".  Think about
how much time it would *realistically* take to duplicate the effort and 
multiply that out through the loading factors of salary and benefits.  You'll
find that in many cases, it's cheaper to buy it than built it yourself.

Regards,

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================




From mea@mclean.sparta.com  Thu Sep 26 10:56:00 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Thu Sep 26 10:56:02 PDT 1996
Subject: Re: Boot failures
At 04:00 AM 9/26/96 PDT, you wrote:


>
>I am having a problem that when I include my application to the
>vxWorks.st load, it auto reboots after I get the loading... xxxxxx
>xxxxxx xxxxxx.  When I remove my application, and do a separate load
>from the shell after vxWorks has booted, it works fine.  Any
>suggestions?
>
>I am using a DY4 SVME 163 board which has a 68040 processor.  Thanks.
>

I think that Keith Buchanan from SPARTA answered this one already, but
I believe that the problem is that your standalone load image is too
large to fit under the RAM_HIGH_ADRS defined location for the
ROM in memory.  That location is set for 0x90000 by default.  This means
that if your load image is > ~576K bytes, you'll overwrite the boot
ROM image in RAM and the load process will die a horrible death.

What you need to do to fix this problem is to redefine the RAM_HIGH_ADRS
value to something > 0x90000 and remake your boot ROMs.  Remember to
make these changes in both the config.h and Makefile.XXX.gnu files
before rebuilding the ROMs.

Regards,

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================




From schen3@ccgate.hac.com  Thu Sep 26 20:33:31 1996
From: schen3@ccgate.hac.com
Date: Thu Sep 26 20:33:33 PDT 1996
Subject: Bare-Bone configuration?
     
     We try to cut vxWorks OS to bare-bone, I need to know what option need 
     to be included or excluded.  Can someone tell me where I can find all 
     the descriptions for all the facilities (INCLUDE_*) ?
     
     Thanks in advance.
     
     Steven
     schen3@ccgate.hac.com



From daemon@csg.lbl.gov  Fri Sep 27 04:01:00 1996
From: daemon@csg.lbl.gov
Date: Fri Sep 27 04:01:02 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Sep 27 04:00:58 PDT 1996

        Subject: NTP for VxWorks PPC603e

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: NTP for VxWorks PPC603e
Date: Tue, 17 Sep 1996 16:25:09 +0200
From: Thomas Rosen <rlythro@rly.abb.se>
Organization: ABB Sweden
Message-ID: <323EB4C5.25B0@rly.abb.se>

Hi there!
I need to know if there is a NTP (version3) 
implementation for PPC603 available somewhere....
I'll be very glad to see an example in C :-)

	- Thomas 
	  [rlythro@rly.abb.se]

---------------------------

End of New-News digest
**********************


From gema@force.de  Fri Sep 27 05:11:02 1996
From: gema@force.de (Gerhard Mayr)
Date: Fri Sep 27 05:11:04 PDT 1996
Subject: Re: 100 Base-Tx PMC cards
> >Is anyone using a 100Base-Tx PMC card ?
> >if so who makes the card, and what are your thoughts on the card ?

FORCE COMPUTERS has a 10Base/100BaseT PMC module in their product portfolio.
The drivers for VxWorks on the PowerPC are also available.

Please contact one of our sales offices. More infos on our web-page:
http://www.forcecomputers.com

Best regards,
Gerhard Mayr

-------------------------------------------------------------------
 Gerhard Mayr
 FORCE COMPUTERS GmbH                  Tel:  +49-89-60814-300
 Prof.-Messerschmitt-Str. 1            Fax:  +49-89-60814-276
 D-85579 Neubiberg/Munich            Email:  gema@force.de
 Germany

                   http://www.forcecomputers.com
-------------------------------------------------------------------



From Lennart.Bie@emw.ericsson.se  Fri Sep 27 07:10:27 1996
From: Lennart.Bie@emw.ericsson.se (FY/DX Lennart Bie)
Date: Fri Sep 27 07:10:29 PDT 1996
Subject: Driver to MVME1604 serial 3&4

Can anyone give a hint where to find a synchronous driver using dma transfers
operating the Z85230 (serial 3&4) on the Moto MVME1604 PPC board.

Thanks in advance.

Lennart Bie, Ericsson Microwave Systems AB, Molndal, Sweden



From Richard_W_Mattox@ccmail.orl.mmc.com  Fri Sep 27 10:53:32 1996
From: Richard_W_Mattox@ccmail.orl.mmc.com
Date: Fri Sep 27 10:53:35 PDT 1996
Subject: SCSI Driver
Hello out there,

I am trying to use the scsiIoctl function with the FIOSCSICOMMAND parameter to 
send a SCSI command to a direct access device.  I followed the code example in 
the Online Manuals of the scsiLib.  I can use the library routine 
scsiTestUnitRdy invoked from windsh, but if I construct the TEST_UNIT_READY 
command and send it using the scsiIoctl function it fails.  I need to send a 
PREVENT ALLOW MEDIUM REMOVAL SCSI command and VxWorks does not provide a library
routine for this command.  Therefore, I need the scsiIoctl function to work.  If
anybody can help I would greatly appreciate it.  The architecture is a MVME-1603
PowerPC board running version 5.3 of VxWorks.  I know the SCSI2 driver is BETA 
so maybe this is a bug.

Thanks in advance,
Rick Mattox ( richard_w_mattox@ccmail.orl.lmco.com )


From stan@rti.com  Fri Sep 27 16:01:35 1996
From: Stan Schneider <stan@rti.com>
Date: Fri Sep 27 16:01:37 PDT 1996
Subject: Re: spy use

>> > A statistician could figure out how long to let it run at what
>> > spy clock rate to give whatever assurance you'd catch a task
>> > waking up every X microseconds and running for Y microseconds.
>> > With a long enough run, you *will* see hits on a task or ISR
>> > that runs for periods much less than the spy clock period.
>> 
>> I totally agree with John.  If you have periodic applications then
>> spy will give you good information if you let it run long enough.
>> I had a paper from a while ago where someone actually did the analysis
>> to show how long you had to run things to get whatever accuracy you
>> wanted on the task timing.
>> 

Hey!  I wrote that paper!  :-)  I'll post it to our web page next week &
announce when it's up.  It analyzes the statistics of sampling profilers.  The
accuracy available with even modest sampling is really pretty surprising.

The analysis applies to all statistical profilers, including spy and also our
dynamic execution profiler called "ScopeProfile".  Since there seems to be some
confusion in this thread, I'll take the liberty of pointing out some of the
differences between Spy, WindView, and ScopeProfile.  All these tools are
useful for tuning your application code for maximum performance.  They are very
different and mostly complementary.

Spy is a task-level profiler; it shows you how much CPU each task is using.
ScopeProfile is a *function-level* profiler; it analyzes how much CPU each
routine in your system is using (much finer resolution information than
reported by spy).  WindView shows when events occur, which tasks are running,
and when and why changes occur.  It's not really a profiler.

Spy reports snapshots of task CPU usage.  It's useful to see at large
granularity which tasks are hogs.  One caveat: spy should be run with a
non-integer multiple of the system clock (preferably a relative prime), and
should collect at least 1500 samples or so per report.  The default parameters
(5,100) are horrible.  spy(15,107) will work for most apps.

These tools give you different information.  They are most useful in different
situations.

For example, if your application is thrashing (spending most of its time
context switching), ScopeProfile (and spy) will simply report that most of the
CPU is being spent in the kernel.  WindView will show you which tasks are
switching, and display the events (e.g.  interrupts) that are causing the
switches.  It will show how long it took to respond to the interrupts, what was
delayed, etc.  Windview is clearly the tool to use in this situation.

On the other hand, if you have one task hogging the CPU, WindView (and spy)
will only tell you that one task is running most of the time.  ScopeProfile
will provide a detailed function-by-function analysis, breaking down the
individual routines within the task that are burning the CPU.  It will give you
a map of what that task is doing, what routines are being called, what
routines they call, and point out the inefficiencies.  You could sprinkle user
events around your code with WindView, but that's not really practical.  This
is the domain of a profiler.

So, all three tools help you tune the performance of your code.  However, they
provide different perspectives: WindView offers precise measurements of event
timing, ScopeProfile provides a detailed functional analysis of where your CPU
time is being used.  Spy simply tells you which tasks are active.


HTH,

        -- Stan


=============================================================================
=                                           =                               =
=   Stan Schneider                          =   email: stan@rti.com         =
=   Real-Time Innovations, Inc.             =   Phone: (408) 720-8312 x104  =
=   155A Moffett Park Drive, Suite 111      =   Fax:   (408) 734-5009       =
=   Sunnyvale, CA 94089                     =   http://www.rti.com          =
=                                           =                               =
=============================================================================


From richard@carapace.demon.co.uk  Sat Sep 28 00:57:11 1996
From: rms <richard@carapace.demon.co.uk>
Date: Sat Sep 28 00:57:13 PDT 1996
Subject: ethernet

I am currently using vxWorks on a PC arechetecture but I am going to
move to a platform where everyting is made by ourselves - we would still
use the intel processors but we will be glueing down most of the
peripherals. The target is a 'process controller' with little or no man-
machine interface and certainly no VDU or keybaord. It will therfore not
be much like a PC any more!

I need to put a network chipset for one ( or posibly two ) network
interfaces on the board. The reason for multiple interfaces is twofold
firstly for relyability and secondly so that time critical data will not
get held up by heavy traffic.

What chipsets do people recomend - of course vxWorks drivers are a
requirement. We woudld like to support 100mbps/10mbps or at least have a
way of migrating to faster LANs.

Thanking you in anticipation....








-- 
rms


From AS_Bridge@msmail3.hac.com  Sat Sep 28 03:32:44 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 03:32:46 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: ethernet
Sent: Sat, Sep 28, 1996 2:03 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 3:31 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 06:06:16 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 06:06:25 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 4:38 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 5:39 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 08:28:23 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 08:28:25 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 7:03 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 8:27 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 10:26:25 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 10:26:27 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 9:21 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 10:25 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 12:27:30 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 12:27:32 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 11:24 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 12:26 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 14:49:51 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 14:49:53 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 1:21 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 2:48 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 16:55:59 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 16:56:01 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 3:49 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 4:52 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 19:40:05 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 19:40:07 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 6:06 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 7:38 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sat Sep 28 21:54:12 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sat Sep 28 21:54:14 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sat, Sep 28, 1996 8:50 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sat, Sep 28, 1996 9:53 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 01:05:15 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 01:05:17 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 12:01 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 1:03 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From lyorg@scorpio.com  Sun Sep 29 02:02:43 1996
From: lyorg@scorpio.com (Lyor Goldstein)
Date: Sun Sep 29 02:02:45 PDT 1996
Subject: SMTP client
Hello,
   I am posting this simple SMTP client which enables sending e-mail from a
VxWorks target to any SMTP server. I make no guarantees or warranties as to
its performance (since I have not tested it thoroughly). However, it seems
simple enough and may well serve as a basis for further development.

   By doing this I hope to promote useful utilities code exchange in the spirit
of the FSF. I ask only that my name be left as the author for anyone using this
code.

*****************************************************************
*  Lyor Goldstein.             Email :  lyorg@scorpio.com       *
*  Scorpio Communications Ltd. Phone :  972-3-5339654  ext 115  *
*  Software group              Fax   :  972-3-5339518           *
*                  1c Yoni Netanyahu  st.                       *
*                  Or Yehuda   60250                            *
*                  P.O.Box 564,   Israel                        *
*****************************************************************

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <netinet/in.h>
#include <netinet/tcp.h>

#include <vxWorks.h>
#include <sockLib.h>
#include <socket.h>
#include <inetLib.h>
#include <hostLib.h>
#include <remLib.h>

/*****************************************************************
*  Lyor Goldstein.             Email :  lyorg@scorpio.com
*  Scorpio Communications Ltd.
*  Software group
*****************************************************************/

/*---------------------------------------------------------------------------*/


#define SMTP_E_SYS_STAT    211 /* System status, or system help reply */
#define SMTP_E_HELP_MSG		214 /* Help message */
#define SMTP_E_DOMAIN_RDY  220 /* <domain> Service ready */
#define SMTP_E_DOMAIN_CLS  221 /* <domain> Service closing transmit channel */
#define SMTP_E_ACTION_OK   250 /* Requested mail action okay, completed */
#define SMTP_E_USR_NLOCAL  251 /* User not local; will forward to <path> */

#define is_bad_smtp_rcode(c) (((c) < 200) || ((c) >= 300))

#define SMTP_E_START_INP   354 /* Start mail input; end with <CRLF>.<CRLF> */
          
#define SMTP_E_SRVC_NA     421 /* <domain> Service not available */
#define SMTP_E_ACTION_NA   450 /* Requested mail action not taken */
#define SMTP_E_ACTION_ABRT 451 /* Requested action aborted */
#define SMTP_E_ACTION_MEM  452 /* insufficient system storage */

#define SMTP_E_SYNTAX      500 /* Syntax error, command unrecognized */
#define SMTP_E_PARAMS      501 /* Syntax error in parameters or arguments */
#define SMTP_E_CMD_NA      502 /* Command not implemented */
#define SMTP_E_BAD_CMD_SEQ 503 /* Bad sequence of commands */
#define SMTP_E_BAD_PARAM   504 /* Command parameter not implemented */
#define SMTP_E_MBOX_NA     550 /* mailbox unavailable */
#define SMTP_E_USR_TRY     551 /* User not local; please try <forward-path> */
#define SMTP_E_MEM_OVRFLW  552 /* exceeded storage allocation */
#define SMTP_E_MBOX_NAME   553 /* mailbox name not allowed */
#define SMTP_E_TRAN_FAILED 554 /* Transaction failed */

/*---------------------------------------------------------------------------*/


static int smtpOpen (const char hname[], int pnum)
{
	int s=(-1), t=1;
	struct sockaddr_in sin;
	struct sockaddr *saddrp=(struct sockaddr *) &sin;

	bzero((char *) &sin, (sizeof sin));
	sin.sin_family = AF_INET;
	sin.sin_port = htons(pnum);

	if (isdigit((int) hname[0]))
	{
		if ((sin.sin_addr.s_addr=inet_addr(hname)) == ((u_long) ERROR))
			return (-1);
	}
	else
	{
		if ((sin.sin_addr.s_addr=hostGetByName(hname)) == ERROR)
			return (-1);
	}

	s = socket(AF_INET, SOCK_STREAM, 0);
	if (s < 0)
		return (-1);

	if((setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(void *)&t,(sizeof t))) != OK)
	{
		close(s);
		return (-1);
	}

	if((setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(void *)&t,(sizeof t))) == -1)
	{
		close(s);
		return (-1);
	}

	if (connect(s, saddrp, (sizeof sin)) != OK)
	{
		close(s);
		return (-1);
	}

	return s;
}
/*---------------------------------------------------------------------------*/

static STATUS smtpClose (FILE *fp, int s, const char reason[], STATUS retval)
{
	if ((fp != NULL) && (fp != stdin))
		fclose(fp);
	if (s > 0)
		close(s);
	return retval;
}

/*---------------------------------------------------------------------------*/

static STATUS smtpGetResponse (int s, char l[], int *rcode)
{
	char *lp=l;

	do
	{
		if (read(s, lp, sizeof(char)) != sizeof(char))
			return ERROR;
		if (*lp == '\n')
			break;
		lp++;
	} while (*(lp-1) != '\n');

	*lp = '\0';
	if (!isdigit((int) l[0]))
		return ERROR;

	sscanf(l, "%d", rcode);
#ifdef VERBOSE
	fprintf(stderr, "RSP: %s\n", l);
#endif

	return OK;
}

/*---------------------------------------------------------------------------*/


static STATUS smtpSendCmdSync (int s, FILE *fp,
										 const char cmd[], char l[],
										 int expcode)
{
	int rcode;

	if (write(s, cmd, strlen(cmd)) <= 0)
		return smtpClose(fp, s, cmd, ERROR);

	/* skip all OK codes til ACTION-OK code found */
	do
	{
		if (smtpGetResponse(s, l, &rcode) != OK)
			return smtpClose(fp, s, l, ERROR);

		if (rcode == expcode)
			return OK;

		if (is_bad_smtp_rcode(rcode))
			return smtpClose(fp, s, l, ERROR);
	} while (rcode != SMTP_E_ACTION_OK);

	return OK;
}

/*---------------------------------------------------------------------------*/


static STATUS smtpAddRecepient (int s, const char rcpt[], char l[], int *rcode)
{
	sprintf(l, "RCPT TO: %s\n", rcpt);

	if (write(s, l, strlen(l)) <= 0)
		return smtpClose(NULL, s, "'RCPT TO:' failed", ERROR);

	if (smtpGetResponse(s, l, rcode) != OK)
		return smtpClose(NULL, s, "bad 'RCPT TO:' response", ERROR);

	return OK;
}

/*---------------------------------------------------------------------------*/

#define MAX_LL 127	/* max input line fro text file */
#define MAX_CMD 79	/* max command/response */

int smtpDataSockOpen (const char host[],
							 const char fromUsr[],
							 const char *tusrs[],
							 int			port)
{
	static const char data_cmd[]="DATA\n";

	int pnum=(port != 0) ? port : IPPORT_SMTP;
	static const char defhost[]="bootHost";
	const char *hname=(host != NULL) ? host : defhost;
	char usr[32], *stp, *enp;
	const char *fusr=fromUsr;
	int s=(-1), rcode, i, tnum;
	char l[MAX_CMD+1];

	if (fusr == NULL)
	{
		remCurIdGet(usr, NULL);
		fusr = usr;
	}

	sprintf(l, "MAIL FROM: %s\n", fusr);

	if ((s=smtpOpen(hname, pnum)) < 0)
		return smtpClose(NULL, s, "'smtpOpen' failed", ERROR);

	if (smtpSendCmdSync(s, NULL, l, l, (-1)) != OK)
		return ERROR;

	for (i=0, tnum=0; tusrs[i] != NULL; i++)
	{
		if (smtpAddRecepient(s,tusrs[i], l, &rcode) != OK)
			return smtpClose(NULL, s, "add recepient", ERROR);

		/* this is a special failure code - it suggests someone else to try - its
		 * suggested path is enclosed in '<...>'
		 */

		if ((rcode == SMTP_E_USR_TRY) && ((stp=strchr(l, '<')) != NULL))
		{
			stp++;

			if ((enp=strchr(stp, '>')) != NULL)
			{
				*enp = '\0';
				strncpy(usr, stp, (sizeof usr));
				usr[(sizeof usr)-1] = '\0';

				/* try the suggested user path */
				if (smtpAddRecepient(s, usr, l, &rcode) != OK)
					return smtpClose(NULL, s, "add recepient", ERROR);
			}
		}

		/* if we get a bad response we go to next recepient and don't count it */
		if ((rcode == SMTP_E_ACTION_OK) || (rcode == SMTP_E_USR_NLOCAL))
			tnum++;
	}

	/* make sure at least ONE recepient */
	if (tnum == 0)
		return smtpClose(NULL, s, "no recepients", ERROR);

	if (smtpSendCmdSync(s, NULL, data_cmd, l, SMTP_E_START_INP) != OK)
		return ERROR;

	return s;
}

/*---------------------------------------------------------------------------*/


STATUS smtpDataSockClose (int s, int add_crlf)
{
	char l[MAX_CMD+1];
	static const char quit_cmd[]="QUIT\n";

	if (add_crlf)
		sprintf(l, "\r\n.\r\n");
	else
		sprintf(l, ".\r\n");

	if (smtpSendCmdSync(s, NULL, l, l, (-1)) != OK)
		return smtpClose(NULL, s, "send '.'", ERROR);

	if (smtpSendCmdSync(s, NULL, quit_cmd, l, SMTP_E_DOMAIN_CLS) != OK)
		return smtpClose(NULL, s, "send 'QUIT' cmd", ERROR);

	return smtpClose(NULL, s, "OK", OK);
}

/*---------------------------------------------------------------------------*/


static STATUS smtpFcopy (int s, const char fname[], int *add_crlf)
{
	FILE *fp = (fname != NULL) ? fopen(fname, "r") : stdin;
	int is_stdin = (fname != NULL) ? 0 : 1;
	char l[MAX_LL+1];

	if (fp == NULL)
		return smtpClose(fp, s, "open file", ERROR);

	while (fgets(l, MAX_LL, fp) == l)
	{
		if (write(s, l, strlen(l)) <= 0)
			return smtpClose(fp, s, "Line send", ERROR);

		if (l[strlen(l)-1] == '\n')
			*add_crlf = 0;
		else
			*add_crlf = 1;
	}

	if (!is_stdin)
		fclose(fp);
	return OK;
}

/*---------------------------------------------------------------------------*/

static STATUS smtpTcopy (int s, const char txt[], int *add_crlf)
{
	if (write(s, txt, strlen(txt)) <= 0)
		return smtpClose(NULL, s, "Text send", ERROR);
	
	if (txt[strlen(txt)-1] == '\n')
		*add_crlf = 0;
	else
		*add_crlf = 1;
	return OK;
}

/*---------------------------------------------------------------------------*/

typedef enum enum_smtp_arg_case {
	SMTP_FILE_CASE,
	SMTP_TEXT_CASE,
	SMTP_BAD_CASE
} SMTP_ARG_CASE;

static STATUS smtpSend (const char host[],
								const char fromUsr[],
								const char *tusrs[],
								int		    port,
								SMTP_ARG_CASE acase,
								void		 *arg)
{
	int s=(-1), add_crlf=1;

	if ((s=smtpDataSockOpen(host, fromUsr, tusrs, port)) == ERROR)
		return smtpClose(NULL, s, "open data sock", ERROR);

	switch(acase)
	{
		case SMTP_FILE_CASE :
			if (smtpFcopy(s, (const char *) arg, &add_crlf) != OK)
				return ERROR;
			break;

		case SMTP_TEXT_CASE :
			if (smtpTcopy(s, (const char *) arg, &add_crlf) != OK)
				return ERROR;
			break;

		default :
			return smtpClose(NULL, s, "Unknown SMTP case", ERROR);
	}

	return smtpDataSockClose(s, add_crlf);
}

/*---------------------------------------------------------------------------*/

S
STATUS smtpFsend (const char host[],
						const char fromUsr[],
						const char *tusrs[],
						int		  port,
						const char fname[])
{
	return smtpSend(host, fromUsr, tusrs, port, SMTP_FILE_CASE, (void *) fname);
}

/*---------------------------------------------------------------------------*/

STATUS smtpSendText (const char host[],	/* name/address - default=bootHost*/
							const char fromUsr[], /* user - default=remCurIdGet() */
							const char toUsr[],
							int port,				/* port - default=IPPORT_SMTP */
							const char txt[])
{
	const char *tusrs[2];

	tusrs[0] = toUsr;
	tusrs[1] = NULL;
	return smtpSend(host, fromUsr, tusrs, port, SMTP_TEXT_CASE, (void *) txt);
}

/*---------------------------------------------------------------------------*/

STATUS smtpSendFile (const char host[],	/* name/address - default=bootHost*/
							const char fromUsr[], /* user - default=remCurIdGet() */
							const char toUsr[],
							int port,				/* port - default=IPPORT_SMTP */
							const char fname[]) /* default=stdin */
{
	const char *tusrs[2];

	tusrs[0] = toUsr;
	tusrs[1] = NULL;

	return smtpSend(host, fromUsr, tusrs, port, SMTP_FILE_CASE, (void *) fname);
}

/*---------------------------------------------------------------------------*/

/* uses the defaults for "smtpSendFile" */
STATUS smtpSendFQuick (const char toUsr[], const char fname[])
{
	return smtpSendFile(NULL, NULL, toUsr, 0, fname);
}

/* uses the defaults for "smtpSendText" */
STATUS smtpSendTQuick (const char toUsr[], const char txt[])
{
	return smtpSendText(NULL, NULL, toUsr, 0, txt);
}


From AS_Bridge@msmail3.hac.com  Sun Sep 29 03:35:22 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 03:35:24 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 2:14 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 3:34 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 04:06:28 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 04:06:30 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: SMTP client
Sent: Sun, Sep 29, 1996 3:02 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 4:05 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 05:38:30 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 05:38:32 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 4:28 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 5:37 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 06:09:31 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 06:09:33 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 4:58 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 6:08 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 08:08:36 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 08:08:39 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 7:05 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 8:07 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 08:08:36 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 08:08:39 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 6:36 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 8:07 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 10:11:41 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 10:11:43 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 9:05 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 10:10 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 10:42:40 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 10:42:42 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 9:22 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 10:41 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 12:29:45 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 12:29:47 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 11:21 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 12:28 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 13:02:44 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 13:02:47 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 11:36 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 1:01 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 15:06:49 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 15:06:52 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 1:34 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 3:06 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 15:06:49 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 15:06:52 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 2:03 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 3:06 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 17:10:55 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 17:10:57 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 4:06 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 5:09 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 17:10:55 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 17:10:58 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 4:06 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 5:09 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 19:31:01 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 19:31:04 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 6:15 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 7:29 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 21:38:05 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 21:38:08 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 8:23 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 9:37 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 21:38:05 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 21:38:08 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 8:23 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 9:37 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From cwcssk@leonis.nus.sg  Sun Sep 29 21:50:25 1996
From: Suresh Santhana Krishnan <cwcssk@leonis.nus.sg>
Date: Sun Sep 29 21:50:27 PDT 1996
Subject: unsubscribe
unsubscribe
-- 
                       __^^^^^__
                        / @ @ \
=====================ooO==(_)=Ooo===========================

Suresh Santhana Krishnan			Tel: 065-7715151 (O)
Senior Research Engineer			Fax: 065-7795441 (O)
Centre For Wireless Communication    Email: cwcssk@leonis.nus.sg (O)
National University Of Singapore	    sureener@pacific.net.sg (H)	
Engineering Blk 2,#05-02,
10, Kent Ridge Crescent
Singapore - 119260
                        ooO 
=======================(   )-Ooo============================
                        \ ( (   )
                         \_) ) /
                            (_/



From AS_Bridge@msmail3.hac.com  Sun Sep 29 23:58:12 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 23:58:16 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 10:32 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 11:57 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 23:58:12 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 23:58:16 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: unsubscribe
Sent: Sun, Sep 29, 1996 10:47 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 11:57 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Sun Sep 29 23:58:12 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Sun Sep 29 23:58:17 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Sun, Sep 29, 1996 10:34 PM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Sun, Sep 29, 1996 11:57 PM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 02:07:16 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 02:07:20 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 1:02 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 2:06 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 02:07:17 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 02:07:23 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 1:01 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 2:06 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 02:07:18 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 02:07:24 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 1:03 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 2:06 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From daemon@csg.lbl.gov  Mon Sep 30 04:01:32 1996
From: daemon@csg.lbl.gov
Date: Mon Sep 30 04:01:34 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Sep 30 04:01:29 PDT 1996

        Subject: Password protected patches from WindRiver
        Subject: Help wanted on FLASH file systems

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Password protected patches from WindRiver
Date: Thu, 19 Sep 1996 14:20:37 GMT
From: rlykrha@rly.abb.se (Krister Hagman)
Organization: ABB Network Partner AB
Message-ID: <51rlk6$14uu@sdaw04.seinf.abb.se>
Reply-To: rlykrha@rly.abb.se

Hi,

I've received a patch (SPR6522) from http://www.wrs.com (WindRiver
Systems). My problem now is that the patch is a
password-protected-self-extracting-archive! And I have no idea of what
the password is.

Is there anyone out here who knows how the passwords are constructed
for their patches? Send me an e-mail with the answer.

Best regards
Krister Hagman



---------------------------

Newsgroups: comp.os.vxworks
Subject: Help wanted on FLASH file systems
Date: Wed, 18 Sep 1996 12:09:01 -0700
From: Lasse Kinnunen <extlaki@rly.abb.se>
Organization: LOA AB
Message-ID: <324048CD.7250@rly.abb.se>

Is there someone that knows where to find FLASH file systems, be they
true FFS or not, that are also fault-tolerant? The FLASH types in
question would be both small and large sector (but not at the same time).

---------------------------

End of New-News digest
**********************


From AS_Bridge@msmail3.hac.com  Mon Sep 30 04:31:04 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 04:31:06 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 3:26 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 4:30 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 04:38:55 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 04:38:58 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 3:36 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 4:37 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 04:38:55 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 04:38:58 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 3:34 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 4:37 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From cpires@br.homeshopping.com.br  Mon Sep 30 05:43:01 1996
From: Carlos Pires <cpires@br.homeshopping.com.br>
Date: Mon Sep 30 05:43:03 PDT 1996
Subject: Unsubscribe
Please, unsubscribe me.
Thanks.



From usd@mee.hwm.com  Mon Sep 30 06:09:06 1996
From: Uwe Scheffold <usd@mee.hwm.com>
Date: Mon Sep 30 06:09:09 PDT 1996
Subject: munch process for C++
Hi vxWorker's,

does anybody out there know what exactly the munching process does?

Uwe


From ahw@clalf1.mps.ohio-state.edu  Mon Sep 30 06:26:32 1996
From: Andreas Wolf <ahw@clalf1.mps.ohio-state.edu>
Date: Mon Sep 30 06:26:35 PDT 1996
Subject: Re: Undeliverable Mail
HELP!!!!

I got over 20 mails of this kind:

>Submitted-by AS_Bridge@msmail3.hac.com  Mon Sep 30 04:38:55 1996
>Submitted-by: "AS Bridge" <AS_Bridge@msmail3.hac.com>
> 
>Unknown Microsoft mail form. Approximate representation follows.
>
>Message: Undeliverable Mail
>Sent: Mon, Sep 30, 1996 3:34 AM
>To: Carroll, John C; Claudio, Michael A
>On Server: 631 Segment5
>Date: Mon, Sep 30, 1996 4:37 AM
>Reason: Could not be delivered because the destination Microsoft Mail server
>could not be found.

Can the the exploder manager end this soon???

	Andreas ==:-(


From AS_Bridge@msmail3.hac.com  Mon Sep 30 06:28:55 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 06:28:57 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: comp.os.vxworks newsdigest
Sent: Mon, Sep 30, 1996 5:23 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 6:24 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 07:01:23 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 07:01:26 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 5:49 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 6:58 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 07:01:23 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 07:01:27 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 5:53 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 6:58 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From AS_Bridge@msmail3.hac.com  Mon Sep 30 07:10:48 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 07:10:50 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Undeliverable Mail
Sent: Mon, Sep 30, 1996 6:06 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 7:09 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From jhillman@wrs.com  Mon Sep 30 07:13:55 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Mon Sep 30 07:13:57 PDT 1996
Subject: Re: munch process for C++
At 06:09 AM 9/30/96 PDT, Uwe wrote:
>does anybody out there know what exactly the munching process does?

Munching is the process of finding global/static classes and adding
the constructor and destructor functions to a "to-do" list (my terminology).

The munching process is normally handling covertly in the compilation process
for OS's such as Unix and DOS, since Unix and DOS have explicitly
starting/ending
points for their processes.  For Unix, calling constructors for global
objects is
typically done immediately as a result of the exec system call in Unix and
destructors
for global objects are called immediately as a result of the exit() system call.

With vxWorks (and other embedded RTOS's), this "starting/ending point" of the
application is rather fuzzy, so calling of global/static constructors must
initiated
explicitly by the application code (with vxWorks call is made to
cplusCtors/cplusDtors),
which executes those functions in the "to-do" list. The constructors, by the
way,
are called in the order which the are instantiated, and destructors the
opposite.

Non-global/static objects are otherwise within a SCOPE, which upon entrance
to the
scope of the object (function, statement block, new operator) the
constructors are
called, and upon exiting the scope of the object, the destructor is called.

I hope this helps.  Others may more succinctly explain this process, and after
reading this, I hope they do.  :-\


        _________________________
       | Jon Hillman, FAE        |       
       | Wind River Systems      |       
      /) (407) 273-4646          (\      
     / ) Email:jhillman@wrs.com  ( \    
   _( (|_________________________) )  />  
  (((\ \)  /,)             / )  / //))/  
  (\\\\ \_/ /              \ \_/ /////    
   \       /                \       /      
    \    _/                  \_    /          
----/   /----------------------\   \----
   /   /                        \   \



From AS_Bridge@msmail3.hac.com  Mon Sep 30 08:03:00 1996
From: "AS Bridge" <AS_Bridge@msmail3.hac.com>
Date: Mon Sep 30 08:03:02 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Unsubscribe
Sent: Mon, Sep 30, 1996 6:57 AM
To: Carroll, John C; Claudio, Michael A
On Server: 631 Segment5
Date: Mon, Sep 30, 1996 8:01 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.


From jjoly@glenayre.com  Mon Sep 30 09:53:51 1996
From: jjoly@glenayre.com (J.P. Joly [4629])
Date: Mon Sep 30 09:53:53 PDT 1996
Subject: unsubscribe
unsubscribe