From vxwexplo-errs@csg.lbl.gov Fri Mar 1 04:03:27 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Mar 1 04:03:30 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Fri Mar 1 04:03:21 PST 2002

 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: [comp.os.vxworks] FAQ - index
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: DOS file system
 Subject: Re: DOS file system
 Subject: Re: DOS file system
 Subject: DHCP and WINS
 Subject: Re: problem creating new project
 Subject: Re: Having trouble with dynamicly loading modules
 Subject: Ethernet problem on an mvme2700
 Subject: Re: Having trouble with dynamicly loading modules
 Subject: Re: Having trouble with dynamicly loading modules
 Subject: Re: DOS file system
 Subject: Re: DHCP and WINS
 Subject: Re: Ethernet problem on an mvme2700
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Why do I need to do eieio behavior after sysInByte() and sysOutByte()?
 Subject: Re: clock_gettime fails with write() but not fwrite
 Subject: Re: [question]Memory access in mpc750..
 Subject: Re: [question]Memory access in mpc750..
 Subject: Re: DHCP and WINS
 Subject: Re: NFS File - Appending
 Subject: Re: Ethernet problem on an mvme2700
 Subject: Re: Ethernet problem on an mvme2700
 Subject: How do I echo my input back to windshell
 Subject: Re: Ethernet problem on an mvme2700
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: ISOLATE and PRATITION states on LXT9880 ethernet Repeater?
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Flash MVME162 under VxWorks
 Subject: Re: Binding to a socket
 Subject: Re: DOS file system
 Subject: Re: DOS file system
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Finding undefined symbols in .out file
 Subject: Re: NFS File - Appending
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Re: Finding undefined symbols in .out file
 Subject: post-mortem debugging, upper memory, and USER_RESERVED_MEM
 Subject: Difference between MPC860SAR and MPC860MH
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: GP fault from "hello World"
 Subject: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: problem creating new project
 Subject: Re: Having trouble with dynamicly loading modules
 Subject: Re: Binding to a socket
 Subject: muxLoad Failed while picking up the VxWorks image from host
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Binding to a socket
 Subject: Re: DOS file system
 Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
 Subject: Re: source code for SCSI Fibre Channel implementation

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 28 Feb 2002 08:03:01 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au>

> Have you set up an entry in your development PC's route table. Although
the
> gateway is specified at the boot prompt, the PC has to know how to get
back to
> the vxWorks machine. If you haven't try adding the following at a DOS
prompt on
> the development PC:
>
> route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
>
> where <gateway> is the IP address of your hostname on your 155.34.99.0
network.
>
The gateway on my development pc is 155.34.99.1. I have no trouble pinging
the host pc (155.34.103.41) on the 103 subnet. Therefore I would think that
I should be able to ping the VxWorks board as well. Unless I am missing
some nuance of networking....

> To be honest, I'd be surprised if there were errors in the vmetro
software, as
> I've always found their software excellent.

Well, we've encountered a number of files limit of 248 on their mdr
software, which is just plain inexcusable when several hundred gigabyte
raids are commonly available. We've also encountered a limit of 10 mdr-220
boards that can be used in 1 cage with their midas-120 gateway and
shared-memory networking. They have since recitified the situation, but
having such low, fixed numbers in software is pretty bad. I suppose these
are minor annoyances, since their software is stable.

Thanks,
Joe

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 28 Feb 2002 08:08:08 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <TUpf8.72$Sk3.3206@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D47FB.699925C1@notifier-is.net> <kUbf8.70$Sk3.3102@llslave.llan.ll.mit.edu> <FEcf8.2633$T_.27303@iad-read.news.verio.net>

> I had to turn on IP Forwarding on my host.
>
> doug

My host is a WinNT machine. I'm not even sure this is an option. Our
gateway on that subnet is a router. The only reason the host pc is even
down there on the same subnet was for VxWorks to ftp and boot off of. And I
was going to switch that over to my development pc....

Thanks,
Joe

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

Newsgroups: comp.os.vxworks,comp.realtime,comp.embedded,comp.answers,news.answers
Subject: [comp.os.vxworks] FAQ - index
Date: 28 Feb 2002 13:10:22 GMT
From: johan@borksoft.xs4all.nl (Johan Borkhuis)
Organization: none
Message-ID: <vxworks-faq/index_1014901757@rtfm.mit.edu>
Followup-To: comp.os.vxworks

Archive-name: vxworks-faq/index
Posting-Frequency: monthly
Last-modified: 2001/12/31
Version: 1.41
URL: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
Copyright: (c) 1999 - 2002 Johan Borkhuis
Maintainer: Johan Borkhuis <johan@borksoft.xs4all.nl>

This is the index of the FAQ for the newsgroup comp.os.vxworks. The FAQ
itself can be found at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html

Contents:

1. Tool problems
1.1 Compiler and Linker
1.2 Debugger
1.3 FTP
1.4 Host tools
1.5 Installation
1.6 Make
1.7 Project facility
1.7.1 Hierarchical projects
1.7.2 Super projects
1.8 Target Server
1.9 Target Shell
1.10 Telnet
1.11 Tornado
1.11.1 Tornado (General)
1.11.2 Tornado (Windows)
1.12 Version Control
1.13 Visual Studio integration
1.14 Windsh
1.15 WindView

2. Changes/additions to be made to BSP's
2.1 Different BSP's
2.2 Processor specific issues
2.2.1 Power PC
2.2.2 I960
2.2.3 MIPS
2.2.4 ARM
2.3 Bootstrap
2.4 Adding component to your VxWorks configuration
2.5 VME problems
2.6 VxWorks environment
2.6.1 usrSerial.c
2.6.2 prj_vxworks.tcl
2.7 PCI problems

3. File System problems
3.1 Dos file system
3.2 Flash File system
3.3 Floppy-disk File system
3.4 RAM-disk File system
3.5 General file system questions

4. Network
4.1 Configuration problems
4.2 ARP
4.3 DHCP
4.4 FTP and TFTP
4.5 PPP
4.5.1 PPP on Windows 95
4.5.2 PPP on Windows NT
4.5.3 PPP on Solaris
4.6 Sockets
4.7 Telnet
4.8 Other network related questions

5. VxWorks Questions
5.1 C++ issues
5.2 Communication problems
5.3 Interrupts
5.4 LoadModule problems
5.5 pthreads
5.6 Reboot
5.7 Semaphores
5.8 Simulator (VxSim)
5.9 Task related items
5.10 Time/timer related items
5.11 Wind Web Server related items
5.12 Zinc/windML related items
5.13 Other items

6. Extra information
6.1 Hard delay
6.2 Memory leaks
6.3 Corba engines
6.4 Web servers
6.5 NTP usage
6.6 Performace / Benchmarks
6.7 SNMP
6.8 Lint
6.9 Encryption

Other Links

The News Department

Overall question index

Overall Sources index

Change history

- --
 o o o o o o o . . . _____J_o_h_a_n___B_o_r_k_h_u_i_s___
 o _____ || http://www.xs4all.nl/~borkhuis |
 .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl |
 >(________|__|_[_________]_|________________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`

==== VxWorks-FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ====

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: 28 Feb 2002 07:33:13 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0202280733.5ebde2be@posting.google.com>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D47FB.699925C1@notifier-is.net> <kUbf8.70$Sk3.3102@llslave.llan.ll.mit.edu>

Hello all,

"Joe Georger" <jgeorger@ll.mit.edu> wrote in message news:<kUbf8.70$Sk3.3102@llslave.llan.ll.mit.edu>...
> > do you need a routing table entry?
> >
> I wouldn't think so. Isn't that what the gateway entry is for? To tell the
> machine this is where you send packets destined for other networks.....
No, the gateway in the bootline tells the target where to send packets
destined for the host. It does not add a default route.

Try adding the following somewhere in the target's init sequence (or
you can type it at the target shell if you have that installed):

routeAdd ("0", "155.34.103.1")

That should get you a default route pointing at your router OK.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 28 Feb 2002 10:55:28 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <Llsf8.73$Sk3.3313@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D47FB.699925C1@notifier-is.net> <kUbf8.70$Sk3.3102@llslave.llan.ll.mit.edu> <488e459a.0202280733.5ebde2be@posting.google.com>

> No, the gateway in the bootline tells the target where to send packets
> destined for the host. It does not add a default route.
>
> Try adding the following somewhere in the target's init sequence (or
> you can type it at the target shell if you have that installed):
>
> routeAdd ("0", "155.34.103.1")
>
> That should get you a default route pointing at your router OK.
>
> HTH,
>
> John...

John,

You are on the right track I believe. I've been doing a little more
digging, searching the old archives, and from over 2 years ago I think I
found the answer. It looks like VxWorks only adds a route to the host's
subnet. So there is no route for packets destined for other networks. This
makes very little sense to me.

What this means is that if I chose my 155.34.99.99 pc as my host (with the
VxWorks board being 155.34.103.42 and it's gateway being 155.34.103.1), then
VxWorks would only set up a route to the 155.34.103.0 network, but no other.
The apparent solution is to modify the bootConfig.c file with the routeAdd
command above and build a new bootrom. It has also been suggested to modify
the usrNetwork.c file, but I am not sure where that file is used (if anyone
could help me out here that would be great!). So I am currently building a
new bootrom and let everyone know what happens after I flash it.

Thanks,
Joe

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 28 Feb 2002 16:06:25 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7E55E2.7000900@spamm.me.l8s.co.uk>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D47FB.699925C1@notifier-is.net> <kUbf8.70$Sk3.3102@llslave.llan.ll.mit.edu> <488e459a.0202280733.5ebde2be@posting.google.com> <Llsf8.73$Sk3.3313@llslave.llan.ll.mit.edu>

Joe Georger wrote:

>>No, the gateway in the bootline tells the target where to send packets
>>destined for the host. It does not add a default route.
>>
>>Try adding the following somewhere in the target's init sequence (or
>>you can type it at the target shell if you have that installed):
>>
>>routeAdd ("0", "155.34.103.1")
>>
>>That should get you a default route pointing at your router OK.
>>
>>HTH,
>>
>>John...
>>
>
> John,
>
> You are on the right track I believe. I've been doing a little more
> digging, searching the old archives, and from over 2 years ago I think I
> found the answer. It looks like VxWorks only adds a route to the host's
> subnet. So there is no route for packets destined for other networks. This
> makes very little sense to me.
>
> What this means is that if I chose my 155.34.99.99 pc as my host (with the
> VxWorks board being 155.34.103.42 and it's gateway being 155.34.103.1), then
> VxWorks would only set up a route to the 155.34.103.0 network, but no other.
> The apparent solution is to modify the bootConfig.c file with the routeAdd
> command above and build a new bootrom. It has also been suggested to modify
> the usrNetwork.c file, but I am not sure where that file is used (if anyone
> could help me out here that would be great!). So I am currently building a
> new bootrom and let everyone know what happens after I flash it.

I call the vxWorks code broken. It is possible to have a system where
the 'boot' host isn't found using the default route. But those systems
have hand crafted IP routing and people who understand what they are
doing.

I changed the code in usrNetwork.c to make the 'gateway' parameter
be the default route. I didn't bother with network booting (target was
going to be standalone), so dunno what the boot roms do. Hoever they
probably only need to talk to the subnet that contains the boot host...

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: Thu, 28 Feb 2002 16:16:09 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3C7E72B3.5740@despam.autobahn.mb.ca>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il>

In article <newscache$h2k8sg$5r5$1@lnews.actcom.co.il>,
<Dont_Spam_Leonid@Consultant.com> Leonid Rosenboim wrote:
>
> "Richard" <richard_b_asen@raytheon.com> wrote in message
> news:b3ec7c99.0202271412.1d9ed685@posting.google.com..
>> We are using Wind River's Flash File System and DOS File System with
>> Tornado 5.3.1 on a card with an Intel 386EX processor. We are
>> transfering files over a LAN from one card to another and storing the
>> files in the Flash File System. We have found the DOS file sytem to be
>> an incredible bottle neck, slowing down the file transfer to a crawl.
>>[...]
>
> Frankly, Richard,
> all Flash memories are rather slow on writing (except of some new
> CompactFlash cards) so I think the true bottle neck is your
> Flash device, hence whatever the file system you use, the
> performance will stay pretty much the same.
>[...]
>
	I have seen people get around this problem by downloading
	to ramdrive and doing a copy to flash later. Depending
	upon your pattern of usage and required reliability, this
	may or may not be useful to you.
<fwiw>
- -het

- --
"progress in software has not followed Moore's law." -John Holland

Energy Alternatives: http://www.autobahn.mb.ca/~het/energy.html
H.E. Taylor http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: Thu, 28 Feb 2002 18:22:03 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$z569sg$2h6$1@lnews.actcom.co.il>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <3C7DFD92.7060908@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C7DFD92.7060908@spamm.me.l8s.co.uk...
[snip]
>
> Actually it is the 'erase' that takes the time. I have a feeling
> that some manufacturers are quoting a fast 'write' time - which
> isn't actually significant!
>

Dave, erase is indeed a pain in the neck, but even without it raw writing
speed of common Flash devices is a drag. For example, common NOR
devices that I recall like 38F016 have a write time of 6 microseconds per
byte, which translates into less then 500KBytes/sec.
NAND flash has a cool trick around this by using an internal RAM buffer
that holds an entire 512 byte sector, and then writes all the 512 bytes
at the same time - in parallel.

FlashLib happend a while back, but I sitll remember a thing or two about it
;-))

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: 28 Feb 2002 11:33:17 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ur8n5r2gi.fsf@yahoo.com>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il>
Sender: bpringlemeir@DeadDuck

 Leonid> Frankly, Richard, all Flash memories are rather slow on
 Leonid> writing (except of some new CompactFlash cards) so I think
 Leonid> the true bottle neck is your Flash device, hence whatever the
 Leonid> file system you use, the performance will stay pretty much
 Leonid> the same.

Actually, I have removed the code to modify the `last accessed' field
in DosFs. This make DosFs not write when you read a file. However,
we have application people who read files constantly. An actual
bottle neck appears to be the semaphores. Each layer of DosFs tends
to grab a semaphore. A naive implementation of "a Windows like INI
file API" can give horrendous performance for only _READ_ operations.

I think that a journalling file system would do far better; Not to
criticize the authors of DosFs. DosFs's goal was to emulate the Dos
file system. If you are allowed to switch technologies, then FAT and
directory re-writes can be minimize or eliminated, meaning that flash
writes and erase can be reduced. I would estimate that this is about
10-30% from looking at traces on the TFFS level functions.

Frankly, I think that you are both right (or both wrong if the glass
is half empty).

Regards,
Bill Pringlemeir.
- --
I firmly believe that you remind me of the Pope. It's well known that
the Russians are tapping your phone.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: DHCP and WINS
Date: 28 Feb 2002 08:38:12 -0800
From: zachary.isom@anritsu.com (Zac Isom)
Organization: http://groups.google.com/
Message-ID: <2df4589f.0202280838.15fb4da@posting.google.com>

I am using DHCP to assign an IP address to my target. That is working
just fine. I also would like to be able to find my target on the
network by name. That works when I use a static IP address that is
assigned a name in our DNS server. However, I would like to be able
to register my targets with our local WINS server so that local hosts
can find the target by name when it is assigned an IP address through
DHCP.

The reason this is so important is because when I try to connect a
target server to a unit that has been assigned a dynamic IP address I
first have to discover the IP address of the target and change it in
the Tornado target server configuration dialog. It would be much
easier to simply provide a name.

Has anyone out there got a solution for this? Thank you in advance
for your help.

Zac Isom
Firmware Engineer
Anritsu Company

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

Newsgroups: comp.os.vxworks
Subject: Re: problem creating new project
Date: Thu, 28 Feb 2002 11:46:58 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7E5F02.2545B753@notifier-is.net>
References: <a5l0d3$jb8b$1@simian.nlr.nl>

I'm having the same problem. I don't have PCMCIA installed though... I would
really like to know what causes this in general.

David

meekes wrote:

> Hi,
>
> I have a problem creating a new project based on an existing BSP.
>
> Using Tornado-2, I created a project (bootable vxWorks image) based on a
> pcPentium BSP.
> The project initially had only an IDE_LOCAL disk and no PCMCIA support.
> Later on I added PCMCIA support by defining INCLUDE_PCMCIA in config.h.
> The PCMCIA functionality (ATA compact flash disk) is working OK in my
> project.
>
> Now, when I try to create a new project (in the same workspace) based on the
> same BSP,
> the creation fails.
> The messages I get are:
> - parsing BSP makefile
> - parsing user defined rules from BSP makefile
> - parsing BSP's config.h
> - creating project file
> - calculating included components
> -> project creation failed:
> "list must have an even number of elements"
>
> If I undefine INCLUDE_PCMCIA in config.h the creation of a new project is
> OK.
> I have examined the config.h, pc.h and sysLib.c files, but could not find a
> clue.
>
> One thing I noticed in the first project was that the PC card show routines
> were not
> included by defining INCLUDE_SHOW_ROUTINES in config.h.
> I added a call to pcmciaShowInit in usrAppInit.c to get the show routines
> available.
>
> What can be the problem here?
>
> TIA,
> Michiel

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

Newsgroups: comp.os.vxworks
Subject: Re: Having trouble with dynamicly loading modules
Date: 28 Feb 2002 11:45:45 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <un0xtr1vq.fsf@yahoo.com>
References: <W_df8.1099$X%6.349@nwrddc04.gnilink.net> <ud6yqsbl4.fsf@yahoo.com> <0cff8.5682$G7.1085@nwrddc01.gnilink.net> <u4rk2s94f.fsf@yahoo.com> <3C7DFE80.7040702@spamm.me.l8s.co.uk>
Sender: bpringlemeir@DeadDuck

>>>>> me writes:

 >> You do indeed have this right. Loading kernel modules under Linux
 >> or DLL's under Windows also follow this rule afaik. The basic
 >> problem is that when module A loads, the kernel must keep track of
 >> all `unresolved places'.

>>>>> "David" == David Laight <david@spamm.me.l8s.co.uk> replies:

 David> Actually it will load A, add A's symbols load B add B's
 David> symbols fixup B's references fixup A's references

I am not sure what `it' refers to here as I have degenerated in to
discussing Linux kernel modules, Windows DLLs and vxWorks modules.
You could use your algorithm and the Gnu linker/load (ld) does.
However, you have to specify a list of modules to do this, or store
the fixups and run the relocation before things are run/installed,
etc.

My understanding is that vxWorks's moduleLoad(), Window's
LoadLibrary(), and Linux's init_module() are only called in sequence
per module. The load and fixups are all done at the same time on a
per module basis AFAIK. Anyways, I am quite sure that `it' doesn't
refer to vxWorks. Linux and/or Windows could resolve things this way.
I suspect if anything does, _IT_ is Linux... will you please tell us?

Regards,
Bill

- --
You must be a real fool to think that Multics is a really primitive
operating system. No nukes!

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Ethernet problem on an mvme2700
Date: 28 Feb 2002 08:50:19 -0800
From: jperkins@ll.mit.edu (J. Perkins)
Organization: http://groups.google.com/
Message-ID: <514a749c.0202280850.348a6474@posting.google.com>

I have a system that we built using an mvme2700. We want to replicate
the system so we purchased the exact same hardware. The new mvme2700
has the following issues.

1) It will not boot using ftp (the first one will), but it will boot
using tftp.
2) Once it boots it will not except commands (via ethernet) from our
control software.

I want to say the ethernet controller is bad but why would tftp work
and ftp fail? I can ping the troubled board without a problem.

Any ideas?

Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Having trouble with dynamicly loading modules
Date: Thu, 28 Feb 2002 17:06:04 GMT
From: "Matt Schuckmann" <matt.schuckman@verizon.net>
Message-ID: <0stf8.8225$G7.2065@nwrddc01.gnilink.net>
References: <W_df8.1099$X%6.349@nwrddc04.gnilink.net> <ud6yqsbl4.fsf@yahoo.com> <0cff8.5682$G7.1085@nwrddc01.gnilink.net> <u4rk2s94f.fsf@yahoo.com> <3C7DFE80.7040702@spamm.me.l8s.co.uk>

David, how would you perform the last 2 steps in VxWorks?

Thanks
Matt S.
"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C7DFE80.7040702@spamm.me.l8s.co.uk...
>
> > You do indeed have this right. Loading kernel modules under Linux or
> > DLL's under Windows also follow this rule afaik. The basic problem is
> > that when module A loads, the kernel must keep track of all
> > `unresolved places'.
>
>
> Actually it will
> load A,
> add A's symbols
> load B
> add B's symbols
> fixup B's references
> fixup A's references
>
> David
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Having trouble with dynamicly loading modules
Date: Thu, 28 Feb 2002 17:12:22 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7E6559.3000300@spamm.me.l8s.co.uk>
References: <W_df8.1099$X%6.349@nwrddc04.gnilink.net> <ud6yqsbl4.fsf@yahoo.com> <0cff8.5682$G7.1085@nwrddc01.gnilink.net> <u4rk2s94f.fsf@yahoo.com> <3C7DFE80.7040702@spamm.me.l8s.co.uk> <0stf8.8225$G7.2065@nwrddc01.gnilink.net>

Matt Schuckmann wrote:

> David, how would you perform the last 2 steps in VxWorks?

You can't - it is only done when libraries 'cascade' load other
libraries.

the vxWorks loader doesn't even do anything sensible for
'common' data items.... (mind you we had to fix the one
in UnixWare 2)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: Thu, 28 Feb 2002 20:01:26 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$9ta9sg$bl6$1@lnews.actcom.co.il>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <ur8n5r2gi.fsf@yahoo.com>

Hey Bill,

I dreamt to do a Journaling file system for WIndRiver, but it did not work
out.

As to the access date updates in directory entries, you are quite right,
this
should have been done as another option (to go with case sensitive)
to be set when a device is being mounted.
Still, if there is disk cache, these updates won't be causing much of a
performance penalty, as small modification swill be delayed to the
tDcacheUpd
task, which will cick in when the application task lays off the Flash disk.
The udpates do cause unnecesary wearing of the Flash device.

As to the original question herein, he is using the OLD dosFs 1.x, so he
eint got disk cache and he eint got access time updates, and all of his
directory entires are cached in RAM (yuk!), and he got a cluster-sized
data buffer per open file, so the MTD operations would be same size as
his cluster.

Hence there really eint much I can do for him, except suggest he redesigns
the Flash in 4-way interleaved setup, and dig into the MTD to make it
to 4-way parallel writes and boost 4x on the write speed.
Not very likely he is going to redesign the H/W me thinks,
and he could violate a Lexar patent if he does, so I skipped this advise
altogether.

Ceers, Dude!
 Leonid

"Bill Pringlemeir" <bpringlemeir@yahoo.com> wrote in message
news:ur8n5r2gi.fsf@yahoo.com...
>
> Leonid> Frankly, Richard, all Flash memories are rather slow on
> Leonid> writing (except of some new CompactFlash cards) so I think
> Leonid> the true bottle neck is your Flash device, hence whatever the
> Leonid> file system you use, the performance will stay pretty much
> Leonid> the same.
>
> Actually, I have removed the code to modify the `last accessed' field
> in DosFs. This make DosFs not write when you read a file. However,
> we have application people who read files constantly. An actual
> bottle neck appears to be the semaphores. Each layer of DosFs tends
> to grab a semaphore. A naive implementation of "a Windows like INI
> file API" can give horrendous performance for only _READ_ operations.
>
> I think that a journalling file system would do far better; Not to
> criticize the authors of DosFs. DosFs's goal was to emulate the Dos
> file system. If you are allowed to switch technologies, then FAT and
> directory re-writes can be minimize or eliminated, meaning that flash
> writes and erase can be reduced. I would estimate that this is about
> 10-30% from looking at traces on the TFFS level functions.
>
> Frankly, I think that you are both right (or both wrong if the glass
> is half empty).
>
> Regards,
> Bill Pringlemeir.
> --
> I firmly believe that you remind me of the Pope. It's well known that
> the Russians are tapping your phone.
> vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP and WINS
Date: Thu, 28 Feb 2002 20:05:36 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$70b9sg$fl6$1@lnews.actcom.co.il>
References: <2df4589f.0202280838.15fb4da@posting.google.com>

Franky Zacky, you are posting on the wrong newsgroup!

This is by no means VxWorks specific, it could be any kinda box
hooked to the net and getting dynamic IP address that you want
a name mapped to.

It does call for some groovy Windoze intimacy to answer this,
you are using a Win NT WINS server, and probably a MSFT DHCP
server on the same machine, and you're after making these two Dudes
from Seatle to get to know eachother, and exchange some data.

Try to post it on a Windows-specific newsgroup or on MSDN.

 Leonid

"Zac Isom" <zachary.isom@anritsu.com> wrote in message
news:2df4589f.0202280838.15fb4da@posting.google.com...
> I am using DHCP to assign an IP address to my target. That is working
> just fine. I also would like to be able to find my target on the
> network by name. That works when I use a static IP address that is
> assigned a name in our DNS server. However, I would like to be able
> to register my targets with our local WINS server so that local hosts
> can find the target by name when it is assigned an IP address through
> DHCP.
>
> The reason this is so important is because when I try to connect a
> target server to a unit that has been assigned a dynamic IP address I
> first have to discover the IP address of the target and change it in
> the Tornado target server configuration dialog. It would be much
> easier to simply provide a name.
>
> Has anyone out there got a solution for this? Thank you in advance
> for your help.
>
> Zac Isom
> Firmware Engineer
> Anritsu Company

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700
Date: Thu, 28 Feb 2002 20:10:23 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$88b9sg$ql6$1@lnews.actcom.co.il>
References: <514a749c.0202280850.348a6474@posting.google.com>

Here goes a wild guess:
your new board might be using the same MAC address as your
old one?

"J. Perkins" <jperkins@ll.mit.edu> wrote in message
news:514a749c.0202280850.348a6474@posting.google.com...
> I have a system that we built using an mvme2700. We want to replicate
> the system so we purchased the exact same hardware. The new mvme2700
> has the following issues.
>
> 1) It will not boot using ftp (the first one will), but it will boot
> using tftp.
> 2) Once it boots it will not except commands (via ethernet) from our
> control software.
>
> I want to say the ethernet controller is bad but why would tftp work
> and ftp fail? I can ping the troubled board without a problem.
>
> Any ideas?
>
> Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 28 Feb 2002 16:18:59 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <eAuf8.2884$5o.1943308@newsr2.u-net.net>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu>

"Joe Georger" <jgeorger@ll.mit.edu> wrote in message
news:4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu...
> > Have you set up an entry in your development PC's route table. Although
> the
> > gateway is specified at the boot prompt, the PC has to know how to get
> back to
> > the vxWorks machine. If you haven't try adding the following at a DOS
> prompt on
> > the development PC:
> >
> > route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
> >
> > where <gateway> is the IP address of your hostname on your 155.34.99.0
> network.
> >
> The gateway on my development pc is 155.34.99.1. I have no trouble
pinging
> the host pc (155.34.103.41) on the 103 subnet. Therefore I would think
that
> I should be able to ping the VxWorks board as well. Unless I am missing
> some nuance of networking....

 You're going to have to draw an ascii-art diagram of the subnets, showing
the two pcs, the gateway, and the vxworks target, I think...

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Why do I need to do eieio behavior after sysInByte() and sysOutByte()?
Date: Thu, 28 Feb 2002 16:19:03 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <eAuf8.2885$5o.1943308@newsr2.u-net.net>
References: <a4tviu$k16$1@news.asu.edu> <3C728BDC.8070407@spamm.me.l8s.co.uk> <c129947c.0202211353.2f929e04@posting.google.com> <3C75867E.9020908@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C75867E.9020908@spamm.me.l8s.co.uk...
> Vinh wrote:
>
> > David Laight <david@spamm.me.l8s.co.uk> wrote in message
news:<3C728BDC.8070407@spamm.me.l8s.co.uk>...
> >
>
> >>Also remember that a write could still be buffered (eg in a
> >>PCI bridge) even after the eieio completes. Reading the same
> >>location back is necessary in order to flush the written data.
> >>
> >
> > Agree, but what happen if data cache is enable?
> > if the cache is not in a write-through mode, a read will not flush the
> > written data...?
>
> Ok - we are talking about uncached accesses, enabling the cache
> for IO (device) addresses is not for the faint hearted :-)
>
> Consider the write at the end of an ISR that causes the IO chip
> to remove its interrupt request.
> You don't want the ISR to exit until this write has happened (or
> the ISR is entered again).
> In order to increase performance, a significant number of devices
> will buffer the address and data for a write cycle, telling the
> cycle initiator that the cycle is complete, but completeing the
> cycle (eg on a target bus) at a later time.
> Normally this doesn't matter, but is you REALLY need the cycle to
> have completed you must force the cycle out of the buffer. The
> easiest (maybe only) way is to issue a read cycle for the same
> address - if you have written to a register you cannot read
> without destroying some status info, you may have to write to
> a differenent register just to do the readback. Even this
> required that writes not re reordered.....

 You generally also need to set the G (guarded) bit in the appropriate
BAT/PTE as well as the I (cache-inhibited) and M (memory coherency) bits....
that pretty much serializes and de-speculates everything. (OMG... imagine
the consequences of doing a read from a cached memory-mapped IO device with
lots of read-clear registers and the cache goes and pulls in an entire
cache-line's worth of data...yuk!)

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: clock_gettime fails with write() but not fwrite
Date: Thu, 28 Feb 2002 16:19:06 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <eAuf8.2886$5o.1943308@newsr2.u-net.net>
References: <6wBb8.3387$zl4.2197904@typhoon3.we.ipsvc.net> <kOac8.2546$5o.1359289@newsr2.u-net.net> <3C714455.4050207@spamm.me.l8s.co.uk> <22vd8.2703$5o.1592814@newsr2.u-net.net> <3C7688A1.8050805@spamm.me.l8s.co.uk> <2pve8.2770$5o.1748555@newsr2.u-net.net> <3C7A8869.3020108@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C7A8869.3020108@spamm.me.l8s.co.uk...
> Dave Korn wrote:
>
> >
> > Oh... gotcha now. We can deduce that that has to be *why* vxTicks
gets
> > reset - but not necessarily where or when. Yeh, I see. Ok, I think I
know
> > how to track it down. If I were to set a h/w write breakpoint on
vxTicks...
> > well, it would get triggered every interrupt for starters, but if I were
to
> > make it return from the exception every time the value being written
into
> > vxTicks was non-zero.... hmmmm....
>
>
> It is much easier than that, just put a code breakpoint on the routine
> that resorts the list. I've forgotten it's name, but is it easily
> determinable from the code - try _qPriListCalibrate (guess from
> namelist)

 I convinced myself that it had to be tScsiTask, simply by issuing a huge
scsi read from my application while tScsiTask was taskSuspend'ed from the
shell, then waiting a while and seeing vxTicks wasn't zeroed yet, suspending
everything else (except tShell and tNetTask), waiting a while, and verifying
vxTicks wasn't reset; then taskResume'ing tScsiTask and spotting vxTicks get
zeroed at once. But not having the source code, I never felt it was much
worth narrowing it down any further.

> Sometimes it is faster to read likely source files looking
> for a bug that might cause what you are seeing, fix the
> bug you found and see if it solves the problem you have.

 Heh, of course, if you feel you can dip into any source file at random and
stand a good chance of just spotting a bug, that's not *really* a good sign.
Anyway, my chances of convincing my management to spend 10's of kiloquids
just so I could help WRS find their own bugs have gotta be next to zero :)
which is fair enough since I got other things to do with me time anyway :P

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: [question]Memory access in mpc750..
Date: 28 Feb 2002 10:31:50 -0800
From: mremski@cetacean.com (mike remski)
Organization: http://groups.google.com/
Message-ID: <9156104d.0202281031.1aff1529@posting.google.com>
References: <2b0ae335.0202280148.3d1be3ab@posting.google.com>

The data access exception is saying that you do not have any memory
management unit translations set up to cover that address. You need
to go to sysLib.c and look for the section that is setting up BATs and
PTEs. Add either a DBAT to cover the range or another entry in the
PTE table to cover it.
Look in the users guide for the 750 about this.

emycall@dreamx.net (Ahn Jung Hoon) wrote in message news:<2b0ae335.0202280148.3d1be3ab@posting.google.com>...
> Hi, all..
>
> I can access PCI memory to 16Mb, 64Mb and 128Mb size in MPC750 board.
>
> /* 16MB : 0x02000000,
> 64MB : 0x08000000,
> 128MB : 0x10000000,
> 256MB : 0x20000000,
> 512MB : 0x40000000
> */
> #define CPU_PCI_MEM_SIZE 0x20000000
>
> I can read 256Mb size, but I can not access PCI memory more than 256Mb size..
>
> I don't know that what is problem..
>
> please, help me..
>
> -=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
>
> 1..
> -> pciHeaderShow(2, 0, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0280
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0xff
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> ->
>
> 2..
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
>
> ->

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

Newsgroups: comp.os.vxworks
Subject: Re: [question]Memory access in mpc750..
Date: 28 Feb 2002 10:41:53 -0800
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0202281041.41b2543e@posting.google.com>
References: <2b0ae335.0202280148.3d1be3ab@posting.google.com>

Hi,
 Check you 'sysLib.c' file; you should have an entry in the sysPhysMemDesc
that describeb your PCI window.

Vinh Lam

emycall@dreamx.net (Ahn Jung Hoon) wrote in message news:<2b0ae335.0202280148.3d1be3ab@posting.google.com>...
> Hi, all..
>
> I can access PCI memory to 16Mb, 64Mb and 128Mb size in MPC750 board.
>
> /* 16MB : 0x02000000,
> 64MB : 0x08000000,
> 128MB : 0x10000000,
> 256MB : 0x20000000,
> 512MB : 0x40000000
> */
> #define CPU_PCI_MEM_SIZE 0x20000000
>
> I can read 256Mb size, but I can not access PCI memory more than 256Mb size..
>
> I don't know that what is problem..
>
> please, help me..
>
> -=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
>
> 1..
> -> pciHeaderShow(2, 0, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0280
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0xff
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> ->
>
> 2..
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
>
> ->

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP and WINS
Date: 28 Feb 2002 13:46:44 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uheo1qwa3.fsf@yahoo.com>
References: <2df4589f.0202280838.15fb4da@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Zac" == Zac Isom <zachary.isom@anritsu.com> writes:

 Zac> I am using DHCP to assign an IP address to my target. That is
 Zac> working just fine. I also would like to be able to find my
 Zac> target on the network by name. That works when I use a static
 Zac> IP address that is assigned a name in our DNS server. However,
 Zac> I would like to be able to register my targets with our local
 Zac> WINS server so that local hosts can find the target by name when
 Zac> it is assigned an IP address through DHCP.

DHCP is a misnomer. It is more like `centralized IP registration'.
Maybe CIR doesn't sound as good... Anyways, whether the IPs are
truly dynamic depends on the DHCP server. vxWorks will only listen
to what IP addresses (and other entries) are given to it through the
UDP port 67/68 messages.

You could use something like "http://clients.dyndns.org/unix.php" to
send an update to a DNS server. I don't know why you would want to
use WINS. A normal DNS server would do fine. Your quandary is to
either have the client notify the `name server' [not my
recommendation] or have the DHCP server notify the `name server'. By
statically assigning IP addresses in the DHCP server, you can also add
fixed records to the name server. In this case, the DHCP server
really becomes a `centralized IP registration'; there is nothing
dynamic about it. This is still valuable for people who wish to
maintain networks as all IPs are recorded in a central location. The
last setup I described is one that we use with NT machines and a Linux
DHCP and DNS server.

The best kind of work to do with vxWorks is no work at all.

hth,
Bill Pringlemeir.
- --
ATTACKED BY ATOMIC BOMB 29W 32S. SINKING. U-382.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: NFS File - Appending
Date: Thu, 28 Feb 2002 20:46:14 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$1xc9sg$go6$1@lnews.actcom.co.il>
References: <wvje8.5194$bs1.124430@sccrnsc01> <newscache$4ao8sg$tv5$1@lnews.actcom.co.il> <3C7E07FB.9040902@spamm.me.l8s.co.uk>

Well, simulation is better then trunkation. SunOS eint NetBSD,
and it was a while ago, maybe SunOS did simulate O_APPEND over
NFS, I think it did not, I think it actually returned an error... it does
not really matter.

VxWorks NFS client simply ignores O_APPEND, but if simulation
is sufficient, there is nothing wring with doing one fseek() call just after
the fopen(), just one more line...

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C7E07FB.9040902@spamm.me.l8s.co.uk...
> Leonid Rosenboim wrote:
>
> > Appending to a file has never worked over NFS, not even on the original
> > SunOS platform (both client and server).
>
>
> Bullshit.... This fragment is from NetBSD:
>
> if (ioflag & IO_APPEND) {
> np->n_attrstamp = 0;
> error = VOP_GETATTR(vp, &vattr, cred, p);
> if (error)
> return (error);
> uio->uio_offset = np->n_size;
> }
>
> Which similates write append by requesting the current offset just
> before the write.
>
>
> >
> > The reason is that NFS server is state-less, i.e. it does not keep any
> > record
> > about who are the cleints and what files they access, thus the O_APPEND
> > file option available for all local Unix file systems on SunOS is not
> > available on NFS. Every NFS write request contains a specific file
> > offset field where the data needs to be written relative to start of
file.
>
>
> State isn't needed to support O_APPEND!
> However the NFS protocol (probably) doesn't include the append feature,
> so concurrent appends from different remote systems will fail.
>
> (FWIW, for a long time the unix shell '>>' redirection did 'open at
> end of file' (not open append) so that appending to a file from 2 places
> didn't work. Also SVR4 got O_APPEND wrong - failed to lock the write
> to the file size change, caused very funny effects with multiple
> writers.)
>
>
>
> >>I have a NFS file that I want to be able to append to.
>
> >>The file seems to be truncated everytime I open the file.
> >>I perform a fopen(filename,"a").
>
> >>
> >> This works fine if I open the file on the hard drive on the target,
>
> >>but the NFS file on the PC workstation will never append.
> >>Any ideas? (PC486 BSP)
>
> I suspect your PC NFS server is broken.....
> Try with a unix NFS server.
>
> David
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700
Date: Thu, 28 Feb 2002 14:06:28 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <Eevf8.74$Sk3.3329@llslave.llan.ll.mit.edu>
References: <514a749c.0202280850.348a6474@posting.google.com> <newscache$88b9sg$ql6$1@lnews.actcom.co.il>

Leonid,
I don't have both boards up at the same time. I pull one board out of the
card cage and pop the other in.
Thanks,
Jim

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:newscache$88b9sg$ql6$1@lnews.actcom.co.il...
> Here goes a wild guess:
> your new board might be using the same MAC address as your
> old one?
>
>
> "J. Perkins" <jperkins@ll.mit.edu> wrote in message
> news:514a749c.0202280850.348a6474@posting.google.com...
> > I have a system that we built using an mvme2700. We want to replicate
> > the system so we purchased the exact same hardware. The new mvme2700
> > has the following issues.
> >
> > 1) It will not boot using ftp (the first one will), but it will boot
> > using tftp.
> > 2) Once it boots it will not except commands (via ethernet) from our
> > control software.
> >
> > I want to say the ethernet controller is bad but why would tftp work
> > and ftp fail? I can ping the troubled board without a problem.
> >
> > Any ideas?
> >
> > Jim
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700
Date: 28 Feb 2002 11:41:20 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpsbse9gzrz.fsf@nospam.invalid>
References: <514a749c.0202280850.348a6474@posting.google.com>

jperkins@ll.mit.edu (J. Perkins) writes:

> I have a system that we built using an mvme2700. We want to replicate
> the system so we purchased the exact same hardware. The new mvme2700
> has the following issues.
>
> 1) It will not boot using ftp (the first one will), but it will boot
> using tftp.

Whenever that happens to me, it's usually due to a misconfig of
the ftp server. Are you using the correct username/password? Is
the ftp server somehow limiting who can connect to it? Is the
"default" path correct. Is the kernel to be downloaded where it
really is, etc.

If you look at your ftp server's logs, can you tell what went
wrong? Was there ever a connection to the ftp server to begin
with? Can you ftp from that server manually, yourself? Etc.

> 2) Once it boots it will not except commands (via ethernet) from our
> control software.

If your client is supposed to be listening on a known port, can
you manually connect to it, say with telnet?

> I want to say the ethernet controller is bad but why would tftp work
> and ftp fail? I can ping the troubled board without a problem.

When I had hardware fail on the 2700, it's usually catastrophic.
I once got a mvme2700 whose scsi controller started smoking when
I powered up the board. I tried another 2700 and that one worked.
So I'm thinking this is probably not a hardware issue...

>
> Any ideas?
>
> Jim

I'm just wondering how did you arrive at those 2 conclusions.

Can you provide details of the steps you took and the errors you got?

In both cases, if you sniff the network, what do you see?

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: How do I echo my input back to windshell
Date: 28 Feb 2002 12:25:29 -0800
From: dpraveen@hotmail.com (Praveen Dulam)
Organization: http://groups.google.com/
Message-ID: <182ee52a.0202281225.2f4b12a9@posting.google.com>

VxWorks Guru's

Hope this question is asked many time before , but I could not dig out
the exact answers.

Can some one tell me how I can echo back the "commands" on the
windshell as I type in commands. ( This is for my CLI project ).

The fallowing is the code snippet I am using.

void test() {

 char buf[256];
 	ioctl(STD_IN, FIOSETOPTIONS, OPT_TERMINAL);

 printf ( "Please enter the Command\n");
 gets(buf);
 printf ( "The entered Commandis %s \n",buf);

}

THe Characters are echoed only when I hit eneter, but not as when I
type.

Hope I am clear , I need a interactive command line interface. I think
if I do from serial interface , telnet it might work. For now what I
want is , from shell integrated in the Tornodo Environment.

TIA,
- -Praveen

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700
Date: Thu, 28 Feb 2002 15:39:05 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <tBwf8.75$Sk3.3224@llslave.llan.ll.mit.edu>
References: <514a749c.0202280850.348a6474@posting.google.com> <rpsbse9gzrz.fsf@nospam.invalid>

In my system the 2700 takes commands from control software on a PC via TCP.
The 2700 then issues commands to other boards in the card cage, or it sends
commands to other boards via TCP. In the system the only thing I change is
the 2700. I put the "good" one in, power up, and it boots, gets the system
image via ftp, and works fine. I can run my control software and it
connects to the 2700 and all is well. I ran inetstatShow in the Tornado
shell and I could see the connection to the control software on the PC.
Now, I switch the 2700 with an identical 2700 that is configured
identically. It will not get the system image via ftp. It just hangs and
then reports an error in the terminal window. To get this board to boot I
have to use tftp. After that the "bad" board is running the same system
image that was running on the "good" board but it will not accept a
connection from my control PC. I run inetstatShow in the shell and all I
see is task waiting for TCP connection. I just never accepts the
connection. The only thing I have changed here is the 2700.

FTP and my control program both use TCP. TFTP uses UDP. So it looks like I
have one board that accepts TCP and UDP connections and another board that
only accepts UDP connections. So, I don't understand how this is a hardware
problem. On the other hand how can it be a software problem?

- -Jim

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rpsbse9gzrz.fsf@nospam.invalid...
> jperkins@ll.mit.edu (J. Perkins) writes:
>
> > I have a system that we built using an mvme2700. We want to replicate
> > the system so we purchased the exact same hardware. The new mvme2700
> > has the following issues.
> >
> > 1) It will not boot using ftp (the first one will), but it will boot
> > using tftp.
>
> Whenever that happens to me, it's usually due to a misconfig of
> the ftp server. Are you using the correct username/password? Is
> the ftp server somehow limiting who can connect to it? Is the
> "default" path correct. Is the kernel to be downloaded where it
> really is, etc.
>
> If you look at your ftp server's logs, can you tell what went
> wrong? Was there ever a connection to the ftp server to begin
> with? Can you ftp from that server manually, yourself? Etc.
>
> > 2) Once it boots it will not except commands (via ethernet) from our
> > control software.
>
> If your client is supposed to be listening on a known port, can
> you manually connect to it, say with telnet?
>
> > I want to say the ethernet controller is bad but why would tftp work
> > and ftp fail? I can ping the troubled board without a problem.
>
> When I had hardware fail on the 2700, it's usually catastrophic.
> I once got a mvme2700 whose scsi controller started smoking when
> I powered up the board. I tried another 2700 and that one worked.
> So I'm thinking this is probably not a hardware issue...
>
> >
> > Any ideas?
> >
> > Jim
>
> I'm just wondering how did you arrive at those 2 conclusions.
>
> Can you provide details of the steps you took and the errors you got?
>
> In both cases, if you sniff the network, what do you see?
>
> -jc
> --
> (apply 'concat (reverse (list "com"
> (char-to-string 46) "yahoo"
> (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Thu, 28 Feb 2002 16:49:49 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu>
References: <514a749c.0202280850.348a6474@posting.google.com>

I compiled the following function into my system image:

void testTCP(){

 ulint * bufFTP;
 int ctrlSock;
 int dataSock;

 bufFTP = new ulint [25];

 if(ftpXfer ("192.168.0.107", "quiklook", "quiklook", "", "STOR %s",
 "", "testdata.bin", &ctrlSock, &dataSock) == ERROR){
 cout << "ftp transfer init failed \n";
 }else{
 cout << "ftp transfer init succeeded \n";
 if(write(dataSock, (char *)bufFTP, 100) < 100){
 cout << "ftp transfer error 0\n";
 }else{
 cout << "passed 0\n";
 }
 close (dataSock);
 if (ftpReplyGet (ctrlSock, TRUE) != FTP_COMPLETE){
 cout << "ftp transfer error 1\n";
 }else{
 cout << "passed 1\n";
 }
 if (ftpCommand (ctrlSock, "QUIT", 0, 0, 0, 0, 0, 0) != FTP_COMPLETE){
 cout << "ftp transfer error 2\n";
 }else{
 cout << "passed 2\n";
 }
 close (ctrlSock);
 cout << "ftp transfer finished\n";
 }

 delete[]bufFTP;
}

On my "good" 2700 this function executes properly. It writes 100 bytes to
the ftp server into a file named testdata.bin and then exits gracefully. On
my "bad" 2700 running the exact SAME system image the function hangs. It
starts the ftp session, creates a file on the ftp server, but does not write
any data to the file. It just sits there and does nothing. The file on the
server is 0 bytes.

- -Jim

"J. Perkins" <jperkins@ll.mit.edu> wrote in message
news:514a749c.0202280850.348a6474@posting.google.com...
> I have a system that we built using an mvme2700. We want to replicate
> the system so we purchased the exact same hardware. The new mvme2700
> has the following issues.
>
> 1) It will not boot using ftp (the first one will), but it will boot
> using tftp.
> 2) Once it boots it will not except commands (via ethernet) from our
> control software.
>
> I want to say the ethernet controller is bad but why would tftp work
> and ftp fail? I can ping the troubled board without a problem.
>
> Any ideas?
>
> Jim

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

Newsgroups: comp.os.vxworks
Subject: ISOLATE and PRATITION states on LXT9880 ethernet Repeater?
Date: Thu, 28 Feb 2002 16:48:14 -0500
From: Babu Yama <babuyama@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C7EA59E.D86B64B8@lucent.com>

Hi,
On Intel's ethernet repeater device LXT9880, what will be the symptoms of
ISOLATE and PARTITION states? When will these states happen?

We are seeing that (my previous post about tx-stall dated Tues, Feb 19th), some
times, MPC8260 CPM is not transmitting to the LXT9880. That is, after we set up
the Buffer Descriptors for DMA, the CPM is not clearing TXBD[Ready] bit on all
the BDs. We are stuck in this state for ever. Could this symptom be related to
ISOLATE or PARTITION states? If not, what might be causing this?

Any ideas to pursue and fix.

Thanks in advance,
Babu

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: 28 Feb 2002 14:07:54 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpsheo145vp.fsf@nospam.invalid>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu>

Does your server have a firewall?

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Thu, 28 Feb 2002 14:17:55 -0800
From: "Hwa-Jin Bae" <bae@mail.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7tb5ulhm8jg20@corp.supernews.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu>

I have seen this kind of situation when the ethernet MAC address is set to
something bad (like all 1's). It might help to print out the MAC address of
the "problem" board. If it looks suspicious, set it to something that
makes sense (3 vendor octets followed by 3 unique octets of choice).

If that is not the problem, you should get something like ethereal
(www.ethereal.com) and sniff the ethernet to see what is going on.

My guess is that the vxworks side running on "problem" board never gets any
TCP ack's from windows machine, because your vxworks side "problem" board
has bad ethernet mac address.

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

Newsgroups: comp.os.vxworks
Subject: Flash MVME162 under VxWorks
Date: 28 Feb 2002 14:34:01 -0800
From: hoff@bnl.gov (unixmidiplugin)
Organization: http://groups.google.com/
Message-ID: <12075c07.0202281434.3ba3f9eb@posting.google.com>

Does anyone know of a (free) utility to reprogram
the FLASH memory on a MVME162? We just installed a new
firewall/router which does not work well with the boot
code in our network of MVME162s (based on VxWorks 5.1).
I'd like to reprogram the bootcode, but I do not relish
the idea of going through 162-Bug by hand on 80 different
systems.

Thanks -- Larry

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

Newsgroups: comp.os.vxworks
Subject: Re: Binding to a socket
Date: Thu, 28 Feb 2002 14:46:28 -0800
From: "Hwa-Jin Bae" <bae@mail.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7tcr4h9q6gb6@corp.supernews.com>
References: <cc857445.0202260650.752702ba@posting.google.com> <newscache$nzh5sg$671$1@lnews.actcom.co.il> <cc857445.0202262152.13a81764@posting.google.com> <newscache$r4o6sg$b83$1@lnews.actcom.co.il>

SO_BINDTODEVICE is Linux specific. BSD does not support it and neither does
vxWorks.

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: 28 Feb 2002 14:47:10 -0800
From: cjohnson@oresis.com (Charles Johnson)
Organization: http://groups.google.com/
Message-ID: <fa9c3eaa.0202281447.6560fa50@posting.google.com>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <ur8n5r2gi.fsf@yahoo.com>

We had to make the exact same modification. (Not modifying the access
time attribute on reads.) We also totally disable the disk block
cache to reduce the chance of corrupting the file system.

- --Charles Johnson
Oresis Communications, Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: 28 Feb 2002 14:52:13 -0800
From: cjohnson@oresis.com (Charles Johnson)
Organization: http://groups.google.com/
Message-ID: <fa9c3eaa.0202281452.5a4645c9@posting.google.com>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <ur8n5r2gi.fsf@yahoo.com> <newscache$9ta9sg$bl6$1@lnews.actcom.co.il>

At one point there was a journalled file system available for VxWorks
from a third party company called CrosStor. We were even evaluating
it for possible use. It basically was the journaling file system from
Unixware with a VxWorks compatible wrapper around the VFS APIs.
However CrosStor was purchased by EMC and they were no longer
interested in selling the product externally.

I've thought about taking either IBM JFS, SGI XFS or ext3 and doing
the same. It just takes time.

- --Charles Johnson
Oresis Communications, Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Thu, 28 Feb 2002 18:02:47 -0500
From: <jbperkins@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7tdmikpp7ir9a@corp.supernews.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu> <rpsheo145vp.fsf@nospam.invalid>

No.

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rpsheo145vp.fsf@nospam.invalid...
> Does your server have a firewall?
>
> -jc
> --
> (apply 'concat (reverse (list "com"
> (char-to-string 46) "yahoo"
> (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Finding undefined symbols in .out file
Date: Thu, 28 Feb 2002 23:51:13 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>

Being a fairly new to VxWorks I ask some simple questions that field and
tech support haven't been able to give simple answers to.

The first time I tried to download my application.out file I got a slew
of undefined symbols. In any other environment I would have looked at
the linker's map file to determine where the undefined symbols were
referenced or actually the linker would have told me the module that
referenced the undefined symbol. Since with VxWorks the .out file is
really an object module built from other object modules it doesn't seem
that there is a map to show symbols and what module they were referenced
in.

My FAE and his tech support person indicated that objdump386 should give
me what I need but were unable to tell me what switches would yield a
symbol table showing symbol references and what modules the symbols were
referenced in. I questioned whether the .out file even has the
information in it as to where all its symbols originated from (source or
object). The answer I got was was vague, along the lines of
"objDump386 should do anything you need".

So the question is. How do you find what module referenced an undefined
symbol when you download a .out file that was built from 50 or more
modules?

Jon Newbill
jonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: NFS File - Appending
Date: Thu, 28 Feb 2002 16:30:11 -0800
From: "Hwa-Jin Bae" <bae@mail.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7titk6mnr67ed@corp.supernews.com>
References: <wvje8.5194$bs1.124430@sccrnsc01> <newscache$4ao8sg$tv5$1@lnews.actcom.co.il> <3C7E07FB.9040902@spamm.me.l8s.co.uk> <newscache$1xc9sg$go6$1@lnews.actcom.co.il>

NFS servers in Solaris and SunOS always supported appending (as in fopen
with "a"). This is not really done in NFS at all, but in a generic way.
The fopen() is not a system call in Unix; it is a libc routine. Most
fopen() implementations (Solaris, Sunos, netbsd, and vxWorks) will look at
the mode string and decode before making a system call open(). If "a" is
used, instead of setting O_TRUNC, O_APPEND will be set and sent down to
open(). The same behavior is preserved in all Unix machines as well as
vxWorks.

vxWorks NFS client (nfsDrv) will pay attention to the mode bits (O_CREAT,
O_TRUNC, etc.) and only truncate the file if O_TRUNC is set. It might be
useful to call open() instead of fopen() and see what happens. Make sure
O_TRUNC is not set and O_APPEND is set.

Regarding the quote BSD kernel code (IO_APPEND flag handling), that is a
seperate thing from the higher level thing. fopen() in libraries will call
open() and seek to end of file if O_APPEND is set. The semantics of "a" is
handled at C library level, not in kernel level. The IO_APPEND is a flag
used as an arg to Vnode ops as per unix style VFS interface within kernel.
It is not related to handling "a" flag of fopen().

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Thu, 28 Feb 2002 19:39:22 -0500
From: <jbperkins@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7tjbl4mvd49ee@corp.supernews.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu> <u7tb5ulhm8jg20@corp.supernews.com>

I must admit, I did not know that the MAC address can be changed. How do
you set the MAC address?
- -Jim

"Hwa-Jin Bae" <bae@mail.com> wrote in message
news:u7tb5ulhm8jg20@corp.supernews.com...
> I have seen this kind of situation when the ethernet MAC address is set to
> something bad (like all 1's). It might help to print out the MAC address
of
> the "problem" board. If it looks suspicious, set it to something that
> makes sense (3 vendor octets followed by 3 unique octets of choice).
>
> If that is not the problem, you should get something like ethereal
> (www.ethereal.com) and sniff the ethernet to see what is going on.
>
> My guess is that the vxworks side running on "problem" board never gets
any
> TCP ack's from windows machine, because your vxworks side "problem" board
> has bad ethernet mac address.
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Fri, 01 Mar 2002 11:16:10 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C7ECF52.8429283C@dsto.defence.gov.au>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net>

Great suggestion Dave, here's my guess:

 vx Target PC host
155.34.103.42 155.34.103.41
 |__________________|_____________________ 155.34.103.0 net
 |
 |
 155.34.103.1
 Gateway (PC?)
 155.34.99.XX
 |
 __________________________________|_____ 155.34.99.0 net
 |
 155.34.99.99
 dev PC

So the vxWorks targets needs to have the following:
routeNetAdd "155.34.99.0", "155.34.103.1"
which tells it to use the gateway to get to the 155.34.99.0 network.

Then on the development PC, you need to add the route:
route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
which you obviously have done if you can ping the 155.34.103.41 host.

Dave Korn wrote:

> "Joe Georger" <jgeorger@ll.mit.edu> wrote in message
> news:4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu...
> > > Have you set up an entry in your development PC's route table. Although
> > the
> > > gateway is specified at the boot prompt, the PC has to know how to get
> > back to
> > > the vxWorks machine. If you haven't try adding the following at a DOS
> > prompt on
> > > the development PC:
> > >
> > > route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
> > >
> > > where <gateway> is the IP address of your hostname on your 155.34.99.0
> > network.
> > >
> > The gateway on my development pc is 155.34.99.1. I have no trouble
> pinging
> > the host pc (155.34.103.41) on the 103 subnet. Therefore I would think
> that
> > I should be able to ping the VxWorks board as well. Unless I am missing
> > some nuance of networking....
>
> You're going to have to draw an ascii-art diagram of the subnets, showing
> the two pcs, the gateway, and the vxworks target, I think...
>
> DaveK
> --
> moderator of
> alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
> Burn your ID card! http://www.optional-identity.org.uk/
> Help support the campaign, copy this into your .sig!
> Proud Member of the Exclusive "I have been plonked by Davee because he
> thinks I'm interesting" List Member #<insert number here>
> Master of Many Meowing Minions
> Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
> and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Thu, 28 Feb 2002 17:05:23 -0800
From: "Hwa-Jin Bae" <bae@mail.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u7tkvkns07sgf0@corp.supernews.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu> <u7tb5ulhm8jg20@corp.supernews.com> <u7tjbl4mvd49ee@corp.supernews.com>

Typically changing MAC address is done in HW dependent way. If you have
ethernet driver source code you can look into that. There is no standard
API for that in vxWorks, unless someone added such an API since vxWorks 5.0
(last release I participated in making).

The MAC address really should be set it HW. Most vendors will use EEPROM
connected to MAC chip to store MAC address unique to the device. However,
some VME and compact PCi vendors like to bypass that altogether and have the
MAC address programmed from FW. For those boards, vxWorks ethernet driver
will typically store the MAC address in NvRAM or flashROM and then program
the address at the initialization time. That is not really a good thing to
do (ethernet addresses should be unique and should be hardcoded by the
manufacturer), but we live in imperfect world.

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 01 Mar 2002 01:17:20 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3C7EF18C.5621@despam.autobahn.mb.ca>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>

In article <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>,
<JonUN@bitworkssystemsDELETETHIS.com> Jon Newbill wrote:
>
>[...]
> So the question is. How do you find what module referenced an undefined
> symbol when you download a .out file that was built from 50 or more
> modules?
>
	This is a problem we have all faced. There are a couple of
	tactics I used until I got to know the code better.

	One simple thing you can do is build images with your code
	added. This way you find out at compile time rather than
	load time. It just shortens your cycle.

	Another thing you can do is get real friendly with grep.

	Another thing you can do is get a source code browser. It seems
	to me there is a VxWorks version of this now.

	If you are adventurous and happen to have MSVC (or whatever they
	are calling it now), you can set up a static lib project of the
	files you are compiling (to the .out) and use the MSVC source code
	browser (the lib will be throwaway).
<hth>
- -het

- --
"progress in software has not followed Moore's law." -John Holland

Zimbabwe Links & News: http://www.autobahn.mb.ca/~het/zimbabwe.html
H.E. Taylor http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: post-mortem debugging, upper memory, and USER_RESERVED_MEM
Date: 1 Mar 2002 02:13:22 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Hello,

There is an upper memory, which is not managed by VxWorks,
nor VxWorks knows about its existence. The amount of memory
there, from what I understand, is defined by
USER_RESERVED_MEM

There is also some chunk of memory, in sysPhysMemDesc table,
which defines some sort of post-mortem debugging memory area
(or so it does in our system)

Are the two supposed to co-incide? From their definitions it
does not seem that they are: one VxWorks knows nothing
about, and the second one it does know about. The main
question is how the two are different? I mean, does VxWorks
simply not re-initialize memory reserved for post-mortem
debugging? If that's the case, why would I want to
USER_RESERVED_MEM any memory?

thanks,

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Difference between MPC860SAR and MPC860MH
Date: Fri, 1 Mar 2002 10:26:20 +0800
From: "David Wei" <weileimail@263.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <a5mouh$o5a$1@mail.cn99.com>

 In the MPC860MH, if I configure the SCC4 to work in the QMC mode, I
couldn't use SMC2 because of the parameter ram confliction.

 My question: whether or not the MPC860SAR could solute this
confliction.

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Fri, 01 Mar 2002 02:42:41 GMT
From: David A. Lethe <david@santools.com>
Message-ID: <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com>

On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:

>I'm looking for the source code of a C (or C++) implementation
>of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>top and Fibre Channel Frames at the bottom. Does anyone know of
>an available implementation, free or commercial?
>
>To help with development based on this stack, I'm also looking
>for a PCI card which allows host software access to all incoming
>Fibre Channel frames, and allows the software to transmit FC
>frames. Does anyone know of one? The cards I've looked at have
>various parts of the stack implemented on board, and don't
>provide any mechanisms to receive or send raw frames.
>
>I'm new to FC, so please excuse any naivety in these requests!
>
>My target OS in both cases is VxWorks, though any source is
>better than none.
>
>Many Thanks,
> jjf
Just go to http://www.redhat.com, and follow the links to download
their source code for LINUX.

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 01 Mar 2002 02:49:23 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C7EEC94.2A97020B@bitworkssystemsDELETETHIS.com>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com> <3C7EF18C.5621@despam.autobahn.mb.ca>

"H. E. Taylor" wrote:

> In article <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>,
> <JonUN@bitworkssystemsDELETETHIS.com> Jon Newbill wrote:
> >
> >[...]
> > So the question is. How do you find what module referenced an undefined
> > symbol when you download a .out file that was built from 50 or more
> > modules?
> >
> This is a problem we have all faced. There are a couple of
> tactics I used until I got to know the code better.
>
> One simple thing you can do is build images with your code
> added. This way you find out at compile time rather than
> load time. It just shortens your cycle.
>
> Another thing you can do is get real friendly with grep.
>
> Another thing you can do is get a source code browser. It seems
> to me there is a VxWorks version of this now.
>
> If you are adventurous and happen to have MSVC (or whatever they
> are calling it now), you can set up a static lib project of the
> files you are compiling (to the .out) and use the MSVC source code
> browser (the lib will be throwaway).
> <hth>
> -het
>
> --
> "progress in software has not followed Moore's law." -John Holland
>
> Zimbabwe Links & News: http://www.autobahn.mb.ca/~het/zimbabwe.html
> H.E. Taylor http://www.autobahn.mb.ca/~het/

These solutions assume you have source to all the code and that it's in a
convienient place to do a massive grep on. It also assumes no use of #defines
to create symbols. From your reply it appears that there really is no way to
find the offending object file? When you say build an image you mean a final
executable with OS included which would actually use the linker? In that case
does the linker/loader report the offending object module for an undefined?

Jon Newbill
JonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: GP fault from "hello World"
Date: Fri, 01 Mar 2002 03:11:50 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C7EF1D9.41A59D5C@bitworkssystemsDELETETHIS.com>
References: <3C7AD68C.87BA3075@bitworkssystemsDELETETHIS.com>

The problem turned out to be a buggy BSP from VMIC V1.2/0. They have sent
me V1.2/2 and it's fixed.

Jon Newbill

Jon Newbill wrote:

> I'm getting a GP fault trying to run a simple hello world on a VMIC
> VMIVME7750 Pentium III (GNU tools).
>
> #include <stdio.h>
> int main()
> {
> int a;
> double pi = 3.141592;
> printf("hello world\n");
> }
>
> This loads without error but the instant I try to run and break at the
> entry point, I get
>
> General Protection Fault
> Program Counter: 0x02174d92
> Status Register: 0x00010212
> Error Code: 0x0000001a
> Task: 0x1fcbe5c8 "tDbgTask"
>
> I can single step the program but continue to get another GP
> fault on the printf() call even though it does print "hello world" to
> the
> console. It appears that all CALL's cause a GP fault. This occurs in
> all programs I try to debug. Does anyone know where to look up the
> Error Code returned by General Protection fault. errno.h shows 0x1A
> (26) as file name too long which doesn't make any sense.
>
> Any help would be appreciated.
>
> Jon Newbill
> jonUN@bitworkssystemsREMOVSPAM.com

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

Newsgroups: comp.os.vxworks
Subject: How to make assert break into debugger with hardcoded breakpoint
Date: Fri, 01 Mar 2002 03:58:41 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com>

Ok here's another VxWorks Newbi question or is that a Newbill
question. On every other embedded system debugger I've used I would
always create an assert() macro that would execute a hard coded
breakpoint instruction to cause a trap into the debugger when an assert
occurs. This is quite useful since your in sitting right there in
context and can use the full power of the debugger to figure out how you
got the assert or in some cases correct the problem and continue on
debugging. On Intel platforms INT3 is the usual breakpoint
instruction and on 68K systems it was a TRAP 0.

Now I'm using Intel on VxWorks 5.4.2 with GNU tools and executing an INT
3 seems to send the target into never never land. Does anyone know a
method to programatically break into the debugger?

Jon Newbill
JonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: problem creating new project
Date: Fri, 01 Mar 2002 04:17:20 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <khDf8.20374$mG.82331@rwcrnsc54>
References: <a5l0d3$jb8b$1@simian.nlr.nl> <3C7E5F02.2545B753@notifier-is.net>

David and Michiel,

 This is an SPR, don't know when it will be fixed since Wind Surf states
it was created Apri 22,
1999:

 TITLE: Including PCMCIA by hand in config.h or #define n in the
BSP header file
 makes it impossible to create a bootable project.
 SPR #: 26952
 STATUS: Assigned
 IDE: Tornado 2.0

"david lindauer" <dlindauer@notifier-is.net> wrote in message
news:3C7E5F02.2545B753@notifier-is.net...
> I'm having the same problem. I don't have PCMCIA installed though... I
would
> really like to know what causes this in general.
>
> David
>
> meekes wrote:
>
> > Hi,
> >
> > I have a problem creating a new project based on an existing BSP.
> >
> > Using Tornado-2, I created a project (bootable vxWorks image) based on
a
> > pcPentium BSP.
> > The project initially had only an IDE_LOCAL disk and no PCMCIA support.
> > Later on I added PCMCIA support by defining INCLUDE_PCMCIA in config.h.
> > The PCMCIA functionality (ATA compact flash disk) is working OK in my
> > project.
> >
> > Now, when I try to create a new project (in the same workspace) based on
the
> > same BSP,
> > the creation fails.
> > The messages I get are:
> > - parsing BSP makefile
> > - parsing user defined rules from BSP makefile
> > - parsing BSP's config.h
> > - creating project file
> > - calculating included components
> > -> project creation failed:
> > "list must have an even number of elements"
> >
> > If I undefine INCLUDE_PCMCIA in config.h the creation of a new project
is
> > OK.
> > I have examined the config.h, pc.h and sysLib.c files, but could not
find a
> > clue.
> >
> > One thing I noticed in the first project was that the PC card show
routines
> > were not
> > included by defining INCLUDE_SHOW_ROUTINES in config.h.
> > I added a call to pcmciaShowInit in usrAppInit.c to get the show
routines
> > available.
> >
> > What can be the problem here?
> >
> > TIA,
> > Michiel
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Having trouble with dynamicly loading modules
Date: 28 Feb 2002 20:48:16 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0202282048.2b2f8a3e@posting.google.com>
References: <W_df8.1099$X%6.349@nwrddc04.gnilink.net> <ud6yqsbl4.fsf@yahoo.com> <0cff8.5682$G7.1085@nwrddc01.gnilink.net> <u4rk2s94f.fsf@yahoo.com> <3C7DFE80.7040702@spamm.me.l8s.co.uk> <0stf8.8225$G7.2065@nwrddc01.gnilink.net>

Hello,

> David, how would you perform the last 2 steps in VxWorks?

You can't in VxWorks 5.x, but AE includes a new loader with an
optional feature called out of order loading which handles exactly the
problem you've been discussing. You can also unload any of the modules
and then load in a new version.

HTH,

John...

> Thanks
> Matt S.
> "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> news:3C7DFE80.7040702@spamm.me.l8s.co.uk...
> >
> > > You do indeed have this right. Loading kernel modules under Linux or
> > > DLL's under Windows also follow this rule afaik. The basic problem is
> > > that when module A loads, the kernel must keep track of all
> > > `unresolved places'.
> >
> >
> > Actually it will
> > load A,
> > add A's symbols
> > load B
> > add B's symbols
> > fixup B's references
> > fixup A's references
> >
> > David
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Binding to a socket
Date: 28 Feb 2002 21:29:13 -0800
From: bryanramesh@yahoo.com (Bryan)
Organization: http://groups.google.com/
Message-ID: <cc857445.0202282129.216f0629@posting.google.com>
References: <cc857445.0202260650.752702ba@posting.google.com> <newscache$nzh5sg$671$1@lnews.actcom.co.il> <cc857445.0202262152.13a81764@posting.google.com> <newscache$r4o6sg$b83$1@lnews.actcom.co.il> <u7tcr4h9q6gb6@corp.supernews.com>

"Hwa-Jin Bae" <bae@mail.com> wrote in message news:<u7tcr4h9q6gb6@corp.supernews.com>...
> SO_BINDTODEVICE is Linux specific. BSD does not support it and neither does
> vxWorks.

Hi Hwa,

Yeah SO_BINDTODEVICE is specific to Linux. But how to acheive this
functionality in VxWorks. Does VxWorks provides something like this to
ensure that a data is going out of a specific interface. Is there any
way to do this in VxWorks.

Thanks,
Bryan

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

Newsgroups: comp.os.vxworks
Subject: muxLoad Failed while picking up the VxWorks image from host
Date: 28 Feb 2002 22:34:48 -0800
From: ajay_garg@delhi.tcs.co.in (Ajay Garg)
Organization: http://groups.google.com/
Message-ID: <ae7893e8.0202282234.7a955751@posting.google.com>

Hi,
 I am using 3COM card to communicate across network. I am getting a
message "muxLoad failed" after getting the prompt on target. But if I
am using a fei card, I am getting everything fine. I am making the
necessary changes in config file for my BSP which is pentium.
 Your help is needed to solve this problem.

Regards,
Ajay Garg.

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 01 Mar 2002 06:43:00 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3C7F3DDC.3032@despam.autobahn.mb.ca>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com> <3C7EF18C.5621@despam.autobahn.mb.ca> <3C7EEC94.2A97020B@bitworkssystemsDELETETHIS.com>

In article <3C7EEC94.2A97020B@bitworkssystemsDELETETHIS.com>,
<JonUN@bitworkssystemsDELETETHIS.com> Jon Newbill wrote:
> "H. E. Taylor" wrote:
>> In article <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>,
>> <JonUN@bitworkssystemsDELETETHIS.com> Jon Newbill wrote:
>>>
>>>[...]
>>> So the question is. How do you find what module referenced an undefined
>>> symbol when you download a .out file that was built from 50 or more
>>> modules?
>>>
>> This is a problem we have all faced. There are a couple of
>> tactics I used until I got to know the code better.
>>
>> One simple thing you can do is build images with your code
>> added. This way you find out at compile time rather than
>> load time. It just shortens your cycle.
>>
>> Another thing you can do is get real friendly with grep.
>>
>> Another thing you can do is get a source code browser. It seems
>> to me there is a VxWorks version of this now.
>>
>> If you are adventurous and happen to have MSVC (or whatever they
>> are calling it now), you can set up a static lib project of the
>> files you are compiling (to the .out) and use the MSVC source code
>> browser (the lib will be throwaway).
>
> These solutions assume you have source to all the code and that it's in a
> convienient place to do a massive grep on. It also assumes no use of #defines
> to create symbols.
>

	Implicitly yes. If the symbols are in VxWorks supplied libraries
	(and all you have are bin files) you are back to 'ar' and 'objdump'.

	Note you can use objdump on both your .out and the libraries.

> From your reply it appears that there really is no way to
> find the offending object file?
>

	If you have only the possibly mangled name to work with and you
	are unfamiliar with the VxWorks libraries, I would recommend you
	attack the problem by simpiflication. Divide your .out in half
	until you get something which will load, then build it up.

> When you say build an image you mean a final
> executable with OS included which would actually use the linker?
>

	Well I would tend to think of it as an OS image with an embedded
	app, but yes.

>In that case does the linker/loader report the offending object module
>for an undefined?
>

	Ah note of caution here. I am familiar with 5.3.1, but have never
	used 5.4 or AE which use a different GNU toolset version. Plus
	I am working from memory cause I don't have a VxWorks system to hand,
	but it seems to me the linker will tell you module.o referenced
	unknown symbol such&such. You will still have to figure out where
	symbol such&such lives and if it is in a VxWorks library you are
	back to dumping libs.

<good luck>
- -het

- --
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.

Computer Related Links: http://www.autobahn.mb.ca/~het/clinks.html
H.E. Taylor http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: Re: How to make assert break into debugger with hardcoded breakpoint
Date: Fri, 1 Mar 2002 09:54:20 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$3adasg$y88$1@lnews.actcom.co.il>
References: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com>

Two solutions:

the easiest is simply set a breakpoint on the function abort(), which is
called
by the standard assert() macro if asserion fails;
or define your very own assert() macro and do with it as you please.

By the way, you gould put the breakpoint set command into the debugger
intialization script file.

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com...
> Ok here's another VxWorks Newbi question or is that a Newbill
> question. On every other embedded system debugger I've used I would
> always create an assert() macro that would execute a hard coded
> breakpoint instruction to cause a trap into the debugger when an assert
> occurs. This is quite useful since your in sitting right there in
> context and can use the full power of the debugger to figure out how you
> got the assert or in some cases correct the problem and continue on
> debugging. On Intel platforms INT3 is the usual breakpoint
> instruction and on 68K systems it was a TRAP 0.
>
> Now I'm using Intel on VxWorks 5.4.2 with GNU tools and executing an INT
> 3 seems to send the target into never never land. Does anyone know a
> method to programatically break into the debugger?
>
> Jon Newbill
> JonUN@bitworkssystemsREMOVTHIS.com
>
>
>

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 1 Mar 2002 00:01:56 -0800
From: kallolm_tech@yahoo.com (Kallol Mallick)
Organization: http://groups.google.com/
Message-ID: <cf6c276e.0203010001.2579292f@posting.google.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>

David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>
> >To help with development based on this stack, I'm also looking
> >for a PCI card which allows host software access to all incoming
> >Fibre Channel frames, and allows the software to transmit FC
> >frames. Does anyone know of one? The cards I've looked at have
> >various parts of the stack implemented on board, and don't
> >provide any mechanisms to receive or send raw frames.
> >
You can try to use one of the standard fibre channel controllers
cards(QLogic /Tachyon/LSILogic). Most of them provide a mechanism to
download firmware. Instead of downloading the firmware, they supply,
write your own. The register interfaces gives you a fairly low level
access.

But why do you want re-invent the wheel, when standard implementation
is already availavle?

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

Newsgroups: comp.os.vxworks
Subject: Re: Binding to a socket
Date: Fri, 1 Mar 2002 00:05:33 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u7udjkl25smaba@corp.supernews.com>
References: <cc857445.0202260650.752702ba@posting.google.com> <newscache$nzh5sg$671$1@lnews.actcom.co.il> <cc857445.0202262152.13a81764@posting.google.com> <newscache$r4o6sg$b83$1@lnews.actcom.co.il> <u7tcr4h9q6gb6@corp.supernews.com> <cc857445.0202282129.216f0629@posting.google.com>

There is no way to do something like that at socket level in vxworks. You
will need to manipulate routing table content to force routing to the
interface you wish to use.

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: Fri, 1 Mar 2002 10:20:37 +0100
From: "Matthias Guelck" <Matthias.Guelck@de.heidelberg.com>
Organization: Heidelberger Druckmaschinen AG
Message-ID: <a5nh53$7ve$1@news.hdpp.de>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <ur8n5r2gi.fsf@yahoo.com>

Hi Bill, hi Charles,

we are very concerned about the FLASH wearing by read functions modifying
the last accessed field.

How did you get the source code (bought from WRS? - how much $?).

How much time did you need for the rework?

Regards,

Matthias

 Matthias Guelck

 Research & Development

 Heidelberg Druckmaschinen AG

 Dr.-Hell-Str.

 D-24107 Kiel

 Phone +49-431-386-1608

 Fax +49-431-386-3882

 E-Mail Matthias.Guelck@DE.Heidelberg.com

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

Newsgroups: comp.os.vxworks
Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
Date: Fri, 1 Mar 2002 10:59:46 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a5njej$ppp$1@snoopy.bndlg.de>
References: <slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65e8e.dip.t-dialin.net

see below...
"Denis Perelyubskiy" <denis_newsREMOVE-TO-REPLY@hotmail.com> schrieb im
Newsbeitrag
news:slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu...
> Hello,
>
> There is an upper memory, which is not managed by VxWorks,
> nor VxWorks knows about its existence. The amount of memory
> there, from what I understand, is defined by
> USER_RESERVED_MEM
>
> There is also some chunk of memory, in sysPhysMemDesc table,
> which defines some sort of post-mortem debugging memory area
> (or so it does in our system)
>
> Are the two supposed to co-incide? From their definitions it
> does not seem that they are: one VxWorks knows nothing
> about, and the second one it does know about. The main
> question is how the two are different? I mean, does VxWorks
> simply not re-initialize memory reserved for post-mortem
> debugging? If that's the case, why would I want to
> USER_RESERVED_MEM any memory?
just to put your post-mortem into it ! :-)

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Fri, 1 Mar 2002 12:32:41 +0100
From: "jimmy" <jimmy_<ingen spam>christiansen@hotmail.com>
Organization: TDC Internet
Message-ID: <3c7f6642$0$46212$edfadb0f@dspool01.news.tele.dk>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <cf6c276e.0203010001.2579292f@posting.google.com>

> But why do you want re-invent the wheel, when standard implementation
> is already availavle?
Maybe because ( ?? ):
>My target OS in both cases is VxWorks, though any source is
>better than none.

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

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

From vxwexplo-errs@csg.lbl.gov Fri Mar 1 07:25:51 2002
From: "Chuck Meade" <chuck@theptrgroup.com>
Date: Fri Mar 1 07:25:53 PST 2002
Subject: Re: Ethernet problem on an mvme2700

VxWorks Greetings!

James Perkins writes:
> In my system the 2700 takes commands from control software on a PC via TCP.
> The 2700 then issues commands to other boards in the card cage, or it sends
> commands to other boards via TCP. In the system the only thing I change is
> the 2700. I put the "good" one in, power up, and it boots, gets the system
> image via ftp, and works fine. I can run my control software and it
> connects to the 2700 and all is well. I ran inetstatShow in the Tornado
> shell and I could see the connection to the control software on the PC.
> Now, I switch the 2700 with an identical 2700 that is configured
> identically. It will not get the system image via ftp. It just hangs and
> then reports an error in the terminal window. To get this board to boot I
> have to use tftp. After that the "bad" board is running the same system
> image that was running on the "good" board but it will not accept a
> connection from my control PC. I run inetstatShow in the shell and all I
> see is task waiting for TCP connection. I just never accepts the
> connection. The only thing I have changed here is the 2700.
>
> FTP and my control program both use TCP. TFTP uses UDP. So it looks like I
> have one board that accepts TCP and UDP connections and another board that
> only accepts UDP connections. So, I don't understand how this is a hardware
> problem. On the other hand how can it be a software problem?
>

This sounds like an ARP table issue. When you communicate
on a network using IP, the machines that you send and receive
from store an association between your MAC address and your IP
address in their ARP table. Typically this association will
timeout after 20 minutes.

If your second target is configured identically to the first
(meaning that they are using the same IP address), then you
will have a period of time after using the first target during
which machines you have previously communicated with will "assume"
your MAC address has not changed. If you are indeed using a
different MAC address, you will see this problem until the peers'
ARP table entries are deleted manually or until they timeout.

You can delete the ARP entry on the peer machine using "arp -d <addr>"
or something similar depending on the particular OS.

By the way, if my suggestion is correct, your "ftp vs. tftp" issue
could just be that a timeout occurred between your 2 attempts.

If you are trying to truly create 2 targets identical in *every*
way, then you can (possibly) make their MAC addresses equal, if
the firmware supports setting the MAC address. But each network
device out there should have a unique MAC.

Chuck Meade

=======================================================
 T h e P T R G r o u p, I n c.
=======================================================
 Embedded, Real-Time Solutions and Training

Chuck Meade mailto:chuck@ThePTRGroup.com
Principal Engineer http://www.ThePTRGroup.com
V: (703)815-3231 F: (703)815-8512
=======================================================

From vxwexplo-errs@csg.lbl.gov Sat Mar 2 04:03:25 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Mar 2 04:03:28 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sat Mar 2 04:03:19 PST 2002

 Subject: Re: error lookup
 Subject: Re: Finding undefined symbols in .out file
 Subject: PING johan! [was Re: Newbie question, please help!]
 Subject: Re: TCP/IP Support in VxWorks
 Subject: Re: PPP problem
 Subject: Re: PMC Span expansion board setup... it works!
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: final image segment sizes
 Subject: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: test
 Subject: vxSim networking problem
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: DHCP and WINS
 Subject: Limiting the size of incoming/outgoing TCP packets
 Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
 Subject: Re: DHCP and WINS
 Subject: alignment
 Subject: Re: clock_gettime fails with write() but not fwrite
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: problem creating new project
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: alignment
 Subject: Re: alignment
 Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
 Subject: Re: DOS file system
 Subject: PPP/DHCP bugs [was: clock_gettime fails with write() but not fwrite]
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: problem creating new project
 Subject: Re: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: muxLoad Failed while picking up the VxWorks image from host
 Subject: Proc Numbers, booting and VME transfers
 Subject: Re: Limiting the size of incoming/outgoing TCP packets
 Subject: Re: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: PPP problem
 Subject: Re: muxLoad Failed while picking up the VxWorks image from host
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: LP-VxWin
 Subject: Re: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: June 2001 v/s T2CP4
 Subject: Re: PPP/DHCP bugs [was: clock_gettime fails with write() but not fwrite]
 Subject: Re: problem creating new project
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: need help: about windNet PPP ?
 Subject: sendto() failing in Class A network
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: [question]Memory access in mpc750..
 Subject: Re: muxLoad Failed while picking up the VxWorks image from host
 Subject: how to invoke a task number of times based on radom number

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

Newsgroups: comp.os.vxworks
Subject: Re: error lookup
Date: Fri, 1 Mar 2002 11:49:43 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <MVKf8.2912$5o.1993745@newsr2.u-net.net>
References: <7z%c8.10429$3k2.2194219@news20> <S2vd8.2708$5o.1592813@newsr2.u-net.net> <7vNd8.14668$3k2.2464940@news20> <2pve8.2771$5o.1748555@newsr2.u-net.net> <3C7A88FA.7040908@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C7A88FA.7040908@spamm.me.l8s.co.uk...
> >
> > And of course it is always good for people to study each other's code
and
> > learn how things are done.
>
>
> Unless the code has the GPL license - when you mustn't read it if
> you write software for a living......
>
> David

 I think you have that the wrong way around: actually, you mustn't read
proprietary sources if you wish to write GPL code, since you might give some
company a claim over what ought to be public code.

 But there's nothing to stop you reading gpl'd source in order to
understand how the principles of its design work. If you were to cut and
paste chunks into your own code, that would be a copyright breach. If you
distribute binaries that have GPL'd code in them, you must open your own
source. But the entire point of the GPL is to share the knowledge of
programming techniques and thereby improve the standards of practice and
skills throughout the entire computing industry.

 Just say no to GPL FUD!

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 1 Mar 2002 11:58:39 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <NVKf8.2913$5o.1993745@newsr2.u-net.net>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com...
> Being a fairly new to VxWorks I ask some simple questions that field and
> tech support haven't been able to give simple answers to.

> object). The answer I got was was vague, along the lines of
> "objDump386 should do anything you need".

> So the question is. How do you find what module referenced an undefined
> symbol when you download a .out file that was built from 50 or more
> modules?

 They should have told you to use nm386 rather than objdump.

 That prints out a list of symbols for a given obj file.

 When I have trouble like this, I use a script that calls nm on all the
individual .obj files. In NT it's something roughly like

for %%i in (*.o) do nmppc %%i >%%i.sym

[note that the doubled-up %s are needed in a .bat file; from the command
line you only need single

then grep for "U<space><symbol" in *.o.sym

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: PING johan! [was Re: Newbie question, please help!]
Date: Fri, 1 Mar 2002 12:15:13 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <NVKf8.2915$5o.1993745@newsr2.u-net.net>
References: <28f07413.0202221001.180f9405@posting.google.com> <newscache$t38yrg$4we$1@lnews.actcom.co.il> <28f07413.0202221556.4736f3ba@posting.google.com> <bRve8.2774$5o.1751567@newsr2.u-net.net> <oJwe8.2377$T_.23199@iad-read.news.verio.net> <28f07413.0202251349.73780fe7@posting.google.com>

"Cuong Pham" <cphamaz@yahoo.com> wrote in message
news:28f07413.0202251349.73780fe7@posting.google.com...

> "doug dotson" <ddotson@digidata.com> wrote in message
news:<oJwe8.2377$T_.23199@iad-read.news.verio.net>...
> > I had a problem a while back after installing Tornado that sounds
> > similar to this. Turned out that I had djgpp (GNU for PCs) installed
> > and the PATH was causing it to pick up the djgpp executables
> > instead of the Tornado ones.
> >
> > doug
>
> Thanks. I actually had djgpp installed, I deleted their path, now I'm
> compiling fine under Tornado. Thanks again for the help!

 Johan? You listening? The FAQ needs to say at least something about
interference between existing cygwin (or as in this case djgpp)
installations and Tornado. It can get quite complicated, but at least to
mention there must never be two cygwin.dll's in the path at the same time,
and that you can run cygwin's command "cygcheck -s -v -r -h" to find out if
you do have dll clash.

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: TCP/IP Support in VxWorks
Date: Fri, 1 Mar 2002 12:02:34 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <NVKf8.2914$5o.1993745@newsr2.u-net.net>
References: <3c741e96_4@news1.prserv.net> <newscache$m0mvrg$g6b$1@lnews.actcom.co.il> <ce1027c4.0202261500.1f6b8433@posting.google.com>

"Hwa Jin Bae" <bae@mail.com> wrote in message
news:ce1027c4.0202261500.1f6b8433@posting.google.com...
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$m0mvrg$g6b$1@lnews.actcom.co.il>...
> > Hey Dude,
> > I think you got something wrong here, it couldn't be VxWorks version 3.
> >
>
> I doubt it is vxWorks version 3.
>
> > The earlies version of VxWorks I have actually used was 5.0.2 in 1990,
just
> > before to Gulf War.
>
> The earliest widely used vxWorks with BSD networking is 4.2. I doubt
> 4.X is still being used any more, but if it is, it really should be
> upgraded. 4.X had severe problems in network code, the least of which
> is the subnet mask issue. For example, in 4.X all mbufs were 128
> bytes long and bcopy'ed all the time. I recoded all mbuf stuff in
> 5.0, added cluster mbufs, and loanding, etc. The 5.0 was a major
> release which had BSD tahoe based TCP/IP stack and WIND kernel. If at
> all possible, older version of vxWorks should be updated to use at
> least 5.0 and later.

 Hwa Jin Bae! You're back! Or you were here all along but very quiet!

 Do you have a website again? I miss the pso site!

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP problem
Date: Fri, 01 Mar 2002 13:57:01 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3C7F7A9D.2AB0A3B2@sepro-robotique.com>
References: <3C7E0A02.3F646C90@sepro-robotique.com> <newscache$nnr8sg$bz5$1@lnews.actcom.co.il>

Hi,

Thanks for this answer.
Unfortunately, it didn't solve the problem

Leonid Rosenboim wrote:
> It could be the NetTask, so I do recommend you double its stack size

So, I tried two things :
- - add the "Define" in "netBufLib.h" to increase the number of mBlk buffer
 (used by the network stack).
- - change some setting in the FTP server (number of client allowed, miscelleanous
 time setting, etc...)

> If not, this could be due to the serial driver not being able to keep up
> with the high rate of interrupt, so I would suggest to repeat the same
> test with a lower speed, e.g. 9600 baud.

I also tried this but it didn't change anything.

Description : the FTP server works (on the target) perfectly when
transferring medium size files (64KB), but when I tried to transfer
a lot of small files, it's like the PPP driver crash after 8-9 files
(CRC error on the serial link, no more IP service available, even "ICMP/ping")
(I have to disconnect PPP and then reconnect).

It's VxWorks 5.4 with the latest patches and FTP server from DOSFS2 add-on.

> Leonid
'Au revoir' and 'Bonne journe' ! ;-)

- --
Best regards
Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: PMC Span expansion board setup... it works!
Date: Fri, 01 Mar 2002 13:42:38 +0000
From: Enrique Joven <eja@ll.iac.es>
Organization: IAC
Message-ID: <3C7F854E.47DE71AB@ll.iac.es>
References: <3C7CDFCB.CCE7AEE3@ll.iac.es> <3C7D8E8B.B66B6163@dsto.defence.gov.au>

Thanks a lot, Tim.

My PMC card is working properly attached to the PMC-span board!

For future victims...

It is necessary to configure the IO base & limit of the span.
In my case, for example, I've only written in my code:

 pciConfigOutLong (0,0x14,0,0x30,0x00050004)

So, now, when we "see" the configuration of the span device,
it appears..

> pciHeaderShow(0,0x14,0)
 vendorID=0x1011
 ....
 IO base upper 16 bits 0x0004
 IO limit upper 16 bits 0x0005
 ...

These parameters are not configured automatically by vxWorks.

The rest of the application does not vary. The PMC is configured
as I said in my previous e-mail and the access to the registers
is "CPU_PCI_IO_ADRS + PMC_DEV_SPACE". Identical.

That is all.
Enrique

Tim Shaw escribi:
>
> We've been using the SPAN on a MV2604 for some time, though mainly with
> memory mapped PMCs. The address 0xfe040000 is the CPU address, this
> translates to an PCI IO access at address 0x00040000. You have to make sure
> the PCI-PCI bridge has a window opened for this region (and not including
> the regions used by the IO devices on the motherboard). From memory (I
> haven't checked this) the IO space is actually configured using 2 sets of
> registers, being the upper and lower pairs of base and limit.
>
> HTH
> Tim
>
> Enrique Joven wrote:
>
> >
> > Hi,
> >
> > "I am trying to setup a PMC card in a PMC adapter carrier board
> > from Motorola (PMCspan-002) which is attached to a MVME2431..."
> >
> > These are the first lines of an old message I've found searching
> > with Google-groups... and others similar to it. Now, I am suffering
> > the same problem... and I can not fix it.
> >
> > I am working with the MVME2432 (BSP mv2400).
> > My PMC card is rather simple, I only have to use the I/O space to
> > see the registers (it is a multi-port RS232 from Technobox) and
> > very easy to configure in the main board. But adding the PMCspan-002...
> > impossible.
> >
> > As some people said, I defined INCLUDE_PMC_SPAN in config.h, and created
> > a new vxWorks image, I've checked the P2P_IO_BASE and the
> > SPAN_IO_DEV_SPACE... and a lot of things more.
> > I've also checked that the PMC card is recognized by VxWorks in the
> > secondary bus, so the PCI-to-PCI bridge is working, I guess.
> >
> > But I do not know what is the pysical address
> > of the PMC card as seen from the processor. In the main card, I use
> > as pci_base=PCI_IO_PMC_ADRS with the "pciDevConfig" function. And
> > the offset to see the registers is... "PCI_MSTR_IO_LOCAL +
> > PMC_DEV_SPACE"
> > (ie,. 0xFE010000 + 0x00040000) ... any one knows the equivalences
> > using the SPAN card?
> >
> > Or, at least, anyone is using this SPAN card without problems?
> >
> > I will be very thanked if any can suggest me any solution...
> > Plase do not tell me to put the SPAN card in the wastebasket.
> > At this moment, is my only idea.
> >
> > Regards,
> > Enrique
> >
> > _____________________________________________________________________
> >
> > Enrique Joven Phone : 34 922 605332
> > Electronics & Detectors Department Fax : 34 922 605210
> > Instituto de Astrofisica de Canarias (IAC) E-mail: eja@ll.iac.es
> > 38200, La Laguna, Tenerife
> > Canary Islands (SPAIN)
> > _____________________________________________________________________
> > Official Web-Site http://www.iac.es

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Fri, 1 Mar 2002 09:28:04 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au>

Tim,

Your diagram is accurate. The 155.34.103.1 gateway is a router (I don't
have access to it, though). My development pc has a default gateway of
155.34.99.1 (another router). Therefore I didn't need to add a route to
access the 155.34.103.0 network. I have been searching thru this
newsgroup's archives and came across the following:

You have to set the default route, period. The way I did it was to modify
usrNetwork.c and add the following line to usrNetInit()

if (params.gad[0] != EOS) routeAdd("0.0.0.0", params.gad);

The nice thing about doing it this way is your default route will always
be to the gateway you enter at the boot prompt, so if you ever change that
the default route will automatically follow.

And this:

This is a very old issue - in both bootConfig.c and usrNetwork.c, routeAdd()
is called to install a default gateway, but the destination network is the
same subnet on which the Host is located. This code, as shipped, only good
for
VME bp/sm networks - it works for the CPU which is connected only to the VME
network, and helps it conenct to the Host via the VME/Ethernet gateway.

It has been suggested several times to change this statement to add
"0.0.0.0"
as destination, making the default gateway function in all cases (including
the VME network special case), but the suggestion was not incorporated into
the product. I beleive that I have filed a TSR about this back in 1991, when
I
worked for Applied Materials Inc.

The only and the most elegant fix is to change the routeAdd() statement in
bootCOnfig.c, usrNetwork.c to be:

 routeAdd("0.0.0.0", params.gad);

I did change these files as recommended above. AFAIK the bootConfig.c file
is used in compiling the bootrom, so I did that and reflashed my board.
That didn't work. I figured that the bootrom code is superseded by the
VxWorks image....

I also changed userNetwork.c, but when I rebuilt my VxWorks image, I don't
think that file was used?? In any event, that didn't work either. Is this
a viable idea? It sure seems like it should work....

Thanks,
Joe

"Tim Shaw" <Tim.Shaw@dsto.defence.gov.au> wrote in message
news:3C7ECF52.8429283C@dsto.defence.gov.au...
> Great suggestion Dave, here's my guess:
>
>
>
>
> vx Target PC host
> 155.34.103.42 155.34.103.41
> |__________________|_____________________ 155.34.103.0 net
> |
> |
> 155.34.103.1
> Gateway (PC?)
> 155.34.99.XX
> |
> __________________________________|_____ 155.34.99.0 net
> |
> 155.34.99.99
> dev PC
>
>
> So the vxWorks targets needs to have the following:
> routeNetAdd "155.34.99.0", "155.34.103.1"
> which tells it to use the gateway to get to the 155.34.99.0 network.
>
> Then on the development PC, you need to add the route:
> route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
> which you obviously have done if you can ping the 155.34.103.41 host.

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Fri, 01 Mar 2002 09:20:19 -0500
From: David Abbott <abbottd@jlab.org>
Organization: TJNAF
Message-ID: <3C7F8E23.4EF35E1A@jlab.org>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu> <u7tb5ulhm8jg20@corp.supernews.com> <u7tjbl4mvd49ee@corp.supernews.com>

jbperkins@yahoo.com wrote:
>
> I must admit, I did not know that the MAC address can be changed. How do
> you set the MAC address?
> -Jim
>
> "Hwa-Jin Bae" <bae@mail.com> wrote in message
> news:u7tb5ulhm8jg20@corp.supernews.com...
> > I have seen this kind of situation when the ethernet MAC address is set to
> > something bad (like all 1's). It might help to print out the MAC address
> of
> > the "problem" board. If it looks suspicious, set it to something that
> > makes sense (3 vendor octets followed by 3 unique octets of choice).
> >
> > If that is not the problem, you should get something like ethereal
> > (www.ethereal.com) and sniff the ethernet to see what is going on.
> >
> > My guess is that the vxworks side running on "problem" board never gets
> any
> > TCP ack's from windows machine, because your vxworks side "problem" board
> > has bad ethernet mac address.
> >
> >
> >
> >

 Motorola has a PPC-Bug utility called SROM that allows one to
Read/Modify
the Serial ROM on the 21x4x Ethernet chips. This is where the MAC
address is
stored for your board.

 Example:

PPC4-Bug>SROM

Device Address =$00007000 (N/Y)? y
Reading SROM into Local Buffer.....
$00 (&000) 0000?
$02 (&002) 0000?
$04 (&004) 0000?
$06 (&006) 0000?
$08 (&008) 0000?
$0A (&010) 0000?
$0C (&012) 0000?
$0E (&014) 0000?
$10 (&016) AF00?
$12 (&018) 0301?
$14 (&020) 0800? <- This is
$16 (&022) 3E2A? <- the ethernet address
$18 (&024) 4948? <- for the board. (6 bytes)
$1A (&026) 0E1E?
$1C (&028) 0000?.
PPC4-Bug>

 One thing that might be an issue with your ethernet problem. Check to
see
what type chip is on your NEW 2700 vs the old one. The old MV2700 boards
used
the DEC 21140 chip which as far as I know is discontinued. Intel now
provides
the successor i21143 chip. There are some differences, and depending on
the
ethernet driver code you built into your boot rom and kernel for the old
MV2700.
I suppose it is possible that using it in the new board could initialize
the interface
in some perverse way. If the chips are both DEC 21140 then this would be
moot.

 Regards,
 David

- ---------------------------------------------------------
David Abbott Jefferson Lab
Data Acquisition Group MS 12H
EMAIL: abbottd@jlab.org 12000 Jefferson Ave.
Tel: (757) 269-7190 Newport News, VA 23606
FAX: (757) 269-5800
- ---------------------------------------------------------

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

Newsgroups: comp.os.vxworks
Subject: final image segment sizes
Date: 1 Mar 2002 06:34:00 -0800
From: DeanMark@Logica.com (Mark)
Organization: http://groups.google.com/
Message-ID: <ea86dadb.0203010633.50047d42@posting.google.com>

My application needs to identify the sizes of the different segments
in a final image file at run-time. By looking in the image file header
this is relatively easy for the .text and .data but the .bss and
.common segments are lumped together. I need the size of the .common
segment (its a long story), can anyone tell me how this can be found
(I know I can use 'objdump' DOS utility but the vxworks application
itself needs to be able to take the file and determine this at
run-time).

 thanks in advance,
 Mark.

P.S. I'm using a PentiumPro target.

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

Newsgroups: comp.os.vxworks
Subject: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 1 Mar 2002 06:51:30 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203010651.23c84c30@posting.google.com>

Hi All,

	I'm facing a problem in accessing my card's (PCI based ethernet card)
registers.
	If anyone of you could help me to fix this, it would be of great
help.

	This is what I did and observe.

	I used pciFindDevice() routine to probe my card and I was able to
find my card. And then I used pciDeviceShow() and pciHeaderShow() for
my card. And this is what I got as output.

==========
Scanning function 0 of each PCI device on bus 0
Using configuration mechanism 0
bus device function vendorID deviceID class
00000000 00000000 00000000 00001014 00000156 00060000
00000000 00000002 00000000 0000143a 00004e53 00028000
Platys: Before entering the while loop
********** SHOWING PCI HEADER BEFORE AdptPciDevConfig()
vendor ID = 0x143a
device ID = 0x4e53
command register = 0x0007
status register = 0x02a0
revision ID = 0x10
class code = 0x02
sub class code = 0x80
programming interface = 0x00
cache line = 0x08
latency time = 0x00
header type = 0x00
BIST = 0x00
base address 0 = 0x4000000c
base address 1 = 0x00000000
base address 2 = 0x00000001
base address 3 = 0x4000100c
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x0000
sub system ID = 0x0000
expansion ROM base address = 0x00000000
interrupt line = 0x1d
interrupt pin = 0x01
min Grant = 0x00
max Latency = 0x00
==========

	For the same card and for the same IBM PPC 405GP on Hard Hat Linux,
We are getting a different sets of BAR addreses like these

==========
base address 0 = 0x81000000
base address 1 = 0x00000000
base address 2 = 0x0000ff00
base address 3 = 0x8100100c
base address 4 = 0x00000000
base address 5 = 0x00000000
==========

	And so I thought there's something wrong in Initializing our PCI
based NIC card. We've decided to configure our device on our own by
writing our own pciDevConfig() function to get the Base Addresses as
we get in Linux. Our implementation of pciDevConfig() function goes
like this, it's purely based on existing pciDevConfig() and its linux
equivlent implementation.

==================
#ifdef	ADPT_TARGET_VXWORKS
#define PCI_CMD_MASK 0xffff0000
static STATUS AdptPciDevConfig
 (
 int pciBusNo, /* PCI bus number */
 int pciDevNo, /* PCI device number */
 int pciFuncNo, /* PCI function number */
 UINT32 devIoBaseAdrs, /* device IO base address */
 UINT32 devMemBaseAdrs, /* device memory base address */
 UINT32 command /* command to issue */
 )
{
 	INT32 ix;
 	UINT32 tmp32;
 	UINT32 size=0, oldMemSize=0, oldIoSize=0;

 	/*
 	* Disable device by clearing its command register field in its
 	* configuration header. Write 0 clears command and preserves
status.
 	*/

 /*
 	* Due to system constraints, this is a partial implementation
 	* of enabling the Base Address Registers (BARs).
 	* It is hoped that all PCI devices only require at most one
 	* I/O space and/or one memory space.
 	* If not, this code will re-allocate the device's memory to
 	* each BAR implemented. Sounds like future trouble!
 	*/

 	for (ix = PCI_CFG_BASE_ADDRESS_0; ix <= PCI_CFG_BASE_ADDRESS_5;
ix+=4)
 {
 	pciConfigOutLong (pciBusNo, pciDevNo, pciFuncNo,
PCI_CFG_COMMAND, 0x0);

 	/* Write all f's and read back value */
 	pciConfigOutLong (pciBusNo, pciDevNo, pciFuncNo, ix,
0xffffffff);
 	pciConfigInLong (pciBusNo, pciDevNo, pciFuncNo, ix, &tmp32);

 	/* BAR implemented? */
		if (tmp32 == 0)
		{
 /*
 	* No! According to the spec, BARs must be implemented
 	* in sequence starting at BAR 0. So, all done.
 	*/
 		break;
 }

		/* I/O space requested? */

		/* Yes, set specified I/O space base address */

		if (tmp32 & 0x1)
 	{
 		size = ~(tmp32 & 0xFFFFFFFC) +1;
			PRINTK("\n@@@@@@@@@@@@@@ size [I/O] -- %x\n",size);
 		devIoBaseAdrs += oldIoSize;
 		oldIoSize += size;
 		pciConfigOutLong (pciBusNo, pciDevNo, pciFuncNo, ix,
 	devIoBaseAdrs | 0x1);
 	}

 	/* No, memory space required, set specified base address */

 	else
 	{
 		size = ~(tmp32 & 0xFFFFFFF0)+1;
			PRINTK("\n############## size [MEM] -- %x\n",size);
 		devMemBaseAdrs += oldMemSize;
 		oldMemSize += size;
 		pciConfigOutLong (pciBusNo, pciDevNo, pciFuncNo, ix,
 	devMemBaseAdrs & ~0x1);

	 		/*
 		* If we are a 64-bit decoder then increment to the
 		* upper 32 bits of the bar and force it to locate
 		* in the lower 4GB of memory.
 		*/

 		if (tmp32 & 0x4)
 		{	/* checking the 3rd bit of tmp32 to check for 64-bit bar
*/
 			ix += 4;
 			pciConfigOutLong (pciBusNo, pciDevNo, pciFuncNo, ix,
0x00000000);
 		}

 	}

		pciConfigOutByte (pciBusNo, pciDevNo, pciFuncNo,
PCI_CFG_CACHE_LINE_SIZE,
 				PCI_CACHE_LINE_SIZE);

 	 	/* Configure Latency Timer */

 		pciConfigOutByte (pciBusNo, pciDevNo, pciFuncNo,
PCI_CFG_LATENCY_TIMER,
 				PCI_LATENCY_TIMER);

 	 /*
 		* Enable the device's capabilities as specified, do not
 		* reset any status bits in doing so.
 		*/

 		pciConfigModifyLong (pciBusNo, pciDevNo, pciFuncNo,
PCI_CFG_COMMAND,
 				(PCI_CMD_MASK | command), command);

 	}// for (ix = PCI_CFG_BASE_ADDRESS_0
 	return (OK);
}// static STATUS AdptPciDevConfig
#endif	// ADPT_TARGET_VXWORKS
==================

	After calling this new
AdptPciDevConfig(pdev->BusNo , pdev->DeviceNo, pdev->FuncNo,ADPT_BAR2,
	ADPT_BAR0,PCI_CMD_MASTER_ENABLE |
PCI_CMD_MEM_ENABLE|PCI_CMD_IO_ENABLE)
(i.e., after finding our device through pciDevConfig() and where
ADPT_BAR2 = 0xff00 and ADPT_BAR0 = 0x81000000), we get the output for
pciHeaderShow() like this
==================
vendor ID = 0x143a
device ID = 0x4e53
command register = 0x0000
status register = 0x02a0
revision ID = 0x10
class code = 0x02
sub class code = 0x80
programming interface = 0x00
cache line = 0x20
latency time = 0xff
header type = 0x00
BIST = 0x00
base address 0 = 0x8100000c
base address 1 = 0x00000000
base address 2 = 0x0000ff01
base address 3 = 0x8100100c
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x0000
sub system ID = 0x0000
expansion ROM base address = 0x00000000
interrupt line = 0x1d
interrupt pin = 0x01
min Grant = 0x00
max Latency = 0x00
==================

	I thought everything worked fine. And started accessing our card's
I/O registers.
	I directly used the BAR2 (0xff00) in sysPciOutLong() and
sysPciInLong() to write and read to/from our card register. Before
that I did the usual PCI config read, writing oxffffffff on the BAR ,
masking it and write back the original BAR value. (That's how I got
0xff00 instead of oxff01).
====
 for (i=0; addresses[i]; i++)
 {
			 PCI_READ_CONFIG_DWORD(pdev, addresses[i],
&curr);
 /*CLI();*/
 PCI_WRITE_CONFIG_DWORD(pdev, addresses[i],
~0);
 PCI_READ_CONFIG_DWORD(pdev, addresses[i],
&mask);
 PCI_WRITE_CONFIG_DWORD(pdev, addresses[i],
curr);
 /*sti();*/
 PRINTK("region %i: mask 0x%04x, now at
0x%04x\n", i, mask, curr);

 if(!mask)
 {
 PRINTK("region %i not existent\n", i);
 break;
 }

 /* extract the type, and the programmable bits
*/
 if (mask & PCI_BASE_ADDRESS_SPACE) {
 type = "I/O";
 mask &= PCI_BASE_ADDRESS_IO_MASK;
 platys_cards[cards_found].io_mapped =
i;
 curr &= IO_BASE;
 }
 else {
 type = "mem";
 mask &= PCI_BASE_ADDRESS_MEM_MASK;
 platys_cards[cards_found].mem_mapped
= i;
 }
 PRINTK("region %i: type %s, size %x\n", i,
type, ~mask+1);
 platys_cards[cards_found].ba[i] = curr;
 PRINTK("base address ba%i is %x\n", i,
platys_cards[cards_found].ba[i]);
 } /* for loop */
..........
	where PCI_READ_CONFIG_DWORD() is equivalent to
	pciConfigInLong((pdev)->BusNo,(pdev)->DeviceNo,(pdev)->FuncNo,(ULONG)(offset),pData);
	and
	PCI_WRITE_CONFIG_DWORD() is equivalent to
pciConfigOutLong((pdev)->BusNo,(pdev)->DeviceNo,(pdev)->FuncNo,(ULONG)(offset),pData);
====

	I was able to write and then read back the written values on specific
registers of my card. But later when I try to read some default values
from the registers I am not getting the expected values. It looks
like, I'm not writing/reading anything to/from my card, instead I'm
reading/writing from/to some memory.

	Then I added oxe7ffffff to my offset and tried to read some
registers, even then I haven't got the default values. I tried with
adding 0xe8000000 instead of adding 0xef777777, but still I am failing
to access my card's registers. I don't know what I'm missing. I'm
still debugging.

	It would be of great help if someone could throw some torch.

	Thanks in advance.

Regards
Arun

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: 1 Mar 2002 14:03:07 GMT
From: litwin@izzy.jpl.nasa.gov (Todd Litwin)
Organization: jpl.nasa.gov
Message-ID: <a5o1mr$9qi$1@nntp1.jpl.nasa.gov>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com> <NVKf8.2913$5o.1993745@newsr2.u-net.net>

> They should have told you to use nm386 rather than objdump.

I don't know about the 386 version of nm, but the other versions that I have
used support a "-u" option that will print out a list of only the undefined
symbols. If you've downloaded a composite binary that has an undefined symbol,
simply run "nm386 -u" on each of the individual .o files until you find the
file that lists the offending symbol.

- --
		Todd Litwin
		Jet Propulsion Laboratory
		Phone: (818) 354-5028; FAX: (818) 354-5028
		Email: Todd.E.Litwin@jpl.nasa.gov

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Fri, 01 Mar 2002 10:17:42 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7F9B96.B16F22AB@notifier-is.net>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu>

when we first caught on that we needed a route, we tried adding it in
usrAppInit(), figuring that the network would be available by then. (but I don't
know the initialization sequence exactly so that whole idea may have been for
the birds). That didn't work so we defered the routeAdd() until kernel
initialization was complete (e.g. in a user level task). As the code is written
we actually wait for serial port communications to commence before doing the
routeAdd(), and I don't know if you can make it work without some sort of delay
or not. It is something we didn't look into deeply, we just wanted it to work
and had to get on with development.

David

Joe Georger wrote:

> Tim,
>
> Your diagram is accurate. The 155.34.103.1 gateway is a router (I don't
> have access to it, though). My development pc has a default gateway of
> 155.34.99.1 (another router). Therefore I didn't need to add a route to
> access the 155.34.103.0 network. I have been searching thru this
> newsgroup's archives and came across the following:
>
> You have to set the default route, period. The way I did it was to modify
> usrNetwork.c and add the following line to usrNetInit()
>
> if (params.gad[0] != EOS) routeAdd("0.0.0.0", params.gad);
>
> The nice thing about doing it this way is your default route will always
> be to the gateway you enter at the boot prompt, so if you ever change that
> the default route will automatically follow.
>
> And this:
>
> This is a very old issue - in both bootConfig.c and usrNetwork.c, routeAdd()
> is called to install a default gateway, but the destination network is the
> same subnet on which the Host is located. This code, as shipped, only good
> for
> VME bp/sm networks - it works for the CPU which is connected only to the VME
> network, and helps it conenct to the Host via the VME/Ethernet gateway.
>
> It has been suggested several times to change this statement to add
> "0.0.0.0"
> as destination, making the default gateway function in all cases (including
> the VME network special case), but the suggestion was not incorporated into
> the product. I beleive that I have filed a TSR about this back in 1991, when
> I
> worked for Applied Materials Inc.
>
> The only and the most elegant fix is to change the routeAdd() statement in
> bootCOnfig.c, usrNetwork.c to be:
>
> routeAdd("0.0.0.0", params.gad);
>
> I did change these files as recommended above. AFAIK the bootConfig.c file
> is used in compiling the bootrom, so I did that and reflashed my board.
> That didn't work. I figured that the bootrom code is superseded by the
> VxWorks image....
>
> I also changed userNetwork.c, but when I rebuilt my VxWorks image, I don't
> think that file was used?? In any event, that didn't work either. Is this
> a viable idea? It sure seems like it should work....
>

>
> Thanks,
> Joe
>
> "Tim Shaw" <Tim.Shaw@dsto.defence.gov.au> wrote in message
> news:3C7ECF52.8429283C@dsto.defence.gov.au...
> > Great suggestion Dave, here's my guess:
> >
> >
> >
> >
> > vx Target PC host
> > 155.34.103.42 155.34.103.41
> > |__________________|_____________________ 155.34.103.0 net
> > |
> > |
> > 155.34.103.1
> > Gateway (PC?)
> > 155.34.99.XX
> > |
> > __________________________________|_____ 155.34.99.0 net
> > |
> > 155.34.99.99
> > dev PC
> >
> >
> > So the vxWorks targets needs to have the following:
> > routeNetAdd "155.34.99.0", "155.34.103.1"
> > which tells it to use the gateway to get to the 155.34.99.0 network.
> >
> > Then on the development PC, you need to add the route:
> > route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
> > which you obviously have done if you can ping the 155.34.103.41 host.

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

Newsgroups: comp.os.vxworks
Subject: test
Date: Fri, 01 Mar 2002 10:29:52 -0500
From: "Xu, Kaihua [BVW:9P82:EXCH]" <kaihuaxu@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3C7F9E70.76521E42@nowhere.com>

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

Newsgroups: comp.os.vxworks
Subject: vxSim networking problem
Date: Fri, 1 Mar 2002 11:06:09 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <fENf8.2769$T_.33760@iad-read.news.verio.net>

I am simulating an application where several nodes periodically
send heartbeats to each other. These heartbeats are just UDP
datagrams. I start up the first vxSim and start the heartbeat task
and it starts sending datagrams to another vxSim which is not yet
running. The packets are lost as expected, otherwise life is good.
When the second vxSim is started, after about 10 heartbeats the
CPU utilization on my NT host goes to 100% and stays there.
Performance is severely degraded. Even if I kill the second vxSim
the CPU stays pegged. When I kill the first vxSim, things go back
to normal. It appears that sending datagrams to a destination that
does not have an app running to receive them causes this. If I
run the destination vxSim first and have it waiting for datagrams
prior to starting the vxSim that sends them, life is good.

Also having quite a bit of trouble keeping more than 2 vxSims
working well. Target Servers die, Target Servers end up talking to
the wrong vxSim, wierdness like that.

Any thoughts are welcome.

doug

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: Fri, 01 Mar 2002 10:20:01 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C7F9C21.48433D2B@varndellengineering.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com>

Arun Prasad wrote:
>
> Hi All,
>
> I'm facing a problem in accessing my card's (PCI based ethernet card)
> registers.
> If anyone of you could help me to fix this, it would be of great
> help.
>

[snip,snip,snip]

Did it occur to you that Linux might setup the bridge registers
differently than your vxWorks BSP does?
In your second dump of the PCI registers, after unnecessarily
changing the original BSP code, the device is not enabled in the
command register. Not that it would matter much since you've forced
the BARs to contain values which likely bear no relationship to the
bridge configuration. Forget what Linux does (unless you look at the
entire PCI configuration picture) and go back to step one. The answer
to your problem has to be simpler than you've made it appear.
You should thoroughly read part IV, chapter 17 of the 405gp manual.

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD. 21502
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP and WINS
Date: 1 Mar 2002 08:43:53 -0800
From: zachary.isom@anritsu.com (Zac Isom)
Organization: http://groups.google.com/
Message-ID: <2df4589f.0203010843.61a63b4e@posting.google.com>
References: <2df4589f.0202280838.15fb4da@posting.google.com> <uheo1qwa3.fsf@yahoo.com>

Thanks for your help. I have been struggling with our network guys
for a while on this. It seems that our network is not set up to
automatically update DNS when an IP address is assigned to a new node
by DHCP. This would be the easiest solution for me. But, I don't
think that they are going to budge on this. That is why I have been
looking for something that I can do from my end to get my name
published on the Internet. Otherwise, I will just have to stick to
static IPs or manually verifying the IP when using DHCP.

Zac

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

Newsgroups: comp.os.vxworks
Subject: Limiting the size of incoming/outgoing TCP packets
Date: 1 Mar 2002 08:46:09 -0800
From: Jack.Cheng@motorola.com (Jack Cheng)
Organization: http://groups.google.com/
Message-ID: <23001d98.0203010846.70ea7122@posting.google.com>

Hi,

I'm interested in limiting the size of incoming/outgoing TCP packets
without affecting incoming/outgoing UDP packets. Has anyone ever
tried this with
VxWorks?

Here's the scenario ...

Say that Host1 (with a VxWorks OS) establishes a TCP connection with
Host2 (with a Solaris OS). Host1 advertises a Maximum Segment Size
(MSS) option in the SYN (or SYN ACK). This tells Host2 the maximum
size of TCP packets that Host1 can handle. So this limits the packet
size on the *incoming* TCP packets on Host1. How can Host1's
advertised MSS be set to a lower value?

Also, I want to limit the size of *outgoing* TCP packets from Host1 to
Host2? One way is to change the advertised MSS that Host2 sends to
the desired value. I don't want to do that though since Host2
sends/receives TCP packets from other hosts and doing so will affect
these other hosts.

I've tried to use setsockopt() (before and after the TCP connection
establishment) but that doesn't seem to work.

Thanks for the help.

	- Jack

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

Newsgroups: comp.os.vxworks
Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
Date: 1 Mar 2002 17:01:48 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna7vcvr.3uk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu> <a5njej$ppp$1@snoopy.bndlg.de>

 * Michael Lawnick <Lawnick@softec.de> [03-Fri-02 01:59 -0800]:
 >
 > see below...
 > "Denis Perelyubskiy" <denis_newsREMOVE-TO-REPLY@hotmail.com> schrieb im
 > Newsbeitrag
 > news:slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu...
 > > Hello,
 > >
 > > There is an upper memory, which is not managed by VxWorks,
 > > nor VxWorks knows about its existence. The amount of memory
 > > there, from what I understand, is defined by
 > > USER_RESERVED_MEM
 > >
 > > There is also some chunk of memory, in sysPhysMemDesc table,
 > > which defines some sort of post-mortem debugging memory area
 > > (or so it does in our system)
 > >
 > > Are the two supposed to co-incide? From their definitions it
 > > does not seem that they are: one VxWorks knows nothing
 > > about, and the second one it does know about. The main
 > > question is how the two are different? I mean, does VxWorks
 > > simply not re-initialize memory reserved for post-mortem
 > > debugging? If that's the case, why would I want to
 > > USER_RESERVED_MEM any memory?

 > just to put your post-mortem into it ! :-)

But, I guess I dont understand what stops me from putting it
into the memory which is managed by VxWorks? Since our
description of physiacl memory specifically has a section
for post-mortem debugging! :) ... I guess, I am also trying
to figure out if this is a standard thing, or if that's
someone in our company that I am not aware of changed
physical memory description to include such section...

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP and WINS
Date: 1 Mar 2002 09:07:12 -0800
From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=)
Organization: http://groups.google.com/
Message-ID: <9ec53d11.0203010907.5322a40a@posting.google.com>
References: <2df4589f.0202280838.15fb4da@posting.google.com>

zachary.isom@anritsu.com (Zac Isom) wrote in message news:<2df4589f.0202280838.15fb4da@posting.google.com>...

[snip]

>
> The reason this is so important is because when I try to connect a
> target server to a unit that has been assigned a dynamic IP address I
> first have to discover the IP address of the target and change it in
> the Tornado target server configuration dialog. It would be much
> easier to simply provide a name.
>

Try putting the target name, instead of the IP address, in the target server.

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

Newsgroups: comp.os.vxworks
Subject: alignment
Date: 1 Mar 2002 17:15:16 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna7vdp3.3uk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Hello,

Just a couple of simple (for you :-) ) alignment questions.
I understand what the concept means, but dont understand how
it applies in the real world, so please bear with my
questions :) Also, please feel free to point out if my
questions do not make much sense (preferrably with a reason
why)...

1. Is it pretty much the case (with some exceptions,
perhaps) that aligning all my ulongs (assuming ulong is 4
bytes, and I am working with something where compiler won't
do this for me) on a 4 byte boundary will speed up access on
any 32-bit architecture, or am I way confused about the
whole alignment concept?

2. I think some architectures (maybe optionally with a bit
set somewhere inthe CPU control register) will disallow
access to unaligned data: does that apply only to pointers,
or to any types spanning multiple bytes, like longs, ints,
shorts?

3. a) If I have a chunk of data, represented as a character
array, and then cast it into some structure, access fields
in it, should I expect to get an alignment exception on
architectures where pointer value is supposed to be aligned
on some boundary?
 b) Would this problem be avoided if I were to use
memcopy() to copy my bytes into my integers, or whatever
else the type of the structure field may be? (presumably
because the function would access individual characters, and
those do not have to be aligned; or, maybe, do have to be
aligned, but on a 1-byte boundary, which is essentially the
same thing)

Thanks very much.

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: clock_gettime fails with write() but not fwrite
Date: Fri, 1 Mar 2002 17:52:32 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7FC043.7020700@spamm.me.l8s.co.uk>
References: <6wBb8.3387$zl4.2197904@typhoon3.we.ipsvc.net> <kOac8.2546$5o.1359289@newsr2.u-net.net> <3C714455.4050207@spamm.me.l8s.co.uk> <22vd8.2703$5o.1592814@newsr2.u-net.net> <3C7688A1.8050805@spamm.me.l8s.co.uk> <2pve8.2770$5o.1748555@newsr2.u-net.net> <3C7A8869.3020108@spamm.me.l8s.co.uk> <eAuf8.2886$5o.1943308@newsr2.u-net.net>

> I convinced myself that it had to be tScsiTask, simply by issuing a huge
> scsi read from my application while tScsiTask was taskSuspend'ed from the
> shell, then waiting a while and seeing vxTicks wasn't zeroed yet, suspending
> everything else (except tShell and tNetTask), waiting a while, and verifying
> vxTicks wasn't reset; then taskResume'ing tScsiTask and spotting vxTicks get
> zeroed at once. But not having the source code, I never felt it was much
> worth narrowing it down any further.

The thing is you need to find the code that causeing it, knowing the
task doesn't really help. It could even be a bug in wdStart() - but
I couldn't see it...

>
>
>>Sometimes it is faster to read likely source files looking
>>for a bug that might cause what you are seeing, fix the
>>bug you found and see if it solves the problem you have.
>>
>
> Heh, of course, if you feel you can dip into any source file at random and
> stand a good chance of just spotting a bug, that's not *really* a good sign.
> Anyway, my chances of convincing my management to spend 10's of kiloquids
> just so I could help WRS find their own bugs have gotta be next to zero :)
> which is fair enough since I got other things to do with me time anyway :P

Easy - even in my code. But I can find bugs in WRS code from the
disassembly, don't need the source....

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 1 Mar 2002 09:56:53 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203010956.256ac87d@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com>

Hi,

	Our card requires 2 64 bit BARs (BAR0 and BAR3. Actually BAR0&BAR1
combination and BAR3 & BAR4 combination forms these 64 bit BAR
registers) and one I/O BAR register (BAR2).

	Since we felt our card's BAR registers haven't been properly
initiatlized from the output of pciHeaderShow(), we have gone for
configuring it on our own.

	Do you mean to say, we can make use of the BARs whichever provided by
our BSP/VxWorks directly without configuring it, in our case?

Regards
Arun

George Varndell <george@varndellengineering.com> wrote in message news:<3C7F9C21.48433D2B@varndellengineering.com>...
> Arun Prasad wrote:
> >
> > Hi All,
> >
> > I'm facing a problem in accessing my card's (PCI based ethernet card)
> > registers.
> > If anyone of you could help me to fix this, it would be of great
> > help.
> >
>
> [snip,snip,snip]
>
> Did it occur to you that Linux might setup the bridge registers
> differently than your vxWorks BSP does?
> In your second dump of the PCI registers, after unnecessarily
> changing the original BSP code, the device is not enabled in the
> command register. Not that it would matter much since you've forced
> the BARs to contain values which likely bear no relationship to the
> bridge configuration. Forget what Linux does (unless you look at the
> entire PCI configuration picture) and go back to step one. The answer
> to your problem has to be simpler than you've made it appear.
> You should thoroughly read part IV, chapter 17 of the 405gp manual.
>
> Regards,
> George Varndell

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

Newsgroups: comp.os.vxworks
Subject: Re: problem creating new project
Date: Fri, 1 Mar 2002 18:08:21 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7FC3F8.1000306@spamm.me.l8s.co.uk>
References: <a5l0d3$jb8b$1@simian.nlr.nl> <3C7E5F02.2545B753@notifier-is.net> <khDf8.20374$mG.82331@rwcrnsc54>

drdiags wrote:

> David and Michiel,
>
> This is an SPR, don't know when it will be fixed since Wind Surf states
> it was created Apri 22,
> 1999:
>
> TITLE: Including PCMCIA by hand in config.h or #define n in the
> BSP header file
> makes it impossible to create a bootable project.
> SPR #: 26952
> STATUS: Assigned
> IDE: Tornado 2.0

>>>-> project creation failed:
>>> "list must have an even number of elements"

I hit that one in June 99, was told that 'an engineer was working
on it', however I never saw a fix! I think WRS stopped looking
for the bug when they found a work around - don't enable PCMCIA
until after the project is created (or some such).

Didn't help me - I wasn't using an x86 BSP and didn't have
PCMCIA enabled. However my BSP header file probablyt contained
something else it didn't like.

Since WRS didn't even find the part of the pcmcia header file
that caused the problem, never mind actually FIXING the project
build script I didn't ever create a project for T2....

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: Fri, 01 Mar 2002 13:14:52 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7FC51C.F75E564D@notifier-is.net>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com>

Arun Prasad wrote:

> Hi,
>
> Our card requires 2 64 bit BARs (BAR0 and BAR3. Actually BAR0&BAR1
> combination and BAR3 & BAR4 combination forms these 64 bit BAR
> registers) and one I/O BAR register (BAR2).
>
> Since we felt our card's BAR registers haven't been properly
> initiatlized from the output of pciHeaderShow(), we have gone for
> configuring it on our own.
>
> Do you mean to say, we can make use of the BARs whichever provided by
> our BSP/VxWorks directly without configuring it, in our case?
>

if it is truly initialized via the BSP it might be smarter to leave it be because there may be other related
configuration (for example enabling the part of the memory map indicated by the BARS) or you might cause a clash with
some memory or other device on the board. But it really depends on the card & whether the person who wrote the BSP had
the same idea of how to use it as you do.

David

>
> Regards
> Arun
>
> George Varndell <george@varndellengineering.com> wrote in message news:<3C7F9C21.48433D2B@varndellengineering.com>...
> > Arun Prasad wrote:
> > >
> > > Hi All,
> > >
> > > I'm facing a problem in accessing my card's (PCI based ethernet card)
> > > registers.
> > > If anyone of you could help me to fix this, it would be of great
> > > help.
> > >
> >
> > [snip,snip,snip]
> >
> > Did it occur to you that Linux might setup the bridge registers
> > differently than your vxWorks BSP does?
> > In your second dump of the PCI registers, after unnecessarily
> > changing the original BSP code, the device is not enabled in the
> > command register. Not that it would matter much since you've forced
> > the BARs to contain values which likely bear no relationship to the
> > bridge configuration. Forget what Linux does (unless you look at the
> > entire PCI configuration picture) and go back to step one. The answer
> > to your problem has to be simpler than you've made it appear.
> > You should thoroughly read part IV, chapter 17 of the 405gp manual.
> >
> > Regards,
> > George Varndell

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 1 Mar 2002 18:13:53 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7FC546.7000908@spamm.me.l8s.co.uk>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com> <NVKf8.2913$5o.1993745@newsr2.u-net.net> <a5o1mr$9qi$1@nntp1.jpl.nasa.gov>

Todd Litwin wrote:

>> They should have told you to use nm386 rather than objdump.
>>
>
> I don't know about the 386 version of nm, but the other versions that I have
> used support a "-u" option that will print out a list of only the undefined
> symbols. If you've downloaded a composite binary that has an undefined symbol,
> simply run "nm386 -u" on each of the individual .o files until you find the
> file that lists the offending symbol.

find . -name '*.[oa]' | ( while read f
	do
	nmxxx $f 2>/dev/null | grep '\<_symbol_name\>' && echo $f
	done )

Will sometimes help...

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: alignment
Date: Fri, 01 Mar 2002 13:22:55 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7FC6FF.DB1B5DF4@notifier-is.net>
References: <slrna7vdp3.3uk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Denis Perelyubskiy wrote:

> Hello,
>
> Just a couple of simple (for you :-) ) alignment questions.
> I understand what the concept means, but dont understand how
> it applies in the real world, so please bear with my
> questions :) Also, please feel free to point out if my
> questions do not make much sense (preferrably with a reason
> why)...
>
> 1. Is it pretty much the case (with some exceptions,
> perhaps) that aligning all my ulongs (assuming ulong is 4
> bytes, and I am working with something where compiler won't
> do this for me) on a 4 byte boundary will speed up access on
> any 32-bit architecture, or am I way confused about the
> whole alignment concept?
>

depends on the architecture and how it is designed. May also depend on
exactly how memory is hooked up to it.

>
> 2. I think some architectures (maybe optionally with a bit
> set somewhere inthe CPU control register) will disallow
> access to unaligned data: does that apply only to pointers,
> or to any types spanning multiple bytes, like longs, ints,
> shorts?
>

usually any type with size > 1 (a pointer is really an int of some sort;
the only thing that makes it a pointer is that the compiler knows how to
generate extra code to use it as an address).

>
> 3. a) If I have a chunk of data, represented as a character
> array, and then cast it into some structure, access fields
> in it, should I expect to get an alignment exception on
> architectures where pointer value is supposed to be aligned
> on some boundary?

if your structure fields are unaligned, yes you may get an access
violation when you try to access one. Depends on the architecture
though, and possibly configuration. Note that the GNU compilers
typically align things unless you ask them not to.

>
> b) Would this problem be avoided if I were to use
> memcopy() to copy my bytes into my integers, or whatever
> else the type of the structure field may be? (presumably
> because the function would access individual characters, and
> those do not have to be aligned; or, maybe, do have to be
> aligned, but on a 1-byte boundary, which is essentially the
> same thing)
>

yes, assuming the compiler and run-time environment were set up to align
variables properly based on their size.

David

>
> Thanks very much.
>
> denis
>
> --
> if you want to reply by mail, please tweak my
> address in a reasonable way. sorry for the
> inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: alignment
Date: Fri, 1 Mar 2002 18:20:50 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C7FC6E5.1040906@spamm.me.l8s.co.uk>
References: <slrna7vdp3.3uk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Denis Perelyubskiy wrote:

>
> 1. Is it pretty much the case (with some exceptions,
> perhaps) that aligning all my ulongs (assuming ulong is 4
> bytes, and I am working with something where compiler won't
> do this for me) on a 4 byte boundary will speed up access on
> any 32-bit architecture, or am I way confused about the
> whole alignment concept?

I dont know of any exceptions :-)

>
> 2. I think some architectures (maybe optionally with a bit
> set somewhere inthe CPU control register) will disallow
> access to unaligned data: does that apply only to pointers,
> or to any types spanning multiple bytes, like longs, ints,
> shorts?

All items, in some systems 'double' has to be 8 byte aligned.

>
> 3. a) If I have a chunk of data, represented as a character
> array, and then cast it into some structure, access fields
> in it, should I expect to get an alignment exception on
> architectures where pointer value is supposed to be aligned
> on some boundary?]

Absolutely, unless you know the alignment of the memory
area is ok. Memory returned by malloc() is ok, static
data items are not.

> b) Would this problem be avoided if I were to use
> memcopy() to copy my bytes into my integers, or whatever
> else the type of the structure field may be? (presumably
> because the function would access individual characters, and
> those do not have to be aligned; or, maybe, do have to be
> aligned, but on a 1-byte boundary, which is essentially the
> same thing)

That will work - but beware of endianness issues. If you need
to get an integer from a possibly misaligned access it is
probably better just to load the bytes and shift them by hand
eg p[0] << 24 | p[1] << 16 | p[2] << 8 | [3]

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: post-mortem debugging, upper memory, and USER_RESERVED_MEM
Date: 01 Mar 2002 13:28:56 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u3czkqh07.fsf@yahoo.com>
References: <slrna7tou1.39r.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu> <a5njej$ppp$1@snoopy.bndlg.de> <slrna7vcvr.3uk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
Sender: bpringlemeir@DeadDuck

>>>>> "Denis" == Denis Perelyubskiy <denis_news@hotmail.com> writes:

 Denis> But, I guess I dont understand what stops me from putting it
 Denis> into the memory which is managed by VxWorks? Since our
 Denis> description of physiacl memory specifically has a section for
 Denis> post-mortem debugging! :) ... I guess, I am also trying to
 Denis> figure out if this is a standard thing, or if that's someone
 Denis> in our company that I am not aware of changed physical memory
 Denis> description to include such section...

`sysPhysMemDesc' is used for MMU configuration. I have a system
without any MMU and I have removed `sysPhysMemDesc' entirely. You
must have the memory mapped in order to access it from anywhere. So
you must "tell vxWorks about it". Don't think of vxWorks as one
entity, it is many.

USER_RESERVED_MEM on the other hand is used to tell the memory
partition sub-system to ignore this memory. So malloc, memPartAlloc,
etc will not use it. If no one uses it, it is free for post-mortem to
use. It is also important that no other software over-writes this
memory on a reset.

hth,
Bill Pringlemeir.
- --
You have the lack of intelligence of a rat. You're a typical feminist
person, totally crass.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: DOS file system
Date: 01 Mar 2002 13:45:10 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uy9hcp1op.fsf@yahoo.com>
References: <b3ec7c99.0202271412.1d9ed685@posting.google.com> <newscache$h2k8sg$5r5$1@lnews.actcom.co.il> <ur8n5r2gi.fsf@yahoo.com> <a5nh53$7ve$1@news.hdpp.de>
Sender: bpringlemeir@DeadDuck

>>>>> "Matthias" == Matthias Guelck <Matthias.Guelck@de.heidelberg.com> writes:

 Matthias> Hi Bill, hi Charles, we are very concerned about the FLASH
 Matthias> wearing by read functions modifying the last accessed
 Matthias> field.

 Matthias> How did you get the source code (bought from WRS? - how
 Matthias> much $?).

 Matthias> How much time did you need for the rework?

Perhaps you can ask your FAE. The code changes are very easy.
"dosFs/dosFsLib.c" needs to be changed. I have a diff below.
However, I think you just need to search for "->accessed" and note how
the code is being used to understand. There are about three to four
occurrences of this. As Leonid noted, this should probably be
configurable.

hth,
Bill Pringlemeir.

[dosFsLib.c differences]
*** c:/TEMP/dosFsLib.c.~1.2~	Wed Feb 27 19:52:55 2002
- --- c:/TEMP/dosFsLib.c.~1.1.~	Wed Feb 27 19:52:55 2002
***************
*** 2532,2543 ****
 	}

 /* update file's directory entry */
! if(cbioModeGet(pVolDesc->pCbio) != O_RDONLY)
! {
! pFd->accessed = 0;
! if(pFd->changed)
! pVolDesc->pDirDesc->updateEntry(pFd, DH_TIME_MODIFY, time(NULL));
! }
 /*
 * flush buffers and deallocate unused clusters beyond EOF,
 * if last file descriptor is being closed for the file
- --- 2532,2547 ----
 	}

 /* update file's directory entry */
!
! if( cbioModeGet(pVolDesc->pCbio) != O_RDONLY &&
! ( pFd->accessed || pFd->changed ) )
! 	{
! 	u_int	timeFlag = (pFd->accessed)? DH_TIME_ACCESS :
! 					 DH_TIME_MODIFY ;
! 	pVolDesc->pDirDesc->updateEntry( pFd, timeFlag, time( NULL ) );
! 	pFd->accessed = 0;
! 	}
!
 /*
 * flush buffers and deallocate unused clusters beyond EOF,
 * if last file descriptor is being closed for the file
***************
*** 3986,3996 ****
 retVal = OK;

 /* store directory entry */
! if(pFd->changed)
! {
 	 	retVal = pVolDesc->pDirDesc->updateEntry(
! 	 			pFd, DH_TIME_MODIFY, time(NULL));
! }
 if( retVal == OK )
 	{
 	 	retVal = cbioIoctl(
- --- 3990,4003 ----
 retVal = OK;

 /* store directory entry */
!
! if( pFd->accessed || pFd->changed )
! 	{
! 	 	ptrBuf = (void *)((pFd->accessed)? DH_TIME_ACCESS :
! 					 DH_TIME_MODIFY ) ;
 	 	retVal = pVolDesc->pDirDesc->updateEntry(
! 	 			pFd, (u_int)ptrBuf, time( NULL ) );
! 	 	}
 if( retVal == OK )
 	{
 	 	retVal = cbioIoctl(

- --
The mailman will share intimate feelings today. Don't forget to play
Sam and Max Hit the Road. You will meet the man this week. You'll
fall into a state of gaiety, but eventually be a Borg.

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: PPP/DHCP bugs [was: clock_gettime fails with write() but not fwrite]
Date: 01 Mar 2002 14:10:41 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uu1s0p0i6.fsf_-_@yahoo.com>
References: <6wBb8.3387$zl4.2197904@typhoon3.we.ipsvc.net> <kOac8.2546$5o.1359289@newsr2.u-net.net> <3C714455.4050207@spamm.me.l8s.co.uk> <22vd8.2703$5o.1592814@newsr2.u-net.net> <3C7688A1.8050805@spamm.me.l8s.co.uk> <2pve8.2770$5o.1748555@newsr2.u-net.net> <3C7A8869.3020108@spamm.me.l8s.co.uk> <eAuf8.2886$5o.1943308@newsr2.u-net.net> <3C7FC043.7020700@spamm.me.l8s.co.uk>
Sender: bpringlemeir@DeadDuck

>>>>> "David" == David Laight <david@spamm.me.l8s.co.uk> writes:

 David> Easy - even in my code. But I can find bugs in WRS code from
 David> the disassembly, don't need the source....

 -> l muxUnbind
 muxUnbind:
 00061784 e92d47f0 STMDB r13!,{r4-r10,r14}
 00061788 e3a05000 MOV r5,#0
 0006178c e2506000 SUBS r6,r0,#0

[snip]

 00061840 e1a01004 MOV r1,r4
 00061844 e1a00009 MOV r0,r9
 00061848 ebffaa72 BL lstDelete
 value = 399436 = 0x6184c = muxUnbind + 0xc8
 -> l
*** 0006184c e1a00004 MOV r0,r4
 00061850 ebff1b8c BL free
 00061854 e5940048 LDR r0,[r4,#0x48]
 00061858 eb002b39 BL muxTkUnbindUpdate
*** 0006185c e3a00000 MOV r0,#0
 00061860 e8bd87f0 LDMIA r13!,{r4-r10,pc}

But memory is freed. How can you use it? vxWorks bug.

 -> l ifreset
 _ifreset
 000b1990 e92d4030 STMDB r13!,{r4,r5,r14}

[snip]

 000b19b8 e1d401f6 LDRSH r0,[r4,#0x16]
 000b19bc e1a0e00f MOV r14,pc
*** 000b19c0 e1a0f003 MOV pc,r3
*** 000b19c4 e5944004 LDR r4,[r4,#4]
 000b19c8 e3540000 CMP r4,#0

Opps, call close() and use the structure. vxWorks bug.

So far I have been waiting since Feb-08 to get something. There is no
movement on the 1st TSR and the 2nd TSR is marked as "Wind River work
required". It seems that the vxWorks extentions to the networks
layers have quite a few of these memory ownership problems
[speculation on my part]. BSD portions are pretty rock solid AFAIAC.

Regards,
Bill Pringlemeir.

- --
However, if you want the underlying mechanism, it isnt a semantic
issue, because at some level, there is no more rug to shuffle things
under. - Bilge

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Fri, 1 Mar 2002 20:15:57 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c7fd364@brateggebdc5.br-automation.co.at>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com> <3C7EF18C.5621@despam.autobahn.mb.ca> <3C7EEC94.2A97020B@bitworkssystemsDELETETHIS.com>

Hi,

take a WARNING to this hint as well:

linking your application will only tell you unresolved symbols if they do
not _exist_ in your VxWorks installation.
It silently includes symbols of VxWorks features, even if they are not
configured into the VxWorks image.

You have then the functions resolved, BUT you don't have the library in
question initialized.

Instead of linking your application during development it is probably better
to struggle with unresolved symbols.
I can tell from personal experience, that the problem described above is not
necessarily simple to figure out.
(Some API calls seem to work perfectly well, "only" some pointers are not
setup properly WITHIN the kerner (library) code.

The reason for the misbehaviour described is, that you bootable VxWorks
project is linked again the entire VxWorks library.
(everything - usually - that has been installed).

The linker does not care about whether the feature is included in the
project facility, it just includes everything that is referenced.

hth
Werner

P. S.

I usually use just simply the Find in Files (Windows Explorer, Visual
Studio, whatever you like) feature to find out, where the function is
referenced.
For C++ you need to demangle the function name, before you do the search.
You can use the c++filt<arch> tool to do the search (e. g. for intel
targets, the name is c++filt386).
Of course you can also use a source code browser to find out - but these are
as well limited if you do odd stuff with the preprocessor - don't expect to
much.
Most of the time, you have a hit with the first try.
Otherwise, you've often a design problem (like using the preprocessor to
build function/method/class names) rather than a tool problem.

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3C7EEC94.2A97020B@bitworkssystemsDELETETHIS.com...
>
>
> "H. E. Taylor" wrote:
>
> > In article <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>,
> > <JonUN@bitworkssystemsDELETETHIS.com> Jon Newbill wrote:
> > >
> > >[...]
> > > So the question is. How do you find what module referenced an
undefined
> > > symbol when you download a .out file that was built from 50 or more
> > > modules?
> > >
> > This is a problem we have all faced. There are a couple of
> > tactics I used until I got to know the code better.
> >
> > One simple thing you can do is build images with your code
> > added. This way you find out at compile time rather than
> > load time. It just shortens your cycle.
> >
> > Another thing you can do is get real friendly with grep.
> >
> > Another thing you can do is get a source code browser. It seems
> > to me there is a VxWorks version of this now.
> >
> > If you are adventurous and happen to have MSVC (or whatever they
> > are calling it now), you can set up a static lib project of the
> > files you are compiling (to the .out) and use the MSVC source
code
> > browser (the lib will be throwaway).
> > <hth>
> > -het
> >
> > --
> > "progress in software has not followed Moore's law." -John Holland
> >
> > Zimbabwe Links & News: http://www.autobahn.mb.ca/~het/zimbabwe.html
> > H.E. Taylor http://www.autobahn.mb.ca/~het/
>
> These solutions assume you have source to all the code and that it's in a
> convienient place to do a massive grep on. It also assumes no use of
#defines
> to create symbols. From your reply it appears that there really is no way
to
> find the offending object file? When you say build an image you mean a
final
> executable with OS included which would actually use the linker? In that
case
> does the linker/loader report the offending object module for an
undefined?
>
> Jon Newbill
> JonUN@bitworkssystemsREMOVTHIS.com
>

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

Newsgroups: comp.os.vxworks
Subject: Re: problem creating new project
Date: Fri, 01 Mar 2002 14:30:25 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7FD6D1.FF14773C@notifier-is.net>
References: <a5l0d3$jb8b$1@simian.nlr.nl> <3C7E5F02.2545B753@notifier-is.net> <khDf8.20374$mG.82331@rwcrnsc54> <3C7FC3F8.1000306@spamm.me.l8s.co.uk>

David Laight wrote:

> drdiags wrote:
>
> > David and Michiel,
> >
> > This is an SPR, don't know when it will be fixed since Wind Surf states
> > it was created Apri 22,
> > 1999:
> >
> > TITLE: Including PCMCIA by hand in config.h or #define n in the
> > BSP header file
> > makes it impossible to create a bootable project.
> > SPR #: 26952
> > STATUS: Assigned
> > IDE: Tornado 2.0
>
> >>>-> project creation failed:
> >>> "list must have an even number of elements"
>
> I hit that one in June 99, was told that 'an engineer was working
> on it', however I never saw a fix! I think WRS stopped looking
> for the bug when they found a work around - don't enable PCMCIA
> until after the project is created (or some such).
>
> Didn't help me - I wasn't using an x86 BSP and didn't have
> PCMCIA enabled. However my BSP header file probablyt contained
> something else it didn't like.
>
> Since WRS didn't even find the part of the pcmcia header file
> that caused the problem, never mind actually FIXING the project
> build script I didn't ever create a project for T2....
>
> David

Yeah PCMCIA was the problem... I disabled it long enough to create a project and
it worked! Previously I had been copying other projects and modifying the WPJ
file enough to bootstrap me in whenever I wanted a new project...

David

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

Newsgroups: comp.os.vxworks
Subject: Re: How to make assert break into debugger with hardcoded breakpoint
Date: Fri, 1 Mar 2002 20:28:34 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c7fd659$1@brateggebdc5.br-automation.co.at>
References: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com>

Hi,

I think I remember to have plain Int 3 working, but not sure.

But you can use taskSuspend() instead.
You can then attach the debugger to the suspended task and see what went
wrong.

This works for task level stuff, interrupts are something completely
different of course.

To get informed when you trigger an assertion, you should output some
descriptive message with logMsg().

hth
Werner

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com...
> Ok here's another VxWorks Newbi question or is that a Newbill
> question. On every other embedded system debugger I've used I would
> always create an assert() macro that would execute a hard coded
> breakpoint instruction to cause a trap into the debugger when an assert
> occurs. This is quite useful since your in sitting right there in
> context and can use the full power of the debugger to figure out how you
> got the assert or in some cases correct the problem and continue on
> debugging. On Intel platforms INT3 is the usual breakpoint
> instruction and on 68K systems it was a TRAP 0.
>
> Now I'm using Intel on VxWorks 5.4.2 with GNU tools and executing an INT
> 3 seems to send the target into never never land. Does anyone know a
> method to programatically break into the debugger?
>
> Jon Newbill
> JonUN@bitworkssystemsREMOVTHIS.com
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: muxLoad Failed while picking up the VxWorks image from host
Date: Fri, 1 Mar 2002 20:30:25 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c7fd6c7$1@brateggebdc5.br-automation.co.at>
References: <ae7893e8.0202282234.7a955751@posting.google.com>

"Ajay Garg" <ajay_garg@delhi.tcs.co.in> wrote in message
news:ae7893e8.0202282234.7a955751@posting.google.com...
> Hi,
> I am using 3COM card

WHICH one? WHICH BSP? Version of VxWorks? ...

regards
Werner

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

Newsgroups: comp.os.vxworks
Subject: Proc Numbers, booting and VME transfers
Date: 01 Mar 2002 13:38:29 -0600
From: Greg Willden <gregory.willden@swri.org>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <87vgcgm62y.fsf@rainier.electro.swri.edu>
Sender: gwillden@rainier.electro.swri.edu

I am trying to find the *right* way of doing this in vxworks. I know
a hack or two but...

I have multiple Synergy dual and quad PPC cards in a single VME rack.
Each card has it's own ethernet connection that all processors
x,y(z,w) share. In the case of the quad board the processors
(x,y,z,w) are given processor numbers 0-3 respectively. If I add
another card or two to the chassis then I have two options:
(a) number the processors the same (0-3)
or
(b) continue the series (4-7 etc).

If I choose (a) then all is well until I try to do a VME transfer
between the cards. Then I would have multiple cards with their A32
slave windows in the same place. This is bad.

If I choose (b) then instead of each card booting up from its own
network connection the cards whose x processor number is greater than
0 attempt to boot over the VME backplane. I guess that isn't
necessarily a bad thing as long as I can then reconfigure the network
for all of the cards except slot 0.

My hack solution would be to create different kernels for each board
with different A32 windows but that just smells bad to me.
A slight variation would be to configure an additional A32 window for
each card based on IP address or something like that.

What is the *right* way to configure these cards to play nicely over
VME while booting from (or reconfiguring after boot) their own
ethernet connection?

Thanks
Greg Willden

- --
Hofstadter's Law: It always takes longer than you expect, even
 when you take into account Hofstadter's Law.

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

Newsgroups: comp.os.vxworks
Subject: Re: Limiting the size of incoming/outgoing TCP packets
Date: Fri, 1 Mar 2002 11:58:41 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u7vnchr7f686ed@corp.supernews.com>
References: <23001d98.0203010846.70ea7122@posting.google.com>

setsockopt() can be used to adjust TCP window sizes. It won't let you
adjust MSS.

For local reachable destinations, MSS is dependent on the MTU of network
interface. For ethernet, MSS will largely depend on ethernet MTU. This
means, you could artificially lower the MTU size for ethernet interface in
the driver (ifp->if_mtu) to reduce the MSS at the start of TCP connection.
Not pretty, but it might do what you want.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to make assert break into debugger with hardcoded breakpoint
Date: 01 Mar 2002 15:09:36 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <upu2ooxrz.fsf@yahoo.com>
References: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com> <newscache$3adasg$y88$1@lnews.actcom.co.il>
Sender: bpringlemeir@DeadDuck

>>>> "Jon Newbill" <Jon@bitworkssystems.com> wrote:

 >> On every other embedded system debugger I've used I would always
 >> create an assert() macro that would execute a hard coded
 >> breakpoint instruction to cause a trap into the debugger when an
 >> assert occurs.

>>>>> "Leonid" == Leonid Rosenboim <Leonid@Consultant.com> writes:

 Leonid> Two solutions: the easiest is simply set a breakpoint on the

[snip]

Another solution, use the "DBG_BREAK_INST" define to add an
instruction that will set a break point. I don't recommend this. On
most CPU types, this is an undefined instruction. vxWorks might just
give that exception.

Another solution is to the the b() function in dbgLib. The prototype
is,
 STATUS b
 (
 INSTR * addr, /* where to set breakpoint, or 0 = display */
 /* all breakpoints */
 int task, /* task for which to set breakboint, 0 = */
 /* set all tasks */
 int count, /* number of passes before hit */
 BOOL quiet /* TRUE = don't print debugging info, FALSE */
 /* = print debugging info */
 )

You need to set this to pc + xxx in your debug macro. taskIdSelf() is
a helpful function. I think this might be your best choice.

That is a good idea. Thanks for asking the question. I just usually
had the task abort.

hth,
Bill Pringlemeir.
- --
cracking munitions Ft. Bragg Serbian Qaddafi Saddam Hussein Ft. Meade
Soviet plutonium radar Rule Psix [Hello to all my fans in domestic
surveillance] strategic ammunition Semtex

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP problem
Date: Fri, 1 Mar 2002 22:11:04 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$nebbsg$m0a$1@lnews.actcom.co.il>
References: <3C7E0A02.3F646C90@sepro-robotique.com> <newscache$nnr8sg$bz5$1@lnews.actcom.co.il> <3C7F7A9D.2AB0A3B2@sepro-robotique.com>

Emanuel, here is another idea:
FTP fires a "work" task for each session, perhaps the problem
is the work task stack. It is controlled via a global variable, whenver
you change the variable all new tasks will be created with the new stack
size.
If I recall correctly, the variable is ftpdTaskStackSize

Also, I am not sure you actually changed the stack size of tNetTask,
double check this with checkStack.

The fact that large files work OK would suggest the serial driver is
innoscent.

"Emmanuel Herbreteau" <eherbreteau@sepro-robotique.com> wrote in message
news:3C7F7A9D.2AB0A3B2@sepro-robotique.com...
> Hi,
>
> Thanks for this answer.
> Unfortunately, it didn't solve the problem
>
> Leonid Rosenboim wrote:
> > It could be the NetTask, so I do recommend you double its stack size
>
> So, I tried two things :
> - add the "Define" in "netBufLib.h" to increase the number of mBlk buffer
> (used by the network stack).
> - change some setting in the FTP server (number of client allowed,
miscelleanous
> time setting, etc...)
>
> > If not, this could be due to the serial driver not being able to keep up
> > with the high rate of interrupt, so I would suggest to repeat the same
> > test with a lower speed, e.g. 9600 baud.
>
> I also tried this but it didn't change anything.
>
> Description : the FTP server works (on the target) perfectly when
> transferring medium size files (64KB), but when I tried to transfer
> a lot of small files, it's like the PPP driver crash after 8-9 files
> (CRC error on the serial link, no more IP service available, even
"ICMP/ping")
> (I have to disconnect PPP and then reconnect).
>
> It's VxWorks 5.4 with the latest patches and FTP server from DOSFS2
add-on.
>
> > Leonid
> 'Au revoir' and 'Bonne journe' ! ;-)
>
> --
> Best regards
> Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: muxLoad Failed while picking up the VxWorks image from host
Date: Fri, 01 Mar 2002 15:31:06 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C7FE50A.C1A46C9C@notifier-is.net>
References: <ae7893e8.0202282234.7a955751@posting.google.com>

does your configuration string have the correct card name? Seems like
you get errors like this if you specify a network boot device that
doesn't exist...

David

Ajay Garg wrote:

> Hi,
> I am using 3COM card to communicate across network. I am getting a
> message "muxLoad failed" after getting the prompt on target. But if I
> am using a fei card, I am getting everything fine. I am making the
> necessary changes in config file for my BSP which is pentium.
> Your help is needed to solve this problem.
>
> Regards,
> Ajay Garg.

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: Fri, 1 Mar 2002 15:28:23 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203011513570.10460-100000@zimbra>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra>
 <newscache$zvh5sg$171$1@lnews.actcom.co.il>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Tue, 26 Feb 2002, Leonid Rosenboim wrote:

> From the kernel behavioural perspective, behaviour is very well
> defined in the case of a system call (a.k.a. kernel routine) while
> interrupts ar elocked - if rescheduling happens, i.e. if the call made
> causes another task to become READY which is of higher priority,
> a task switch will occur and interrupts will be unlocked, until the
> processor runs the subject task again, it will then return interrupt
> mask to "locked" again.

Perhaps you did not understand my question.

Say I write the following code:

 void myFunc(void) {
 int level = intLock();

 semGive(mySem);
	/* are interrupts still locked? */
 intUnlock(level);
 }

Here, I am invoking a kernel function with interupts locked. I am aware
of the fact that locking interrupts is done on a task-by-task basis, and
that the above semGive() could cause a higher priority task to become
ready, thereby preemting the current task, and unlocking interrupts until
the (old) current task runs again. While this may be counter-intuitive to
some, it is at least well defined and predictable.

However, I am also aware of the fact that some kernel functions will
unlock interrupts in the current task. That is, internally they lock
interrupts, then later unlock them, without regard to whether they were
locked on entry to the function. In my example function, if I did some
amount of work between the semGive() and the intUnlock(level), how do I
know if interrupts are still locked?

Is there a list of kernel functions that says which will honor the locking
level that was present on entry, and which will undo what ever interrupt
locking you may have had in place?

Keith

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

Newsgroups: comp.os.vxworks
Subject: LP-VxWin
Date: Fri, 1 Mar 2002 15:20:47 +0100
From: "Mik" <michele.caselli@ersistemi.it>
Message-ID: <3c7f8d97.0@news.dada.it>

Hi,
I use Kuka robot for one project and now i'm interested in knowing more on
the architecture of the controller KRC2 (is based on LP-VxWin of LP
Eletronic).
I'm very begginner on that issue but i want to know how the things run, how
to optimize the system for smooth and so on.
I'm very interested in relation between the source code that i write and the
LP-VxWin RT kernel.
Can anyone help me?

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

Newsgroups: comp.os.vxworks
Subject: Re: How to make assert break into debugger with hardcoded breakpoint
Date: Fri, 01 Mar 2002 21:10:53 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C7FEEBC.60696022@bitworkssystemsDELETETHIS.com>
References: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com> <3c7fd659$1@brateggebdc5.br-automation.co.at>

This sounds good except I want all tasks to stop execution not just the one
that had the assert. I thought I had INT3 working too with the 1st BSP I got
from VMIC but that had significant other problems (GP faults).

Jon Newbill

Werner Schiendl wrote:

> Hi,
>
> I think I remember to have plain Int 3 working, but not sure.
>
> But you can use taskSuspend() instead.
> You can then attach the debugger to the suspended task and see what went
> wrong.
>
> This works for task level stuff, interrupts are something completely
> different of course.
>
> To get informed when you trigger an assertion, you should output some
> descriptive message with logMsg().
>
> hth
> Werner
>
> "Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
> news:3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com...
> > Ok here's another VxWorks Newbi question or is that a Newbill
> > question. On every other embedded system debugger I've used I would
> > always create an assert() macro that would execute a hard coded
> > breakpoint instruction to cause a trap into the debugger when an assert
> > occurs. This is quite useful since your in sitting right there in
> > context and can use the full power of the debugger to figure out how you
> > got the assert or in some cases correct the problem and continue on
> > debugging. On Intel platforms INT3 is the usual breakpoint
> > instruction and on 68K systems it was a TRAP 0.
> >
> > Now I'm using Intel on VxWorks 5.4.2 with GNU tools and executing an INT
> > 3 seems to send the target into never never land. Does anyone know a
> > method to programatically break into the debugger?
> >
> > Jon Newbill
> > JonUN@bitworkssystemsREMOVTHIS.com
> >
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: June 2001 v/s T2CP4
Date: Fri, 1 Mar 2002 16:52:39 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi national Accelerator Lab
Message-ID: <a5p0jm$cvt$1@info4.fnal.gov>
References: <a4c1al$jca$1@info4.fnal.gov>

For those who were curious:

WRS support says the June 2001 update applies only to T 2.02.

So we need to apply the driver updates after applying the t2cp4 patch.

dinker

Dinker Charak wrote:

> Hello,
>
> Does someone know which came first? T2CP4 says it was released on June
> 2001. So is it that all driver updates and bug-fixes in Jume 2001 driver
> pack release are part of T2CP4?
>
> Thanks,
> Dinker
>

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP/DHCP bugs [was: clock_gettime fails with write() but not fwrite]
Date: Fri, 1 Mar 2002 23:06:37 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8009E0.5080300@spamm.me.l8s.co.uk>
References: <6wBb8.3387$zl4.2197904@typhoon3.we.ipsvc.net> <kOac8.2546$5o.1359289@newsr2.u-net.net> <3C714455.4050207@spamm.me.l8s.co.uk> <22vd8.2703$5o.1592814@newsr2.u-net.net> <3C7688A1.8050805@spamm.me.l8s.co.uk> <2pve8.2770$5o.1748555@newsr2.u-net.net> <3C7A8869.3020108@spamm.me.l8s.co.uk> <eAuf8.2886$5o.1943308@newsr2.u-net.net> <3C7FC043.7020700@spamm.me.l8s.co.uk> <uu1s0p0i6.fsf_-_@yahoo.com>

> So far I have been waiting since Feb-08 to get something. There is no
> movement on the 1st TSR and the 2nd TSR is marked as "Wind River work
> required". It seems that the vxWorks extentions to the networks
> layers have quite a few of these memory ownership problems
> [speculation on my part]. BSD portions are pretty rock solid AFAIAC.

Yep - those are typical....

With the source it should take about 10 seconds to fix them.
Somehow WRS don't seem to manage it, even the next release
will (probably) contain the same bug.

ISTR that they need a 'test case' in order to get a bug fixed.
The obvious presence of one in the source isn't enough :-)

What usually happens is that you convince 'support' that there
is a bug, so they convert the TSR into an SPR. That is then
a big, big black hole which nothing seems to come out of, and
you can't look into.

Maybe if you have the time and effort (or a suitable manager to
delegate it to) you can pester WRS twice a day until something
happens. I would just write a patch, or completely re-engineer
a routine...

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: problem creating new project
Date: Fri, 1 Mar 2002 23:09:13 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C800A7E.3020302@spamm.me.l8s.co.uk>
References: <a5l0d3$jb8b$1@simian.nlr.nl> <3C7E5F02.2545B753@notifier-is.net> <khDf8.20374$mG.82331@rwcrnsc54> <3C7FC3F8.1000306@spamm.me.l8s.co.uk> <3C7FD6D1.FF14773C@notifier-is.net>

> Yeah PCMCIA was the problem... I disabled it long enough to create a project and
> it worked! Previously I had been copying other projects and modifying the WPJ
> file enough to bootstrap me in whenever I wanted a new project...

No, PCMCIA isn't the problem. The problem is in the project scripts!
The i386 pcmcia option just makes the problem visible.

	David

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 1 Mar 2002 16:50:39 -0800
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0203011650.69636895@posting.google.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>

David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>
> >I'm looking for the source code of a C (or C++) implementation
> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> >top and Fibre Channel Frames at the bottom. Does anyone know of
> >an available implementation, free or commercial?
>
> Just go to http://www.redhat.com, and follow the links to download
> their source code for LINUX.

Thanks, David. Do you happen to know the names of the modules, to
save me a bit of searching? I thought Linux only had support for
the HBAs where most of the stack is implemented in firmware, and
the software driver just implements an interface to the firmware.

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 1 Mar 2002 17:04:18 -0800
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0203011704.1561b9e1@posting.google.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <cf6c276e.0203010001.2579292f@posting.google.com>

kallolm_tech@yahoo.com (Kallol Mallick) wrote in message news:<cf6c276e.0203010001.2579292f@posting.google.com>...
> > On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
> >
> > To help with development based on this stack, I'm also looking
> > for a PCI card which allows host software access to all incoming
> > Fibre Channel frames, and allows the software to transmit FC
> > frames. Does anyone know of one? The cards I've looked at have
> > various parts of the stack implemented on board, and don't
> > provide any mechanisms to receive or send raw frames.
>
> You can try to use one of the standard fibre channel controllers
> cards(QLogic /Tachyon/LSILogic). Most of them provide a mechanism to
> download firmware. Instead of downloading the firmware, they supply,
> write your own. The register interfaces gives you a fairly low level
> access.

Thanks Kallol - I was hoping to be able to use an off-the-
shelf card and driver for this bit, but what you say may be
the only option.

> But why do you want re-invent the wheel, when standard implementation
> is already availavle?

It's a small part of a much bigger project requiring many
features. As an analogy, what does someone who wants to enter
the SCSI/FC HBA market do, other than acquire or develop a
stack to run on his HBA? (Well, these days he usually buys
or develops a hardware implementation, but that's another
story ...)

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

Newsgroups: comp.os.vxworks
Subject: need help: about windNet PPP ?
Date: 1 Mar 2002 17:15:56 -0800
From: sardine_sz@163.net (sardine)
Organization: http://groups.google.com/
Message-ID: <b1cb4c43.0203011715.19696183@posting.google.com>

hi everyone gurus,

 is there anyone have experience about windNet PPP,
Now i using windNet PPP1.2,but windRiver not provide any
information about dynamic alloc IP address to PPPOE Client from
a IP POOL.
 but the source program provide a interface for it-----"RAS-AMM";
so i set pfwParameter "ipcp_ipAddr" as "RAS-AMM:#poolId",
after i finished it. the PPP local authenicate can return a ip address
to PPPOE Client,but the DNS ip Address become "255.255.255.255",
and if i set ppp authenicate as "REMOTE RADIUS" mode,the pppoe client
also get ip address "255.255.255.255",the DNS ip Address is "255.255.255.255",

 i have send the infomation to windRiver got support,but they cannot replay
to me.
 anyone have the experience or can provide any advice,i will appricate them !

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

Newsgroups: comp.os.vxworks
Subject: sendto() failing in Class A network
Date: Fri, 01 Mar 2002 21:31:29 -0500
From: Rakesh Chandwani <rexrc@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C803981.D380CC66@lucent.com>

Hi !

I am running UDP broadcast application in a Class A network. The same
applictaion worked well with Class C addresses but here, sendto() function fails
with EHOSTUNREACH errno. Routing tables are all fine. Has anyone seen such a
problem ?

address is :10.2.2.4 ( broadcast address 10.255.255.255)

Rakesh

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Sat, 02 Mar 2002 02:35:38 GMT
From: David A. Lethe <david@santools.com>
Message-ID: <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com>

On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:

>David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>
>> >I'm looking for the source code of a C (or C++) implementation
>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>> >top and Fibre Channel Frames at the bottom. Does anyone know of
>> >an available implementation, free or commercial?
>>
>> Just go to http://www.redhat.com, and follow the links to download
>> their source code for LINUX.
>
>Thanks, David. Do you happen to know the names of the modules, to
>save me a bit of searching? I thought Linux only had support for
>the HBAs where most of the stack is implemented in firmware, and
>the software driver just implements an interface to the firmware.
Sorry ... I don't know the module names. Maybe it might be easier for
you to go to a computer store and just purchase the RH 7.2 or better
release, if you don't have the bandwidth to download.

You should be able to pick it up for around 50 quid or so.

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

Newsgroups: comp.os.vxworks
Subject: Re: [question]Memory access in mpc750..
Date: 1 Mar 2002 19:10:45 -0800
From: emycall@dreamx.net (Ahn Jung Hoon)
Organization: http://groups.google.com/
Message-ID: <2b0ae335.0203011910.54953fac@posting.google.com>
References: <2b0ae335.0202280148.3d1be3ab@posting.google.com> <c129947c.0202281041.41b2543e@posting.google.com>

Thank You very much for your answer..
oh.
But I am beginner, so I can't understand your answer..

Even if where you say is here, I can't understand what code means..

Very sorry..

If you give me some sample code, I am very happy.

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

PHYS_MEM_DESC sysPhysMemDesc [] =
 {
 {
 /* Vector Table and Interrupt Stack */

 (void *) LOCAL_MEM_LOCAL_ADRS,
 (void *) LOCAL_MEM_LOCAL_ADRS,
 RAM_LOW_ADRS,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_MEM_COHERENCY,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE |
 VM_STATE_MEM_COHERENCY
 },

 {
 /* Local DRAM - Must be second entry in sysPhysMemDesc for Auto Sizing */

 (void *) RAM_LOW_ADRS,
 (void *) RAM_LOW_ADRS,
 LOCAL_MEM_SIZE - RAM_LOW_ADRS,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_MEM_COHERENCY,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE |
 VM_STATE_MEM_COHERENCY
 },

 {
 (void *) CPU_PCI_ISA_IO_ADRS,
 (void *) CPU_PCI_ISA_IO_ADRS,
 CPU_PCI_ISA_IO_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 (void *) CPU_PCI_IO_ADRS,
 (void *) CPU_PCI_IO_ADRS,
 CPU_PCI_IO_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

#ifndef INCLUDE_MPIC
 {
 (void *) CPU_PCI_IACK_ADRS,
 (void *) CPU_PCI_IACK_ADRS,
 CPU_PCI_IACK_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },
#endif /* INCLUDE_MPIC */

 {
 (void *) CPU_PCI_MEM_ADRS,
 (void *) CPU_PCI_MEM_ADRS,
 CPU_PCI_MEM_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 (void *) CPU_PCI_ISA_MEM_ADRS,
 (void *) CPU_PCI_ISA_MEM_ADRS,
 CPU_PCI_ISA_MEM_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 /* MPIC Regs */

 (void *) MPIC_BASE_ADRS,
 (void *) MPIC_BASE_ADRS,
 MPIC_REG_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 (void *) FALCON_BASE_ADRS,
 (void *) FALCON_BASE_ADRS,
 FALCON_REG_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 (void *) RAVEN_BASE_ADRS,
 (void *) RAVEN_BASE_ADRS,
 RAVEN_REG_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
 VM_STATE_GUARDED
 },

 {
 (void *) FLASH_BASE_ADRS,
 (void *) FLASH_BASE_ADRS,
 FLASH_MEM_SIZE,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
 }
 };

vloscomp@yahoo.com (Vinh) wrote in message news:<c129947c.0202281041.41b2543e@posting.google.com>...
> Hi,
> Check you 'sysLib.c' file; you should have an entry in the sysPhysMemDesc
> that describeb your PCI window.
>
> Vinh Lam
>
> emycall@dreamx.net (Ahn Jung Hoon) wrote in message news:<2b0ae335.0202280148.3d1be3ab@posting.google.com>...
> > Hi, all..
> >
> > I can access PCI memory to 16Mb, 64Mb and 128Mb size in MPC750 board.
> >
> > /* 16MB : 0x02000000,
> > 64MB : 0x08000000,
> > 128MB : 0x10000000,
> > 256MB : 0x20000000,
> > 512MB : 0x40000000
> > */
> > #define CPU_PCI_MEM_SIZE 0x20000000
> >
> > I can read 256Mb size, but I can not access PCI memory more than 256Mb size..
> >
> > I don't know that what is problem..
> >
> > please, help me..
> >
> > -=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
> >
> > 1..
> > -> pciHeaderShow(2, 0, 0)
> > vendor ID = 0x11b0
> > device ID = 0x0200
> > command register = 0x0002
> > status register = 0x0280
> > revision ID = 0x00
> > class code = 0x05
> > sub class code = 0x00
> > programming interface = 0x00
> > cache line = 0x00
> > latency time = 0xf8
> > header type = 0x00
> > BIST = 0x00
> > base address 0 = 0x10000000
> > base address 1 = 0x00000000
> > base address 2 = 0x00000000
> > base address 3 = 0x00000000
> > base address 4 = 0x00000000
> > base address 5 = 0x00000000
> > cardBus CIS pointer = 0x00000000
> > sub system vendor ID = 0x4754
> > sub system ID = 0x0005
> > expansion ROM base address = 0x00000000
> > interrupt line = 0xff
> > interrupt pin = 0x00
> > min Grant = 0x00
> > max Latency = 0x00
> > value = 0 = 0x0
> > ->
> >
> > 2..
> > -> d 0x10000000
> > 10000000:
> > data access
> > Exception current instruction address: 0x0015c070
> > Machine Status Register: 0x0000b030
> > Data Access Register: 0x10000000
> > Condition Register: 0x48200080
> > Data storage interrupt Register: 0x40000000
> >
> > 1812e0 vxTaskEntry +60 : shell ()
> > 177118 shell +18c: 177144 ()
> > 177368 shell +3dc: execute ()
> > 1774ec execute +d8 : yyparse ()
> > 1a96ec yyparse +7a8: 1a7634 ()
> > 1a77ac yystart +8f8: d ()
> > shell restarted.
> >
> > ->

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

Newsgroups: comp.os.vxworks
Subject: Re: muxLoad Failed while picking up the VxWorks image from host
Date: 2 Mar 2002 01:12:12 -0800
From: ajay_garg@delhi.tcs.co.in (Ajay Garg)
Organization: http://groups.google.com/
Message-ID: <ae7893e8.0203020112.a00ebe6@posting.google.com>
References: <ae7893e8.0202282234.7a955751@posting.google.com> <3C7FE50A.C1A46C9C@notifier-is.net>

Hi,
 my PC is containing 3com905 card. Hence in the default boot line i
am specifying "elPci". My VxWorks version is 5.4 and BSP is pcPentium.
 What i believe is that my boot image(which is in floppy drive) is
booting fine but the VxWorks image stored in HOST is not able to
communicate properly with it.
 Can you tell me what all to be included from project facility when
I am making a bootable image for the same card. As of now I have
included ELT card driver.

Regards,
Ajay Garg
david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C7FE50A.C1A46C9C@notifier-is.net>...
> does your configuration string have the correct card name? Seems like
> you get errors like this if you specify a network boot device that
> doesn't exist...
>
> David
>
> Ajay Garg wrote:
>
> > Hi,
> > I am using 3COM card to communicate across network. I am getting a
> > message "muxLoad failed" after getting the prompt on target. But if I
> > am using a fei card, I am getting everything fine. I am making the
> > necessary changes in config file for my BSP which is pentium.
> > Your help is needed to solve this problem.
> >
> > Regards,
> > Ajay Garg.

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

Newsgroups: comp.os.vxworks
Subject: how to invoke a task number of times based on radom number
Date: 2 Mar 2002 03:16:32 -0800
From: pradeeppatel77@yahoo.com (pradeep)
Organization: http://groups.google.com/
Message-ID: <54575a52.0203020316.385236f0@posting.google.com>

Hi all,
I am trying to create atask which will simulate ethernet ,(task is
actually creating ethernet packets), problem is that i am not able to
invoke it asynchronously.

what i want is to invoke the task based on random number
or if other solution
regards
pradeep

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

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

From vxwexplo-errs@csg.lbl.gov Sun Mar 3 04:03:09 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Mar 3 04:03:12 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sun Mar 3 04:03:06 PST 2002

 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: sendto() failing in Class A network with ClassC mask
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: Is it possible to change the priortiy of windsh
 Subject: AE Compile Times?
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Gigabit Ethernet performance poll
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: How to make assert break into debugger with hardcoded breakpoint
 Subject: Re: source code for SCSI Fibre Channel implementation

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 2 Mar 2002 06:54:00 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203020654.6ce1ec55@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net>

Hi,

	I removed the call to our pci device configuration routine
(AdptPciDevConfig()). I just used the I/O BAR (BAR2) provided by
VxWorks adding with 0xe8000000 and now I'm able to access the I/O
Registers of my card.

	George Varndell was pretty much correct that our pci configuration is
incomplete.

	Now, my concern is now accessing 64 bit BARs. I'm working on to
access memory mapped I/O. I'm trying to find out the constant which I
need to add to my memory mapped BARs, if at all, to access them ( like
I added 0xe800000 in the case of I/O mapped I/O region).
	As per the manual these regions are fully programmable. It seems I
don't need to add any constants for accessing Memory mapped I/O
region.
If my understanding is wrong, please do let me know.

Regards
Arun

david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C7FC51C.F75E564D@notifier-is.net>...
> Arun Prasad wrote:
>
> > Hi,
> >
> > Our card requires 2 64 bit BARs (BAR0 and BAR3. Actually BAR0&BAR1
> > combination and BAR3 & BAR4 combination forms these 64 bit BAR
> > registers) and one I/O BAR register (BAR2).
> >
> > Since we felt our card's BAR registers haven't been properly
> > initiatlized from the output of pciHeaderShow(), we have gone for
> > configuring it on our own.
> >
> > Do you mean to say, we can make use of the BARs whichever provided by
> > our BSP/VxWorks directly without configuring it, in our case?
> >
>
> if it is truly initialized via the BSP it might be smarter to leave it be because there may be other related
> configuration (for example enabling the part of the memory map indicated by the BARS) or you might cause a clash with
> some memory or other device on the board. But it really depends on the card & whether the person who wrote the BSP had
> the same idea of how to use it as you do.
>
> David
>
> >
> > Regards
> > Arun
> >
> > George Varndell <george@varndellengineering.com> wrote in message news:<3C7F9C21.48433D2B@varndellengineering.com>...
> > > Arun Prasad wrote:
> > > >
> > > > Hi All,
> > > >
> > > > I'm facing a problem in accessing my card's (PCI based ethernet card)
> > > > registers.
> > > > If anyone of you could help me to fix this, it would be of great
> > > > help.
> > > >
> > >
> > > [snip,snip,snip]
> > >
> > > Did it occur to you that Linux might setup the bridge registers
> > > differently than your vxWorks BSP does?
> > > In your second dump of the PCI registers, after unnecessarily
> > > changing the original BSP code, the device is not enabled in the
> > > command register. Not that it would matter much since you've forced
> > > the BARs to contain values which likely bear no relationship to the
> > > bridge configuration. Forget what Linux does (unless you look at the
> > > entire PCI configuration picture) and go back to step one. The answer
> > > to your problem has to be simpler than you've made it appear.
> > > You should thoroughly read part IV, chapter 17 of the 405gp manual.
> > >
> > > Regards,
> > > George Varndell

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

Newsgroups: comp.os.vxworks
Subject: sendto() failing in Class A network with ClassC mask
Date: Sat, 02 Mar 2002 10:33:23 -0500
From: Rakesh Chandwani <rexrc@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C80F0C3.7B4101A1@lucent.com>

Hi !

I am running UDP broadcast application in a Class A network with class C masks.
The same
applictaion worked well with Class C addresses ( Class C mask) but here,
sendto() function fails
with EHOSTUNREACH errno. Routing tables are all fine. Has anyone seen such a
problem ?

address is :10.2.2.4 ( Subnetmask is 0xffffff00)

Rakesh

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: 2 Mar 2002 08:55:05 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203020855.7bc7815c@posting.google.com>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra> <newscache$zvh5sg$171$1@lnews.actcom.co.il> <Pine.GSO.4.42.0203011513570.10460-100000@zimbra>

Hello,

> Is there a list of kernel functions that says which will honor the locking
> level that was present on entry, and which will undo what ever interrupt
> locking you may have had in place?

I don't know of any routines that will unlock interrupts regardless of
the setting present on entry, all the places I've seen use the key
returned by intLock() in the call to intUnlock(). The only places in
the code that make changes directly to the lock level are in the
scheduling code, and those changes should not be reflected in any task
context (e.g. entering the idle loop will re-enable interrupts, at
least until a task becomes ready).

Now, your original concern was an ISR calling semGive()... that's an
even safer case since the call doesn't happen when you make it; it
will be added to the kernel's work queue and processed after your ISR
exits. So in that case it is very easy to guarantee that your
interrupts will remain locked between the call to semGive() and the
call to intUnlock().

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Is it possible to change the priortiy of windsh
Date: Sat, 02 Mar 2002 20:56:07 GMT
From: "Matt Schuckmann" <matt.schuckman@verizon.net>
Message-ID: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net>

Does anybody know if there is a way to change the priorty at which functions
and commands run from windsh run at?

The problem I'm having is that I've got a significant part of my code loaded
and running and I'm dynamically loading and unloading another part of the
code to make it easier and quicker to debug it. When I use the ld() command
to dynamicaly load and unload the module I'm debugging the loader runs in
the windsh task and that task appears to run at such a high priority that it
prevents my hard real time task from running for long enough that I end up
having to reset my hardware after loading or unloading my test module.

Any help or suggestions would be most appriciated.

Matt Schuckmann
matthew_schuckmann@amat.com

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

Newsgroups: comp.os.vxworks
Subject: AE Compile Times?
Date: Sat, 02 Mar 2002 22:22:42 GMT
From: Tim Sohacki <sohacki@nc.rr.com>
Organization: Road Runner - NC
Message-ID: <3C815200.5835E20B@nc.rr.com>

Does anyone have anything to say about VxWorks AE compile times
versus 5.4 compile times? There seems to be some AE overhead,
but I'm wondering if it is fixed overhead or if every file takes
much longer than 5.4. Any comments?

Thanks,
Tim.

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Sat, 02 Mar 2002 22:17:20 GMT
From: Tim Sohacki <sohacki@nc.rr.com>
Organization: Road Runner - NC
Message-ID: <3C8150BF.7474FDAD@nc.rr.com>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net>

Matt,

> Does anybody know if there is a way to change the priorty at which functions
> and commands run from windsh run at?

Yes, it is possible to change the priority of the target based shell,
i.e., tShell task. Let's see ... do a lkup "shell" ... there's a
global variable for the priority ... There's also an API for setting
the priority programmatically. You might see it with a lkup shell
command, or in the reference guide, under the shell, perhaps?

Cheers,
Tim.

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

Newsgroups: comp.os.vxworks
Subject: Gigabit Ethernet performance poll
Date: Sat, 2 Mar 2002 16:13:43 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c816b0c$1@MAIL.mhogaming.com>

I am a developer of Gigabit Ethernet products with support for VxWorks. I am
looking to find out what other performance benchmarks users are getting for
GigE over VxWorks Network Stack TCP/IP using Sockets and/or Zero-copy
sockets running blaster/blastee or some other simple benchmark.

Here are our numbers:

Raw driver throughput:
32/33 PCI: 85 Megabytes/sec sustained (20-30 percent CPU utilization)

64/66 PCI: 242 Megabytes/sec sustained (low to medium CPU utilization)

Zero-copy sockets (TCP), Blaster/blastee, single TCP connection:
32/33 PCI: 58 Megabytes/sec sustained (95% CPU utilization)

Has anyone been able to get higher than 58 Megabytes/sec using TCP sockets
on the VxWorks 5.4 Network stack? What platform/processor/speed? What is
your TCP window size? Any other advanced features being used?

Thanks in advance.

Jerry

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Sun, 03 Mar 2002 00:18:35 GMT
From: David A. Lethe <david@santools.com>
Message-ID: <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com>

On 2 Mar 2002 16:41:13 -0500, tls@panix.com (Thor Lancelot Simon)
wrote:

>In article <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>,
>David A. Lethe <david@santools.com> wrote:
>>On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>
>>>David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
>>>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>>>
>>>> >I'm looking for the source code of a C (or C++) implementation
>>>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>>>> >top and Fibre Channel Frames at the bottom. Does anyone know of
>>>> >an available implementation, free or commercial?
>>>>
>>>> Just go to http://www.redhat.com, and follow the links to download
>>>> their source code for LINUX.
>>>
>>>Thanks, David. Do you happen to know the names of the modules, to
>>>save me a bit of searching? I thought Linux only had support for
>>>the HBAs where most of the stack is implemented in firmware, and
>>>the software driver just implements an interface to the firmware.
>>Sorry ... I don't know the module names. Maybe it might be easier for
>
>As far as I can tell, you don't know the module names because no such
>modules exist. Did you actually try to understand J.J.'s question
>before answering it?
I don't know the module names because it is neither my responsibility
or desire to do this person's homework. He/whe asked if there was
iSCSI driver sample sourcecode available, and I told them where some
was.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to make assert break into debugger with hardcoded breakpoint
Date: Sun, 3 Mar 2002 08:37:11 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$32zdsg$nhh$1@lnews.actcom.co.il>
References: <3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com> <3c7fd659$1@brateggebdc5.br-automation.co.at> <3C7FEEBC.60696022@bitworkssystemsDELETETHIS.com>

Jon, all the above suggestion are still vali, but you need to attach the
debugger
to System Mode beofre the assertion fails, and then any kind of breakpoint
will stop he entire system.

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3C7FEEBC.60696022@bitworkssystemsDELETETHIS.com...
> This sounds good except I want all tasks to stop execution not just the
one
> that had the assert. I thought I had INT3 working too with the 1st BSP I
got
> from VMIC but that had significant other problems (GP faults).
>
> Jon Newbill
>
>
> Werner Schiendl wrote:
>
> > Hi,
> >
> > I think I remember to have plain Int 3 working, but not sure.
> >
> > But you can use taskSuspend() instead.
> > You can then attach the debugger to the suspended task and see what went
> > wrong.
> >
> > This works for task level stuff, interrupts are something completely
> > different of course.
> >
> > To get informed when you trigger an assertion, you should output some
> > descriptive message with logMsg().
> >
> > hth
> > Werner
> >
> > "Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
> > news:3C7EFCCC.A5A03741@bitworkssystemsDELETETHIS.com...
> > > Ok here's another VxWorks Newbi question or is that a Newbill
> > > question. On every other embedded system debugger I've used I would
> > > always create an assert() macro that would execute a hard coded
> > > breakpoint instruction to cause a trap into the debugger when an
assert
> > > occurs. This is quite useful since your in sitting right there in
> > > context and can use the full power of the debugger to figure out how
you
> > > got the assert or in some cases correct the problem and continue on
> > > debugging. On Intel platforms INT3 is the usual breakpoint
> > > instruction and on 68K systems it was a TRAP 0.
> > >
> > > Now I'm using Intel on VxWorks 5.4.2 with GNU tools and executing an
INT
> > > 3 seems to send the target into never never land. Does anyone know a
> > > method to programatically break into the debugger?
> > >
> > > Jon Newbill
> > > JonUN@bitworkssystemsREMOVTHIS.com
> > >
> > >
> > >
>

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Sun, 03 Mar 2002 10:49:25 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <Vcng8.30717$ZC3.2512789@newsread2.prod.itd.earthlink.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com> <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com>

"David A. Lethe" <david@santools.com> wrote in message
news:gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com...
> On 2 Mar 2002 16:41:13 -0500, tls@panix.com (Thor Lancelot Simon)
> wrote:
>
> >In article <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>,
> >David A. Lethe <david@santools.com> wrote:
> >>On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
> >>
> >>>David A. Lethe <david@santools.com> wrote in message
news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
> >>>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
> >>>>
> >>>> >I'm looking for the source code of a C (or C++) implementation
> >>>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> >>>> >top and Fibre Channel Frames at the bottom. Does anyone know of
> >>>> >an available implementation, free or commercial?
> >>>>
> >>>> Just go to http://www.redhat.com, and follow the links to download
> >>>> their source code for LINUX.
> >>>
> >>>Thanks, David. Do you happen to know the names of the modules, to
> >>>save me a bit of searching? I thought Linux only had support for
> >>>the HBAs where most of the stack is implemented in firmware, and
> >>>the software driver just implements an interface to the firmware.
> >>Sorry ... I don't know the module names. Maybe it might be easier for
> >
> >As far as I can tell, you don't know the module names because no such
> >modules exist. Did you actually try to understand J.J.'s question
> >before answering it?
>
> I don't know the module names because it is neither my responsibility
> or desire to do this person's homework. He/whe asked if there was
> iSCSI driver sample sourcecode available, and I told them where some
> was.

I didn't ask anything about iSCSI - I've no interest in it at the
moment. I'd already had a quick scan through the kernel trees of
Linux and various other free UNIX-alikes before posting my question,
and searched through several of their related mailing lists, without
seeing any sign of what I asked about. Since you knew it was there,
it didn't seem unreasonable to ask for a more specific pointer. I'm
sorry you felt that I was asking you to do my homework - that wasn't
my intention.

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

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

From vxwexplo-errs@csg.lbl.gov Sun Mar 3 22:35:55 2002
From: "Vinai" <vinaitheerthan.arun@wipro.com>
Date: Sun Mar 3 22:35:57 PST 2002
Subject: goahead web server

This is a multi-part message in MIME format.

------=_NextPartTM-000-8aa9698d-2f35-11d6-a942-00b0d0d06be8
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

hey,i just need a small help..
have u worked on goahead web server??or any of u r friends..
just get a small piece of info for me.
i downloded the source for go ahead webserver..and while building it for
vxWorks ..it says emf.h and emfinternal.h are un resolved symbols.i m
unable to build further.
kindly get some info abt this.all i know is EMF means embedded system
Management frames.searched for the symbol in web,coudnt get any info.
kindly let me know reg this as early as possible..........

thanks in advance
balaji

------=_NextPartTM-000-8aa9698d-2f35-11d6-a942-00b0d0d06be8
Content-Type: text/plain;
	name="Wipro_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="Wipro_Disclaimer.txt"

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 'privileged' and 'confidential' and intended for use only by the
individual or entity to which it is addressed. You are notified that any
use, copying or dissemination of the information contained in the E-MAIL
in any manner whatsoever is strictly prohibited.

 ********************************************************************

------=_NextPartTM-000-8aa9698d-2f35-11d6-a942-00b0d0d06be8--

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 02:13:15 2002
From: "Vinod Chari" <vinod@spartanlabs.com>
Date: Mon Mar 4 02:13:18 PST 2002
Subject: Problem with Tornado 1.01 Debugger.

Hello,

I want to debug a bootable application using gdb of Tornado 1.01. I am new
to Tornado 1.01 and used Torando 2.0 environment. The T101 debugger seems
very much different. Problem I am facing is that when I set a breakpoint,
the debugger doesn't stop and moves ahead. I am attaching the debugger to an
already running task. On required events, the debugger doesn't stop at the
breakpoint. Can any user of T101 guide me?

Thanks and Regards,
Vinod.

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 03:04:38 2002
From: =?ks_c_5601-1987?B?w9/BpMjG?= <jhchoo@solartt.co.kr>
Date: Mon Mar 4 03:04:41 PST 2002
Subject: initialize multiple ethernet interface after boot vxworks?

hello, all vxworks guys,

now, I want initialize one more ethernet interface(IP:192.168.2.249) after
boot vxworks.
So, I made following function. but the result is not successful.
===================================================================
void sttEnetInit ()
{
??? char????????? devName[] = MOT_FCC_DEV_NAME;
??? END_TBL_ENTRY endEntry? = { 1, sttEndLoad, "", 1, NULL, FALSE};
??? END_TBL_ENTRY *pDevTbl? = &endEntry;
??? BOOL????????? attached? = FALSE; /* driver is attached */
??? END_OBJ?????? *pEnd;
??? unsigned int? unitNum?? = 1;
??? char????????? ipAddr[] = "192.168.2.249";
??? unsigned int? netmask ;

??? muxDevLoad (pDevTbl->unit,????????? pDevTbl->endLoadFunc,
??????????????? pDevTbl->endLoadString, pDevTbl->endLoan, pDevTbl->pBSP);

??? /* Try an END device first */
??? pEnd = endFindByName (devName, unitNum);

??? if (!attached && (pEnd != NULL))
??? {
??????? if (muxDevStart (pEnd) != OK)
??????? {
??????????? printf("Failed to start device=%s\n", devName);
??????????? return(ERROR);
??????? }

??????? if (muxIoctl(pEnd, EIOCGMIB2, (char *)&sttendM2Tbl)
??????????? == ERROR)
??????????? return(ERROR);

??????? if (ipAttach (unitNum, devName) != OK)
??????? {
??????????? printf ("Failed to attach TCP/IP to device\n ");
??????????? return (ERROR);
??????? }

??????? netmask = 0;
??????? bootNetmaskExtract (ipAddr, &netmask);

??????? printf ("Attached TCP/IP interface to %s%d.\n", devName,unitNum);
??????? attached = TRUE;
??? }

??? /* configure the device */
??? if (usrNetIfConfig (devName, unitNum, ipAddr,
??????????????????????? /*(char *) NULL*/"jhchoo", netmask) != OK)
??????? return (ERROR);
}
=======================================================================

* My console print following information
=======================================================================
stt755_r>
stt755_r>muxShow
Device: sttfcc Unit: 0
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP??? Type: 2054????? Recv 0x4eaec??? Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048????? Recv 0x4eaec??? Shutdown 0x4ece8
Device: sttfcc Unit: 1
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP??? Type: 2054????? Recv 0x4eaec??? Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048????? Recv 0x4eaec??? Shutdown 0x4ece8
value = 0 = 0x0
stt755_r>
stt755_r>routeShow

ROUTE NET TABLE
destination????? gateway????????????? flags? Refcnt? Use?????????? Interface
----------------------------------------------------------------------------
192.168.1.0????? 192.168.1.223??????? 101??? 0?????? 0???????????? sttfcc0
192.168.2.0????? 192.168.2.249??????? 101??? 0?????? 0???????????? sttfcc1
----------------------------------------------------------------------------

ROUTE HOST TABLE
destination????? gateway????????????? flags? Refcnt? Use?????????? Interface
----------------------------------------------------------------------------
127.0.0.1??????? 127.0.0.1??????????? 5????? 1?????? 0???????????? lo0
----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'
stt755_r>
stt755_r>
stt755_r>hostShow
hostname???????? inet address?????? aliases
--------???????? ------------?????? -------
stt755_r???????? 192.168.1.223
localhost??????? 127.0.0.1
tornado????????? 192.168.1.29
jhchoo?????????? 192.168.2.249
value = 0 = 0x0
stt755_r>
stt755_r>
stt755_r>ifShow
sttfcc (unit number 0):
???? Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
???? Type: ETHERNET_CSMACD
???? Internet address: 192.168.1.223
???? Broadcast address: 192.168.1.255
???? Netmask 0xffffff00 Subnetmask 0xffffff00
???? Ethernet address is 00:00:aa:00:00:df
???? Metric is 0
???? Maximum Transfer Unit size is 1500
???? 480 packets received; 271 packets sent
???? 177 multicast packets received
???? 2 multicast packets sent
???? 0 input errors; 0 output errors
???? 0 collisions; 0 dropped
lo (unit number 0):
???? Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING
???? Type: SOFTWARE_LOOPBACK
???? Internet address: 127.0.0.1
???? Netmask 0xff000000 Subnetmask 0xff000000
???? Metric is 0
???? Maximum Transfer Unit size is 32768
???? 0 packets received; 0 packets sent
???? 0 multicast packets received
???? 0 multicast packets sent
???? 0 input errors; 0 output errors
???? 0 collisions; 0 dropped
sttfcc (unit number 1):
???? Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
???? Type: ETHERNET_CSMACD
???? Internet address: 192.168.2.249
???? Broadcast address: 192.168.2.255
???? Netmask 0xffffff00 Subnetmask 0xffffff00
???? Ethernet address is 00:00:aa:00:00:f9
???? Metric is 0
???? Maximum Transfer Unit size is 1500
???? 0 packets received; 0 packets sent
???? 0 multicast packets received
???? 0 multicast packets sent
???? 0 input errors; 0 output errors
???? 0 collisions; 0 dropped
value = 29 = 0x1d
stt755_r>
======================================================================

Above [ifShow] is done after [ping "192.168.2.222"] is done.
I think that above send packet count of "sttfcc1" must increase. right?
many receive packet is stored in driver's buffer. But above receive packet
count is 0. why?

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 04:03:13 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Mar 4 04:03:15 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Mon Mar 4 04:03:10 PST 2002

 Subject: How to find the interfaces in my target
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: Ethernet problem on an mvme2700 - a new test
 Subject: Re: Gigabit Ethernet performance poll
 Subject: Rogue Wave tools.h++ Usage
 Subject: Re: Proc Numbers, booting and VME transfers
 Subject: where has some VxWorks example program?
 Subject: netTask limits high-frame-rate transfers in Gigabit Ethernet
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: help
 Subject: newbie!! ---GO ahead web server---* No rule to make target `emf\emfInternal.h', needed by `asp.o'
 Subject: Tornado 2.0.2 With gcc 2.96
 Subject: A question about Tornado Prototyper
 Subject: error msg: trcStack aborted: error in frame
 Subject: MPC860 SMC2 in VxWorks
 Subject: motorola mcc_HDLC demo code
 Subject: Doubt in SOCK_RAW usage......

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

Newsgroups: comp.os.vxworks
Subject: How to find the interfaces in my target
Date: 3 Mar 2002 05:03:39 -0800
From: bryanramesh@yahoo.com (Bryan)
Organization: http://groups.google.com/
Message-ID: <cc857445.0203030503.3fd6d5bd@posting.google.com>

Hi,

I want to find the interfaces exist in my target when i initialise my
module. I dont find any special call to do that. With the help of
ifnet structure we can do it or what. But how to do it. Every target
will have "l0" as loopback address interface name. If we give that and
if we use the ifnet structure's next pointer means, is that possible
to get all the interface names and their properties while
initialising. Kindly help me in this regard.

Thanks,
Bryan

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Sun, 03 Mar 2002 15:18:14 GMT
From: David A. Lethe <david@santools.com>
Message-ID: <5ff48ukmqj3u9r0d8fe0h6bfgmq8rqqu79@4ax.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com> <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com> <Vcng8.30717$ZC3.2512789@newsread2.prod.itd.earthlink.net>

On Sun, 03 Mar 2002 10:49:25 GMT, "J. J. Farrell" <jjf@bcs.org.uk>
wrote:

>
>"David A. Lethe" <david@santools.com> wrote in message
>news:gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com...
>> On 2 Mar 2002 16:41:13 -0500, tls@panix.com (Thor Lancelot Simon)
>> wrote:
>>
>> >In article <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>,
>> >David A. Lethe <david@santools.com> wrote:
>> >>On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>> >>
>> >>>David A. Lethe <david@santools.com> wrote in message
>news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
>> >>>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>> >>>>
>> >>>> >I'm looking for the source code of a C (or C++) implementation
>> >>>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>> >>>> >top and Fibre Channel Frames at the bottom. Does anyone know of
>> >>>> >an available implementation, free or commercial?
>> >>>>
>> >>>> Just go to http://www.redhat.com, and follow the links to download
>> >>>> their source code for LINUX.
>> >>>
>> >>>Thanks, David. Do you happen to know the names of the modules, to
>> >>>save me a bit of searching? I thought Linux only had support for
>> >>>the HBAs where most of the stack is implemented in firmware, and
>> >>>the software driver just implements an interface to the firmware.
>> >>Sorry ... I don't know the module names. Maybe it might be easier for
>> >
>> >As far as I can tell, you don't know the module names because no such
>> >modules exist. Did you actually try to understand J.J.'s question
>> >before answering it?
>>
>> I don't know the module names because it is neither my responsibility
>> or desire to do this person's homework. He/whe asked if there was
>> iSCSI driver sample sourcecode available, and I told them where some
>> was.
>
>I didn't ask anything about iSCSI - I've no interest in it at the
>moment. I'd already had a quick scan through the kernel trees of
>Linux and various other free UNIX-alikes before posting my question,
>and searched through several of their related mailing lists, without
>seeing any sign of what I asked about. Since you knew it was there,
>it didn't seem unreasonable to ask for a more specific pointer. I'm
>sorry you felt that I was asking you to do my homework - that wasn't
>my intention.
>
>
You're right. I responded w/o carefully reading the question. Since
the HBA handles the FC transport, and the O/S generally handles the
SCSI layer, then you need to contact the chip vendor.

Qlogic has an SDK for their qla2x00 FC chip family. I'd start with
that, but remember the interface is vendor-chip specific, so your code
won't be portable w/o adding conditional compiles, and having a
supported board list.

David

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: 3 Mar 2002 10:18:21 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203031018.62e25867@posting.google.com>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net>

Hello,

The WindSh process itself runs on the host and makes use of the WDB
agent task for some of its work, so you could lower the priority of
tWdbTask. Of course, that is the agent that is used for debugging too,
so placing it at a lower priority than your application tasks might
make it difficult to debug them...

You also need to think about the network task since the connection to
the host is normally network based, it too will be involved in the
loading process.

The target based shell & loader might work for you, but you'll want
the symbol synchronisation on if you plan to debug anything, and that
will make use of tWdbTask too, so you might find that you're no better
off there.

HTH,

John...

"Matt Schuckmann" <matt.schuckman@verizon.net> wrote in message news:<H%ag8.7148$fI6.5756@nwrddc01.gnilink.net>...
> Does anybody know if there is a way to change the priorty at which functions
> and commands run from windsh run at?
>
> The problem I'm having is that I've got a significant part of my code loaded
> and running and I'm dynamically loading and unloading another part of the
> code to make it easier and quicker to debug it. When I use the ld() command
> to dynamicaly load and unload the module I'm debugging the loader runs in
> the windsh task and that task appears to run at such a high priority that it
> prevents my hard real time task from running for long enough that I end up
> having to reset my hardware after loading or unloading my test module.
>
> Any help or suggestions would be most appriciated.
>
> Matt Schuckmann
> matthew_schuckmann@amat.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700 - a new test
Date: Sun, 3 Mar 2002 13:57:05 -0500
From: "William Dennen" <william.dennen@motorola.com>
Organization: Motorola
Message-ID: <a5trlt$ggi$1@newshost.mot.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <MDxf8.77$Sk3.3204@llslave.llan.ll.mit.edu> <u7tb5ulhm8jg20@corp.supernews.com> <u7tjbl4mvd49ee@corp.supernews.com> <3C7F8E23.4EF35E1A@jlab.org>

The MAC/ethernet address is contained in the ethernet SROM as shown earlier
in this Email. The SROM utility allows you to modify it, which is should be
done with caution. For those curious, the MAC address shown, 08003Exxxxxx
belongs to the exhausted bank of addresses assigned to MCG. The new bank
begins 0010AF. To the point of the EOL fo the 21140, MCG has been able to
obtain sufficient parts to continue its use for the forseeable future.

Regards
Bill Dennen william.dennen@motorola.com | We
have met the enemy

Motorola Computer Group http://www.mcg.mot.com | and they is
us ...

- --GTAC: Global Technical Assistance Center |
Pogo

"David Abbott" <abbottd@jlab.org> wrote in message
news:3C7F8E23.4EF35E1A@jlab.org...
> jbperkins@yahoo.com wrote:
> >
> > I must admit, I did not know that the MAC address can be changed. How
do
> > you set the MAC address?
> > -Jim
> >
> > "Hwa-Jin Bae" <bae@mail.com> wrote in message
> > news:u7tb5ulhm8jg20@corp.supernews.com...
> > > I have seen this kind of situation when the ethernet MAC address is
set to
> > > something bad (like all 1's). It might help to print out the MAC
address
> > of
> > > the "problem" board. If it looks suspicious, set it to something
that
> > > makes sense (3 vendor octets followed by 3 unique octets of choice).
> > >
> > > If that is not the problem, you should get something like ethereal
> > > (www.ethereal.com) and sniff the ethernet to see what is going on.
> > >
> > > My guess is that the vxworks side running on "problem" board never
gets
> > any
> > > TCP ack's from windows machine, because your vxworks side "problem"
board
> > > has bad ethernet mac address.
> > >
> > >
> > >
> > >
>
> Motorola has a PPC-Bug utility called SROM that allows one to
> Read/Modify
> the Serial ROM on the 21x4x Ethernet chips. This is where the MAC
> address is
> stored for your board.
>
> Example:
>
> PPC4-Bug>SROM
>
> Device Address =$00007000 (N/Y)? y
> Reading SROM into Local Buffer.....
> $00 (&000) 0000?
> $02 (&002) 0000?
> $04 (&004) 0000?
> $06 (&006) 0000?
> $08 (&008) 0000?
> $0A (&010) 0000?
> $0C (&012) 0000?
> $0E (&014) 0000?
> $10 (&016) AF00?
> $12 (&018) 0301?
> $14 (&020) 0800? <- This is
> $16 (&022) 3E2A? <- the ethernet address
> $18 (&024) 4948? <- for the board. (6 bytes)
> $1A (&026) 0E1E?
> $1C (&028) 0000?.
> PPC4-Bug>
>
>
> One thing that might be an issue with your ethernet problem. Check to
> see
> what type chip is on your NEW 2700 vs the old one. The old MV2700 boards
> used
> the DEC 21140 chip which as far as I know is discontinued. Intel now
> provides
> the successor i21143 chip. There are some differences, and depending on
> the
> ethernet driver code you built into your boot rom and kernel for the old
> MV2700.
> I suppose it is possible that using it in the new board could initialize
> the interface
> in some perverse way. If the chips are both DEC 21140 then this would be
> moot.
>
> Regards,
> David
>
>
> ---------------------------------------------------------
> David Abbott Jefferson Lab
> Data Acquisition Group MS 12H
> EMAIL: abbottd@jlab.org 12000 Jefferson Ave.
> Tel: (757) 269-7190 Newport News, VA 23606
> FAX: (757) 269-5800
> ---------------------------------------------------------

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

Newsgroups: comp.os.vxworks
Subject: Re: Gigabit Ethernet performance poll
Date: Sun, 3 Mar 2002 11:52:31 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c827f53$1@MAIL.mhogaming.com>
References: <3c816b0c$1@MAIL.mhogaming.com>

I have updated the statistics as shown below to include the Processor Model
and Speed.

I am a developer of Gigabit Ethernet products with support for VxWorks. I am
looking to find out what other performance benchmarks users are getting for
GigE over VxWorks Network Stack TCP/IP using Sockets and/or Zero-copy
sockets running blaster/blastee or some other simple benchmarkHere are our
latest throughput statistics:

Platform: 450 MHZ PPC750 G3, VxWorks 5.4

Raw driver throughput:
32/33 PCI: 85 Megabytes/sec sustained (20-30 percent CPU utilization)

64/66 PCI: 242 Megabytes/sec sustained (low to medium CPU utilization)

 Zero-copy sockets (TCP), Blaster/blastee, single TCP connection:
32/33 PCI: 67.2 Megabytes/sec sustained (95% CPU utilization)

 Has anyone been able to get higher than 67 Megabytes/sec using TCP sockets
on the VxWorks 5.4 Network stack? What platform/processor/speed? What is
your TCP window size? Any other advanced features being used?

 Thanks in advance.

 Jerry Marcinko
DSS NETWORKS, INC.
www.dssnetworks.com

"Jerry Marcinko" <jerrym@dssnetworks.com> wrote in message
news:3c816b0c$1@MAIL.mhogaming.com...
> I am a developer of Gigabit Ethernet products with support for VxWorks. I
am
> looking to find out what other performance benchmarks users are getting
for
> GigE over VxWorks Network Stack TCP/IP using Sockets and/or Zero-copy
> sockets running blaster/blastee or some other simple benchmark.
>
> Here are our numbers:
>
> Raw driver throughput:
> 32/33 PCI: 85 Megabytes/sec sustained (20-30 percent CPU utilization)
>
> 64/66 PCI: 242 Megabytes/sec sustained (low to medium CPU utilization)
>
> Zero-copy sockets (TCP), Blaster/blastee, single TCP connection:
> 32/33 PCI: 58 Megabytes/sec sustained (95% CPU utilization)
>
> Has anyone been able to get higher than 58 Megabytes/sec using TCP sockets
> on the VxWorks 5.4 Network stack? What platform/processor/speed? What is
> your TCP window size? Any other advanced features being used?
>
> Thanks in advance.
>
> Jerry
>
>

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

Newsgroups: comp.os.vxworks
Subject: Rogue Wave tools.h++ Usage
Date: Sun, 03 Mar 2002 18:09:18 -0500
From: Yves <yves.boudreault2@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <3C82AD1E.898D28FD@sympatico.ca>

Hi,

Within the last little while, I have picked up the following information
on use of rw tools.h++ on vxWorks, and I was wondering if anyone knows
if any of this is accurate or necessary:

1. SPR27665: tools.h++ thread safety requires undocumented routine
rwVxEnable

2. email: if you are using tools.h++ you need to call rwEnable for each
task using the tools.h collection.

Anyone knows what the story is and if these routines need to be called
or not, if so when and with what parameters (if any).

Thanks for the help.

Yves

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

Newsgroups: comp.os.vxworks
Subject: Re: Proc Numbers, booting and VME transfers
Date: Mon, 04 Mar 2002 09:49:06 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C82AF6A.20CE572C@dsto.defence.gov.au>
References: <87vgcgm62y.fsf@rainier.electro.swri.edu>

I don't know if it's the right way, but we number using option (b) and
treat all the boards as though they're on the same shared memory region.
Processors on boards other than the sm master can still use the ethernet
if they're processor x, but the shared memory network still uses a single
board (board 0, proc x) as the sm network master. I suppose you could
edit your bootConfig code to include an entry in the 'other' section, or
similar, to specify a different A32 window. Or if you really want to use
option (a), why don't you disable VME during boot up (you probably won't
need it), and only enable the VME windows you need for your application.

Have you asked Synergy- they're usually pretty helpful?

Greg Willden wrote:

> I am trying to find the *right* way of doing this in vxworks. I know
> a hack or two but...
>
> I have multiple Synergy dual and quad PPC cards in a single VME rack.
> Each card has it's own ethernet connection that all processors
> x,y(z,w) share. In the case of the quad board the processors
> (x,y,z,w) are given processor numbers 0-3 respectively. If I add
> another card or two to the chassis then I have two options:
> (a) number the processors the same (0-3)
> or
> (b) continue the series (4-7 etc).
>
> If I choose (a) then all is well until I try to do a VME transfer
> between the cards. Then I would have multiple cards with their A32
> slave windows in the same place. This is bad.
>
> If I choose (b) then instead of each card booting up from its own
> network connection the cards whose x processor number is greater than
> 0 attempt to boot over the VME backplane. I guess that isn't
> necessarily a bad thing as long as I can then reconfigure the network
> for all of the cards except slot 0.
>
> My hack solution would be to create different kernels for each board
> with different A32 windows but that just smells bad to me.
> A slight variation would be to configure an additional A32 window for
> each card based on IP address or something like that.
>
> What is the *right* way to configure these cards to play nicely over
> VME while booting from (or reconfiguring after boot) their own
> ethernet connection?
>
> Thanks
> Greg Willden
>
> --
> Hofstadter's Law: It always takes longer than you expect, even
> when you take into account Hofstadter's Law.

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

Newsgroups: comp.os.vxworks
Subject: where has some VxWorks example program?
Date: 3 Mar 2002 17:38:12 -0800
From: q2319c@email.mot.com (Lily)
Organization: http://groups.google.com/
Message-ID: <f26c5fdc.0203031738.30fd7895@posting.google.com>

Hi all,

Does anybody know where has some VxWorks example program?
Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: netTask limits high-frame-rate transfers in Gigabit Ethernet
Date: Sun, 3 Mar 2002 18:46:04 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c82e042@MAIL.mhogaming.com>

Watch out for the overhead of the netTask network stack scheduler. Every
invocation of netJobAdd causes TCP/IP stack related processing that consumes
much CPU time, thereby limiting frame transfer rates in high-performance
applications including Gigabit Ethernet.

For example, on a 200 MHZ PPC603e, I found the netTask overhead per
netJobAdd to be over 150 microseconds per call.

On a 450 MHZ PPC750, it still is high -- estimated about 80-100 microseconds
per call.

This can limit the frame rates especially if your application uses short
frames. It is a major bottleneck in Gigabit Ethernet applications, aside
from the TCP/IP stack itself.

Jerry Marcinko
DSS NETWORKS, INC.
www.dssnetworks.com

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 2 Mar 2002 16:41:13 -0500
From: tls@panix.com (Thor Lancelot Simon)
Organization: PANIX -- Public Access Networks Corp.
Message-ID: <a5rgtp$7je$1@panix1.panix.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>
Reply-To: tls@rek.tjls.com

In article <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>,
David A. Lethe <david@santools.com> wrote:
>On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>
>>David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
>>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>>
>>> >I'm looking for the source code of a C (or C++) implementation
>>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>>> >top and Fibre Channel Frames at the bottom. Does anyone know of
>>> >an available implementation, free or commercial?
>>>
>>> Just go to http://www.redhat.com, and follow the links to download
>>> their source code for LINUX.
>>
>>Thanks, David. Do you happen to know the names of the modules, to
>>save me a bit of searching? I thought Linux only had support for
>>the HBAs where most of the stack is implemented in firmware, and
>>the software driver just implements an interface to the firmware.
>Sorry ... I don't know the module names. Maybe it might be easier for

As far as I can tell, you don't know the module names because no such
modules exist. Did you actually try to understand J.J.'s question
before answering it?

- --
 Thor Lancelot Simon	 tls@rek.tjls.com
 But as he knew no bad language, he had called him all the names of common
 objects that he could think of, and had screamed: "You lamp! You towel! You
 plate!" and so on. --Sigmund Freud

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

Newsgroups: comp.os.vxworks
Subject: help
Date: 3 Mar 2002 22:08:12 -0800
From: kang.yonghong@mail.zte.com.cn (K.YH)
Organization: http://groups.google.com/
Message-ID: <d29c2180.0203032208.6ccf290d@posting.google.com>

Recently i have builded a bootable project,but when i boot vxworks
from FTP Server.There is a error,which appeared as follows:
Page Fault
Program Counter...
Error code : 0x0000000
Task : 0x3ffee7c "tRootTask"
My environment is :Tornado 2.0 vxworks X86bsp

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

Newsgroups: comp.os.vxworks
Subject: newbie!! ---GO ahead web server---* No rule to make target `emf\emfInternal.h', needed by `asp.o'
Date: 3 Mar 2002 22:35:30 -0800
From: hema@comneti.com (hema)
Organization: http://groups.google.com/
Message-ID: <7d240511.0203032235.1eb6f6e7@posting.google.com>

hai,

i use vxWorks 5.4/T 2
i downloaded the go ahead web server and i m unable to compile vit.
i get the message
* No rule to make target `emf\emfInternal.h', needed by `asp.o'. Stop

and there was a message posted at go ahead webserver site :

The define of UEMF is not correctly setup. Please see the build
instructions in the Readme file. The following is from the Readme.

"In all cases, the symbolic constant UEMF <I>*must*</I> be defined in
the command line
arguments to the compiler. The symbolic constant UNICODE needs to be
defined for Windows CE compilations or any other builds that need to
use unicoded character strings."

If you are using MS VC++6.0, you can go to Options|Directories|to
define .h files. Also review the Project|settings|C-C++
tab|Preprocessor definitions
field.

i m unable to proceed further..
should i define anything in the command line argument to the
compiler??
if so,i searched for the unicode(www.unicode.org)nothing is related to
UEMF.
what do i do now??

i built it for sim nt/ PPC860gnu...

any help is appritiated.

thanx and regards,
hema

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

Newsgroups: comp.os.vxworks
Subject: Tornado 2.0.2 With gcc 2.96
Date: 3 Mar 2002 23:00:21 -0800
From: shoz@elbit.co.il (shoz)
Organization: http://groups.google.com/
Message-ID: <d2eae3bd.0203032300.12e7301a@posting.google.com>

Hi
Did any body use T2 update for gcc 2.96 on x86 ?
Did any body use gcc 2.96 with Tornado on x86 ?
thanks oz

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

Newsgroups: comp.os.vxworks
Subject: A question about Tornado Prototyper
Date: 3 Mar 2002 23:38:15 -0800
From: yjyang88@iris.seed.net.tw (Johnny Yang)
Organization: http://groups.google.com/
Message-ID: <ede027e4.0203032338.15509fb2@posting.google.com>

Dear all:
I am practicing Tornado Prototyper by following the "Tornado
Prototyper Getting Started Guide". Everything works fine until section
3.6 "Download the Project to the VxWorks Target Simulator", the error
message is:

TGTSVR (vxsim@Johnny): Mon Mar 04 15:34:58 2002
 Checking License ...OK
 Wind River Systems Target Server: NT/Win95 version
 Error: clnttty_bufcreate can't open pipe
 Error: clnttty_bufcreate can't open pipe
 Error: clnttty_bufcreate can't open pipe
 Error: Remote system error; Error 65636
 Error: Backend initialization routine failed.
Problem during Backend initialization
Target Server will exit

I searched the whole news group, but found no answer.
Can anybody help me? Thank you!

ps. I am using Windows 98 on my PC.

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

Newsgroups: comp.os.vxworks
Subject: error msg: trcStack aborted: error in frame
Date: Mon, 04 Mar 2002 10:43:19 +0100
From: Markus Pietrek <mpietrek@fsforth.de>
Organization: FS Forth Systeme GmbH
Message-ID: <a5vfch$6v6$02$1@news.t-online.com>

Hi folks,

after porting a BSP (based on ARM/pid7t) from Tornado 2.0 to Tornado 2.1.1,
I received this error message when I press "Ctrl-C" on the console.
After that, the system is hanging.

"trcStack aborted: error in frame"

Has anyone learned anything about this message yet and could tell me what is
going wrong?

Thanks in advance,

Markus Pietrek

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

Newsgroups: comp.os.vxworks
Subject: MPC860 SMC2 in VxWorks
Date: Mon, 4 Mar 2002 10:38:16 +0000 (UTC)
From: "Jin.r Hur" <hjrsun@hitel.net>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <bbc5b6bc8a56d7bbd467622a12be0ca3.15384@mygate.mailgate.org>

I'm a user who is trying to make a BSP for SMC2 in MPC860, but after I
initialized SMC2 registers, serial communication (UART) was fail. And
after reset, serial communication become to OK.
SMC2 BSP was inserted into Object, so we couldn't fix it.
If anyone has any idea about this kindly, give me the solution.

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: motorola mcc_HDLC demo code
Date: 4 Mar 2002 02:42:00 -0800
From: lionjackyfish@sina.com.cn (JackyLiu)
Organization: http://groups.google.com/
Message-ID: <425faaf3.0203040242.75dae24a@posting.google.com>

Did anyone USE MOTROLA MCC_HDLC demo code? i am using it, but it is
not steady when i used it with vxWorks, somethings the test can pass,
but the other times the test maybe fail, would anyone give me advice?
Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Doubt in SOCK_RAW usage......
Date: 4 Mar 2002 03:12:03 -0800
From: sriram_sarda@yahoo.com (Sriram)
Organization: http://groups.google.com/
Message-ID: <8356dc69.0203040312.248a937@posting.google.com>

Hi Group,
 If you could help me answer some questions related to
SOCK_RAW on VxWorks it would be of great help to me.

1. How different is SOCK_RAW in VxWorks when compared
to Linux?
2. Do you compulsorily need root priviledge to work
with SOCK_RAW? Then how is its usage in VxWorks, I
mean, how do you set yourself as root in VxWorks?
3. If I use a socket of type socket(AF_INET, SOCK_RAW,
IPPROTO_OSPF), I will be getting an IP
packet(inclusive of IP header) where protocol has a
value of IPPROTO_OSPF. If this is true, then is the IP
header validated(ttl,checksum, etc) before I get the
IP packet or because I have got an IP packet I will
have to validate it myself??

TIA,
Sriram.

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

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

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 06:45:49 2002
From: "Clayton, Mark" <mark.clayton@netplane.com>
Date: Mon Mar 4 06:45:51 PST 2002
Subject: Re: Doubt in SOCK_RAW usage......

Hi Sriram,

RAW is essentially the same between VxWorks and Linux.
The differences are that:
1) you do not need to be 'root' on VxWorks.
2) the packet size and the frags & flags fields are in
network order (not host order).

Mark

>
> Newsgroups: comp.os.vxworks
> Subject: Doubt in SOCK_RAW usage......
> Date: 4 Mar 2002 03:12:03 -0800
> From: sriram_sarda@yahoo.com (Sriram)
> Organization: http://groups.google.com/
> Message-ID: <8356dc69.0203040312.248a937@posting.google.com>
>
> Hi Group,
> If you could help me answer some questions related to
> SOCK_RAW on VxWorks it would be of great help to me.
>
> 1. How different is SOCK_RAW in VxWorks when compared
> to Linux?
> 2. Do you compulsorily need root priviledge to work
> with SOCK_RAW? Then how is its usage in VxWorks, I
> mean, how do you set yourself as root in VxWorks?
> 3. If I use a socket of type socket(AF_INET, SOCK_RAW,
> IPPROTO_OSPF), I will be getting an IP
> packet(inclusive of IP header) where protocol has a
> value of IPPROTO_OSPF. If this is true, then is the IP
> header validated(ttl,checksum, etc) before I get the
> IP packet or because I have got an IP packet I will
> have to validate it myself??
>
> TIA,
> Sriram.

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 17:41:21 2002
From: =?ks_c_5601-1987?B?w9/BpMjG?= <jhchoo@solartt.co.kr>
Date: Mon Mar 4 17:41:23 PST 2002
Subject: initialize multiple ethernet interface after boot vxworks?

hello, all vxworks guys,

now, I want initialize one more ethernet interface(IP:192.168.2.249) after
boot vxworks.
So, I made following function. but the result is not successful.
===================================================================
void sttEnetInit ()
{
 char devName[] = MOT_FCC_DEV_NAME;
 END_TBL_ENTRY endEntry = { 1, sttEndLoad, "", 1, NULL, FALSE};
 END_TBL_ENTRY *pDevTbl = &endEntry;
 BOOL attached = FALSE; /* driver is attached */
 END_OBJ *pEnd;
 unsigned int unitNum = 1;
 char ipAddr[] = "192.168.2.249";
 unsigned int netmask ;

 muxDevLoad (pDevTbl->unit, pDevTbl->endLoadFunc,
 pDevTbl->endLoadString, pDevTbl->endLoan, pDevTbl->pBSP);

 /* Try an END device first */
 pEnd = endFindByName (devName, unitNum);

 if (!attached && (pEnd != NULL))
 {
 if (muxDevStart (pEnd) != OK)
 {
 printf("Failed to start device=%s\n", devName);
 return(ERROR);
 }

 if (muxIoctl(pEnd, EIOCGMIB2, (char *)&sttendM2Tbl)
 == ERROR)
 return(ERROR);

 if (ipAttach (unitNum, devName) != OK)
 {
 printf ("Failed to attach TCP/IP to device\n ");
 return (ERROR);
 }

 netmask = 0;
 bootNetmaskExtract (ipAddr, &netmask);

 printf ("Attached TCP/IP interface to %s%d.\n", devName,unitNum);
 attached = TRUE;
 }

 /* configure the device */
 if (usrNetIfConfig (devName, unitNum, ipAddr,
 /*(char *) NULL*/"jhchoo", netmask) != OK)
 return (ERROR);
}
=======================================================================

* My console print following information
=======================================================================
stt755_r>
stt755_r>muxShow
Device: sttfcc Unit: 0
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
Device: sttfcc Unit: 1
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
value = 0 = 0x0
stt755_r>
stt755_r>routeShow

ROUTE NET TABLE
destination gateway flags Refcnt Use Interface
----------------------------------------------------------------------------
192.168.1.0 192.168.1.223 101 0 0 sttfcc0
192.168.2.0 192.168.2.249 101 0 0 sttfcc1
----------------------------------------------------------------------------

ROUTE HOST TABLE
destination gateway flags Refcnt Use Interface
----------------------------------------------------------------------------
127.0.0.1 127.0.0.1 5 1 0 lo0
----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'
stt755_r>
stt755_r>
stt755_r>hostShow
hostname inet address aliases
-------- ------------ -------
stt755_r 192.168.1.223
localhost 127.0.0.1
tornado 192.168.1.29
jhchoo 192.168.2.249
value = 0 = 0x0
stt755_r>
stt755_r>
stt755_r>ifShow
sttfcc (unit number 0):
 Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
 Type: ETHERNET_CSMACD
 Internet address: 192.168.1.223
 Broadcast address: 192.168.1.255
 Netmask 0xffffff00 Subnetmask 0xffffff00
 Ethernet address is 00:00:aa:00:00:df
 Metric is 0
 Maximum Transfer Unit size is 1500
 480 packets received; 271 packets sent
 177 multicast packets received
 2 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
lo (unit number 0):
 Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING
 Type: SOFTWARE_LOOPBACK
 Internet address: 127.0.0.1
 Netmask 0xff000000 Subnetmask 0xff000000
 Metric is 0
 Maximum Transfer Unit size is 32768
 0 packets received; 0 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
sttfcc (unit number 1):
 Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
 Type: ETHERNET_CSMACD
 Internet address: 192.168.2.249
 Broadcast address: 192.168.2.255
 Netmask 0xffffff00 Subnetmask 0xffffff00
 Ethernet address is 00:00:aa:00:00:f9
 Metric is 0
 Maximum Transfer Unit size is 1500
 0 packets received; 0 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
value = 29 = 0x1d
stt755_r>
======================================================================

Above [ifShow] is done after [ping "192.168.2.222"] is done.
I think that above send packet count of "sttfcc1" must increase. right?
many receive packet is stored in driver's buffer. But above receive packet
count is 0. why?

From vxwexplo-errs@csg.lbl.gov Mon Mar 4 20:57:29 2002
From: "Chidananda Basavani Suresh" <chidananda.suresh@wipro.com>
Date: Mon Mar 4 20:57:31 PST 2002
Subject: Re: comp.os.vxworks newsdigest

This is a multi-part message in MIME format.

------=_NextPartTM-000-a63830c2-2ff3-11d6-a942-00b0d0d06be8
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

hai there,
 u can use ifShow() to see the interfaces.
make sure that netShow routines are enabled!!
bye
chida
----- Original Message -----
From: "the vxWorks Users Group Exploder" <vxwexplo@lbl.gov>
To: <vxworks_users@csg.lbl.gov>
Sent: Monday, March 04, 2002 5:42 PM
Subject: comp.os.vxworks newsdigest

> Submitted-by vxwexplo-errs@csg.lbl.gov Mon Mar 4 04:03:13 2002
> Submitted-by: Vxworks Exploder <vx_explo@csg.lbl.gov>
>
> Comp.Os.Vxworks Daily Digest Mon Mar 4 04:03:10 PST 2002
>
> Subject: How to find the interfaces in my target
>
> Newsgroups: comp.os.vxworks
> Subject: How to find the interfaces in my target
> Date: 3 Mar 2002 05:03:39 -0800
> From: bryanramesh@yahoo.com (Bryan)
> Organization: http://groups.google.com/
> Message-ID: <cc857445.0203030503.3fd6d5bd@posting.google.com>
>
> Hi,
>
> I want to find the interfaces exist in my target when i initialise my
> module. I dont find any special call to do that. With the help of
> ifnet structure we can do it or what. But how to do it. Every target
> will have "l0" as loopback address interface name. If we give that and
> if we use the ifnet structure's next pointer means, is that possible
> to get all the interface names and their properties while
> initialising. Kindly help me in this regard.
>
> Thanks,
> Bryan
>
> ---------------------------

------=_NextPartTM-000-a63830c2-2ff3-11d6-a942-00b0d0d06be8
Content-Type: text/plain;
	name="Wipro_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="Wipro_Disclaimer.txt"

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 'privileged' and 'confidential' and intended for use only by the
individual or entity to which it is addressed. You are notified that any
use, copying or dissemination of the information contained in the E-MAIL
in any manner whatsoever is strictly prohibited.

 ********************************************************************

------=_NextPartTM-000-a63830c2-2ff3-11d6-a942-00b0d0d06be8--

From vxwexplo-errs@csg.lbl.gov Tue Mar 5 04:03:24 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Mar 5 04:03:27 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Tue Mar 5 04:03:18 PST 2002

 Subject: ULIP on non-neworked w2k station
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: Re: muxLoad Failed while picking up the VxWorks image from host
 Subject: Re: error msg: trcStack aborted: error in frame
 Subject: Re: How to find the interfaces in my target
 Subject: tftp get strange files
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: Pipe vs Socket communication
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: Re: TCP/IP Support in VxWorks
 Subject: Re: Finding undefined symbols in .out file
 Subject: Re: tftp get strange files
 Subject: Re: How to find the interfaces in my target
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: intLock() and "system routines" vs. "kernel services"
 Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
 Subject: Re: Gigabit Ethernet performance poll
 Subject: Re: DHCP and WINS
 Subject: Re: [cancel] tftp get strange files
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
 Subject: Re: Gigabit Ethernet performance poll
 Subject: Re: Gigabit Ethernet performance poll
 Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
 Subject: Re: tNetTask takes too long?
 Subject: Traceroute: Porting code question
 Subject: Re: GP fault from "hello World"
 Subject: Re: usrAppInit.c(function call)question
 Subject: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: MPC860 SMC2 in VxWorks
 Subject: Re: tNetTask takes too long?
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: How to find the interfaces in my target
 Subject: Re: PPP problem
 Subject: Reply from Motorola SPS Customer Support Team
 Subject: Difference between MPC860SAR and MPC860MH
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: error msg: trcStack aborted: error in frame
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: Licensing Issues in RTLinux and RTAI
 Subject: question about receive sm IP packets.....
 Subject: multiple vme windows
 Subject: Re: tNetTask takes too long?
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: taskSwitchHookAdd problems ???
 Subject: Re: source code for SCSI Fibre Channel implementation

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

Newsgroups: comp.os.vxworks
Subject: ULIP on non-neworked w2k station
Date: Mon, 4 Mar 2002 08:01:08 -0500
From: "Mark Richards" <mprichards@delthis.msn.com>
Organization: AT&T Canada IES
Message-ID: <MeKg8.1899$a04.10904@tor-nn1.netcom.ca>

Hello,

I'm trying to go through the networking demo in Tornado 2.0.2 from a
Windows 2000 pro system, but I am running into TCP/IP configuration
problems, probably because the ULIP virtual adapter is the only network
card on this system.

These are the symptoms of the bad configuration:
- - ping 90.0.0.254 successfully from cmd prompt
- - ping "90.0.0.254" successfully from the two vxsim instances
- - ping 90.0.0.1 or 90.0.0.2 fails from cmd prompt
- - ping "90.0.0.2" or "90.0.0.1" fails from the vxsim instances
- - ping "127.0.0.1" fails from the vxsim instances

I assume part of this is routing. I enabled IP routing in w2k through
the registry as described in w2k KB, checked the routes with route, and
even added the routes manually, but pings to anything but ULIP adapter
fail.

Perhaps relevent: the local area network that appears in net&dial-up
once ULIP is installed is disabled, and fails with "failed to connect"
when I try to enable it (but still the pings to the adapter work).

It is possible that when I installed w2k pro I disabled those services
that would not be needed in a non-networked workstation.

This is probably a simple w2k networking configuration problem, but I'm
no expert in that :-}. If anyone has the same setup or knows what the
problem is, please help !

Thanks,
Mark

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 4 Mar 2002 05:08:39 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203040508.294513b5@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com>

Hi,

 Now, as per my previous mail, I'm able to access PCI I/O mapped
region. I'm able to read or write into our PCI based Card's registers.
All I had to do was to add 0xe8000000 (Address translation/mapping).

 Now, when I access our memory mapped region, I'm getting

"protection violation/data access "

 error. I haven't done any mapping of memory mapped BARs so far. I'm
trying to figure out what macro needs to be used or what constant
needs to be added for addres translation/mapping.

 If anyone already faced this problem and solved it, please do let me
know what I'm missing to make it work.

Regards
Arun

arun4vxworks@indiatimes.com (Arun Prasad) wrote in message news:<e38d912c.0203020654.6ce1ec55@posting.google.com>...
> Hi,
>
> I removed the call to our pci device configuration routine
> (AdptPciDevConfig()). I just used the I/O BAR (BAR2) provided by
> VxWorks adding with 0xe8000000 and now I'm able to access the I/O
> Registers of my card.
>
> George Varndell was pretty much correct that our pci configuration is
> incomplete.
>
> Now, my concern is now accessing 64 bit BARs. I'm working on to
> access memory mapped I/O. I'm trying to find out the constant which I
> need to add to my memory mapped BARs, if at all, to access them ( like
> I added 0xe800000 in the case of I/O mapped I/O region).
> As per the manual these regions are fully programmable. It seems I
> don't need to add any constants for accessing Memory mapped I/O
> region.
> If my understanding is wrong, please do let me know.
>
> Regards
> Arun

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: Mon, 4 Mar 2002 14:40:55 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a5vtha$qov$1@snoopy.bndlg.de>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088f2b4.dip.t-dialin.net

Hi Arun,

AFAIK, VxWorks does not support 64bit PCI. It interprets your 2 double BARs
as 4 seperate BARs and sets up access to those you find valid values. This
won't work for you:
You have access to I/O-mapped region, as PCI autoconfig found the regions
and the region was already added in sysPhysMemDesc[]. For your mem mapped
region this failed and your MMU complains that you try to access a region
that is not enabled.

I can see two {three} possible solutions:
a) Enable the considered region in your sysPhysMemDesc[] by hand (don't
forget the local2PCI bridge !) and setup your NIC's 64bit mem BARs by hand
in a way that their windows are placed accordingly.
b) Disable MMU.
{ c) Use a more common NIC ;-) }
HTH
Michael

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Arun Prasad" <arun4vxworks@indiatimes.com> schrieb im Newsbeitrag
news:e38d912c.0203040508.294513b5@posting.google.com...
> Hi,
>
> Now, as per my previous mail, I'm able to access PCI I/O mapped
> region. I'm able to read or write into our PCI based Card's registers.
> All I had to do was to add 0xe8000000 (Address translation/mapping).
>
> Now, when I access our memory mapped region, I'm getting
>
> "protection violation/data access "
>
> error. I haven't done any mapping of memory mapped BARs so far. I'm
> trying to figure out what macro needs to be used or what constant
> needs to be added for addres translation/mapping.
>
> If anyone already faced this problem and solved it, please do let me
> know what I'm missing to make it work.
>
> Regards
> Arun
>
> arun4vxworks@indiatimes.com (Arun Prasad) wrote in message
news:<e38d912c.0203020654.6ce1ec55@posting.google.com>...
> > Hi,
> >
> > I removed the call to our pci device configuration routine
> > (AdptPciDevConfig()). I just used the I/O BAR (BAR2) provided by
> > VxWorks adding with 0xe8000000 and now I'm able to access the I/O
> > Registers of my card.
> >
> > George Varndell was pretty much correct that our pci configuration is
> > incomplete.
> >
> > Now, my concern is now accessing 64 bit BARs. I'm working on to
> > access memory mapped I/O. I'm trying to find out the constant which I
> > need to add to my memory mapped BARs, if at all, to access them ( like
> > I added 0xe800000 in the case of I/O mapped I/O region).
> > As per the manual these regions are fully programmable. It seems I
> > don't need to add any constants for accessing Memory mapped I/O
> > region.
> > If my understanding is wrong, please do let me know.
> >
> > Regards
> > Arun

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Mon, 4 Mar 2002 14:08:12 +0000 (UTC)
From: "UK Gary" <deton8@aol.com>
Organization: BT Openworld
Message-ID: <a5vv4c$i08$1@helle.btinternet.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com>

"J. J. Farrell" <jjf@bcs.org.uk> wrote in message
news:5c04bc56.0202272342.124108d6@posting.google.com...
> I'm looking for the source code of a C (or C++) implementation
> of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> top and Fibre Channel Frames at the bottom. Does anyone know of
> an available implementation, free or commercial?

All vendors of Fibre Channel chips work pretty much the same way -- you sign
an NDA, then you get a hex file containing microcode which you have to
transfer to the FC chip, plus a simple bit of c code which is the interface
to the microcode engine. This c code is platform agnostic -- it simply
assumes that you have a PCI bus which of course is the only way to talk to
the chips. The microcode which executes entirely inside the FC chip
implements almost the entire FC protocol. If you are a target device, you
are responsible for decoding the SCSI CDB's, and pointing the FC chip
towards the appropriate scatter-gather lists in memory. When you sign the
NDA you may or may not get access to the chip level registers (which can
only be accessed in most cases by the microcode inside the chip which means
you would need to use their microassembler), but none the less I assure you
that you do not have the required expertise to program the chip at that
level. Besides, it's just not necessary. The c code that you get from the
chip company doesn't care at all about whether you are vxworks or Windows or
Mac or whatever.

The only exceptions to the above statements are if you use a FC chip
designed to go on a disk drive. In this case, the chip vendor will provide
you with a very simple reference implementation in source code, plus a
special assembler. However, this SDK is very tightly controlled, so unless
you are Seagate or Maxtor or can prove multi-thousand volume potential, give
up.

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Mon, 4 Mar 2002 09:01:47 +0300
From: "Maxim S. Shatskih" <maxim@storagecraft.com>
Organization: NATO
Message-ID: <a601fr$274a$6@gavrilo.mtu.ru>
References: <5c04bc56.0202272342.124108d6@posting.google.com>

Usually FC cards are "just another SCSI cards" for the rest of the OS, including the driver stack.

 Max

"J. J. Farrell" <jjf@bcs.org.uk> wrote in message news:5c04bc56.0202272342.124108d6@posting.google.com...
> I'm looking for the source code of a C (or C++) implementation
> of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> top and Fibre Channel Frames at the bottom. Does anyone know of
> an available implementation, free or commercial?
>
> To help with development based on this stack, I'm also looking
> for a PCI card which allows host software access to all incoming
> Fibre Channel frames, and allows the software to transmit FC
> frames. Does anyone know of one? The cards I've looked at have
> various parts of the stack implemented on board, and don't
> provide any mechanisms to receive or send raw frames.
>
> I'm new to FC, so please excuse any naivety in these requests!
>
> My target OS in both cases is VxWorks, though any source is
> better than none.
>
> Many Thanks,
> jjf

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Mon, 4 Mar 2002 09:02:29 +0300
From: "Maxim S. Shatskih" <maxim@storagecraft.com>
Organization: NATO
Message-ID: <a601fs$274a$7@gavrilo.mtu.ru>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>

> Just go to http://www.redhat.com, and follow the links to download
> their source code for LINUX.

ftp://ftp.kernel.org is a better link to the same :-)

 Max

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Mon, 4 Mar 2002 09:09:18 +0300
From: "Maxim S. Shatskih" <maxim@storagecraft.com>
Organization: NATO
Message-ID: <a601fs$274a$8@gavrilo.mtu.ru>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <cf6c276e.0203010001.2579292f@posting.google.com> <5c04bc56.0203011704.1561b9e1@posting.google.com>

> the SCSI/FC HBA market do, other than acquire or develop a

Note that:

- - w2k/XP SCSI stack does not support target mode. I.e. you cannot write any drivers in MS-recommended way which will allow the HBA
to be the SCSI target and fully utilize this.
- - w2k/XP do not support FC natively, so, your card must emulate the SCSI semantics (after all, isn't FC the same SCSI over new
media)?
- - the well-marketed STORPORT contains nothing seriously new.
- - you can add your own IOCTLs to the HBA driver and utilize them from the app. Note that the request queuing is done by the layer
above your driver - so, you cannot have any guarantees of what request will come first - IOCTL or some "real" request.

I cannot advertise my company here, but we have the complete SCSIPORT replacement and thus able to help.

Dunno on other OSes. Maybe some have special support for target mode or for native FC, not "FC as SCSI".

 Max

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: Mon, 4 Mar 2002 10:52:16 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203041049000.10460-100000@zimbra>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra>
 <newscache$zvh5sg$171$1@lnews.actcom.co.il> <Pine.GSO.4.42.0203011513570.10460-100000@zimbra>
 <488e459a.0203020855.7bc7815c@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 2 Mar 2002, John wrote:

> I don't know of any routines that will unlock interrupts regardless of
> the setting present on entry, all the places I've seen use the key
> returned by intLock() in the call to intUnlock(). The only places in

If you have a source license, look at the optimized assembly version of
semBGive() for the x86. It unlocks interrupts in the current task,
without regaurd to the current locking level.

(I realize that this answers at least one of my original questions: no it
is not safe to give a binary semaphore from an ISR context, and assume
that interupts will still be locked after the semGive()).

Keith

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

Newsgroups: comp.os.vxworks
Subject: Re: muxLoad Failed while picking up the VxWorks image from host
Date: Mon, 4 Mar 2002 16:54:55 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8398d1@brateggebdc5.br-automation.co.at>
References: <ae7893e8.0202282234.7a955751@posting.google.com> <3C7FE50A.C1A46C9C@notifier-is.net> <ae7893e8.0203020112.a00ebe6@posting.google.com>

Hi,

the elt driver will not help you much, its for the 3c509 (ISA) board.

AFAIK, there is no way to include END drivers with the project facility (its
plain missing, in all pc486 and pcPentium BSPs installations I've seen so
far).

To workaround, be sure to have included END network driver support &
initialization.
You may exclude the BSD driver support if you like (the driver you need -
elPci - is END only, AFAIK).

Then, be sure you have defined
#define INCLUDE_EL_3C90X_END /* 3com fast etherLink XL PCI */

in your BSP's config.h (you'll probably have, if your bootrom works, but
check it).

hth
Werner

"Ajay Garg" <ajay_garg@delhi.tcs.co.in> wrote in message
news:ae7893e8.0203020112.a00ebe6@posting.google.com...
> Hi,
> my PC is containing 3com905 card. Hence in the default boot line i
> am specifying "elPci". My VxWorks version is 5.4 and BSP is pcPentium.
> What i believe is that my boot image(which is in floppy drive) is
> booting fine but the VxWorks image stored in HOST is not able to
> communicate properly with it.
> Can you tell me what all to be included from project facility when
> I am making a bootable image for the same card. As of now I have
> included ELT card driver.
>
> Regards,
> Ajay Garg
> david lindauer <dlindauer@notifier-is.net> wrote in message
news:<3C7FE50A.C1A46C9C@notifier-is.net>...
> > does your configuration string have the correct card name? Seems like
> > you get errors like this if you specify a network boot device that
> > doesn't exist...
> >
> > David
> >
> > Ajay Garg wrote:
> >
> > > Hi,
> > > I am using 3COM card to communicate across network. I am getting a
> > > message "muxLoad failed" after getting the prompt on target. But if I
> > > am using a fei card, I am getting everything fine. I am making the
> > > necessary changes in config file for my BSP which is pentium.
> > > Your help is needed to solve this problem.
> > >
> > > Regards,
> > > Ajay Garg.

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

Newsgroups: comp.os.vxworks
Subject: Re: error msg: trcStack aborted: error in frame
Date: Mon, 4 Mar 2002 17:00:54 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c839a37$1@brateggebdc5.br-automation.co.at>
References: <a5vfch$6v6$02$1@news.t-online.com>

Hi,

for me this sounds as if the stackframe of some routine of the call stack
does not meet the expectations of trcStack().
Like if a different compiler were used for portions of the stuff.

Did you rebuild everything with the same compiler, that the core components
are built with?

hth
Werner

"Markus Pietrek" <mpietrek@fsforth.de> wrote in message
news:a5vfch$6v6$02$1@news.t-online.com...
> Hi folks,
>
> after porting a BSP (based on ARM/pid7t) from Tornado 2.0 to Tornado
2.1.1,
> I received this error message when I press "Ctrl-C" on the console.
> After that, the system is hanging.
>
> "trcStack aborted: error in frame"
>
> Has anyone learned anything about this message yet and could tell me what
is
> going wrong?
>
> Thanks in advance,
>
> Markus Pietrek

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

Newsgroups: comp.os.vxworks
Subject: Re: How to find the interfaces in my target
Date: Mon, 4 Mar 2002 12:02:04 -0500
From: "Stephane Ross" <sross@mediatrix.com>
Message-ID: <PKNg8.14099$cq6.496084@weber.videotron.net>
References: <cc857445.0203030503.3fd6d5bd@posting.google.com>

Hi Bryan,

I'm not aware of a function that does the trick... However, there is a
global pointer (extern struct ifnet *ifnet) that should be availiable to
you. You should probably use that pointer instead of the one provided by
ifunit("lo0") since I'm not sure lo0 is always the first one in the list...
Yes, using the next pointer is probably the best way.

Regards,
Stephane

"Bryan" <bryanramesh@yahoo.com> wrote in message
news:cc857445.0203030503.3fd6d5bd@posting.google.com...
> Hi,
>
> I want to find the interfaces exist in my target when i initialise my
> module. I dont find any special call to do that. With the help of
> ifnet structure we can do it or what. But how to do it. Every target
> will have "l0" as loopback address interface name. If we give that and
> if we use the ifnet structure's next pointer means, is that possible
> to get all the interface names and their properties while
> initialising. Kindly help me in this regard.
>
> Thanks,
> Bryan

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

Newsgroups: comp.os.vxworks
Subject: tftp get strange files
Date: 4 Mar 2002 09:22:58 -0800
From: ilyasg@yahoo.com (Ilyas G)
Organization: http://groups.google.com/
Message-ID: <afdb26d2.0203040922.2fcefc42@posting.google.com>

does anyone have used tftp over vxworks? does it works.
here is my problem.
I use simulator righ now.
i have a tftp server containing toto.txt file
and i have the following code :
##################################
 int dataFd;
 int errorFd;
 int num;
 char buf[5];
 FILE * fdin;

 if ((fdin = fopen ("toto.txt","w")) == NULL) return;

 if (tftpXfer ("90.0.0.254", 69, "toto.txt", "get", "ascii", &dataFd,
&errorFd) == ERROR) return;
 while ((num = read (dataFd, buf, sizeof(buf))) > 0)
 {
/* write (fdin,buff,num); */
 printf("%s",buf);
 }
 close (dataFd);
 fclose (fdin);

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

the result is not as expected the output looks like :
######################################
- -> start_tftpd
This is
th
e first
li
ne of a
fo
o file,
2nd
lignes

3rd
lignes

4th
line f
rom
files
END 
value = 0 = 0x0
- ->
################################

each time the read is called, only one char is returned and the string
is completed by many spcial char.

does any one have a hint?

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: Mon, 4 Mar 2002 17:54:22 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C83B539.8050201@spamm.me.l8s.co.uk>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra> <newscache$zvh5sg$171$1@lnews.actcom.co.il> <Pine.GSO.4.42.0203011513570.10460-100000@zimbra> <488e459a.0203020855.7bc7815c@posting.google.com> <Pine.GSO.4.42.0203041049000.10460-100000@zimbra>

> If you have a source license, look at the optimized assembly version of
> semBGive() for the x86. It unlocks interrupts in the current task,
> without regaurd to the current locking level.

IMHO that is a serious bug :-)

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

Newsgroups: comp.os.vxworks
Subject: Pipe vs Socket communication
Date: 4 Mar 2002 10:01:26 -0800
From: xavier_marjou@yahoo.com (Xavier Marjou)
Organization: http://groups.google.com/
Message-ID: <c1013e3b.0203041001.79ce1f29@posting.google.com>

Hello,

I would like to know how slow is a communication between two tasks if
a pipe is used or if it's a socket (local loopback). Is there any link
on the subject ?

Thank you,
Xavier Marjou

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: Mon, 4 Mar 2002 13:21:42 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203041320100.10460-100000@zimbra>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra>
 <newscache$zvh5sg$171$1@lnews.actcom.co.il> <Pine.GSO.4.42.0203011513570.10460-100000@zimbra>
 <488e459a.0203020855.7bc7815c@posting.google.com>
 <Pine.GSO.4.42.0203041049000.10460-100000@zimbra> <3C83B539.8050201@spamm.me.l8s.co.uk>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Mon, 4 Mar 2002, David Laight wrote:

> > If you have a source license, look at the optimized assembly version of
> > semBGive() for the x86. It unlocks interrupts in the current task,
> > without regaurd to the current locking level.
>
> IMHO that is a serious bug :-)
>

I agree. But since it's documented (see my original post), it's a
feature. ;)

Which brings me full circle: do we have a list of function calls which
display this "feature"?

Keith

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

Newsgroups: comp.os.vxworks
Subject: Re: TCP/IP Support in VxWorks
Date: Mon, 4 Mar 2002 10:37:42 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u87fokcr3kns28@corp.supernews.com>
References: <3c741e96_4@news1.prserv.net> <newscache$m0mvrg$g6b$1@lnews.actcom.co.il> <ce1027c4.0202261500.1f6b8433@posting.google.com> <NVKf8.2914$5o.1993745@newsr2.u-net.net>

Thanks. I started reading this group again a few weeks ago. I am working to
bring the PSO web site back online. If anyone needs a consultant I am
available.

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding undefined symbols in .out file
Date: Mon, 4 Mar 2002 13:38:28 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203041330160.10460-100000@zimbra>
References: <3C7EC2D5.1B9A2EE9@bitworkssystemsDELETETHIS.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Thu, 28 Feb 2002, Jon Newbill wrote:

> So the question is. How do you find what module referenced an undefined
> symbol when you download a .out file that was built from 50 or more
> modules?

I have written a script that accepts an object file and a symbol. It
pushes the name of the object file on a stack, then:

 while (stack is not empty) {
 pop object from stack
 if (sym is undefined in object file) {
 print the name of the object file
 invoke build script to determine what that object depends on
 push those objects onto the stack
 }
 }

So, this basically chases through the transitive closure of the
dependancies of an object file, to find the original place that the symbol
was undefined.

In the development environment I'm using, this isn't terribly difficult;
we use cons, which allows you query for the command that is used to build
a given target (cons -pa <target>). I then look at the command, and
consider anything that ends in a .o to be an object file that should be
considered. If you don't have an easy way of querying for the
dependancies of a given target, this won't be so easy.

Keith

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

Newsgroups: comp.os.vxworks
Subject: Re: tftp get strange files
Date: Mon, 04 Mar 2002 18:53:09 GMT
From: "Don Dewar" <ddewar@gothamnetworks.com>
Message-ID: <poPg8.7$GV6.781@paloalto-snr2.gtei.net>
References: <afdb26d2.0203040922.2fcefc42@posting.google.com>

Ilyas,

I have never had a problem using tftpXfer. It could be the TFTP server that
is causing only 1 character at a time to be returned.

Since only one character is being returned the reason that the rest of the
buffer is garbage is probably just random memory. If you put in a mempy
(buf, 0, sizeof (buf)) before the read, you will probably not get the
garbage.

You might put an analyzer on the line to see if only 1 character at a time
is being returned from the server. You can also turn on tftpVerbose=1 and
tftpTrace=1 to see what the transactions look like.

Good luck,
- -- Don

"Ilyas G" <ilyasg@yahoo.com> wrote in message
news:afdb26d2.0203040922.2fcefc42@posting.google.com...
> does anyone have used tftp over vxworks? does it works.
> here is my problem.
> I use simulator righ now.
> i have a tftp server containing toto.txt file
> and i have the following code :
> ##################################
> int dataFd;
> int errorFd;
> int num;
> char buf[5];
> FILE * fdin;
>
> if ((fdin = fopen ("toto.txt","w")) == NULL) return;
>
> if (tftpXfer ("90.0.0.254", 69, "toto.txt", "get", "ascii", &dataFd,
> &errorFd) == ERROR) return;
> while ((num = read (dataFd, buf, sizeof(buf))) > 0)
> {
> /* write (fdin,buff,num); */
> printf("%s",buf);
> }
> close (dataFd);
> fclose (fdin);
>
> ###############################################
>
> the result is not as expected the output looks like :
> ######################################
> -> start_tftpd
> This is
> th
> e first
> li
> ne of a
> fo
> o file,
> 2nd
> lignes
> 
> 3rd
> lignes
> 
> 4th
> line f
> rom
> files
> END 
> value = 0 = 0x0
> ->
> ################################
>
> each time the read is called, only one char is returned and the string
> is completed by many spcial char.
>
> does any one have a hint?

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

Newsgroups: comp.os.vxworks
Subject: Re: How to find the interfaces in my target
Date: 4 Mar 2002 11:18:41 -0800
From: tolu.makinde@strixsys.com (Tolu Makinde)
Organization: http://groups.google.com/
Message-ID: <94ebff4d.0203041118.4a8b8f19@posting.google.com>
References: <cc857445.0203030503.3fd6d5bd@posting.google.com>

Try "ifShow" from the target shell.

bryanramesh@yahoo.com (Bryan) wrote in message news:<cc857445.0203030503.3fd6d5bd@posting.google.com>...
> Hi,
>
> I want to find the interfaces exist in my target when i initialise my
> module. I dont find any special call to do that. With the help of
> ifnet structure we can do it or what. But how to do it. Every target
> will have "l0" as loopback address interface name. If we give that and
> if we use the ifnet structure's next pointer means, is that possible
> to get all the interface names and their properties while
> initialising. Kindly help me in this regard.
>
> Thanks,
> Bryan

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 3 Mar 2002 04:53:31 -0500
From: tls@panix.com (Thor Lancelot Simon)
Organization: PANIX -- Public Access Networks Corp.
Message-ID: <a5srqr$dmh$1@panix1.panix.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com> <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com>
Reply-To: tls@rek.tjls.com

In article <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com>,
David A. Lethe <david@santools.com> wrote:
>On 2 Mar 2002 16:41:13 -0500, tls@panix.com (Thor Lancelot Simon)
>wrote:
>
>>In article <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com>,
>>David A. Lethe <david@santools.com> wrote:
>>>On 1 Mar 2002 16:50:39 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>>
>>>>David A. Lethe <david@santools.com> wrote in message news:<pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com>...
>>>>> On 27 Feb 2002 23:42:18 -0800, jjf@bcs.org.uk (J. J. Farrell) wrote:
>>>>>
>>>>> >I'm looking for the source code of a C (or C++) implementation
>>>>> >of the 'SCSI over Fibre Channel' stack - SCSI commands at the
>>>>> >top and Fibre Channel Frames at the bottom. Does anyone know of
>>>>> >an available implementation, free or commercial?
>>>>>
>>>>> Just go to http://www.redhat.com, and follow the links to download
>>>>> their source code for LINUX.
>>>>
>>>>Thanks, David. Do you happen to know the names of the modules, to
>>>>save me a bit of searching? I thought Linux only had support for
>>>>the HBAs where most of the stack is implemented in firmware, and
>>>>the software driver just implements an interface to the firmware.
>>>Sorry ... I don't know the module names. Maybe it might be easier for
>>
>>As far as I can tell, you don't know the module names because no such
>>modules exist. Did you actually try to understand J.J.'s question
>>before answering it?
>I don't know the module names because it is neither my responsibility
>or desire to do this person's homework. He/whe asked if there was
>iSCSI driver sample sourcecode available, and I told them where some
>was.

No, he certainly did not.

J.J. asked if there was source code to a SCSI-over-FibreChannel
implementation available; there is no such source code in the Linux
kernel sources because the vendors all hide that layer in their
HBA "firmware" (a rather curious term, since most of the FC HBAs
you'll find on the market today actually use a modified general-purpose
CPU such as a SPARC or MIPS, but I digress) and Linux or other operating
system device drivers just interface to that.

In other words, you didn't take the time to actually understand his
question and you gave him a totally useless answer. In the future,
perhaps you should restrict yourself to answering questions you've
actually read, n'est-ce pas?

- --
 Thor Lancelot Simon	 tls@rek.tjls.com
 But as he knew no bad language, he had called him all the names of common
 objects that he could think of, and had screamed: "You lamp! You towel! You
 plate!" and so on. --Sigmund Freud

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

Newsgroups: comp.os.vxworks
Subject: Re: intLock() and "system routines" vs. "kernel services"
Date: Mon, 4 Mar 2002 19:42:32 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C83CE91.8030203@spamm.me.l8s.co.uk>
References: <Pine.GSO.4.42.0202261011330.10460-100000@zimbra> <newscache$zvh5sg$171$1@lnews.actcom.co.il> <Pine.GSO.4.42.0203011513570.10460-100000@zimbra> <488e459a.0203020855.7bc7815c@posting.google.com> <Pine.GSO.4.42.0203041049000.10460-100000@zimbra> <3C83B539.8050201@spamm.me.l8s.co.uk> <Pine.GSO.4.42.0203041320100.10460-100000@zimbra>

> Which brings me full circle: do we have a list of function calls which
> display this "feature"?

What, the 'feature' of having an obvious bug documented?

Try NFS sharing a vxWorks filesystem called "/dos/"?
You need the trailing '/' on vxWorks to stop "/dosfile"
being treated as part of your fs (which isn't what you
intended). Trying to mount it (from solaris) as "/dos"
or "/dos/" fail, however "/dos//" will work!
The code carefully removes a trailing '/' from the wrong
name when comparing the names.
Bug or feature?

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
Date: Mon, 4 Mar 2002 11:44:26 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u87jlqgek8dh95@corp.supernews.com>
References: <3c82e042@MAIL.mhogaming.com>

I think you might be right about this point. The netJobAdd (and netTask)
presents some problems especially in throughput and latency performance when
using very high speed networks. I am at least partly responsible for this
unfortunately. The problem is a little more involved than just netTask.

One of the reasons why netTask exists is to allow packet handling to happen
in task level code. Since most of kernel facilities (e.g. semTake) cannot
be called from within interrupt level code, it is necessary to make sure
most of packet handling code (TCP/IP stack) happens in task level. Doing a
netJobAdd() is one solution for this. netJobAdd() is nothing but a msgQ.
You send a message to netTask to do the job (I got a packet, so process it
at task level). It also helps to minimize interrupt latency (interrupts are
locked out for short time since most of the work is done in task level).

Another reason why netTask exists is because VxWorks TCP/IP stack is not
re-entrant. The whole stack runs in non-reentrant fashion. So netTask
does a "hack" -- it takes a semaphore, runs code in TCP/IP stack, then
yields the semaphore.

These are not good reasons necessarily, but they are what they are.

The performance issues, especially in throughput performance case, are
significant. It is possible to think of it this way: you have a system
(VxWorks) which tries very hard to minimize interrupt latency and maintain
good response time (i.e. real-time). The inherent requirement here goes
somewhat against the goal of high throughput. If you have to toggle
between interrupt and task level code back and forth for every packet, your
interrupt latency is minimized, but you actually do more work per packet.
The systems which I have worked on which emphasizes throughput overall do
not work this way. The best throughput oriented system (e.g. Network
Appliance file server appliances) uses combinations of cooperative
multitasking kernel and heuristic (hand-tuned) packet handling / scheduling
to maximize throughput while keeping latency low. Such systems also employ
very low overhead socket layer (direct access to mbufs from applications).

There are a lot of things to consider when trying for the optimal
performance (in both throughput and latency). VxWorks network stack is
good, but it is not the best performing stack. If you port Linux or BSD on
the same hardware and run TCP/IP benchmarks, you will see that Linux and BSD
perform better in general. This is not just the VxWorks network stack
issue either. It has to do with the overall architecture of VxWorks, being
a real-time system. It has to do certain things that other systems do not.
Things like keeping latency low. But in reality, the artificial constraints
(code!) turn out the end result which provides small benefit in terms of
latency with much larger throughput degradation. This is not to fault
VxWorks at all, since it is very good at doing real-time stuff. But a lot
of VxWorks usage nowadays is in the area of networking. And networking is
not necessarily real-time. The minute you throw TCP/IP and ethernet and
what not into your OS, your OS is not really hard real-time, at least from
overall perspective.

Since overall requirement nowadays seems to favor good balance of latency
and throughput performance in network portion of VxWorks, it makes a lot of
sense to think of how to achieve it. You cannot achieve this by adding
zBuf. If you study the design and actual real life performance of the so
called zBuf, you will notice that it is no better or worse than normal
buffers. There are better ways of solving that "extra copy" problem --
just use mbufs. Also, you cannot help solve this problem by adding a new
driver paradigm (END, SENS). You simply introduce more overhead in the code
path for very little benefit (if any).

In my opinion what should happen (what I should have done while at WRS) is
to create alternate runtime behavior for the network traffic. If users wish
to use VxWorks in non-realtime way, just for the goal of "fast networking",
the users should be given a chance. This can be done. Some of things
that should happen :

1. re-think netTask. At minimum, it should be demoted to smaller roll.
Right now it is a central clearing house for all network I/O. A packet
comes in, netJobAdd'ed, and netTask does everything for the packet for its
lifetime. This is done for all packets, all network interfaces, and the
entire TCP/IP stack. Not only is this single point of failure (if something
bad happens to netTask due to one of the network interfaces the whole
network subsystem of VxWorks is down), it is definitely not in the spirit of
keeping the realtime nature of the system. At minimum, each network
interface should be allowed to have its own task at a desired priority. A
packet comes in and handed off directly to each task. The handing off can
be done in a simple way, just semGive. Much lower overhead (but there is
still task switch overhead).

2. re-think overall runtime. Some attempts are made even in current code to
minimize calls to netJobAdd() , at least in some drivers not all. For
example, it is silly to call netJobAdd() for every packet that comes in. It
helps to see if it is necessary to call netJobAdd() first. If netTask is
already running, you do not need to prompt him again to call your function,
if your function is written in a loop to handle more than one packet at a
time. However, this is insufficient. More system wide consideration to
the whole packet processing must be considered. For example, if you have
TTCP running for benchmarking, it helps to consider overall system runtime
behavior from all the way down in interrupt handler to all the way up in
TTCP application, paying attention to what other things are happening in the
system in typical situations. That can help "hand tune" your system.

3. re-think buffering. Simpler schemes work better than complex schemes.
Latest SENS stacks have more complicated encapsulation around mbuf scheme.
When you do things like that you are adding more code for no good reason.
What should happen is : pay more attention to the behavior of buffers when
system is under high load. Buffering system should be designed to
accommodate high load gracefully, arriving at a steady state where buffer
inflow and outflow are matched. Otherwise, you have a system that drops a
lot of packets, or in some cases just does not work. It affects
performance.

This is a complex issue and I could spend many hours on this. I'd like to
hear from others as well, but I should probably stop writing now.

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

Newsgroups: comp.os.vxworks
Subject: Re: Gigabit Ethernet performance poll
Date: Mon, 4 Mar 2002 12:08:05 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u87l2em2bont4a@corp.supernews.com>
References: <3c816b0c$1@MAIL.mhogaming.com> <3c827f53$1@MAIL.mhogaming.com>

There are three main areas I consider worth considering when working on TCP
performance issues.

1. TCP window size: there is no single good answer. I typically try
different window sizes until I am satisfied. I change window sizes on
receiver and sender, look at the throughput, and study the network sniffer
capture (to understand whether there is any stop-and-go in the flow, whether
steady state, as Van Jacobsen calls it, has been achieved).

2. data copying. zBuf may or may not help. In my experience, zBuf did not
help at all. First make sure the device driver is not doing copying at the
low level. Then if you must, just run application code to bypass socket
libraries and write / read data via mbuf routines (read uipc_socket.c etc.
from BSD source code repositories on web).

3. IP checksum. Not all checksum routines for all CPUs are optimized
properly. There are few things that can be done. One thing is to use HW
that can do checksum (in the controller) if possible. And also combine data
copying with checksum (like Linux). More important is the actual checksum
code. Although IP checksum is very simple, there are ways to speed it up.
IP checksum is a clever algorithm which allows addition using larger chunks
with same result (IP checksum is 16bit add with carry, but you can do 32bit
add with carry just the same, for example. You might try 64bit). It also
helps to see if you can "unroll" the loop. Instead of having a tight loop
adding data, sometimes (especially in a heavily pipelined RISC architecture)
it is better to unroll the loop with bunch of "add" instruction statements.
The idea is to minimize the jumps caused by the loop which can stall or
confuse the pipeline. Keep the pipeline full. And use the delay slots
wisely.

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP and WINS
Date: Mon, 4 Mar 2002 12:27:02 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u87m5n36rpof79@corp.supernews.com>
References: <2df4589f.0202280838.15fb4da@posting.google.com> <uheo1qwa3.fsf@yahoo.com> <2df4589f.0203010843.61a63b4e@posting.google.com> <QTag8.63705$vP.268794@rwcrnsc51.ops.asp.att.net>

Can you use lmhosts file?

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

Newsgroups: comp.os.vxworks
Subject: Re: [cancel] tftp get strange files
Date: Mon, 04 Mar 2002 21:31:37 +0100
From: ilyas G <ilyas@no-spam.guennoun.org>
Organization: Wanadoo, l'internet avec France Telecom
Message-ID: <3C83D9A9.9070709@no-spam.guennoun.org>
References: <afdb26d2.0203040922.2fcefc42@posting.google.com>

Sorry for this post here,
the problem is just with the C language. I had forget to end the string

Ilyas G wrote:

> does anyone have used tftp over vxworks? does it works.
> here is my problem.
> I use simulator righ now.
> i have a tftp server containing toto.txt file
> and i have the following code :
> ##################################
> int dataFd;
> int errorFd;
> int num;
> char buf[5];
> FILE * fdin;
>
> if ((fdin = fopen ("toto.txt","w")) == NULL) return;
>
> if (tftpXfer ("90.0.0.254", 69, "toto.txt", "get", "ascii", &dataFd,
> &errorFd) == ERROR) return;
> while ((num = read (dataFd, buf, sizeof(buf))) > 0)
> {
> /* write (fdin,buff,num); */
> printf("%s",buf);
> }
> close (dataFd);
> fclose (fdin);
>
> ###############################################
>
> the result is not as expected the output looks like :
> ######################################
> -> start_tftpd
> This is
> th
> e first
> li
> ne of a
> fo
> o file,
> 2nd
> lignes
> 
> 3rd
> lignes
> 
> 4th
> line f
> rom
> files
> END 
> value = 0 = 0x0
> ->
> ################################
>
> each time the read is called, only one char is returned and the string
> is completed by many spcial char.
>
> does any one have a hint?
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 4 Mar 2002 13:29:03 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203041329.557d79ce@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com> <a5vtha$qov$1@snoopy.bndlg.de>

Dear Micheal,

 Are you sure VxWorks does not support 64 bit PCI?
 Could anyone clarify this?

 I don't have enough knowledge on VxWorks and how it handles PCI
stuff, though I have a bit knowledge on PCI and how Linux handles it.
Once I was working on writing a DOS driver for externel IDE controller
(PCI based). I knew the crude way of handling PCI/DMA/PIO programming
(Infact I did the same thing on OS/2 also) but not on how VxWorks
handles it.

 We/I can't go for the third solution which you have mentioned :-(

 It would be helpful if you could eloborate on the first two
solutions.

 We already tried to write our own routine to configure our card's
64bit BAR address registers (you coult see that at the start of this
mail chain). And I also tried to make entries in sysPhysMemDes[], but
nothing worked out.
 I don't know what I'm missing. But most of the thing I do/did on a
trial and error basis as my knowledge on VxWorks is not sufficient.
I'm learning. It has become very critical now and we are nearing our
deadline.

 Earlier replies/suggestions/answers would be of great help.

 One more question,
 If at all our card requires only 32 bit BAR memory Registers, what
should I do to access these memory regions after reading the BARs from
PCI config space?

 Thanks again.
Regards
Arun

"Michael Lawnick" <Lawnick@softec.de> wrote in message news:<a5vtha$qov$1@snoopy.bndlg.de>...
> Hi Arun,
>
> AFAIK, VxWorks does not support 64bit PCI. It interprets your 2 double BARs
> as 4 seperate BARs and sets up access to those you find valid values. This
> won't work for you:
> You have access to I/O-mapped region, as PCI autoconfig found the regions
> and the region was already added in sysPhysMemDesc[]. For your mem mapped
> region this failed and your MMU complains that you try to access a region
> that is not enabled.
>
> I can see two {three} possible solutions:
> a) Enable the considered region in your sysPhysMemDesc[] by hand (don't
> forget the local2PCI bridge !) and setup your NIC's 64bit mem BARs by hand
> in a way that their windows are placed accordingly.
> b) Disable MMU.
> { c) Use a more common NIC ;-) }
> HTH
> Michael
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
> SOFTEC GmbH Tel +49-731-96600-0
> Promenade 17 Fax +49-731-96600-23
> D-89073 Ulm Michael Lawnick
> Germany lawnick@softec.de
> ==============================================
>
> "Arun Prasad" <arun4vxworks@indiatimes.com> schrieb im Newsbeitrag
> news:e38d912c.0203040508.294513b5@posting.google.com...
> > Hi,
> >
> > Now, as per my previous mail, I'm able to access PCI I/O mapped
> > region. I'm able to read or write into our PCI based Card's registers.
> > All I had to do was to add 0xe8000000 (Address translation/mapping).
> >
> > Now, when I access our memory mapped region, I'm getting
> >
> > "protection violation/data access "
> >
> > error. I haven't done any mapping of memory mapped BARs so far. I'm
> > trying to figure out what macro needs to be used or what constant
> > needs to be added for addres translation/mapping.
> >
> > If anyone already faced this problem and solved it, please do let me
> > know what I'm missing to make it work.
> >
> > Regards
> > Arun
> >
> > > Arun

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

Newsgroups: comp.os.vxworks
Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
Date: Mon, 4 Mar 2002 13:38:19 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c83e9a6@MAIL.mhogaming.com>
References: <3c82e042@MAIL.mhogaming.com> <u87jlqgek8dh95@corp.supernews.com>

This is good information. I do not think that the netJobAdd ring queue
itself is a problem, but calling into the stack for processing even when
there is nothing to do seems to have something to do with it.

We generally avoid the problem by:

A) once an interrupt occurs, we disable the interrupt and schedule a
netTask. We then process the entire receive buffer descriptor list for
Ethernet frames and also the transmit completions. As the netTask scheduling
latency increases, we process many more receive frames per interrupt and
netTask invokation which lowers the impact of the netTask overhead.

B) However, with short frames there is enough spacing on the wire to where
we get into a situation where we process a small number of frames per
netTask event, typically 1-3. This is where the netTask overhead impacts us
the most as with short frames, the line utilization is low, but the frame
count is high.

Using "interrupt coalescing" or deferral of the hardware interrupt seems to
fix this pretty well as the interrupt can be deferred for 100 microseconds
or more allowing many frames to queue up on the receive descriptor. So
increasing the interrupt latency making it less real-time, but lessens the
impact of interrupt time and task-levels stack processing.

However, my feeling is that this netTask overhead is somehow unjustified and
could be addressed, however, to users of VxWorks, it is just a block box, so
it is difficult to say.

Jerry

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u87jlqgek8dh95@corp.supernews.com...
> I think you might be right about this point. The netJobAdd (and netTask)
> presents some problems especially in throughput and latency performance
when
> using very high speed networks. I am at least partly responsible for
this
> unfortunately. The problem is a little more involved than just netTask.
>
> One of the reasons why netTask exists is to allow packet handling to
happen
> in task level code. Since most of kernel facilities (e.g. semTake) cannot
> be called from within interrupt level code, it is necessary to make sure
> most of packet handling code (TCP/IP stack) happens in task level. Doing
a
> netJobAdd() is one solution for this. netJobAdd() is nothing but a msgQ.
> You send a message to netTask to do the job (I got a packet, so process it
> at task level). It also helps to minimize interrupt latency (interrupts
are
> locked out for short time since most of the work is done in task level).
>
> Another reason why netTask exists is because VxWorks TCP/IP stack is not
> re-entrant. The whole stack runs in non-reentrant fashion. So netTask
> does a "hack" -- it takes a semaphore, runs code in TCP/IP stack, then
> yields the semaphore.
>
> These are not good reasons necessarily, but they are what they are.
>
> The performance issues, especially in throughput performance case, are
> significant. It is possible to think of it this way: you have a system
> (VxWorks) which tries very hard to minimize interrupt latency and maintain
> good response time (i.e. real-time). The inherent requirement here goes
> somewhat against the goal of high throughput. If you have to toggle
> between interrupt and task level code back and forth for every packet,
your
> interrupt latency is minimized, but you actually do more work per packet.
> The systems which I have worked on which emphasizes throughput overall do
> not work this way. The best throughput oriented system (e.g. Network
> Appliance file server appliances) uses combinations of cooperative
> multitasking kernel and heuristic (hand-tuned) packet handling /
scheduling
> to maximize throughput while keeping latency low. Such systems also
employ
> very low overhead socket layer (direct access to mbufs from applications).
>
> There are a lot of things to consider when trying for the optimal
> performance (in both throughput and latency). VxWorks network stack is
> good, but it is not the best performing stack. If you port Linux or BSD
on
> the same hardware and run TCP/IP benchmarks, you will see that Linux and
BSD
> perform better in general. This is not just the VxWorks network stack
> issue either. It has to do with the overall architecture of VxWorks,
being
> a real-time system. It has to do certain things that other systems do
not.
> Things like keeping latency low. But in reality, the artificial
constraints
> (code!) turn out the end result which provides small benefit in terms of
> latency with much larger throughput degradation. This is not to fault
> VxWorks at all, since it is very good at doing real-time stuff. But a lot
> of VxWorks usage nowadays is in the area of networking. And networking is
> not necessarily real-time. The minute you throw TCP/IP and ethernet and
> what not into your OS, your OS is not really hard real-time, at least from
> overall perspective.
>
> Since overall requirement nowadays seems to favor good balance of latency
> and throughput performance in network portion of VxWorks, it makes a lot
of
> sense to think of how to achieve it. You cannot achieve this by adding
> zBuf. If you study the design and actual real life performance of the so
> called zBuf, you will notice that it is no better or worse than normal
> buffers. There are better ways of solving that "extra copy" problem --
> just use mbufs. Also, you cannot help solve this problem by adding a new
> driver paradigm (END, SENS). You simply introduce more overhead in the
code
> path for very little benefit (if any).
>
> In my opinion what should happen (what I should have done while at WRS) is
> to create alternate runtime behavior for the network traffic. If users
wish
> to use VxWorks in non-realtime way, just for the goal of "fast
networking",
> the users should be given a chance. This can be done. Some of things
> that should happen :
>
> 1. re-think netTask. At minimum, it should be demoted to smaller roll.
> Right now it is a central clearing house for all network I/O. A packet
> comes in, netJobAdd'ed, and netTask does everything for the packet for its
> lifetime. This is done for all packets, all network interfaces, and the
> entire TCP/IP stack. Not only is this single point of failure (if
something
> bad happens to netTask due to one of the network interfaces the whole
> network subsystem of VxWorks is down), it is definitely not in the spirit
of
> keeping the realtime nature of the system. At minimum, each network
> interface should be allowed to have its own task at a desired priority. A
> packet comes in and handed off directly to each task. The handing off can
> be done in a simple way, just semGive. Much lower overhead (but there is
> still task switch overhead).
>
> 2. re-think overall runtime. Some attempts are made even in current code
to
> minimize calls to netJobAdd() , at least in some drivers not all. For
> example, it is silly to call netJobAdd() for every packet that comes in.
It
> helps to see if it is necessary to call netJobAdd() first. If netTask is
> already running, you do not need to prompt him again to call your
function,
> if your function is written in a loop to handle more than one packet at a
> time. However, this is insufficient. More system wide consideration to
> the whole packet processing must be considered. For example, if you have
> TTCP running for benchmarking, it helps to consider overall system runtime
> behavior from all the way down in interrupt handler to all the way up in
> TTCP application, paying attention to what other things are happening in
the
> system in typical situations. That can help "hand tune" your system.
>
> 3. re-think buffering. Simpler schemes work better than complex schemes.
> Latest SENS stacks have more complicated encapsulation around mbuf scheme.
> When you do things like that you are adding more code for no good reason.
> What should happen is : pay more attention to the behavior of buffers when
> system is under high load. Buffering system should be designed to
> accommodate high load gracefully, arriving at a steady state where buffer
> inflow and outflow are matched. Otherwise, you have a system that drops
a
> lot of packets, or in some cases just does not work. It affects
> performance.
>
> This is a complex issue and I could spend many hours on this. I'd like to
> hear from others as well, but I should probably stop writing now.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Gigabit Ethernet performance poll
Date: Mon, 4 Mar 2002 13:49:00 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c83ec26@MAIL.mhogaming.com>
References: <3c816b0c$1@MAIL.mhogaming.com> <3c827f53$1@MAIL.mhogaming.com> <u87l2em2bont4a@corp.supernews.com>

Regarding item #3 (IP checksum) below, I think an issue here is advanced
features in the network stack such as checksum offloading and support for
jumbo frames are currently not supported, and very few users have access to
the source code to address it.

We do not copy data buffers on tx or rx in our driver. We implement scatter
on transmit as the controller supports it well.

Zero-copy may or may not work well depending on what your applications does
with the data. We get better blaster/blastee performance using the zero-copy
API, but then again we are not processing the data or manipulating the
zbufs.

We typically see our best performance with large TCP window sizes of 256K,
but tests have shown that we can do almost as well with 100K windows.

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u87l2em2bont4a@corp.supernews.com...
> There are three main areas I consider worth considering when working on
TCP
> performance issues.
>
> 1. TCP window size: there is no single good answer. I typically try
> different window sizes until I am satisfied. I change window sizes on
> receiver and sender, look at the throughput, and study the network sniffer
> capture (to understand whether there is any stop-and-go in the flow,
whether
> steady state, as Van Jacobsen calls it, has been achieved).
>
> 2. data copying. zBuf may or may not help. In my experience, zBuf did
not
> help at all. First make sure the device driver is not doing copying at
the
> low level. Then if you must, just run application code to bypass socket
> libraries and write / read data via mbuf routines (read uipc_socket.c etc.
> from BSD source code repositories on web).
>
> 3. IP checksum. Not all checksum routines for all CPUs are optimized
> properly. There are few things that can be done. One thing is to use HW
> that can do checksum (in the controller) if possible. And also combine
data
> copying with checksum (like Linux). More important is the actual checksum
> code. Although IP checksum is very simple, there are ways to speed it up.
> IP checksum is a clever algorithm which allows addition using larger
chunks
> with same result (IP checksum is 16bit add with carry, but you can do
32bit
> add with carry just the same, for example. You might try 64bit). It also
> helps to see if you can "unroll" the loop. Instead of having a tight loop
> adding data, sometimes (especially in a heavily pipelined RISC
architecture)
> it is better to unroll the loop with bunch of "add" instruction
statements.
> The idea is to minimize the jumps caused by the loop which can stall or
> confuse the pipeline. Keep the pipeline full. And use the delay slots
> wisely.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Gigabit Ethernet performance poll
Date: Mon, 4 Mar 2002 15:41:11 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u881ht8v6ms11b@corp.supernews.com>
References: <3c816b0c$1@MAIL.mhogaming.com> <3c827f53$1@MAIL.mhogaming.com> <u87l2em2bont4a@corp.supernews.com> <3c83ec26@MAIL.mhogaming.com>

Sounds like you know the performance issue better than me.

I am curious as to how you are able to set TCP window so big on VxWorks
side. Unless code has changed, the max reserved value for socket level
buffer is set at 64k. You can't set TCP window bigger than that. If you
tried to change the TCP window via socket options it will fail for values
greater than 64K.

Has this changed in some version of VxWorks I am not aware of?

One thing about using "buffer loaning" in drivers to avoid copies is that
you probably are better off doing the loaning for data that is bigger than
some value. Recommended procedure (undocumented of course) is to do some
experiments and find this threshold value. What I find is that typically if
the packet is smaller than 100 bytes, it makes no sense to adhere to the
loaning method. You end up wasting a lot of valuable nice big buffers and
use only small part of it. It is sometimes better to do the copying for
small packets. This has the side-effect of changing the runtime behavior as
well, for small packet cases. This is not a great solution, but something
to consider.

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

Newsgroups: comp.os.vxworks
Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
Date: Mon, 4 Mar 2002 15:44:05 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u881n3mdckeb52@corp.supernews.com>
References: <3c82e042@MAIL.mhogaming.com> <u87jlqgek8dh95@corp.supernews.com> <3c83e9a6@MAIL.mhogaming.com>

I also believe the current netTask model is somehow unjustified. That is a
good diplomatic way of describing it. :-)

However, fixing it is a little tricky. As you mention, hardware "interrupt
coalescing" helps for small size packets. The same can be implemented in
software. Essentially the same thing is done in software in some systems I
worked on (not VxWorks based, but custom embedded kernels running a port of
BSD stack). VxWorks can do it too, but it involves a lot of code changes.

And you will need permission/ source code from WRS.

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Mon, 4 Mar 2002 18:16:56 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi national Accelerator Lab
Message-ID: <a612lk$prf$1@info4.fnal.gov>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov>

Hi All,

Refreshing: We had a strange problem of tNetTask taking around 4.5 ms each
5 sec. It turns out that each 5 sec the miiLib adds a job to tNetTask for
checking if the PHY is connected or not.

It turns out that it is during this reading there is an abnormal delay.

Anyone any pointer or suggestion what could be wrong?

The WRS support person's system does not show the delay. But two of our
systems on different sub-nets show the problem (one is a MV2301 and another
MV2400).

We are running vxWorks 5.4.2 with June 2001 driver update installed.

Thanks,
Dinker

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

Newsgroups: comp.os.vxworks
Subject: Traceroute: Porting code question
Date: Tue, 05 Mar 2002 00:51:17 GMT
From: yang_christopher@hotmail.com (Chris Yang)
Message-ID: <9EUg8.5745$aFN.542@news1.bloor.is>

Hello,

I was wondering if anybody has tried to port over Van Jacobson's BSD version
of traceroute to vxWorks? I've been successful in building this code under
the tms and 5.4 environment, but when I perform a traceroute to another
interface it failes (pings are good). Is there a flaw with this code, besides
the gethost* or getaddr* function calls?

I highly doubt that windriver has an unsupported version of traceroute, but if
it exists can somebody tell me?

Thanks

Chris

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

Newsgroups: comp.os.vxworks
Subject: Re: GP fault from "hello World"
Date: Tue, 05 Mar 2002 01:00:10 GMT
From: yang_christopher@hotmail.com (Chris Yang)
Message-ID: <uMUg8.5845$aFN.2366@news1.bloor.is>
References: <VH9f8.2606$T_.26612@iad-read.news.verio.net>

Besides following doug's advice in checking to see if double's are supported.

You could spawn your method
sp fictiousmethodname,param1, blah, blah.

then check the task identifier (lets say 't1') by using ->tt t1. and then
check your registers ->ti t1

If you have any global variables, try making them static instead. (I ran into
a problem with gvars and found myself making them static gvars).

chris

- -
"doug dotson" <ddotson@digidata.com> wrote:
>Do you have floting point support? Try taking out the extraneous
>stuff and leave just the printf. Did you compile it for the right target?
>I recently accidently did that.
>
>doug
>
>"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
>news:3C7C549B.38B8352B@bitworkssystemsDELETETHIS.com...
>> Program now reads:
>> #include <vxWorks.h>
>> #include <stdio.h>
>>
>> int hello()
>> {
>> int a;
>> double pi = 3.141592;
>> printf("hello world\n");
>>
>> }
>>
>> Results are identical to previous. GP faults at on break on entry and on
>> printf call. Note that I get these errors on the sample programs also
>> (cobble.c).
>>
>> Jon Newbill
>>
>>
>> Michael Lawnick wrote:
>>
>> > Hi Jon,
>> >
>> > you must not use main().
>> > NewBie error #1 !!
>> >
>> > First #include should always be
>> > #include <vxWorks.h>
>> > NewBie error #2 !!
>> >
>> > Try it again and if the error persists, post again.
>> > --
>> > Mit freundlichen Gren,
>> > Michael Lawnick
>> > ==============================================
>> > SOFTEC GmbH Tel +49-731-96600-0
>> > Promenade 17 Fax +49-731-96600-23
>> > D-89073 Ulm Michael Lawnick
>> > Germany lawnick@softec.de
>> > ==============================================
>> >
>> > "Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> schrieb im
>Newsbeitrag
>> > news:3C7AD68C.87BA3075@bitworkssystemsDELETETHIS.com...
>> > > I'm getting a GP fault trying to run a simple hello world on a VMIC
>> > > VMIVME7750 Pentium III (GNU tools).
>> > >
>> > > #include <stdio.h>
>> > > int main()
>> > > {
>> > > int a;
>> > > double pi = 3.141592;
>> > > printf("hello world\n");
>> > > }
>> > >
>> > > This loads without error but the instant I try to run and break at the
>> > > entry point, I get
>> > >
>> > > General Protection Fault
>> > > Program Counter: 0x02174d92
>> > > Status Register: 0x00010212
>> > > Error Code: 0x0000001a
>> > > Task: 0x1fcbe5c8 "tDbgTask"
>> > >
>> > > I can single step the program but continue to get another GP
>> > > fault on the printf() call even though it does print "hello world" to
>> > > the
>> > > console. It appears that all CALL's cause a GP fault. This occurs in
>> > > all programs I try to debug. Does anyone know where to look up the
>> > > Error Code returned by General Protection fault. errno.h shows 0x1A
>> > > (26) as file name too long which doesn't make any sense.
>> > >
>> > > Any help would be appreciated.
>> > >
>> > > Jon Newbill
>> > > jonUN@bitworkssystemsREMOVSPAM.com
>> > >
>> > >
>> > >
>>

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

Newsgroups: comp.os.vxworks
Subject: Re: usrAppInit.c(function call)question
Date: Tue, 05 Mar 2002 01:09:10 GMT
From: yang_christopehr@hotmail.com (Chris Yang)
Message-ID: <WUUg8.5955$aFN.3122@news1.bloor.is>
References: <b305b5bd.0202212048.704161f6@posting.google.com>

Few things

"vxWorks.h" -> <vxWorks.h> blah blah everything else encaped with <>. Any
standard lib should be encaped with <>.

As for you worrying about externing C, don't worry, since the file name is
already a .c the compiler is smart enough. ;)

Assuming that your MAIN() method exists, then include the sucker in the file
or reference from header. Include the header file in your build and in your
file just in case.

One last thing about .. MAIN() DON'T EVER USE MAIN().
All methods are globalized. I think somebody in this newsgroup said that
people who use main() method names are newbies. but whatever... right now
MAIN doesn't exist. It's only a forward decl. I can make millions of forward
decls and the compiler won't complain unless I use them in the code, which
would lead to linking probs... sounds like what you're facing.

chris

alimohd@logiceastern.com (Ali) wrote:
>david lindauer <dlindauer@notifier-is.net> wrote in message
news:<3C74F5C9.91E2C2E3@notifier-is.net>...
>> it has to be defined in a file somewhere, with the same case. If defined
in
>> a C++ file make sure you prefix it with 'extern "C" ' to let the compiler
>> know not to mangle the name.
>>
>> I don't know if it is a good idea to call a main routine in usrAppInit.C or
>> not; we kind of assume the initialization is not done yet and just spawn
>> our main routine as a task so it will run when things get going.
>>
>> David
>>
>> LEE MYUNG SUK wrote:
>>
>> > Using Tornado 2.0 (UNIX)
>> > CPU : MPC860
>> >
>> > I created the project on bootable.
>> > And add project on downloadable of ppc860gnu tool chain.
>> > Compiled on ppc860gnu.out.
>> >
>> > <In usrAppInit.c>
>> > #include "vxWorks.h"
>> > #include "taskLib.h"
>> >
>> > void MAIN();
>> >
>> > void usrAppInit (void)
>> > {
>> > #ifdef USER_APPL_INIT
>> > USER_APPL_INIT; /* for backwards compatibility */
>> > #endif
>> >
>> > /* add application specific code here */
>> > MAIN();
>> > }
>> > but, (defualt)build error message - undefined reference to 'MAIN'
>> >
>> > what's wrong?
>> >
>> > please answer me, and thank you..
>
>You are making a right call to the function but have you included this
>file in build specifications..You just write a seperate application
>and then then include the path of the object file in extra modules and
>then call the funcyion here where you are calling it.
>you neeed not to write the whole code here.
>speaking for myself
>ali

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

Newsgroups: comp.os.vxworks
Subject: Initialize multiple ethernet interface after boot vxworks?
Date: Tue, 5 Mar 2002 02:19:21 +0000 (UTC)
From: "Choo Joung-hoon" <jhchoo@solartt.co.kr>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org>

hello, all vxworks guys,

now, I want initialize one more ethernet interface(IP:192.168.2.249)
after boot vxworks.
So, I made following function. but the result is not successful.
===================================================================
void sttEnetInit ()
{
 char devName[] = MOT_FCC_DEV_NAME;
 END_TBL_ENTRY endEntry = { 1, sttEndLoad, "", 1, NULL, FALSE};
 END_TBL_ENTRY *pDevTbl = &endEntry;
 BOOL attached = FALSE; /* driver is attached */
 END_OBJ *pEnd;
 unsigned int unitNum = 1;
 char ipAddr[] = "192.168.2.249";
 unsigned int netmask ;

 muxDevLoad (pDevTbl->unit, pDevTbl->endLoadFunc,
 pDevTbl->endLoadString, pDevTbl->endLoan,
pDevTbl->pBSP);

 /* Try an END device first */
 pEnd = endFindByName (devName, unitNum);

 if (!attached && (pEnd != NULL))
 {
 if (muxDevStart (pEnd) != OK)
 {
 printf("Failed to start device=%s\n", devName);
 return(ERROR);
 }

 if (muxIoctl(pEnd, EIOCGMIB2, (char *)&sttendM2Tbl)
 == ERROR)
 return(ERROR);

 if (ipAttach (unitNum, devName) != OK)
 {
 printf ("Failed to attach TCP/IP to device\n ");
 return (ERROR);
 }

 netmask = 0;
 bootNetmaskExtract (ipAddr, &netmask);

 printf ("Attached TCP/IP interface to %s%d.\n",
devName,unitNum);
 attached = TRUE;
 }

 /* configure the device */
 if (usrNetIfConfig (devName, unitNum, ipAddr,
 /*(char *) NULL*/"jhchoo", netmask) != OK)
 return (ERROR);
}
=======================================================================

* My console print following information
=======================================================================
stt755_r>
stt755_r>muxShow
Device: sttfcc Unit: 0
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
Device: sttfcc Unit: 1
Description: Motorola FCC Ethernet Enhanced Network Driver
Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
value = 0 = 0x0
stt755_r>
stt755_r>routeShow

ROUTE NET TABLE
destination gateway flags Refcnt Use
Interface

- ----------------------------------------------------------------------------
192.168.1.0 192.168.1.223 101 0 0
sttfcc0
192.168.2.0 192.168.2.249 101 0 0
sttfcc1

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

ROUTE HOST TABLE
destination gateway flags Refcnt Use
Interface

- ----------------------------------------------------------------------------
127.0.0.1 127.0.0.1 5 1 0 lo0

- ----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'
stt755_r>
stt755_r>
stt755_r>hostShow
hostname inet address aliases
- -------- ------------ -------
stt755_r 192.168.1.223
localhost 127.0.0.1
tornado 192.168.1.29
jhchoo 192.168.2.249
value = 0 = 0x0
stt755_r>
stt755_r>
stt755_r>ifShow
sttfcc (unit number 0):
 Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
 Type: ETHERNET_CSMACD
 Internet address: 192.168.1.223
 Broadcast address: 192.168.1.255
 Netmask 0xffffff00 Subnetmask 0xffffff00
 Ethernet address is 00:00:aa:00:00:df
 Metric is 0
 Maximum Transfer Unit size is 1500
 480 packets received; 271 packets sent
 177 multicast packets received
 2 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
lo (unit number 0):
 Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING
 Type: SOFTWARE_LOOPBACK
 Internet address: 127.0.0.1
 Netmask 0xff000000 Subnetmask 0xff000000
 Metric is 0
 Maximum Transfer Unit size is 32768
 0 packets received; 0 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
sttfcc (unit number 1):
 Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
 Type: ETHERNET_CSMACD
 Internet address: 192.168.2.249
 Broadcast address: 192.168.2.255
 Netmask 0xffffff00 Subnetmask 0xffffff00
 Ethernet address is 00:00:aa:00:00:f9
 Metric is 0
 Maximum Transfer Unit size is 1500
 0 packets received; 0 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
value = 29 = 0x1d
stt755_r>
======================================================================

Above [ifShow] is done after [ping "192.168.2.222"] is done.
I think that above send packet count of "sttfcc1" must increase. right?
many receive packet is stored in driver's buffer. But above receive
packet count is 0. why?

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: MPC860 SMC2 in VxWorks
Date: Tue, 5 Mar 2002 10:39:08 +0800
From: "David Wei" <weileimail@263.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <a61av5$gku$1@mail.cn99.com>
References: <bbc5b6bc8a56d7bbd467622a12be0ca3.15384@mygate.mailgate.org>

If you are using vxWorks to develop the Bsp, you just need to modify the
template of the Bsp files in the $(TORNADO)/target/config/BSP_DIR.

At the top of file "sysSerial.c", you will see the SMC2's configuration of
the dual port ram. If you wanna change it , you could change it here.
And, if you wanna change the baud of the serial port too, you 'd better
configure the parameter of the bsp project .
The default parameter of bsp's project set the serial port baud to 9600.
Commonly we just need to change the parameter of the baud.

"Jin.r Hur" <hjrsun@hitel.net>
??????:bbc5b6bc8a56d7bbd467622a12be0ca3.15384@mygate.mailgate.org...
> I'm a user who is trying to make a BSP for SMC2 in MPC860, but after I
> initialized SMC2 registers, serial communication (UART) was fail. And
> after reset, serial communication become to OK.
> SMC2 BSP was inserted into Object, so we couldn't fix it.
> If anyone has any idea about this kindly, give me the solution.
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Mon, 4 Mar 2002 19:14:09 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c84385c@MAIL.mhogaming.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov>

As you probably know the netTask uses a single job queue for all jobs, so
any event that takes too much processing blocks others in the queue.

If you have already found that a driver that is reading the PHY status thru
the MI is the culprit, then this sounds very likely. The MI interface is a
serial bus interface much like a serial eeprom with a serial bitstream
command and response frame. For a read command, there is something like a
14-bit preamble followed by a 16-bit command written followed by a 16-bit
response all done in for-next loops, sometimes with delays added. Many
times, programmers unaware of the exact timing requirements add delays
during clocking out (or in) of the serial bitstream that can add up to
significant delays which may be your problem. You will need to determine
which driver is causing the delay and then look into the timing of the MI
access routines in the code.

Jerry

"Dinker Charak" <dinker@fnal.gov> wrote in message
news:a612lk$prf$1@info4.fnal.gov...
> Hi All,
>
> Refreshing: We had a strange problem of tNetTask taking around 4.5 ms each
> 5 sec. It turns out that each 5 sec the miiLib adds a job to tNetTask for
> checking if the PHY is connected or not.
>
> It turns out that it is during this reading there is an abnormal delay.
>
> Anyone any pointer or suggestion what could be wrong?
>
> The WRS support person's system does not show the delay. But two of our
> systems on different sub-nets show the problem (one is a MV2301 and
another
> MV2400).
>
> We are running vxWorks 5.4.2 with June 2001 driver update installed.
>
> Thanks,
> Dinker
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 5 Mar 2002 04:27:04 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna88i8o.gbn.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com>

 * shoz <shoz@elbit.co.il> [03-Sun-02 23:00 -0800]:
 >
 > Did any body use T2 update for gcc 2.96 on x86 ? Did any
 > body use gcc 2.96 with Tornado on x86 ?

is 2.96 something you can get from VxWorks? Last I heard
from them, they were working, and would have an update
sometime close to summer, and in the meantime you are stuck
with 2.7.2 (unless you compile something yourself)

thanks,

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to find the interfaces in my target
Date: 4 Mar 2002 21:02:55 -0800
From: bryanramesh@yahoo.com (Bryan)
Organization: http://groups.google.com/
Message-ID: <cc857445.0203042102.24148cdf@posting.google.com>
References: <cc857445.0203030503.3fd6d5bd@posting.google.com> <94ebff4d.0203041118.4a8b8f19@posting.google.com>

Hi,

I think assuming lo0 as the first interface is not a good way of
programming. There might some way of doing it. Yes ifShow will provide
the info, but again how ifShow will be coded. THey might be using
ioctls only. But i tried it in linux it worked. But in VxWOrks the
same is not providing the desired result. Some extra junk is also
printed. Some where am missing. Let me see. In case if anybody have a
readymade solution kindly let me know.

THanks,
Bryan

================================================================
tolu.makinde@strixsys.com (Tolu Makinde) wrote in message news:<94ebff4d.0203041118.4a8b8f19@posting.google.com>...
> Try "ifShow" from the target shell.
>
>
> bryanramesh@yahoo.com (Bryan) wrote in message news:<cc857445.0203030503.3fd6d5bd@posting.google.com>...
> > Hi,
> >
> > I want to find the interfaces exist in my target when i initialise my
> > module. I dont find any special call to do that. With the help of
> > ifnet structure we can do it or what. But how to do it. Every target
> > will have "l0" as loopback address interface name. If we give that and
> > if we use the ifnet structure's next pointer means, is that possible
> > to get all the interface names and their properties while
> > initialising. Kindly help me in this regard.
> >
> > Thanks,
> > Bryan

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP problem
Date: 4 Mar 2002 22:49:31 -0800
From: jayaram@mistralsoftware.com (Jayaram)
Organization: http://groups.google.com/
Message-ID: <2fcdc239.0203042249.7fd69bf5@posting.google.com>
References: <3C7E0A02.3F646C90@sepro-robotique.com>

Emmanuel Herbreteau <eherbreteau@sepro-robotique.com> wrote in message news:<3C7E0A02.3F646C90@sepro-robotique.com>...
> Hi,
>
> I need help for a PPP problem with VxWorks 5.4 (latest patches)
>
> A computer is connected to my target using a RS232/PPP
> link at 38400 bauds, and then the computer get
> files from the target with FTP
> (this is the latest FTP server from the DOSFS2 CD-Rom).
>
> It works fine with medium size files (ie: 100 files
> of 64KB), but when the computer read quickly a great number
> of small size (ie :15 files of 2KB), the PPP link locks
> after 8 files :
>
> - Windows NT reports CRC errors in the dial-up window
> - the FTP server on the target failed to allocate a new socket
> - sometimes the target crash.
>
> I think it should be an overflow problem in the NetTask
> or in the PPP driver... Does anyone know the solution ?
> How to solve this problem ?

Hi,
 I also faced the same problem few days back,but i didn't noticed
when i get that problem to me.what i thought it was time critical
issue,just i changed the size of the mblks and cblks and rebooted the
target,after that i didn't faced such kind of problem.U please try by
increasing the mbls and cblks. if not solved please come back we will
try as our level best..

Regards,
- -Jayaram.

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

Newsgroups: comp.os.vxworks
Subject: Reply from Motorola SPS Customer Support Team
Date: Tue, 5 Mar 2002 15:10:14 +0800
From: "David Wei" <weileimail@263.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <a61qrh$2g$1@mail.cn99.com>
References: <a5mouh$o5a$1@mail.cn99.com>

In reply to your Service Request SR 1-27475673 (see details below):

QMC microcode in 860SAR is exactly the same as in 860MH, no changes is made
to the PRAM layout. The only possible solution is the SMC relocation patch
available for free from the Web, but you will loose first 32 channels with
it.

- ------- Details of your request: -------

Date Opened : 28.02.02 19:28:07
Product : XPC850SRZT50BU
Cust Part Nbr:
Category: Technical Request
Topic : Technical Request

Subject: Difference between MPC860SAR and MPC860MH

Description :
 In the MPC860MH, if I configure the SCC4 to work in the QMC mode, I
couldn't use SMC2 because of the parameter ram confliction.

 My question: whether or not the MPC860SAR could solute this
confliction.

- ------- End of request details -------

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Tue, 05 Mar 2002 07:08:22 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com>

"UK Gary" <deton8@aol.com> wrote in message
news:a5vv4c$i08$1@helle.btinternet.com...
>
> "J. J. Farrell" <jjf@bcs.org.uk> wrote in message
> news:5c04bc56.0202272342.124108d6@posting.google.com...
> > I'm looking for the source code of a C (or C++) implementation
> > of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> > top and Fibre Channel Frames at the bottom. Does anyone know of
> > an available implementation, free or commercial?
>
> All vendors of Fibre Channel chips work pretty much the same way -- you
sign
> an NDA, then you get a hex file containing microcode which you have to
> transfer to the FC chip, plus a simple bit of c code which is the
interface
> to the microcode engine. This c code is platform agnostic -- it simply
> assumes that you have a PCI bus which of course is the only way to talk to
> the chips. The microcode which executes entirely inside the FC chip
> implements almost the entire FC protocol. If you are a target device, you
> are responsible for decoding the SCSI CDB's, and pointing the FC chip
> towards the appropriate scatter-gather lists in memory. When you sign
the
> NDA you may or may not get access to the chip level registers (which can
> only be accessed in most cases by the microcode inside the chip which
means
> you would need to use their microassembler), but none the less I assure
you
> that you do not have the required expertise to program the chip at that
> level.

An interesting assurance. On what do you base it?

> Besides, it's just not necessary.

Doesn't that rather depend on what I'm doing?

> The c code that you get from the
> chip company doesn't care at all about whether you are vxworks or Windows
or
> Mac or whatever.
>
> The only exceptions to the above statements are if you use a FC chip
> designed to go on a disk drive. In this case, the chip vendor will
provide
> you with a very simple reference implementation in source code, plus a
> special assembler. However, this SDK is very tightly controlled, so
unless
> you are Seagate or Maxtor or can prove multi-thousand volume potential,
give
> up.

Thanks for posting, but I'm afraid your comments aren't relevant
in this case. I may not know much, but I know what I need at the
moment. I need a C implementation of the FCP/FC stack giving
initiator and target mode access at the top and FC-2 frames at
the bottom. It looks like there aren't many available ...

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 4 Mar 2002 23:56:16 -0800
From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=)
Organization: http://groups.google.com/
Message-ID: <9ec53d11.0203042356.73d7b673@posting.google.com>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com>

shoz@elbit.co.il (shoz) wrote in message news:<d2eae3bd.0203032300.12e7301a@posting.google.com>...
> Hi
> Did any body use T2 update for gcc 2.96 on x86 ?
> Did any body use gcc 2.96 with Tornado on x86 ?
> thanks oz

No. I wish I did, if it existed. I need C++ namespaces (to use CORBA
without nasty classes inside classes to simulate namespaces.)

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

Newsgroups: comp.os.vxworks
Subject: Re: error msg: trcStack aborted: error in frame
Date: Tue, 05 Mar 2002 09:11:41 +0100
From: Markus Pietrek <mpietrek@fsforth.de>
Organization: FS Forth Systeme GmbH
Message-ID: <a61ucq$1og$00$1@news.t-online.com>
References: <a5vfch$6v6$02$1@news.t-online.com> <3c839a37$1@brateggebdc5.br-automation.co.at>

Werner Schiendl wrote:

> Hi,
>
> for me this sounds as if the stackframe of some routine of the call stack
> does not meet the expectations of trcStack().
> Like if a different compiler were used for portions of the stuff.
>
> Did you rebuild everything with the same compiler, that the core
> components are built with?

I hope so as I'm using the compiler (ccarm 2.9) bundled with Tornado 2.1.1.
Yesterday I made that discovery that not the system is standing but only the
serial shell is suspended. When I do 'tr tShell' on a WDB shell it will be
resumed but the special functions of the console (e.g. ctrl-x and ctrl-c)
are being disabled.

Bye,
Markus Pietrek

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: Tue, 5 Mar 2002 09:18:36 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a61v10$149$1@snoopy.bndlg.de>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com> <a5vtha$qov$1@snoopy.bndlg.de> <e38d912c.0203041329.557d79ce@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95244e6.dip.t-dialin.net

Hi Arun,

take a look into $(WIND_BASE)/target/src/drv/pci/pciAutoConfigLib.c,
this is the code executed for setting up PCI devices automatically.
I can't see any hint for 64bit there.

Reviewing your first post, I think, setup might be done correct:
The registers set to 0x8100x00y under LINUX are set to 0x4000x00y in
VxWorks, the main difference is the freely selectable translation offset
Local2PCI.
One difference seems not to be OK:
under LINUX BAR0 ends with 0, under Tornado with c. Remembering that you
said that both pairs are 64bit, I'd beleave in VxWorks - a typo in your
LINUX output-copy ?

I'm not pretty sure what you are doing after setup, there is to much in your
posting.
After auto-config you should be able to access the memory-mapped part of
your NIC by
PCI_MEM2LOCAL(<BAR0-value> + <offset>)
and your IO-mapped registers by
PCI_MEMIO2LOCAL(<BAR2-value> + <offset>)
You'll find this macros in walnut.h. Check whether the result of this macros
is included in the PCI-memory window of your sysPhysMemDesc[] (should be)

Example with your autoConfig setup:
BAR0=0x4000000c /* memarea_1 */
BAR1=0
BAR2=0x0001 /* register_area*/
BAR3=0x4000100c /* memarea_2 */
BAR4=0

typedef struct
{
...
UINT32 ioBase;
UINT32 memBase1;
UINT32 memBase2;
...
} DRV_CRTL;
...

{
UINT32 nicMemBase1;
UINT32 nicMemBase2;
UINT32 nicIoBase;

/* get base addresses of NIC's PCI windows */
pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_0,&nicMemBase1);
pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_2,&nicIoBase);
pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_3,&nicMemBase2);

/* translate PCI windows to CPU-local addresses and save in driver's struct
*/
pDrvCtrl->ioBase=PCI_IO2LOCAL(nicIoBase);
pDrvCtrl->memBase1=PCI_MEM2LOCAL(nicMemBase1);
pDrvCtrl->memBase2=PCI_MEM2LOCAL(nicMemBase2);
}

/* later on, when access is needed */
{
...
/*Access 32bit register with offset 0x20 in register_area */
NicReg = *(UINT32*)(pDrvCtrl->ioBase+ 0x20);
/*Access 32bit memory value with offset 0x200 in memarea_1 */
NicMem1 = *(UINT32*)(pDrvCtrl->memBase1 + 0x200 );
/*Access 16bit memory value with offset 0x222 in memarea_2 */
NicMem1 = *(UINT16*)(pDrvCtrl->memBase2 + 0x222 );
...
}

Remember: On PPC in CPU's view all PCI accesses are standard memory
accesses - if mem-mapped or IO-mapped. The local2PCI bridge converts an
access to the apropriate PCI-cycles.

HTH

Mit freundlichen Gren,
Michael Lawnick
=========================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
=========================================
> Dear Micheal,
>
> Are you sure VxWorks does not support 64 bit PCI?
> Could anyone clarify this?
>
> I don't have enough knowledge on VxWorks and how it handles PCI
> stuff, though I have a bit knowledge on PCI and how Linux handles it.
> Once I was working on writing a DOS driver for externel IDE controller
> (PCI based). I knew the crude way of handling PCI/DMA/PIO programming
> (Infact I did the same thing on OS/2 also) but not on how VxWorks
> handles it.
>
> We/I can't go for the third solution which you have mentioned :-(
>
> It would be helpful if you could eloborate on the first two
> solutions.
>
> We already tried to write our own routine to configure our card's
> 64bit BAR address registers (you coult see that at the start of this
> mail chain). And I also tried to make entries in sysPhysMemDes[], but
> nothing worked out.
> I don't know what I'm missing. But most of the thing I do/did on a
> trial and error basis as my knowledge on VxWorks is not sufficient.
> I'm learning. It has become very critical now and we are nearing our
> deadline.
>
> Earlier replies/suggestions/answers would be of great help.
>
> One more question,
> If at all our card requires only 32 bit BAR memory Registers, what
> should I do to access these memory regions after reading the BARs from
> PCI config space?
>
> Thanks again.
> Regards
> Arun
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message
news:<a5vtha$qov$1@snoopy.bndlg.de>...
> > Hi Arun,
> >
> > AFAIK, VxWorks does not support 64bit PCI. It interprets your 2 double
BARs
> > as 4 seperate BARs and sets up access to those you find valid values.
This
> > won't work for you:
> > You have access to I/O-mapped region, as PCI autoconfig found the
regions
> > and the region was already added in sysPhysMemDesc[]. For your mem
mapped
> > region this failed and your MMU complains that you try to access a
region
> > that is not enabled.
> >
> > I can see two {three} possible solutions:
> > a) Enable the considered region in your sysPhysMemDesc[] by hand (don't
> > forget the local2PCI bridge !) and setup your NIC's 64bit mem BARs by
hand
> > in a way that their windows are placed accordingly.
> > b) Disable MMU.
> > { c) Use a more common NIC ;-) }
> > HTH
> > Michael
> >
> > --
> > Mit freundlichen Gren,
> > Michael Lawnick
> > ==============================================
> > SOFTEC GmbH Tel +49-731-96600-0
> > Promenade 17 Fax +49-731-96600-23
> > D-89073 Ulm Michael Lawnick
> > Germany lawnick@softec.de
> > ==============================================
> >
> > "Arun Prasad" <arun4vxworks@indiatimes.com> schrieb im Newsbeitrag
> > news:e38d912c.0203040508.294513b5@posting.google.com...
> > > Hi,
> > >
> > > Now, as per my previous mail, I'm able to access PCI I/O mapped
> > > region. I'm able to read or write into our PCI based Card's registers.
> > > All I had to do was to add 0xe8000000 (Address translation/mapping).
> > >
> > > Now, when I access our memory mapped region, I'm getting
> > >
> > > "protection violation/data access "
> > >
> > > error. I haven't done any mapping of memory mapped BARs so far. I'm
> > > trying to figure out what macro needs to be used or what constant
> > > needs to be added for addres translation/mapping.
> > >
> > > If anyone already faced this problem and solved it, please do let me
> > > know what I'm missing to make it work.
> > >
> > > Regards
> > > Arun
> > >
> > > > Arun

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

Newsgroups: comp.os.vxworks
Subject: Re: Initialize multiple ethernet interface after boot vxworks?
Date: Tue, 5 Mar 2002 10:13:52 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6228h$2vr$1@snoopy.bndlg.de>
References: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95244e6.dip.t-dialin.net

Hi Choo,

first: I'm no network expert, so no details, but...
on initialisation there should be sent one ARP packet (automatically). As
your statistic shows none, it seems that initialisation failed.

Looking at your code, I see you have a void function, but return ERROR
within code.
No good style.
Add -W -Wall to your compiler options and don't ignore the warnings - every
warning could be a hidden problem.

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Choo Joung-hoon" <jhchoo@solartt.co.kr> schrieb im Newsbeitrag
news:dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org...
> hello, all vxworks guys,
>
> now, I want initialize one more ethernet interface(IP:192.168.2.249)
> after boot vxworks.
> So, I made following function. but the result is not successful.
> ===================================================================
> void sttEnetInit ()
> {
> char devName[] = MOT_FCC_DEV_NAME;
> END_TBL_ENTRY endEntry = { 1, sttEndLoad, "", 1, NULL, FALSE};
> END_TBL_ENTRY *pDevTbl = &endEntry;
> BOOL attached = FALSE; /* driver is attached */
> END_OBJ *pEnd;
> unsigned int unitNum = 1;
> char ipAddr[] = "192.168.2.249";
> unsigned int netmask ;
>
> muxDevLoad (pDevTbl->unit, pDevTbl->endLoadFunc,
> pDevTbl->endLoadString, pDevTbl->endLoan,
> pDevTbl->pBSP);
>
> /* Try an END device first */
> pEnd = endFindByName (devName, unitNum);
>
> if (!attached && (pEnd != NULL))
> {
> if (muxDevStart (pEnd) != OK)
> {
> printf("Failed to start device=%s\n", devName);
> return(ERROR);
> }
>
> if (muxIoctl(pEnd, EIOCGMIB2, (char *)&sttendM2Tbl)
> == ERROR)
> return(ERROR);
>
> if (ipAttach (unitNum, devName) != OK)
> {
> printf ("Failed to attach TCP/IP to device\n ");
> return (ERROR);
> }
>
> netmask = 0;
> bootNetmaskExtract (ipAddr, &netmask);
>
> printf ("Attached TCP/IP interface to %s%d.\n",
> devName,unitNum);
> attached = TRUE;
> }
>
> /* configure the device */
> if (usrNetIfConfig (devName, unitNum, ipAddr,
> /*(char *) NULL*/"jhchoo", netmask) != OK)
> return (ERROR);
> }
> =======================================================================
>
> * My console print following information
> =======================================================================
> stt755_r>
> stt755_r>muxShow
> Device: sttfcc Unit: 0
> Description: Motorola FCC Ethernet Enhanced Network Driver
> Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
> Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
> Device: sttfcc Unit: 1
> Description: Motorola FCC Ethernet Enhanced Network Driver
> Protocol: IP 4.4 ARP Type: 2054 Recv 0x4eaec Shutdown 0x4edb0
> Protocol: IP 4.4 TCP/IP Type: 2048 Recv 0x4eaec Shutdown 0x4ece8
> value = 0 = 0x0
> stt755_r>
> stt755_r>routeShow
>
> ROUTE NET TABLE
> destination gateway flags Refcnt Use
> Interface
>
> --------------------------------------------------------------------------
- --
> 192.168.1.0 192.168.1.223 101 0 0
> sttfcc0
> 192.168.2.0 192.168.2.249 101 0 0
> sttfcc1
>
> --------------------------------------------------------------------------
- --
>
> ROUTE HOST TABLE
> destination gateway flags Refcnt Use
> Interface
>
> --------------------------------------------------------------------------
- --
> 127.0.0.1 127.0.0.1 5 1 0 lo0
>
> --------------------------------------------------------------------------
- --
> value = 77 = 0x4d = 'M'
> stt755_r>
> stt755_r>
> stt755_r>hostShow
> hostname inet address aliases
> -------- ------------ -------
> stt755_r 192.168.1.223
> localhost 127.0.0.1
> tornado 192.168.1.29
> jhchoo 192.168.2.249
> value = 0 = 0x0
> stt755_r>
> stt755_r>
> stt755_r>ifShow
> sttfcc (unit number 0):
> Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
> Type: ETHERNET_CSMACD
> Internet address: 192.168.1.223
> Broadcast address: 192.168.1.255
> Netmask 0xffffff00 Subnetmask 0xffffff00
> Ethernet address is 00:00:aa:00:00:df
> Metric is 0
> Maximum Transfer Unit size is 1500
> 480 packets received; 271 packets sent
> 177 multicast packets received
> 2 multicast packets sent
> 0 input errors; 0 output errors
> 0 collisions; 0 dropped
> lo (unit number 0):
> Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING
> Type: SOFTWARE_LOOPBACK
> Internet address: 127.0.0.1
> Netmask 0xff000000 Subnetmask 0xff000000
> Metric is 0
> Maximum Transfer Unit size is 32768
> 0 packets received; 0 packets sent
> 0 multicast packets received
> 0 multicast packets sent
> 0 input errors; 0 output errors
> 0 collisions; 0 dropped
> sttfcc (unit number 1):
> Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING
> Type: ETHERNET_CSMACD
> Internet address: 192.168.2.249
> Broadcast address: 192.168.2.255
> Netmask 0xffffff00 Subnetmask 0xffffff00
> Ethernet address is 00:00:aa:00:00:f9
> Metric is 0
> Maximum Transfer Unit size is 1500
> 0 packets received; 0 packets sent
> 0 multicast packets received
> 0 multicast packets sent
> 0 input errors; 0 output errors
> 0 collisions; 0 dropped
> value = 29 = 0x1d
> stt755_r>
> ======================================================================
>
> Above [ifShow] is done after [ping "192.168.2.222"] is done.
> I think that above send packet count of "sttfcc1" must increase. right?
> many receive packet is stored in driver's buffer. But above receive
> packet count is 0. why?
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks,comp.os.linux.embedded
Subject: Re: Licensing Issues in RTLinux and RTAI
Date: Mon, 4 Mar 2002 13:57:06 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <6v0h8.2971$5o.2219759@newsr2.u-net.net>
References: <633e72d2.0202230218.24f71d5c@posting.google.com> <3C7780FC.1040706@spamm.me.l8s.co.uk> <rps4rk7c11p.fsf@nospam.invalid> <newscache$2d11sg$eim$1@lnews.actcom.co.il>

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:newscache$2d11sg$eim$1@lnews.actcom.co.il...

> - Leonid
> P.S. WindRiver has got plenty of public source code witnin theur product,
> and nobody
> sued them this far.

WRS have a licensing agreement from the FSF, and they do give out the source
code to their gnu-derived toolchain (eventually!)

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: question about receive sm IP packets.....
Date: 5 Mar 2002 02:31:59 -0800
From: lig@catt.ac.cn (bjlig)
Organization: http://groups.google.com/
Message-ID: <73a87e9d.0203050231.40b59e5d@posting.google.com>

hi,all

i'm testing a new backplane end driver,the question is- i send a
packet from a host to sm, and sm driver can receive this packet and
send it up to service by calling END_RCV_RTN_CALL(). but there is no
response since then.

checking the received packet by print in receive routine, its format
is right.

and another question is since i register the intface with a MAC
address,but when i type ifShow(), this interface's MAC address is not
which i set, but the MIB2's MAC address is same to mine, why?

any idea is welcome and thanks in advance!

simLi

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

Newsgroups: comp.os.vxworks
Subject: multiple vme windows
Date: Tue, 5 Mar 2002 11:04:47 -0000
From: "DMC" <david.mccorkindale@nospam.com>
Message-ID: <3c84a62f$1@pull.gecm.com>

Hi there,

I'm trying to reconfigure vxworks to have multiple vme windows. I have 4
dy4179s, plus a couple of proprietary boards. The dy4's were using auto id
and taking the full 512mb that vxworks seems to allow as the maximum vme
address space.

I have switched auto id off, and created a version of vxworks for each dy4
with a hardcoded value for USER_VME_A32_BASE to cut the increment between
boards to 0x04000000 from the standard 0x08000000.

I make calls to sysVmeA32MstrSet to set up my vme windows. Problem is, 2
dy4s come up, but 2 don't. For the 2 that don't, one hangs trying to load
down an application, the other hangs when trying to load down the vxworks
sysmbol table.

In config.h I have

#define VME_A32_SLV_SIZE (0x04000000).

I have also defined USER_VME_A32_BASE for the appropriate desired board
addresses.

In syslib.c I have

sysVmeA32MstrSet(0, (char*)0x40000000, 0x04000000, VME_A32_MSTR_CTL,
(char**)&local);

sysVmeA32MstrSet(1, (char*)0x44000000, 0x04000000, VME_A32_MSTR_CTL,
(char**)&local);

sysVmeA32MstrSet(2, (char*)0x48000000, 0x04000000, VME_A32_MSTR_CTL,
(char**)&local);

sysVmeA32MstrSet(3, (char*)0x4c000000, 0x04000000, VME_A32_MSTR_CTL,
(char**)&local);

sysVmeA32MstrSet(4, (char*)0x64000000, 0x08000000, VME_A32_MSTR_CTL,
(char**)&local);

As far As I can tell, this should work fine, but then I've never tried this
before. What effect does the vme window size have?

Are there other configuration parameters I should be worrying about?

Thanks,

 David.

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Tue, 5 Mar 2002 11:23:55 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C84AB34.1080908@spamm.me.l8s.co.uk>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3c84385c@MAIL.mhogaming.com>

> If you have already found that a driver that is reading the PHY status thru
> the MI is the culprit, then this sounds very likely. The MI interface is a
> serial bus interface much like a serial eeprom with a serial bitstream
> command and response frame. For a read command, there is something like a
> 14-bit preamble followed by a 16-bit command written followed by a 16-bit
> response all done in for-next loops, sometimes with delays added. Many
> times, programmers unaware of the exact timing requirements add delays
> during clocking out (or in) of the serial bitstream that can add up to
> significant delays which may be your problem. You will need to determine
> which driver is causing the delay and then look into the timing of the MI
> access routines in the code.

Code I copied did 32 bit preamble, 14 bit command, 2 bit turnaround,
16 bit data. Write code is:
	wr_mii_bits( mii, 0xffffffff, 32 );
	wr_mii_bits( mii, 5<<28 | addr<<18 | 2<<16 | value, 32 );
I can't find the code I wrote when I had the spec ;-(

You have to ensure the mii interface isn't run too quickly.
Although I can't actually remember the rate, IIRC it requires
200ns 'delays'. If the IO is slow enough you don't need any.
Otherwise repeating the IO writes 2 or 3 times is probably
sufficient.

4.5ms does seem a little long...

The difficulty is that you have to poll the transciever (through
the mii) in order to find out whether it has negotiated FDX
(typically you don't need to know whether it is 10M or 100M).

With care this could be done at quite a slow bit rate. 1/2 HZ
for instance - probably entirely within a watchdog timeout
routine.

Some ethernet chipsets contain hardware to read MII registers,
and will poll one interrupting when it changes....

	David

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Tue, 5 Mar 2002 11:26:43 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C84ABDF.7080504@spamm.me.l8s.co.uk>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net>

>> but none the less I assure you that you do not have the required

 >> expertise to program the chip at that level.

>>
>
> An interesting assurance. On what do you base it?

Clearly a failed psychic....

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

Newsgroups: comp.os.vxworks
Subject: taskSwitchHookAdd problems ???
Date: 5 Mar 2002 03:28:24 -0800
From: kumar_amit@delhi.tcs.co.in (Amit)
Organization: http://groups.google.com/
Message-ID: <7421c9fd.0203050328.2efad67e@posting.google.com>

Hi!

 I want to use taskSwitchHookAdd() system call.But i am not getting
the function

 void switchHook
(
 WIND_TCB *pOldTcb, /* pointer to old task's WIND_TCB */
 WIND_TCB *pNewTcb /* pointer to new task's WIND_TCB */
)

I have tried this on VxWorks but the system is crashing as soon as it
encounters taskSwitchHookAdd(). I probably don't know how to add
routines in switchHook() format.

Can anyone tell me how to do it??

Thanks

Amit

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Tue, 5 Mar 2002 12:41:19 +0300
From: "Maxim S. Shatskih" <maxim@storagecraft.com>
Organization: StorageCraft
Message-ID: <a62a9v$190s$1@gavrilo.mtu.ru>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com> <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com>

> I don't know the module names because it is neither my responsibility
> or desire to do this person's homework. He/whe asked if there was
> iSCSI driver sample sourcecode available, and I told them where some

IIRC they are commercial closed-source even for Linux.

 Max

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

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

From vxwexplo-errs@csg.lbl.gov Tue Mar 5 21:14:24 2002
From: "Gundimeda Venugopal" <gundimedav@delhi.tcs.co.in>
Date: Tue Mar 5 21:14:26 PST 2002
Subject: VxWorks TCP?IP Stack integration with Ethernet Drivers ...

All,

We are trying to write a Ethernet Driver for your PSO stack which we have
downloaded.

1. Please tell us the general procedure to integration with VxWorks MUX
layer?

2. Also somebody can tell me how to write a Ethernet Driver for integrate
the PSO Stack with Intel(R) 82559 Ethernet Driver?
(Note: We do not have the source code for Intel(R) "82557 Ethernet Driver
for VxWorks")

But Tornado by default supports 82559 Ethernet Driver for VxWorks.
The idea is to write the "Intel(R) 82557 Ethernet Driver" code and
integrate the PSO Stack with the Ethernet Driver.

Thank you.

regards,
venu

From vxwexplo-errs@csg.lbl.gov Tue Mar 5 21:26:18 2002
From: "Gundimeda Venugopal" <gundimedav@delhi.tcs.co.in>
Date: Tue Mar 5 21:26:20 PST 2002
Subject: VxWorks TCP/IP Stack integration with VxWorks MUX Layer ...

All,

We are trying to write a Ethernet Driver for the PSO stack which we have
downloaded.

from this site: http://www.xs4all.nl/~borkhuis/vxworks/ftp/vxhacks/

1. Please tell us the general procedure to integrate it with VxWorks MUX
layer?

2. Also somebody can tell me how to write a Ethernet Driver for integrate
the PSO Stack with Intel(R) 82559 Ethernet Driver?
(Note: We do not have the source code for Intel(R) "82557 Ethernet Driver
for VxWorks")

But Tornado by default supports 82559 Ethernet Driver for VxWorks.
The idea is to write the "Intel(R) 82557 Ethernet Driver" code and
integrate the PSO Stack with the Ethernet Driver.

Thank you.

regards,
venu

From vxwexplo-errs@csg.lbl.gov Tue Mar 5 23:50:06 2002
From: "zhouliyuan" <zhoul@blrcsv.china.bell-labs.com>
Date: Tue Mar 5 23:50:09 PST 2002
Subject: May I ask you a question of vxworks and 3c90x network card?

This is a multi-part message in MIME format.

------=_NextPart_000_01EA_01C1C527.0564C0D0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable

Dear:
 Sorry to bother you!
 By chance,I found from the internet that you maybe have used =
3c90x series network card in the platform of vxworks,I want to know is =
there any existing driver of this series network card for vxworks.
 Thank you in advance!
 yours sincerely:
 Mike zhou

------=_NextPart_000_01EA_01C1C527.0564C0D0
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dgb2312" http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>
<DIV><FONT face=3DArial size=3D2>Dear:</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sorry to=20
bother you!</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By=20
chance,I found from the internet that you maybe have used 3c90x series =
network=20
card in the platform of vxworks,I want to know is there any existing=20
driver&nbsp;of this series network card for vxworks.</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thank=20
you in advance!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; yours=20
sincerely:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; Mike zhou</FONT></DIV></FONT></DIV></BODY></HTML>

------=_NextPart_000_01EA_01C1C527.0564C0D0--

From vxwexplo-errs@csg.lbl.gov Wed Mar 6 04:03:22 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Mar 6 04:03:25 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Wed Mar 6 04:03:17 PST 2002

 Subject: Re: taskSwitchHookAdd problems ???
 Subject: Unresolved symbol while download program : __eabi?
 Subject: Re: Help! Cannot access vxworks from another network - solved!!!
 Subject: Re: need help: about windNet PPP ?
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Help! Cannot access vxworks from another network - solved!!!
 Subject: Re: Unresolved symbol while download program : __eabi?
 Subject: Re: Unresolved symbol while download program : __eabi?
 Subject: Re: taskSwitchHookAdd problems ???
 Subject: Re: error msg: trcStack aborted: error in frame
 Subject: Re: Licensing Issues in RTLinux and RTAI
 Subject: undefined references when including the ln97xEnd with ARMARCH4
 Subject: VxWorks Application Module Size Questions
 Subject: Re: Nested Interrupts
 Subject: Re: taskSwitchHookAdd problems ???
 Subject: Re: Pipe vs Socket communication
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: A question about Tornado Prototyper
 Subject: Re: resolvLib
 Subject: Re: (tNetTask): panic: sbdrop
 Subject: Re: Having trouble with dynamicly loading modules
 Subject: Re: Nested Interrupts
 Subject: Re: (tNetTask): panic: sbdrop
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: Unresolved symbol while download program : __eabi?
 Subject: Re: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: error msg: trcStack aborted: error in frame
 Subject: Re: Pipe vs Socket communication
 Subject: Re: tNetTask takes too long?
 Subject: Changing stdout to send to a telnet socket
 Subject: Re: Changing stdout to send to a telnet socket
 Subject: Changing to FIFO Ordered First-Fit
 Subject: Cache profiler for PowerPC on vxworks
 Subject: Re: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: Changing to FIFO Ordered First-Fit
 Subject: Re: Changing to FIFO Ordered First-Fit
 Subject: CPU consumption by WDB task
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: undefined references when including the ln97xEnd with ARMARCH4
 Subject: Re: PPP problem
 Subject: still: cannot connect target server...
 Subject: Re: VxWorks Application Module Size Questions
 Subject: Re: TCP/IP Support in VxWorks
 Subject: Re: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: undefined references when including the ln97xEnd with ARMARCH4
 Subject: Re: Cache profiler for PowerPC on vxworks
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: still: cannot connect target server...

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

Newsgroups: comp.os.vxworks
Subject: Re: taskSwitchHookAdd problems ???
Date: Tue, 5 Mar 2002 13:45:37 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a62elg$b1d$1@snoopy.bndlg.de>
References: <7421c9fd.0203050328.2efad67e@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95244e6.dip.t-dialin.net

Hi Amit,

Have you read the manual carefully, especially the part about the libs you
only may call?
Post your code and we will see.

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Amit" <kumar_amit@delhi.tcs.co.in> schrieb im Newsbeitrag
news:7421c9fd.0203050328.2efad67e@posting.google.com...
> Hi!
>
> I want to use taskSwitchHookAdd() system call.But i am not getting
> the function
>
> void switchHook
> (
> WIND_TCB *pOldTcb, /* pointer to old task's WIND_TCB */
> WIND_TCB *pNewTcb /* pointer to new task's WIND_TCB */
> )
>
> I have tried this on VxWorks but the system is crashing as soon as it
> encounters taskSwitchHookAdd(). I probably don't know how to add
> routines in switchHook() format.
>
> Can anyone tell me how to do it??
>
> Thanks
>
> Amit

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

Newsgroups: comp.os.vxworks
Subject: Unresolved symbol while download program : __eabi?
Date: 5 Mar 2002 05:28:05 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203050528.6bb7bfcf@posting.google.com>

hi,all
I have build a program with Tornado .The building process is successful.
While download the ldp.out to the target ppc860gnu.there is a error:
Unresolved symbol while
download ldp.out
- --eabi
Have anyone seen the problem?Can you give me your advice to solve it?
all thanks!!
Sincerely zjh

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network - solved!!!
Date: Tue, 5 Mar 2002 08:33:33 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <HK3h8.83$Sk3.3408@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu> <3C7F9B96.B16F22AB@notifier-is.net>

After going back and forth with WindRiver tech support, the problem has
mostly been solved. David was right, the solution is putting the routeAdd
command in the usrAppInit.c file. This pertains to projects built using
Tornado. If you were building from the command line, then what I posted
previously, namely putting the routeAdd command in usrNetwork.c.

The only problem in putting the routeAdd command in usrAppInit is that I was
forced to enter a hardcoded gateway string. The variable params.gad (which
is the gateway entered in the boot parameters) is not in scope for this file
apparently. I've asked WindRiver this and am awaiting a response. I don't
feel like messing with it anymore - I have to get on with my real work.

I should mention an alternative solution - putting the routeAdd command in a
startup script. That would work as well.

Joe

"david lindauer" <dlindauer@notifier-is.net> wrote in message
news:3C7F9B96.B16F22AB@notifier-is.net...
> when we first caught on that we needed a route, we tried adding it in
> usrAppInit(), figuring that the network would be available by then. (but I
don't
> know the initialization sequence exactly so that whole idea may have been
for
> the birds). That didn't work so we defered the routeAdd() until kernel
> initialization was complete (e.g. in a user level task). As the code is
written
> we actually wait for serial port communications to commence before doing
the
> routeAdd(), and I don't know if you can make it work without some sort of
delay
> or not. It is something we didn't look into deeply, we just wanted it to
work
> and had to get on with development.
>
> David

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

Newsgroups: comp.os.vxworks
Subject: Re: need help: about windNet PPP ?
Date: Tue, 05 Mar 2002 09:01:35 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C84CFBF.F69EE27A@notifier-is.net>
References: <b1cb4c43.0203011715.19696183@posting.google.com>

I'm not sure what you mean by 'windnet ppp', but at least for the PPP that ships
with vxworks you set the
remote IP (client IP) in the call to pppInit. So when you start the PPP connection
select an IP and set it as part of the call. Note that you don't want to run
pppInit until AFTER the modem connection has been established anyway because that
isn't the way it is designed, so you should have no trouble maintaining a dynamic
pool of IP addresses if you are allowing multiple connections.

David

sardine wrote:

> hi everyone gurus,
>
> is there anyone have experience about windNet PPP,
> Now i using windNet PPP1.2,but windRiver not provide any
> information about dynamic alloc IP address to PPPOE Client from
> a IP POOL.
> but the source program provide a interface for it-----"RAS-AMM";
> so i set pfwParameter "ipcp_ipAddr" as "RAS-AMM:#poolId",
> after i finished it. the PPP local authenicate can return a ip address
> to PPPOE Client,but the DNS ip Address become "255.255.255.255",
> and if i set ppp authenicate as "REMOTE RADIUS" mode,the pppoe client
> also get ip address "255.255.255.255",the DNS ip Address is "255.255.255.255",
>
> i have send the infomation to windRiver got support,but they cannot replay
> to me.
> anyone have the experience or can provide any advice,i will appricate them !

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Tue, 5 Mar 2002 14:00:06 +0000 (UTC)
From: "UK Gary" <deton8@aol.com>
Organization: BT Openworld
Message-ID: <a62j16$4g5$1@knossos.btinternet.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net>

"J. J. Farrell" <jjf@bcs.org.uk> wrote in message
news:G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net...
>
> "UK Gary" <deton8@aol.com> wrote in message
> news:a5vv4c$i08$1@helle.btinternet.com...
> >
> > "J. J. Farrell" <jjf@bcs.org.uk> wrote in message
> > news:5c04bc56.0202272342.124108d6@posting.google.com...
When you sign
> the
> > NDA you may or may not get access to the chip level registers (which can
> > only be accessed in most cases by the microcode inside the chip which
> means
> > you would need to use their microassembler), but none the less I assure
> you
> > that you do not have the required expertise to program the chip at that
> > level.
>
> An interesting assurance. On what do you base it?

Mainly by reading all your other clueless posts. You didn't even know how
to look through the linux source tree. How the fuck do you think you are
going to program a fibre channel protocol chip at the register level?
Besides, I'm pretty sure I know everyone in the world with the expertise to
do the job, and you aren't one of them.

> > Besides, it's just not necessary.
>
> Doesn't that rather depend on what I'm doing?

My guess, and it's only a guess, is that you plan to create a FC protocol
chip running in an FPGA with a built-in SERDES. Close? This would explain
why you can't go to LSI Logic or Qlogic and licence their firmware which
only runs on their chips but is perfectly suitable for any FC interface
project involving SCSI initiators and targets.

They no longer allow source licences to their production code, mostly I
suspect because they see the emerging FPGA threat and don't want to lose
their chip sales. They know it's 5 to 10 man-years of work to create a
production quality FC protocol engine, and this creates an excellent barrier
to entry to 99% of the people contemplating the idea.

> Thanks for posting, but I'm afraid your comments aren't relevant
> in this case. I may not know much, but I know what I need at the
> moment. I need a C implementation of the FCP/FC stack giving
> initiator and target mode access at the top and FC-2 frames at
> the bottom. It looks like there aren't many available ...

There aren't *any* available, much less "many". Nobody would release this
sort of IP to the world for free. It's just too valuable.

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network - solved!!!
Date: Tue, 5 Mar 2002 15:28:15 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a62km1$epp$1@snoopy.bndlg.de>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu> <3C7F9B96.B16F22AB@notifier-is.net> <HK3h8.83$Sk3.3408@llslave.llan.ll.mit.edu>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95244e6.dip.t-dialin.net

Hi Joe,
 you wrote
<snip>
>The variable params.gad (which
> is the gateway entered in the boot parameters) is not in scope for this
file
> apparently.
<snip>
Why don't bring into scope with sysNvRamGet() and bootStringToStruct() ?
A glance into bootConfig.c sometimes brings up some surprising easy
solutions ;-)

HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Joe Georger" <jgeorger@ll.mit.edu> schrieb im Newsbeitrag
news:HK3h8.83$Sk3.3408@llslave.llan.ll.mit.edu...
> After going back and forth with WindRiver tech support, the problem has
> mostly been solved. David was right, the solution is putting the routeAdd
> command in the usrAppInit.c file. This pertains to projects built using
> Tornado. If you were building from the command line, then what I posted
> previously, namely putting the routeAdd command in usrNetwork.c.
>
> The only problem in putting the routeAdd command in usrAppInit is that I
was
> forced to enter a hardcoded gateway string. The variable params.gad
(which
> is the gateway entered in the boot parameters) is not in scope for this
file
> apparently. I've asked WindRiver this and am awaiting a response. I
don't
> feel like messing with it anymore - I have to get on with my real work.
>
> I should mention an alternative solution - putting the routeAdd command in
a
> startup script. That would work as well.
>
> Joe
>
> "david lindauer" <dlindauer@notifier-is.net> wrote in message
> news:3C7F9B96.B16F22AB@notifier-is.net...
> > when we first caught on that we needed a route, we tried adding it in
> > usrAppInit(), figuring that the network would be available by then. (but
I
> don't
> > know the initialization sequence exactly so that whole idea may have
been
> for
> > the birds). That didn't work so we defered the routeAdd() until kernel
> > initialization was complete (e.g. in a user level task). As the code is
> written
> > we actually wait for serial port communications to commence before doing
> the
> > routeAdd(), and I don't know if you can make it work without some sort
of
> delay
> > or not. It is something we didn't look into deeply, we just wanted it
to
> work
> > and had to get on with development.
> >
> > David
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Unresolved symbol while download program : __eabi?
Date: Tue, 5 Mar 2002 15:45:27 +0100
From: "Karl Driessens" <Karl.Driessens@advalvas.be>
Message-ID: <3c84d9ca$0$231$4d4ebb8e@read-nat.news.nl.uu.net>
References: <8cd11808.0203050528.6bb7bfcf@posting.google.com>

I assume that you have a downloadable application. When downloading the
application
to your running vxworks image, then vxworks resolves all the unresolved
functions of your
downloaded application. When a function can not be found in the running
image you get this
error message.

Kind regards,
Karl.

"zjh" <zjh_future@263.net> wrote in message
news:8cd11808.0203050528.6bb7bfcf@posting.google.com...
> hi,all
> I have build a program with Tornado .The building process is successful.
> While download the ldp.out to the target ppc860gnu.there is a error:
> Unresolved symbol while
> download ldp.out
> --eabi
> Have anyone seen the problem?Can you give me your advice to solve it?
> all thanks!!
> Sincerely zjh
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Unresolved symbol while download program : __eabi?
Date: Tue, 5 Mar 2002 14:47:42 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <U%4h8.2991$5o.2228222@newsr2.u-net.net>
References: <8cd11808.0203050528.6bb7bfcf@posting.google.com>

"zjh" <zjh_future@263.net> wrote in message
news:8cd11808.0203050528.6bb7bfcf@posting.google.com...
> hi,all
> I have build a program with Tornado .The building process is successful.
> While download the ldp.out to the target ppc860gnu.there is a error:
> Unresolved symbol while
> download ldp.out
> --eabi
> Have anyone seen the problem?Can you give me your advice to solve it?
> all thanks!!
> Sincerely zjh

You should not write a main(...) function in your code anywhere. There is
no need, since you can spawn a task at any function, and the compiler does
secret magic things to main (...) which results in this error. So just
rename it my_main or something else!

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: taskSwitchHookAdd problems ???
Date: Tue, 5 Mar 2002 14:52:34 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <U%4h8.2992$5o.2228222@newsr2.u-net.net>
References: <7421c9fd.0203050328.2efad67e@posting.google.com>

"Amit" <kumar_amit@delhi.tcs.co.in> wrote in message
news:7421c9fd.0203050328.2efad67e@posting.google.com...
> Hi!
>
> I want to use taskSwitchHookAdd() system call.But i am not getting
> the function
>
> void switchHook
> (
> WIND_TCB *pOldTcb, /* pointer to old task's WIND_TCB */
> WIND_TCB *pNewTcb /* pointer to new task's WIND_TCB */
> )
>
> I have tried this on VxWorks but the system is crashing as soon as it
> encounters taskSwitchHookAdd(). I probably don't know how to add
> routines in switchHook() format.
>
> Can anyone tell me how to do it??

Get rid of that printf statement in your code, since switchHook must run in
a special context. See the entry in the VxWorks Reference Manual :
Libraries : taskHookLib -

" NOTE
User-installed switch hooks are called within the kernel context. Therefore,
switch hooks do not have access to all VxWorks facilities. The following
routines can be called from within a task switch hook:

Library Routines
- -------------------------------------------------------------------------

bLib All routines
fppArchLib fppSave( ), fppRestore( )
intLib intContext( ), intCount( ), intVecSet( ), intVecGet( )
lstLib All routines
mathALib All routines, if fppSave( )/fppRestore( ) are used
rngLib All routines except rngCreate( )
taskLib taskIdVerify( ), taskIdDefault( ), taskIsReady( ),
 taskIsSuspended( ), taskTcb( )
vxLib vxTas( ) "

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: error msg: trcStack aborted: error in frame
Date: Tue, 5 Mar 2002 14:54:37 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <U%4h8.2993$5o.2228222@newsr2.u-net.net>
References: <a5vfch$6v6$02$1@news.t-online.com>

"Markus Pietrek" <mpietrek@fsforth.de> wrote in message
news:a5vfch$6v6$02$1@news.t-online.com...
> Hi folks,
>
> after porting a BSP (based on ARM/pid7t) from Tornado 2.0 to Tornado
2.1.1,
> I received this error message when I press "Ctrl-C" on the console.
> After that, the system is hanging.
>
> "trcStack aborted: error in frame"
>
> Has anyone learned anything about this message yet and could tell me what
is
> going wrong?
>

 Well, the stack is getting corrupted. Is there a missing switch between
an ISR stack and a usermode stack somewhere? Maybe something is overflowing
a buffer?

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Licensing Issues in RTLinux and RTAI
Date: 05 Mar 2002 10:35:39 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uadtnm3hw.fsf@yahoo.com>
References: <633e72d2.0202230218.24f71d5c@posting.google.com> <3C7780FC.1040706@spamm.me.l8s.co.uk> <rps4rk7c11p.fsf@nospam.invalid> <newscache$2d11sg$eim$1@lnews.actcom.co.il> <6v0h8.2971$5o.2219759@newsr2.u-net.net>
Sender: bpringlemeir@DeadDuck

>>>>> "Dave" == Dave Korn <no.spam@my.mailbox.invalid> writes:

 Dave> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in
 Dave> message news:newscache$2d11sg$eim$1@lnews.actcom.co.il...

 >> - Leonid P.S. WindRiver has got plenty of public source code
 >> witnin theur product, and nobody sued them this far.

 Dave> WRS have a licensing agreement from the FSF, and they do give
 Dave> out the source code to their gnu-derived toolchain
 Dave> (eventually!)

I would speculate that Leonid might have been referring to source
within vxWorks itself. For sure the coff header files are derived
from the GNU binutils. At least everyone of the defines and structure
names are the same. Perhaps these names where defined in some
standard somewhere? I assume that the header file is included when
vxWorks builds. So that would be once instance if all of my
speculation is correct.

It could be that Leonid was referring to BSD stuff, but that really
isn't an issue at all.

Regards,
Bill Pringlemeir.
- --
All of the newly created a game is anti- nonexistant.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: undefined references when including the ln97xEnd with ARMARCH4
Date: 05 Mar 2002 16:03:39 GMT
From: spam@kpsws.com
Message-ID: <3c84ec5a$0$222$4d4ebb8e@read-nat.news.nl.uu.net>

I got the following undefined references when trying to include the
ln97xEnd network driver in my bootrom:

ldarm -o tmp.o -X -EL -N -e _usrInit -Ttext 00600000 bootConfig.o
version.o sysALib.o sysLib.o D:\Tornado\target/lib/libARMARCH4gnuvx.a
D:\Tornado\target/lib/libARMARCH4gnugcc.a
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x64):
undefined reference to `sysLan97xEnetAddrGet'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x7dc):
undefined reference to `sysLan97xIntEnable'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x11b0):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x11dc):
undefined reference to `sysInLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x128c):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x12d0):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x132c):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x1360):
undefined reference to `sysInLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x13c4):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x13fc):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x1440):
undefined reference to `sysOutLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x1474):
undefined reference to `sysInLong'
D:\Tornado\target/lib/libARMARCH4gnuvx.a(ln97xEnd.o)(.text+0x1de0):
undefined reference to `sysLan97xIntDisable'
make: *** [bootrom.Z.s] Error 0x1

The sysOutLong funcs are most suprising because they would impress that
the driver was for a non-memory mapped arch??

anyone has any experience ???

greetings

Niels

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

Newsgroups: comp.os.vxworks
Subject: VxWorks Application Module Size Questions
Date: 5 Mar 2002 08:40:15 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203050840.61205700@posting.google.com>

Does the size of a VxWorks application downloaded to the Target get
scaled back once the module is resolved against other modules and/or
the VxWorks executable itself? We understand that different
libraries/packages can be included or excluded within the VxWorks
module by changes made to the configAll.h file and rebuilding. We are
using WindRiver's Tonado IDE version 2.02. We are building using a
Win2000 host with Optimization set to level 1 (-O1) since it is giving
us the smallest resulting .OUT file. We are currently only testing our
application in the NTSIM simulator since there is no hardware
available yet. Does building for the simulator cause the size to be
larger than what it may be vs. a BSP?

Our WinCE port of the application gives us a DLL of size 180K. The
VxWorks .OUT file is 392K. As another example, we had an unresolved
external __divid3 (implicit library call) when downloading our
application to the simulator. Once we statically linked with the
libgcc.a library to account for this, our application .OUT file went
to 492K. Does the final resolution / dynamic linking in VxWorks
handle what exactly gets loaded/relocated into RAM so only what is
needed is used?

How can we determine the RAM or ROM footprint of our module (assuming
that it will be smaller than the .OUT file once final
linking/relocation is performed)?

We have not yet run any utilities for determining what exactly is
inside the .OUT file. Since the VxWorks simulator is built with the
ANSI C includes, our application's size should not include the C Run
Time code as well, correct?

Thank you very much in advance...
Mike Palone
Principal Software Engineer
Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Nested Interrupts
Date: Tue, 5 Mar 2002 08:47:43 -0800
From: "GaryM" <garymremovethis@vertical.com>
Message-ID: <TI6h8.42$PZ2.30608@news.uswest.net>
References: <28ee7c97.0202261827.69de7877@posting.google.com> <3c7ceaf6$1@netnews.web.de>

At least in the PPC8xx family, VxWorks does support nested interrupts. It's
built into the demultiplexer in ppc860Intr.c.

A side effect of this is that intDisable() within an ISR is basically
useless: SIMASK is restored with the previous value after the ISR returns.
This is especially nasty if level-sensitive interrupts are used which are
not completely serviced by the ISR.

"Reinhold Wirth" <wirth@softec.de> wrote in message
news:3c7ceaf6$1@netnews.web.de...
> Hi Daniel,
>
>
> brightpolestar@yahoo.com (Daniel Haines) wrote:
> >I have two questions about VxWorks interrupts, could anyone >tell me,
thanks!
> >1. Does vxWorks support nested interrupts on a powerpc
> >target?(I know the PowerPC itself does not support nested >interrupts at
the
> hardware level).
> I think: the default configuration of VxWorks does not support nested
interrupts
> >If yes,Where can I find the software flag to turn the "Nested
> >Interrupt" on?
> You have to write the nesting like:
> * disable the current interrupt and all interrupts with a
> lower priority in the interrupt contoller
> * enable external interrupt in the PPC
> at the end of the interrupt:
> * re-enable all disabled interrupts
>
>
> >2. Will intLock disable all the interrupts or just >interrupts with lower
> priority? Will the disabled interrupts >go to a queue or just lost?
> intLock change the MSR-register of the PPC. All interrupts are locked.
> Mostly one interrupt is "queued" in the interrupt controller.
> --
> __________________________________________________________
> News suchen, lesen, schreiben mit http://newsgroups.web.de
>

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

Newsgroups: comp.os.vxworks
Subject: Re: taskSwitchHookAdd problems ???
Date: Tue, 5 Mar 2002 08:54:27 -0800
From: "GaryM" <garymremovethis@vertical.com>
Message-ID: <7L6h8.44$PZ2.30618@news.uswest.net>
References: <7421c9fd.0203050328.2efad67e@posting.google.com>

Could you provide a sample of your code?

"Amit" <kumar_amit@delhi.tcs.co.in> wrote in message
news:7421c9fd.0203050328.2efad67e@posting.google.com...
> Hi!
>
> I want to use taskSwitchHookAdd() system call.But i am not getting
> the function
>
> void switchHook
> (
> WIND_TCB *pOldTcb, /* pointer to old task's WIND_TCB */
> WIND_TCB *pNewTcb /* pointer to new task's WIND_TCB */
> )
>
> I have tried this on VxWorks but the system is crashing as soon as it
> encounters taskSwitchHookAdd(). I probably don't know how to add
> routines in switchHook() format.
>
> Can anyone tell me how to do it??
>
> Thanks
>
> Amit

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

Newsgroups: comp.os.vxworks
Subject: Re: Pipe vs Socket communication
Date: Tue, 5 Mar 2002 09:20:06 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u89vjbnevdnrc7@corp.supernews.com>
References: <c1013e3b.0203041001.79ce1f29@posting.google.com>

In VxWorks pipe is implemented using message queue. Socket connected over
UDP/TCP to local IP address goes over loopback driver. There is no AF_UNIX
(or AF_VXWORKS). AF_UNIX in UNIX is implemented in various ways depending
on the type of UNIX. Some implement it using message queues, some pipes,
etc.

In VxWorks, fastest local communication is via use of semaphore.

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 5 Mar 2002 09:21:50 -0800
From: shoz@elbit.co.il (shoz)
Organization: http://groups.google.com/
Message-ID: <d2eae3bd.0203050921.6b458ce4@posting.google.com>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com>

igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=) wrote in message news:<9ec53d11.0203042356.73d7b673@posting.google.com>...
> shoz@elbit.co.il (shoz) wrote in message news:<d2eae3bd.0203032300.12e7301a@posting.google.com>...
> > Hi
> > Did any body use T2 update for gcc 2.96 on x86 ?
> > Did any body use gcc 2.96 with Tornado on x86 ?
> > thanks oz
>
> No. I wish I did, if it existed. I need C++ namespaces (to use CORBA
> without nasty classes inside classes to simulate namespaces.)
Yes 2.96 is somthing you can get from WindRiver , but it have problems that
I want to see if someone solve.
oz

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Tue, 5 Mar 2002 15:03:23 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <%n7h8.2999$5o.2232656@newsr2.u-net.net>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net>

"Matt Schuckmann" <matt.schuckman@verizon.net> wrote in message
news:H%ag8.7148$fI6.5756@nwrddc01.gnilink.net...
> Does anybody know if there is a way to change the priorty at which
functions
> and commands run from windsh run at?
>
> The problem I'm having is that I've got a significant part of my code
loaded
> and running and I'm dynamically loading and unloading another part of the
> code to make it easier and quicker to debug it. When I use the ld()
command
> to dynamicaly load and unload the module I'm debugging the loader runs in
> the windsh task and that task appears to run at such a high priority that
it
> prevents my hard real time task from running for long enough that I end up
> having to reset my hardware after loading or unloading my test module.

 You could put this code in your application startup routiines:

extern "C" void set_shell_priority (int newpri)
{
int shelltid;
int err;

 // protect against accidental calls to set pri to 0 from command shell...
 if (pri < 1)
 return;
 shelltid = taskNameToId ("tShell");
 err = taskPrioritySet (shelltid, newpri);
 if (err)
 printf ("taskPrioritySet failed!? TID = $%08x\n", shelltid);
}

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about Tornado Prototyper
Date: Tue, 5 Mar 2002 14:58:52 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_n7h8.2998$5o.2232656@newsr2.u-net.net>
References: <ede027e4.0203032338.15509fb2@posting.google.com>

"Johnny Yang" <yjyang88@iris.seed.net.tw> wrote in message
news:ede027e4.0203032338.15509fb2@posting.google.com...
> Dear all:
> I am practicing Tornado Prototyper by following the "Tornado
> Prototyper Getting Started Guide". Everything works fine until section
> 3.6 "Download the Project to the VxWorks Target Simulator", the error
> message is:
>
> TGTSVR (vxsim@Johnny): Mon Mar 04 15:34:58 2002
> Checking License ...OK
> Wind River Systems Target Server: NT/Win95 version
> Error: clnttty_bufcreate can't open pipe
> Error: clnttty_bufcreate can't open pipe
> Error: clnttty_bufcreate can't open pipe
> Error: Remote system error; Error 65636
> Error: Backend initialization routine failed.
> Problem during Backend initialization
> Target Server will exit
>
> I searched the whole news group, but found no answer.
> Can anybody help me? Thank you!
>
> ps. I am using Windows 98 on my PC.

Do you possibly have more than one version of cygwin.dll on your system ?

Or try these:

http://groups.google.com/groups?hl=en&threadm=93fkvi%242ah%241%40nnrp1.deja.
com&rnum=2&prev=/groups%3Fq%3Dclnttty_bufcreate%2Bcan%27t%2Bopen%2Bpipe%26hl
%3Den

http://groups.google.com/groups?hl=en&threadm=3921996B.5E89C0A7%40nortelnetw
orks.com&rnum=4&prev=/groups%3Fq%3Dclnttty_bufcreate%2Bcan%27t%2Bopen%2Bpipe
%26hl%3Den%26scoring%3Dd

http://groups.google.com/groups?hl=en&threadm=8t5rlk%241ve%241%40news2.korne
t.net&rnum=3&prev=/groups%3Fq%3Dclnttty_bufcreate%2Bcan%27t%2Bopen%2Bpipe%26
hl%3Den%26scoring%3Dd

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: resolvLib
Date: Tue, 5 Mar 2002 17:24:00 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <0o7h8.3003$5o.2232656@newsr2.u-net.net>
References: <94ebff4d.0202271424.6dc14ddf@posting.google.com>

"Tolu Makinde" <tolu.makinde@strixsys.com> wrote in message
news:94ebff4d.0202271424.6dc14ddf@posting.google.com...
> Hi All:
>
> I can't seem to get either resolvGetHostByName or resolvGetHostByAddr
> to work, I'm including my test code below. Any input will be greatly
> appreciated.

 When you have an error, it's always a good idea to check errno. I can't
see your errno from here, so I'll leave that job to you. Have you read the
manual entry for resolvLib? You might like to take the advice it gives
about INCLUDE_DNS_DEBUG...

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: (tNetTask): panic: sbdrop
Date: Tue, 5 Mar 2002 17:12:21 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <%n7h8.3002$5o.2232656@newsr2.u-net.net>
References: <3C7B9633.1D92F5DB@lucent.com>

"Rakesh Chandwani" <rexrc@lucent.com> wrote in message
news:3C7B9633.1D92F5DB@lucent.com...
> After few hours of running an application on TCP/UDP sockets, we get these
panic
> messages and looks like sockets stop working. Has anyone seen this before
?
>
> Any suggestions ?
>
> 0x7d88a08 (tNetTask): panic: sbdrop
> 0x7d88a08 (tNetTask): panic: sbdrop
> 0x7d88a08 (tNetTask): panic: sbdrop
> 0x7d88a08 (tNetTask): panic: sbdrop

 It could stand for "Sokcket Buffer drop", suggesting that the socket layer
has run out of buffers. Perhaps something is trashing memory; perhaps you
aren't reading data out from all your sockets and some of them are filling
up? Perhaps some network driver in your BSP is failing to return mblks to
the stack after using them? Or perhaps some of the stack parameters just
need tuning for the level of traffic load you're seeing?

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Having trouble with dynamicly loading modules
Date: Tue, 5 Mar 2002 17:38:55 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <1o7h8.3004$5o.2232656@newsr2.u-net.net>
References: <W_df8.1099$X%6.349@nwrddc04.gnilink.net> <ud6yqsbl4.fsf@yahoo.com> <0cff8.5682$G7.1085@nwrddc01.gnilink.net> <u4rk2s94f.fsf@yahoo.com> <uzo1uquf8.fsf@yahoo.com>

"Bill Pringlemeir" <bpringlemeir@yahoo.com> wrote in message
news:uzo1uquf8.fsf@yahoo.com...
> >>>>> "Bill" == Bill Pringlemeir <bpringlemeir@yahoo.com> writes:
>
> >>>>> "Matt" == Matt Schuckmann <matt.schuckman@verizon.net> writes:
> Matt> Thank you for the quick response. Let me see if I'm clear on
> Matt> this:
>
> Matt> So basically what your saying is that the inter module calls
> Matt> can only go one way. Put another way if Module A is loaded
> Matt> first then Module B, Module A can make calls to Module B but
> Matt> Module B can't make calls back to Module A.
>
> Matt> Do I have it right?
>
> Bill> You do indeed have this right. Loading kernel modules under
>
> [snip]
>
> Bill> ps, I am being intentionally cheeky because the last time I
> Bill> helped with a C++ problem Dave Korn whomped me over the head.
>
> Damn it! You are wrong... why do I give the benefit of the doubt ;-).
> Joe properly corrected you. The rest of what I said applies.

Hey! That's my job goddammit!!

[In case anyone's in any doubt, I have the greatest respect for Bill and
would only ever flame him in a good-natured and friendly way :-)]

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Nested Interrupts
Date: Tue, 5 Mar 2002 09:40:03 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8a0orq36hd123@corp.supernews.com>
References: <28ee7c97.0202261827.69de7877@posting.google.com> <3c7ceaf6$1@netnews.web.de> <TI6h8.42$PZ2.30608@news.uswest.net>

VxWorks kernel by default has concept of nested interrupt support. Each
interrupt handler can monitor intCnt global to see if nested condition
exists. That is, HW independent part of VxWorks has this concept. In your
case, you should be able to look at intCnt to determine if you are nested.

Each HW (CPU) dependent port of VxWorks can/may support nested interrupts
somewhat. For example, MIPS and SPARC support nested interrupt cases.
However, no further provisions are made to guarantee re-entrancy or other
refinements in the nested interrupt case.

Locking out interrupts is done inclusively under a level (all interrupts
below level 5, for example). That is HW independent API. It is not always
the best way to manage interrupt locking. For specific HW requirements, you
might code up your own locking API.

If the interrupts are level triggered, not edge, then when you reenable the
interrupt will still come in, unless there are other complications in HW
(such as timeout, exception, etc.).

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

Newsgroups: comp.os.vxworks
Subject: Re: (tNetTask): panic: sbdrop
Date: Tue, 5 Mar 2002 09:47:17 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8a16ctpb24n1c@corp.supernews.com>
References: <3C7B9633.1D92F5DB@lucent.com> <%n7h8.3002$5o.2232656@newsr2.u-net.net>

sbdrop tries to drop bytes from beginning of an mbuf. It will panic if the
data of up to specified length to be dropped is not there.

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Tue, 5 Mar 2002 18:09:53 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C850A5B.3040106@spamm.me.l8s.co.uk>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net>

>>Does anybody know if there is a way to change the priorty at which
>>function and commands run from windsh run at?
>>
>>The problem I'm having is that I've got a significant part of my code
>>loaded and running and I'm dynamically loading and unloading another

 >>part of the code to make it easier and quicker to debug it.
 >>When I use the ld() command to dynamicaly load and unload the
 >>module I'm debugging the loader runs in the windsh task and that
 >>task appears to run at such a high priority that it prevents my
 >>hard real time task from running for long enough that I end up

>>having to reset my hardware after loading or unloading my test module.

Just ask the shell to spawn a task to do the work....

sp ld,"filename"

will run at a reasonable priority

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Unresolved symbol while download program : __eabi?
Date: 5 Mar 2002 10:12:59 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203051012.4a0dfdca@posting.google.com>
References: <8cd11808.0203050528.6bb7bfcf@posting.google.com>

I received a similar error message on __divdi3. After finding
information in the gcc.info file in a Tornado subdir regarding the use
of a implicit library DIVDI3_LIBCALL, I statically linked my
application with the libgcc.a library and got rid of the error. The
.OUT file got bigger however. The .INFO file looks like it has more
info on your particular problem.

Mike

zjh_future@263.net (zjh) wrote in message news:<8cd11808.0203050528.6bb7bfcf@posting.google.com>...
> hi,all
> I have build a program with Tornado .The building process is successful.
> While download the ldp.out to the target ppc860gnu.there is a error:
> Unresolved symbol while
> download ldp.out
> --eabi
> Have anyone seen the problem?Can you give me your advice to solve it?
> all thanks!!
> Sincerely zjh

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

Newsgroups: comp.os.vxworks
Subject: Re: Initialize multiple ethernet interface after boot vxworks?
Date: Tue, 5 Mar 2002 11:05:47 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a634un$mcq$3@newsreader.mailgate.org>
References: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org> <a6228h$2vr$1@snoopy.bndlg.de>
Sender: gold@ensemble.com

"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a6228h$2vr$1@snoopy.bndlg.de...
> Hi Choo,
>
> first: I'm no network expert, so no details, but...
> on initialisation there should be sent one ARP packet (automatically). As
> your statistic shows none, it seems that initialisation failed.

Correct, upon initialization it should send out the "gratuitous" ARP.
However, I think you have problems way before this.

> Looking at your code, I see you have a void function, but return ERROR
> within code.
> No good style.
> Add -W -Wall to your compiler options and don't ignore the warnings -
every
> warning could be a hidden problem.

You have other problems too. First, you load string looks incorrect, i.e.
too short. Look at an example 8260 load string in configNet.h. Aren't you
supposed to have the interrupt vector, the IMMR, and a few other things in
the load string ? You also don't check the return value from muxDevLoad().
Are you familiar with the bug that muxDevLoad() really needs to be called
twice ? (if the bug is still present, I believe it is).

Why are you trying to do everything (load/start/config) from your function
? Why don't you do the following:
1. Make a correct entry for your interface in configNet.h. This way, the
system will call the load and start in usrNetInit().
2. Go to the (excellent, highly informative) vxWorks FAQ, and see the
function there that's used to bring up additional interfaces (assuming they
have an entry in configNet.h, and usrNetInit() has run the
muxDev{Load,Start} on them.

> > Above [ifShow] is done after [ping "192.168.2.222"] is done.
> > I think that above send packet count of "sttfcc1" must increase. right?
> > many receive packet is stored in driver's buffer. But above receive
> > packet count is 0. why?

Did you look at the RxBDs to see if they're full ? Is it possible (due to
an incorrect load string) that you're not generating any interrupts, thus no
one is taking the packets out of the driver ? Did you look at FCCE to see
if any interrupts are pending ?

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: error msg: trcStack aborted: error in frame
Date: Tue, 5 Mar 2002 20:04:27 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8516b9$1@brateggebdc5.br-automation.co.at>
References: <a5vfch$6v6$02$1@news.t-online.com> <3c839a37$1@brateggebdc5.br-automation.co.at> <a61ucq$1og$00$1@news.t-online.com>

Hi,

if you are sure, your BSP is _completely_ rebuilt with the current compiler,
there are two possible solutions I can imagine:

1) something trashes the stack for some odd reason, as Dave K. explained

2) trcStack has (problems with | not been properly ported to) the stack
frame format of the compiler

I'd try use an other BSP, if you have this option, to find out which option
fits.

hth
Werner

"Markus Pietrek" <mpietrek@fsforth.de> wrote in message
news:a61ucq$1og$00$1@news.t-online.com...
> Werner Schiendl wrote:
>
> > Hi,
> >
> > for me this sounds as if the stackframe of some routine of the call
stack
> > does not meet the expectations of trcStack().
> > Like if a different compiler were used for portions of the stuff.
> >
> > Did you rebuild everything with the same compiler, that the core
> > components are built with?
>
> I hope so as I'm using the compiler (ccarm 2.9) bundled with Tornado
2.1.1.
> Yesterday I made that discovery that not the system is standing but only
the
> serial shell is suspended. When I do 'tr tShell' on a WDB shell it will be
> resumed but the special functions of the console (e.g. ctrl-x and ctrl-c)
> are being disabled.
>
> Bye,
> Markus Pietrek

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

Newsgroups: comp.os.vxworks
Subject: Re: Pipe vs Socket communication
Date: Tue, 5 Mar 2002 20:08:08 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c851796$1@brateggebdc5.br-automation.co.at>
References: <c1013e3b.0203041001.79ce1f29@posting.google.com>

Hi,

if you need something with 'stream' behaviour, you should go with sockets.

The VxWorks pipe driver works with 'datagrams', like a message queue.
That means, if you put 7 bytes in one chunk into your pipe, and read - for
example - 3 bytes from it, the rest of it (4 bytes in this case) is dropped.
Further, you need to specifiy the maximum chunk size when creating the pipe.

In case I need something like that, I usually prefer using a message queue
directly.
You've more options and a - IMHO - more intuitive and consistent API than
for the pipe driver.

hth
Werner

"Xavier Marjou" <xavier_marjou@yahoo.com> wrote in message
news:c1013e3b.0203041001.79ce1f29@posting.google.com...
> Hello,
>
> I would like to know how slow is a communication between two tasks if
> a pipe is used or if it's a socket (local loopback). Is there any link
> on the subject ?
>
> Thank you,
> Xavier Marjou

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Tue, 5 Mar 2002 21:44:36 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$15pisg$keo$1@lnews.actcom.co.il>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov>

Here is my suggestion:

Perhaps probing the PHY also triggers PHY autonetitiation, which
takes time depending on the speed used. It can take quite a while
for 10Mbps half-duplex, because that is the last resort settings,
reached in the event of negotiation timeout.

If your target is connected to a 10Mbps hub - try a switch.

Smart drivers use the PHY interrupt to dedect a change in LINK
integrity or speed, so the while idea of polling the PHY every 5 sec
sounds rather stupid to me.

"Dinker Charak" <dinker@fnal.gov> wrote in message
news:a612lk$prf$1@info4.fnal.gov...
> Hi All,
>
> Refreshing: We had a strange problem of tNetTask taking around 4.5 ms each
> 5 sec. It turns out that each 5 sec the miiLib adds a job to tNetTask for
> checking if the PHY is connected or not.
>
> It turns out that it is during this reading there is an abnormal delay.
>
> Anyone any pointer or suggestion what could be wrong?
>
> The WRS support person's system does not show the delay. But two of our
> systems on different sub-nets show the problem (one is a MV2301 and
another
> MV2400).
>
> We are running vxWorks 5.4.2 with June 2001 driver update installed.
>
> Thanks,
> Dinker
>
>

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

Newsgroups: comp.os.vxworks
Subject: Changing stdout to send to a telnet socket
Date: Tue, 05 Mar 2002 14:56:56 -0500
From: Rakesh Chandwani <rexrc@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C852308.240B6852@lucent.com>

Hi !!,

Is there a way to change temporarily or permanently the stdout descriptor from 0
to any selected socket descriptor ? I need to do this to run a tcpserver in
vxworks that accepts a connection from any telnet client and then from thereon,
whatever commands are given, their output or the printfs ( logs ) in should all
come out on this telnet window...

any help ?

- --
Rakesh

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

Newsgroups: comp.os.vxworks
Subject: Re: Changing stdout to send to a telnet socket
Date: Tue, 05 Mar 2002 15:49:00 -0500
From: Rakesh Chandwani <rexrc@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C852F3C.C3935CBB@lucent.com>
References: <3C852308.240B6852@lucent.com>

Oops... didn't read the manual properly...

ioGlobalStdSet()

does it all..

- ---
Rakesh

Rakesh Chandwani wrote:
>
> Hi !!,
>
> Is there a way to change temporarily or permanently the stdout descriptor from 0
> to any selected socket descriptor ? I need to do this to run a tcpserver in
> vxworks that accepts a connection from any telnet client and then from thereon,
> whatever commands are given, their output or the printfs ( logs ) in should all
> come out on this telnet window...
>
> any help ?
>
> --
> Rakesh

- --
Rakesh Chandwani
Lambda Router AOS SW Dev.| Lucent Technologies,
Room 3N-320 | 101 Crawfords Corner Road,
Ph:732-949-0576 | Holmdel, NJ - 07748

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

Newsgroups: comp.os.vxworks
Subject: Changing to FIFO Ordered First-Fit
Date: 5 Mar 2002 12:59:07 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0203051259.1662f9be@posting.google.com>

I read an article by Paul Wilson and others
(Dynamic Storage Allocation: Survey and Review)
and in that it was mentioned that:
 "Best fit, FIFO ordered First Fit and address
 ordered first-fit"
perform the same manner, with a fragmentation of 22%.

Where as First-Fit based on LIFO is Worse with 54%
fragmentation!

What i would like to know is : Does VxWorks uses First-fit
based on LIFO or on FIFO?
And if it is based on LIFO, how can i change it to FIFO?
Well, i don;t have source code for memLib.o.

Thanks for Your Help.
Venkat

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

Newsgroups: comp.os.linux.powerpc,comp.os.vxworks
Subject: Cache profiler for PowerPC on vxworks
Date: 5 Mar 2002 13:24:53 -0800
From: ducthinhle@hotmail.com (Duc Thinh Le)
Organization: http://groups.google.com/
Message-ID: <5870634d.0203051324.4f71e7f5@posting.google.com>

Hi,

 I am just wondering if anyone knows of a tool that has cache
 profiling capability for PowerPC on Vxworks environment. Basically,
 I need a tool that is able to tell me which line (C code) of my
 program causes cahce miss (instruction and data). Please let me
 know if you have any comments, ideas or questions.
 Your helps and inputs are much appreciated. Thanks.

Regards
Duc Le

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

Newsgroups: comp.os.vxworks
Subject: Re: Initialize multiple ethernet interface after boot vxworks?
Date: Tue, 5 Mar 2002 13:36:19 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a63dp0$pvr$3@newsreader.mailgate.org>
References: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org> <a6228h$2vr$1@snoopy.bndlg.de>
Sender: gold@ensemble.com

Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a6228h$2vr$1@snoopy.bndlg.de...
> Hi Choo,
>
> first: I'm no network expert, so no details, but...
> on initialisation there should be sent one ARP packet (automatically). As
> your statistic shows none, it seems that initialisation failed.

Correct, upon initialization it should send out the "gratuitous" ARP.
However, I think you have problems way before this.

> Looking at your code, I see you have a void function, but return ERROR
> within code.
> No good style.
> Add -W -Wall to your compiler options and don't ignore the warnings -
every
> warning could be a hidden problem.

You have other problems too. First, you load string looks incorrect, i.e.
too short. Look at an example 8260 load string in configNet.h. Aren't you
supposed to have the interrupt vector, the IMMR, and a few other things in
the load string ? You also don't check the return value from muxDevLoad().
Are you familiar with the bug that muxDevLoad() really needs to be called
twice ? (if the bug is still present, I believe it is).

Why are you trying to do everything (load/start/config) from your function
? Why don't you do the following:
1. Make a correct entry for your interface in configNet.h. This way, the
system will call the load and start in usrNetInit().
2. Go to the (excellent, highly informative) vxWorks FAQ, and see the
function there that's used to bring up additional interfaces (assuming they
have an entry in configNet.h, and usrNetInit() has run the
muxDev{Load,Start} on them.

> > Above [ifShow] is done after [ping "192.168.2.222"] is done.
> > I think that above send packet count of "sttfcc1" must increase. right?
> > many receive packet is stored in driver's buffer. But above receive
> > packet count is 0. why?

Did you look at the RxBDs to see if they're full ? Is it possible (due to
an incorrect load string) that you're not generating any interrupts, thus no
one is taking the packets out of the driver ? Did you look at FCCE to see
if any interrupts are pending ?

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 5 Mar 2002 17:56:38 -0500
From: tls@panix.com (Thor Lancelot Simon)
Organization: PANIX -- Public Access Networks Corp.
Message-ID: <a63if6$816$1@panix1.panix.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com>
Reply-To: tls@rek.tjls.com

In article <a62j16$4g5$1@knossos.btinternet.com>,
UK Gary <deton8@aol.com> wrote:
>
>Mainly by reading all your other clueless posts. You didn't even know how
>to look through the linux source tree. How the fuck do you think you are

Did it occur to you that, perhaps, unlike your own ranting and that of the
various other chest-thumping idiots posting in this thread, J.J.'s skepticism
that he'd find what he needed in the Linux source code was a sign of
*intelligence*? As has been amply discussed by now, there's nothing there
for him to find.

- --
 Thor Lancelot Simon	 tls@rek.tjls.com
 But as he knew no bad language, he had called him all the names of common
 objects that he could think of, and had screamed: "You lamp! You towel! You
 plate!" and so on. --Sigmund Freud

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

Newsgroups: comp.os.vxworks
Subject: Re: Changing to FIFO Ordered First-Fit
Date: 05 Mar 2002 18:39:04 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u1yeytwiv.fsf@yahoo.com>
References: <65b2abfc.0203051259.1662f9be@posting.google.com>
Sender: bpringlemeir@DeadDuck

 Venkat> I read an article by Paul Wilson and others (Dynamic Storage
 Venkat> Allocation: Survey and Review) and in that it was mentioned

[snip]

 Venkat> What i would like to know is : Does VxWorks uses First-fit
 Venkat> based on LIFO or on FIFO? And if it is based on LIFO, how
 Venkat> can i change it to FIFO? Well, i don;t have source code for
 Venkat> memLib.o.

vxWorks used a First fit based on memory order afaik. I base this on
the behavior of "memShow 1". In the paper you cite, they also mention
that boundary tag methods are far superior. This is close to what
Doug Leah's allocator uses.

Using Zinc and plenty of C++ classes, we quickly made 1Mb to > 20k
largest block size in no time (about 1 day). The free memory was
about 800k in this case. Using Doug Leah's allocator, the product
will run for more than a month under similar loads. This was ok for
our product, so I circumvented finding all of the memory leaks,
although we did priorities them using memScope and fix the largest
ones [extending the time to memory exhaustion further].

hth,
Bill Pringlemeir.

- --
New ideas is like a big city with no people but many many worlds.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Changing to FIFO Ordered First-Fit
Date: 05 Mar 2002 19:14:16 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uwuwqsgbr.fsf@yahoo.com>
References: <65b2abfc.0203051259.1662f9be@posting.google.com> <u1yeytwiv.fsf@yahoo.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Bill" == Bill Pringlemeir <bpringlemeir@yahoo.com> writes:

 Venkat> I read an article by Paul Wilson and others (Dynamic Storage
 Venkat> Allocation: Survey and Review) and in that it was mentioned

 Bill> [snip]

 Venkat> What i would like to know is : Does VxWorks uses First-fit
 Venkat> based on LIFO or on FIFO? And if it is based on LIFO, how
 Venkat> can i change it to FIFO? Well, i don;t have source code for
 Venkat> memLib.o.

 Bill> vxWorks used a First fit based on memory order afaik. I base
 Bill> this on the behavior of "memShow 1". In the paper you cite,
 Bill> they also mention that boundary tag methods are far superior.
 Bill> This is close to what Doug Leah's allocator uses.

Uh yeah...

 -> memShow 1

 FREE LIST:
 num addr size
 --- ---------- ----------
 1 0x7bc008 16368
 2 0x2dbd2c 4264956

It appears that this is not an address based scheme as I first
suggested... [as anyone can plainly see]. I think that it FIFO now,
but what do I know. You can do allocations and frees and use "memShow
1". I am positive that it traverses the list in order so you can
deduce that it is FIFO. I am also pretty sure that this has been
discussed here before. Try deja searches and stop making me look
stupid.

"http://groups.google.com/groups?hl=en&frame=right&th=226c7e4472114719&seekm=7b4i1k%2459914%40overload.lbl.gov#s"

"http://groups.google.com/groups?hl=en&frame=right&th=226c7e4472114719&seekm=36D8FCF1.E8EF9F7%40bitband.com#link10"

Here it is said to be LIFO, but then later FIFO. At any rate, I think
the allocator is crap... and if you have to ask the question, you
should look for alternatives.

Regards,
Bill Pringlemeir.

- --
The goal of science is to inspire the mind.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: CPU consumption by WDB task
Date: Wed, 06 Mar 2002 03:35:43 GMT
From: "Jamilur Rahman" <rahma2431@rogers.com>
Message-ID: <j8gh8.28710$aFN.894@news1.bloor.is>

I am in a profiling process of intel CPUs running on VxWorks.
I noticed a very interesting behaviour of WDB task. When I use higher
capacity CPUs, the WDB task takes more CPU overhead than the lower capacity
one. For more clarification, here are some of the data from my profiling
results. Note that, I'm using ProfileScope for measurement and in all cases
an identical application load on each CPU.

1) for P-3, 1GHz, 256KB Cache memory, 133MHz Bus speed: WDB takes 4.59% of
CPU time.
2) for Celeron, 1.3GHz, 256KB Cache, 100MHz Bus speed: WDB takes 2.79% of
CPU time.
3) for Celeron, 850MHz, 128KB Cache, 100MHz Bus speed: WDB takes 0.59% of
CPU time.

Informative help from anybody would be very much appreciated.

/jamil,
Ottawa, Ontario.

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 5 Mar 2002 20:13:25 -0800
From: kallolm_tech@yahoo.com (Kallol Mallick)
Organization: http://groups.google.com/
Message-ID: <cf6c276e.0203052013.1d2e680@posting.google.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com> <a63if6$816$1@panix1.panix.com>

tls@panix.com (Thor Lancelot Simon) wrote in message news:<a63if6$816$1@panix1.panix.com>...
> In article <a62j16$4g5$1@knossos.btinternet.com>,
> UK Gary <deton8@aol.com> wrote:
> >
> >Mainly by reading all your other clueless posts. You didn't even know how
> >to look through the linux source tree. How the fuck do you think you are
>
> Did it occur to you that, perhaps, unlike your own ranting and that of the
> various other chest-thumping idiots posting in this thread, J.J.'s skepticism
> that he'd find what he needed in the Linux source code was a sign of
> *intelligence*? As has been amply discussed by now, there's nothing there
> for him to find.

Hey everybody,

please stop this non-sense and get back to the original discussion. It
seems that there is no readily available source code for this and it
needs huge resource to develop one. May be you can try to get an old
version of LSI or QLogic implementation to get an idea. And also you
need to write some portion in embedded processor(whichever you use) to
expose register level access to the host. As a test probably you can
build the stack source code in pure C and put it into host driver
(UNIX/Windows) wrapper. Because it's easier to debug/develop in host
drivers than in firmware. Then port it to the firmware. The porting
should not be a big effort if the stack uses strictly C (I mean no
system calls) and designed properly.

- -Kallol

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

Newsgroups: comp.os.vxworks
Subject: Re: undefined references when including the ln97xEnd with ARMARCH4
Date: Wed, 06 Mar 2002 05:55:23 GMT
From: "Paul Iannacito" <paul.iannacito@attbi.com>
Organization: AT&T Broadband
Message-ID: <fbih8.8411$aP6.12577@rwcrnsc54>
References: <3c84ec5a$0$222$4d4ebb8e@read-nat.news.nl.uu.net>

Hello Niels,

<spam@kpsws.com> wrote in message
news:3c84ec5a$0$222$4d4ebb8e@read-nat.news.nl.uu.net...
> I got the following undefined references when trying to include the
> ln97xEnd network driver in my bootrom:
> ....

The undefined symbols your linker complained about are as follows:

 sysLan97xEnetAddrGet
 sysLan97xIntEnable
 sysLan97xIntDisable
 sysOutLong
 sysInLong

The first symbols are actually supposed to be functions that are defined in
the BSP. The ln97xEnd driver you are attempting to link into your system
references these symbols. The xxxIntEnable() and xxxIntDisable() routines
are BSP-specific - their function is to enable/disable the controller's
interrupt
input to an interrupt controller of some sort. Naturually, this is going to
be
specific to your hardware.

sysLan97xEnetAddrGet() is supposed to be a function defined in the BSP.
This routine is supposed to return an IEEE station address (or Ethernet
address,
if you like) to the controller. A method for implementing this routine can
be
discovered in the AMD documents for the PCnet PCI family devices. For
example, check the Am79c970A documentation which can be downloaded in
PDF format from AMD's web site.

It is unlikely that the BSP you are using has the BSP-specific support
routines
or initialization functions for the ln97xEnd driver.

> ...
> The sysOutLong funcs are most suprising because they would impress that
> the driver was for a non-memory mapped arch??

Well, these names are a bit misleading. Some BSPs define sysOutLong() and
sysInLong() functions authored for memory-mapped CPUs. Don't let the names
lead you to believe that these are necessarilly for Intel I/O address space
and
implemented using the Intel-specific IN and OUT instructions. Even on Intel
80x86 or Pentium family CPUs, all of the devices supported by the ln97xEnd
driver
can work using memory-mapped registers. In fact, this is the default for
WRS
Intel BSPs that support the ln97xEnd driver. Quite a few BSPs define
BSP-specific
versions of these routines. It seems that you may have to do the same if
you intend
to support the ln97xEnd driver.

If you want to use the ln97xEnd driver in your ARM BSP, it sounds like you
will
have to author the support yourself. If you are interested, read on; I can
give you
a bit of guidance on how to do this. If you're not interested in authoring
your
own driver support routines, try using the DEC END driver instead. Most of
the
WRS ARM BSPs seem to have canned support for that one.

(1)
Define the sysLan97xEnetAddrGet, sysLan97xIntEnable, and
sysLan97xIntDisable support routines in a BSP-specific file. You may
already have a file that has support routines for other END drivers (like
the DEC
END driver). In fact, you may find the answer to the question of how
to implement the interrupt enable/disable routines for ln97xEnd. I'll give
you an idea
of how to do these routines:

/***************************************************************************
****
*
* sysLan97xIntEnable - enable Am79C97x ethernet device interrupts
*
* This routine enables Am79C97x interrupts. This may involve operations on
* interrupt control hardware.
*
* RETURNS: OK or ERROR for invalid arguments.
*/
STATUS sysLan97xIntEnable
 (
 int level /* level number */
 )
 {
 return (intEnable (level));
 }

/***************************************************************************
****
*
* sysLan97xIntDisable - disable Am79C97x ethernet device interrupts
*
* This routine disables Am79C97x interrupts. This may involve operations on
* interrupt control hardware.
*
* RETURNS: OK or ERROR for invalid arguments.
*/
STATUS sysLan97xIntDisable
 (
 int level /* level number */
 )
 {
 return (intDisable (level));
 }

The actual implementation of these routines can vary between architectures,
and even between BSPs for a given architecture family. Generally, the
parameter
to this routine will specify an interrupt <level> defined for an interrupt
controller
on the host platform. Depending upon the BSP you are using, you may be
able
to use the WRS intEnable() and intDisable() library routines to implement
these.
You may also find some sort of interrupt enable and disable routines defined
in the
BSP itself. Generally, the BSP documentation should tell you what the BSP
uses
for this functionality. Look around in things like sysLib.c - you should be
able to
find the interrupt enable and disable routines used on other devices.

The following is how you can do the sysLan97xEnetAddrGet() routine. This
should
really be defined in the driver with a user-option to override the driver
definition. Oh
well. You are welcome to use this as you like. The comments are my own
interpretation
based on the AMD docs. Just let me know if I screwed this up. BTW, some of
the
manifest constants are #defined in ln97xEnd.h.

/***************************************************************************
****
*
* pcnetMacAddrGet - get a PCnet Ethernet (IEEE station) address
*
* This routine provides an interface for accessing an Am79C97x device
* Ethernet (IEEE station address) address in the device's Address PROM
* (APROM). A handle to the specific device control structure is specified
* in the <pDrvCtrl> parameter. The 6-byte IEEE station address will be
* copied to the memory location specified by the <pEnetAdrs> parameter.
*
* CAVEATS
* Assumes the driver is using memory-mapped I/O registers.
*
* This routine could be called relatively early in controller
* initialization. There is no guarantee that the controller will be in
* 32-bit I/O mode when this routine is called. Thus, the APROM addresses
* should be read 16-bits at a time rather than 32-bits at a time, just to
* be safe.
*
* INTERNAL
* The 6 bytes of the IEEE station address occupy the first 6 locations of
* the Address PROM space. The driver must copy the station address from
* the Address PROM space to the initialization block or to CSR12-14 in order
* for the receiver to accept unicast frames directed to the device.
*
* Bytes 14 and 15 of APROM should each be ASCII 'W' (57h). The above
* requirements must be met in order to be compatible with AMD driver
* software.
*
* The APROM is 32 bytes, and there is no need to read all of that here.
* Moreover, in 16-bit I/O mode (out of H_RESET), we may only have access
* to 16 bytes of APROM. So, this routine reads half of the APROM to get
* the Ethernet address and test for ASCII 'W's.
*
* RETURNS: OK, or ERROR if could not be obtained.
*/
STATUS sysLan97xEnetAddrGet
 (
 LN_97X_DRV_CTRL * pDrvCtrl, /* Driver control */
 char * enetAdrs
 )
 {
 char aprom [PCNET_APROM_SIZE]; /* store a copy of APROM */

 /* get I/O address of unit & alias <aprom> for data mov */

 UINT16 * const pIoAddr = (UINT16 * const)(pDrvCtrl->devAdrs);
 UINT16 * const pAprom = (UINT16 * const)(&aprom[0]);

 /* load 16-bytes of APROM into an array (2-bytes at a time) */

 pAprom[0] = pIoAddr[0];
 pAprom[1] = pIoAddr[1];
 pAprom[2] = pIoAddr[2];
 pAprom[3] = pIoAddr[3];
 pAprom[4] = pIoAddr[4];
 pAprom[5] = pIoAddr[5];
 pAprom[6] = pIoAddr[6];
 pAprom[7] = pIoAddr[7];

 /* check for ASCII 'W's at APROM bytes 14 and 15 */

 if ((aprom [0xe] != 'W') || (aprom [0xf] != 'W'))
 {
 return ERROR;
 }

 pEnetAdrs[0] = aprom[0];
 pEnetAdrs[1] = aprom[1];
 pEnetAdrs[2] = aprom[2];
 pEnetAdrs[3] = aprom[3];
 pEnetAdrs[4] = aprom[4];
 pEnetAdrs[5] = aprom[5];

 return OK;
 }

(2)
Add some code to find devices supported by the ln97xEnd driver and
initialize the device's PCI resources (BARs, interrupt lines, &c.). You'll
have to save some of this information for the driver load routine.

For this bit you'll need the PCI vendor, device, and revision IDs for
devices
that will minimally function under the driver. The following should get you
going (use a fixed width font for the ASCII table):

/* AMD 79C97x 10/100Base-TX PCI Ethernet Board Types */

#define AMD_PCI_VENDOR_ID (0x1022) /* AMD PCI vendor ID */
#define PCNET_PCI_DEVICE_ID (0x2000) /* Am79c97x device ID */

#define AM970_PCI_REV_MASK (0x10) /* Am79c970A PCI rev mask */
#define AM971_PCI_REV_MASK (0x20) /* Am79c971 PCI rev mask */
#define AM972_PCI_REV_MASK (0x30) /* Am79c972 PCI rev mask */
#define AM973_PCI_REV_MASK (0x40) /* Am79c97[3/5] PCI rev mask */

 ---------------------------------------------------------------------------
 PCI Configuration Space Offset: 0x08 PCI Revision ID Register

 31 16 15 0
 xxxx xxxx xxxx xxxx xxxx xxxx RRRR RRRR
 xxxx xxxx xxxx xxxx xxxx xxxx 0000 xxxx 0x Am79C970 PCnet-PCI
 xxxx xxxx xxxx xxxx xxxx xxxx 0001 xxxx 1x Am79C970A PCnet-PCI II
 xxxx xxxx xxxx xxxx xxxx xxxx 0010 xxxx 2x Am79C971 PCnet-FAST
 xxxx xxxx xxxx xxxx xxxx xxxx 0011 xxxx 3x Am79C972 PCnet-FAST+
 xxxx xxxx xxxx xxxx xxxx xxxx 0100 xxxx 4x Am79C973 PCnet-FAST III
 xxxx xxxx xxxx xxxx xxxx xxxx 0100 xxxx 4x Am79C975 PCnet-FAST III
 xxxx xxxx xxxx xxxx xxxx xxxx 0101 xxxx 5x Am79C978 PCnet-Home
 ---------------------------------------------------------------------------

When you find a device, you'll have to be sure that you can get the
memory-mapped
registers mapped into the host processor address space.

I cannot tell you how to do any of this, because it seems that every BSP
does the
PCI device discovery differently. Some BSPs use unecessarilly clumsy or
overly
specific configurations. Just about all of the BSPs that support PCI
devices use the
WRS pciConfigLib and / or pciAutoConfigLib libraries. Look in your BSP for
an example of how it is done for some other device. For example, you will
probably
find some PCI init code for the DEC END driver if you are using a WRS ARM
BSP.

(3)
Check that your BSP can somehow get appropriate entries in the endDevTbl[]
(usually it is in the BSP configNet.h file) when the configuration constant
for the ln97xEnd driver is defined. One of the entries in this table is the
address of the load routine for the driver. The driver load routine should
actually
be documented. A lot of BSPs wrap the driver load routine in a BSP-specific
function. Here is something that you could use as a driver load routine for
some
BSP:

...
/* driver configuration flags */

/* The <offset> parameter specifies the offset from which a packet has
 * to be loaded from the beginning of a device buffer. Normally, this
 * parameter is zero except for architectures which access long words
 * only on aligned addresses. For these architectures, the value of
 * this <offset> should be 2.
 */

#define LN97X_OFFS_VALUE (2) /* driver <offset> value */
#define LN97X_CSR3_VALUE (0) /* CSR3 register value */
#define LN97X_RSVD_FLAGS (0) /* driver <flags> value */

...

/***************************************************************************
***
*
* sysLn97xEndLoad - construct a load string and load an Am79C97x device
*
* This routine will be invoked by the MUX for the purpose of loading
* an Am79C97x (lnPci) device with initial parameters. This routine is
* constructed as an interface wrapper for the driver load routine.
* Thus, the arguments and return values are consistent with any
* xxxEndLoad() routine defined for an END driver and the MUX API.
*
* INTERNAL
* The muxDevLoad() operation calls this routine twice. A zero length
* <pParamStr> parameter string indicates that this is the first time
* through this routine. The driver load routine should return the
* driver name in <pParamStr>.
*
* On the second pass though this routine, the initialization parameter
* string is constructed. Note that on the second pass, the <pParamStr>
* consists of a colon-delimeted END device unit number and rudimentary
* initialization string (often empty) constructed from entries in the
* BSP END Device Table such that:
*
* <pParamStr> = "<unit>:<default initialization string>"
*
* In the process of building the rest of <pParamStr>, the prepended unit
* number must be preserved and passed to the driver load routine. The
* <default initialization string> portion mentioned above is discarded,
* but future versions of this routine may use it.
*
* The complete ln97xEnd driver load string has format:
*
* <unit>:<devMemAddr>:<devIoAddr>:<pciMemBase:<vecNum>:<intLvl>:
* <memAdrs>:<memSize>:<memWidth>:<csr3b>:<offset>:<flags>
*
* RETURNS: An END object pointer, or NULL on error, or 0 and the name of the
* device if the <pParamStr> was NULL.
*
* SEE ALSO: ln97xEndLoad()
*/
END_OBJ * sysLn97xEndLoad
 (
 char * pParamStr, /* pointer to initialization parameter string
*/
 void * unused /* unused optional argument */
 )
 {
 END_OBJ * pEnd;

 /* alias local PCI and board resource table addresses */

 PCI_BOARD_RESOURCE * const pciRsrc = ln97xPciResources;

 if (strlen (pParamStr) == 0)
 {
 /* PASS (1)
 * The driver load routine returns the driver name in <pParamStr>.
 */

 pEnd = ln97xEndLoad (pParamStr);
 }
 else
 {
 /* PASS (2)
 * The END <unit> number is prepended to <pParamStr>. Construct
 * the rest of the driver load string based on physical devices
 * discovered in sysLan97xPciInit(). When this routine is called
 * to process a particular END <unit> number, use the END <unit>
 * as an index into the PCI "resources" table to build the driver
 * parameter string.
 */
 char paramStr [END_INIT_STR_MAX];
 static const char * const paramTemplate =
 "%d:0x%x:0x%x:0x%x:%d:%d:-1:-1:-1:0x%x:%d:0x%x:%p";

 char * holder = NULL;
 int endUnit = atoi (strtok_r (pParamStr, ":", &holder));

 /* sanity check endUnit value ... */

 /* construct the initialization parameter string */

 sprintf (paramStr, paramTemplate,
 endUnit, /* END unit number */
 pciRsrc[endUnit].bar[1], /* memory-mapped IO base */
 pciRsrc[endUnit].bar[0], /* IO address space base */
 PCI2DRAM_BASE_ADRS, /* host PCI mem. base */
 pciRsrc[endUnit].irqvec, /* IRQ vector */
 pciRsrc[endUnit].irq, /* IRQ number */
 LN97X_CSR3_VALUE, /* csr3 register value */
 LN97X_OFFS_VALUE, /* offset */
 LN97X_RSVD_FLAGS /* flags (reserved) */
 );

 if ((pEnd = ln97xEndLoad (paramStr)) == (END_OBJ *) NULL)
 {
 printf ("Error sysLn97xEndLoad: device load failed.\n");
 }
 }

 return (pEnd);
 }

The (PCI2DRAM_BASE_ADRS) value used in the load string is going to be
specific
to your platform. All of the parameters in the driver load string are
documented.

The <pciRsrc[]> table referenced in the snippet above is just an example of
a data
structure that was used to save some of the PCI information (like NPF mem
and
IO decoders) when the device was discovered. The structure is indexed via
the
END unit number in the example, but you can handle this however you like -
you
don't have to do anything with the END unit number except pass it through
the load string.
The only caveat is that multiple devices of a kind require distinct END unit
numbers.
For example, you should not be trying to create two distinct lnPci device
instances
with END unit numbers 0. One should be 0, and the other should be an
integer n > 0.

Well, I think that's as far as I want to go with this. Big fun, eh? Good
luck.

Regards,

paul

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP problem
Date: Wed, 06 Mar 2002 08:11:52 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3C85C138.D50E308A@sepro-robotique.com>
References: <3C7E0A02.3F646C90@sepro-robotique.com> <newscache$nnr8sg$bz5$1@lnews.actcom.co.il> <3C7F7A9D.2AB0A3B2@sepro-robotique.com> <newscache$nebbsg$m0a$1@lnews.actcom.co.il>

Leonid Rosenboim wrote:
> The fact that large files work OK would suggest the serial driver is
> innoscent.

Hi Leonid,

Thanks for your reply. Indeed, the serial driver wasn't guilty !
The WRS support told me to use netStackSysPoolShow() when
the problem appears. It shows the following information :

.../...
number of times failed to find space: 1
number of times drained protocols for space: 1
CLUSTER POOL TABLE
 size clusters free usage

- -------------------------------------------------------------------------------
 512 20 0 21
.../...

There was not enought 512 bytes buffers in the network stack.
So, I increase this setting (in the Tornado builder, I change
some "define" in the "network buffer initialization" tab).
And it seems to work better now.

- --
Regards
Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: still: cannot connect target server...
Date: 5 Mar 2002 23:25:43 -0800
From: fillmore2@arcor.de (Achim)
Organization: http://groups.google.com/
Message-ID: <9d082700.0203052325.48946aa@posting.google.com>

Hi,

I still have not been able to get my target server connection running
via end driver:
- - there's no response from the target on the first UDP message send
from the target server
- - I can ping the target from the tornado host PC (even after trying to
establish the target server connecion - so it's no ethernet driver
problem)
- - I can establish and end a ftp connection to the target if I include
ftp (though it makes not much sense for that target)
- - The parameters for launching the target server are
tgtsvr.exe 10.1.255.254 -A -V -B wdbrpc -Bt 10 -Br 5 -c
K:\[long path...]\default\vxWorks

With that behaviour (and assuming that the target server generates
correct messages to establish the connection), I would guess that I
have a problem either with receiving UDP frames or the wdb/Target
agent components on the target.

Any ideas on this (like some experience with easy-to-miss parameters
for UDP or WDB...)?

Achim.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Application Module Size Questions
Date: 5 Mar 2002 23:27:52 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203052327.543f208e@posting.google.com>
References: <971e6b8f.0203050840.61205700@posting.google.com>

Hello,

Don't be fooled into believing that the size of the .out file is the
size of your code. The .out is, I assume, still a relocatable file
which contains all the overheads needed to perform the final linking.

To find out the size of the actual code and data in the file, use the
'size<arch>' command, e.g. for PowerPC use sizeppc. This will give you
the information about the size of each of the segments in the file
(text, data, bss). This is more accurate than just comparing file
sizes.

Something else to consider... unless your actual target arch is x86 as
well, you'd be better off building for the architecture you intend to
run on to get the sizes. In particular, when changing from CISC to
RISC chips, the size can be very different.

HTH,

John...

mpalone@gotuit.com (Mike Palone) wrote in message news:<971e6b8f.0203050840.61205700@posting.google.com>...
> Does the size of a VxWorks application downloaded to the Target get
> scaled back once the module is resolved against other modules and/or
> the VxWorks executable itself? We understand that different
> libraries/packages can be included or excluded within the VxWorks
> module by changes made to the configAll.h file and rebuilding. We are
> using WindRiver's Tonado IDE version 2.02. We are building using a
> Win2000 host with Optimization set to level 1 (-O1) since it is giving
> us the smallest resulting .OUT file. We are currently only testing our
> application in the NTSIM simulator since there is no hardware
> available yet. Does building for the simulator cause the size to be
> larger than what it may be vs. a BSP?
>
> Our WinCE port of the application gives us a DLL of size 180K. The
> VxWorks .OUT file is 392K. As another example, we had an unresolved
> external __divid3 (implicit library call) when downloading our
> application to the simulator. Once we statically linked with the
> libgcc.a library to account for this, our application .OUT file went
> to 492K. Does the final resolution / dynamic linking in VxWorks
> handle what exactly gets loaded/relocated into RAM so only what is
> needed is used?
>
> How can we determine the RAM or ROM footprint of our module (assuming
> that it will be smaller than the .OUT file once final
> linking/relocation is performed)?
>
> We have not yet run any utilities for determining what exactly is
> inside the .OUT file. Since the VxWorks simulator is built with the
> ANSI C includes, our application's size should not include the C Run
> Time code as well, correct?
>
> Thank you very much in advance...
> Mike Palone
> Principal Software Engineer
> Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: TCP/IP Support in VxWorks
Date: 6 Mar 2002 00:43:57 -0800
From: dalstorp@yahoo.com (Dalen Torp)
Organization: http://groups.google.com/
Message-ID: <f9182910.0203060043.63dec640@posting.google.com>
References: <3c741e96_4@news1.prserv.net>

<frewb@bizcatalyst.com> wrote in message news:<3c741e96_4@news1.prserv.net>...
> I have a client running a large network using VxWorks V3.X. The network is
> unstable which is now being attributed by problem with version 3 handling
> variable length subnet masks.
>
> The suggestion is to upgrade to the current release. Does anyone know if
> the handling of TCP/IP is different between version 3 and 5 and if upgrading
> is going to fix the subnet mask problem.
>
> Thanks.

It seams like your client are running WxWork 3.X for AXPvme boards?
this should be Digitals (DECs) version of WindRiver 5.X! Maybe you
should ask your client?

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

Newsgroups: comp.os.vxworks
Subject: Re: Initialize multiple ethernet interface after boot vxworks?
Date: Wed, 6 Mar 2002 09:02:58 +0000 (UTC)
From: "Choo Joung-hoon" <jhchoo@solartt.co.kr>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <ca925cc313807aeb529ea4a31865499b.75083@mygate.mailgate.org>
References: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org> <a6228h$2vr$1@snoopy.bndlg.de> <a63dp0$pvr$3@newsreader.mailgate.org>

"Dan Gold" <gold@ensemble.com> wrote in message
news:a63dp0$pvr$3@newsreader.mailgate.org...

> You have other problems too. First, you load string looks incorrect, i.e.
> too short. Look at an example 8260 load string in configNet.h. Aren't you
> supposed to have the interrupt vector, the IMMR, and a few other things in
> the load string ? You also don't check the return value from muxDevLoad().
> Are you familiar with the bug that muxDevLoad() really needs to be called
> twice ? (if the bug is still present, I believe it is).
>

muxDevLoad() is called twice.
load string is correct. And muxDevLoad() does not return NULL(no error).

> Why are you trying to do everything (load/start/config) from your function
> ? Why don't you do the following:
> 1. Make a correct entry for your interface in configNet.h. This way, the
> system will call the load and start in usrNetInit().
> 2. Go to the (excellent, highly informative) vxWorks FAQ, and see the
> function there that's used to bring up additional interfaces (assuming they
> have an entry in configNet.h, and usrNetInit() has run the
> muxDev{Load,Start} on them.
>

So, I make a entry in configNet.h. So, muxDev(Load, Start) was called
when boot.
Only [ muxIoctl, ipAttach, usrNetIfAttach ] is called from my function.
But the Situation is not good.(the same result)

> Did you look at the RxBDs to see if they're full ? Is it possible (due to
> an incorrect load string) that you're not generating any interrupts, thus no
> one is taking the packets out of the driver ? Did you look at FCCE to see
> if any interrupts are pending ?

No, Rx operation in end driver is good, interrupt is surviced. RxBD is
correct.
Interrupts are not pending.

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: undefined references when including the ln97xEnd with ARMARCH4
Date: 06 Mar 2002 09:06:12 GMT
From: spam@kpsws.com
Message-ID: <3c85dc04$0$225$4d4ebb8e@read-nat.news.nl.uu.net>
References: <3c84ec5a$0$222$4d4ebb8e@read-nat.news.nl.uu.net> <fbih8.8411$aP6.12577@rwcrnsc54>

thanks for your exclusive reply in a short notice ;-)

I am going to work on it and I'll let you know when I have
progress/questions/ideas

niels

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

Newsgroups: comp.os.linux.powerpc,comp.os.vxworks
Subject: Re: Cache profiler for PowerPC on vxworks
Date: Wed, 6 Mar 2002 09:05:50 +0000
From: Danny Chapman <dc8@lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <Pine.GSO.4.43.0203060901300.5085-100000@mlgw069.uk.lucent.com>
References: <5870634d.0203051324.4f71e7f5@posting.google.com>

On 5 Mar 2002, Duc Thinh Le wrote:

> I am just wondering if anyone knows of a tool that has cache
> profiling capability for PowerPC on Vxworks environment. Basically,
> I need a tool that is able to tell me which line (C code) of my
> program causes cahce miss (instruction and data). Please let me
> know if you have any comments, ideas or questions.
> Your helps and inputs are much appreciated. Thanks.

The MPC750 has a bunch of performance monitor registers that can record
cache misses (amongst other things). These can be accessed fairly easily -
described in the processor's user manual.

- - Danny

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Wed, 06 Mar 2002 09:35:29 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <Bplh8.39549$ZC3.3110643@newsread2.prod.itd.earthlink.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com>

> > > but none the less I assure you that you do not have the required
> > > expertise to program the chip at that level.
> >
> > An interesting assurance. On what do you base it?
>
> Mainly by reading all your other clueless posts. You didn't even
> know how to look through the linux source tree.

I'm even more interested to know how you came to that conclusion!
But since it's off-topic, let's drop it.

> > Thanks for posting, but I'm afraid your comments aren't relevant
> > in this case. I may not know much, but I know what I need at the
> > moment. I need a C implementation of the FCP/FC stack giving
> > initiator and target mode access at the top and FC-2 frames at
> > the bottom. It looks like there aren't many available ...
>
> There aren't *any* available, much less "many". Nobody would release this
> sort of IP to the world for free. It's just too valuable.

If I can get code of adequate quality under a suitable licence
free of charge, I'll be more than happy to pay nothing for it.
However, as I said in my original message, I'm looking for any
implementation that's available. I expect to pay a fair wadge
of money to licence the code I'm looking for.

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Wed, 06 Mar 2002 09:59:22 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <_Llh8.39584$ZC3.3120471@newsread2.prod.itd.earthlink.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com> <a63if6$816$1@panix1.panix.com> <cf6c276e.0203052013.1d2e680@posting.google.com>

"Kallol Mallick" <kallolm_tech@yahoo.com> wrote in message
news:cf6c276e.0203052013.1d2e680@posting.google.com...
>
> It seems that there is no readily available source code for this and it
> needs huge resource to develop one. May be you can try to get an old
> version of LSI or QLogic implementation to get an idea.

Thanks Kallol. I'm already going down this path as the drivers
for the earlier FC chips are likely to have more of the stack
in software - though they'll be lacking support for the more
recent standards revisions. However, finding managers in these
companies with enough spare cycles and interest to track down
old code, check that they can release it at all (since it was
never meant as a source code product), then go through the
hassles of setting up the contracts, is more than a little
difficult.

> And also you
> need to write some portion in embedded processor(whichever you use) to
> expose register level access to the host. As a test probably you can
> build the stack source code in pure C and put it into host driver
> (UNIX/Windows) wrapper. Because it's easier to debug/develop in host
> drivers than in firmware. Then port it to the firmware. The porting
> should not be a big effort if the stack uses strictly C (I mean no
> system calls) and designed properly.

I'm looking for a pure C implementation - one that takes FC-2
frames in and out at the bottom (as memory buffers) and does
SCSI I/T at the top. What you propose here as a test is
exactly what I want (without the wrapper).

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

Newsgroups: comp.os.vxworks
Subject: Re: still: cannot connect target server...
Date: 6 Mar 2002 03:17:03 -0800
From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=)
Organization: http://groups.google.com/
Message-ID: <9ec53d11.0203060317.6847d3ef@posting.google.com>
References: <9d082700.0203052325.48946aa@posting.google.com>

fillmore2@arcor.de (Achim) wrote in message news:<9d082700.0203052325.48946aa@posting.google.com>...
> Hi,
>
> I still have not been able to get my target server connection running
> via end driver:
> - there's no response from the target on the first UDP message send
> from the target server
> - I can ping the target from the tornado host PC (even after trying to
> establish the target server connecion - so it's no ethernet driver
> problem)
> - I can establish and end a ftp connection to the target if I include
> ftp (though it makes not much sense for that target)
> - The parameters for launching the target server are
> tgtsvr.exe 10.1.255.254 -A -V -B wdbrpc -Bt 10 -Br 5 -c
> K:\[long path...]\default\vxWorks
>
> With that behaviour (and assuming that the target server generates
> correct messages to establish the connection), I would guess that I
> have a problem either with receiving UDP frames or the wdb/Target
> agent components on the target.
>
> Any ideas on this (like some experience with easy-to-miss parameters
> for UDP or WDB...)?
>
> Achim.

With my environment (Tornado 2.0.2 on NT 4.0) I wasn't able to get the
target server running properly until I specified the target name
INSTEAD of its IP address. I wrote an entry in
\winnt\system32\drivers\etc\hosts such as

mytarget 192.9.100.100

and launched the target server within Tronado, specifying mytarget as
the target name/address, instead of 192.9.100.100

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

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

From vxwexplo-errs@csg.lbl.gov Wed Mar 6 06:23:10 2002
From: f.pertin@staubli.com
Date: Wed Mar 6 06:23:12 PST 2002
Subject: network initialisation

Hello VXWORKS and TORNADO Gurus,

I have x86 target with networks interface. When I boot my target with the
ethernet cable pluged, everything is ok.
If I plug the ethernet cable after the boot, I am not able to access to my
target over the network.

Is there any function to initialize the network after boot ????

Thanks in advance

Franois PERTIN

STUBLI SCA
Robotics Division
Place Robert Stubli - BP 70
F - 74210 Faverges (France)
Tel.: +33 (0)4.50.65.62.59
Fax: +33 (0)4.50.65.61.30
mailto:f.pertin@staubli.com
http://www.staubli.com

From vxwexplo-errs@csg.lbl.gov Wed Mar 6 07:00:29 2002
From: Diego Novellon <novellon@teltronic.es>
Date: Wed Mar 6 07:00:31 PST 2002
Subject: inetstatShow vs @inetstatShow

Hi, all.

BSP: pcPentium, pcPentiumpro
Tornado: 2.0.2
VxWorks: 5.4.2

I'm seeing a strange behaviour and wondered if anyone has ever
experienced the same.

When I use inetstatShow from WindShell, the command works ok and shows
a list of open sockets. However, when I call inetstatShow() from my
application the list shown is empty. I get the same result if I try
_inetstatShow or @inetstatShow from WindShell:

-> inetstatShow
Active Internet connections (including servers)
PCB Proto Recv-Q Send-Q Local Address Foreign Address
 (state)
-------- ----- ------ ------ ------------------ ------------------
-------
7f6d7c4 TCP 0 0 192.168.10.102.513 192.168.10.193.103
ESTABLISHED
7f6d740 TCP 0 0 0.0.0.0.23 0.0.0.0.0
 LISTEN
7f6d5b4 TCP 0 0 0.0.0.0.513 0.0.0.0.0
 LISTEN
7f6d530 TCP 0 0 0.0.0.0.514 0.0.0.0.0
 LISTEN
7f6d4ac TCP 0 0 0.0.0.0.515 0.0.0.0.0
 LISTEN
7f6d29c TCP 0 0 0.0.0.0.21 0.0.0.0.0
 LISTEN
7f6d6bc UDP 0 0 0.0.0.0.5502 0.0.0.0.0
7f6d638 UDP 0 0 0.0.0.0.5501 0.0.0.0.0
value = 0 = 0x0
-> _inetstatShow
Active Internet connections (including servers)
PCB Proto Recv-Q Send-Q Local Address Foreign Address
 (state)
-------- ----- ------ ------ ------------------ ------------------
-------
value = 0 = 0x0
-> @inetstatShow
Active Internet connections (including servers)
PCB Proto Recv-Q Send-Q Local Address Foreign Address
 (state)
-------- ----- ------ ------ ------------------ ------------------
-------
value = 0 = 0x0
->

I understand that these are two different functions, one running on the
host and the other running on the target. It would be convenient for me
to be able to run inetstatShow (and get some useful output) from my
application, as I often need to see the state of sockets when I don't
have a host available.

Has anyone ever faced this problem? Is it a known bug, or is it likely
to be related to my particular configuration?

I've tried on three different targets (though all of them x86), with
different ethernet adapters (NE2000, 3Com 905, Intel 82559), and
different applications, and always got the same result.

Thank you very much in advance.

	Diego Novellon

From vxwexplo-errs@csg.lbl.gov Wed Mar 6 12:20:55 2002
From: Lori Fraleigh <lori@rti.com>
Date: Wed Mar 6 12:20:57 PST 2002
Subject: Re: May I ask you a question of vxworks and 3c90x network card?

If you have a 3Com 3c90x network card, you need to enable

INCLUDE_EL_3C90X_END

and use elPci as your boot device.

I found an interesting problem a few weeks ago. This driver
works with 3C90x cards that have a Lucent chip on them. It
does not work with cards that have a Broadcom chip on them.
I specifically ran into problems with the 3C905C-TX-M cards
which 3Com is now producing.

Regards,
Lori

>
> ------=_NextPart_000_01EA_01C1C527.0564C0D0
> Content-Type: text/plain;
> charset="gb2312"
> Content-Transfer-Encoding: quoted-printable
>
> Dear:
> Sorry to bother you!
> By chance,I found from the internet that you maybe have used =
> 3c90x series network card in the platform of vxworks,I want to know is =
> there any existing driver of this series network card for vxworks.
> Thank you in advance!
> yours sincerely:
> Mike zhou

--
Lori Fraleigh Director of Engineering
Real-Time Innovations, Inc. http://www.rti.com
Phone: 408-734-4200 x121 Fax: 408-734-5009

From vxwexplo-errs@csg.lbl.gov Thu Mar 7 04:03:29 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Mar 7 04:03:32 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Thu Mar 7 04:03:21 PST 2002

 Subject: Network hanging problem
 Subject: Re: PPP problem
 Subject: Re: Changing to FIFO Ordered First-Fit
 Subject: test
 Subject: Re: Help! Cannot access vxworks from another network - solved!!!
 Subject: Chabging LIFO Ordered Free List
 Subject: ln97xEnd MuxLoad failed
 Subject: Printing 64bit values
 Subject: Intermixing source code with disassembly using objectdump
 Subject: test
 Subject: Re: Intermixing source code with disassembly using objectdump
 Subject: Re: Printing 64bit values
 Subject: test
 Subject: Re: Proc Numbers, booting and VME transfers
 Subject: Re: VxWorks Application Module Size Questions
 Subject: Re: Printing 64bit values
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: Cache profiler for PowerPC on vxworks
 Subject: a tool that calculates the number of code line in a projet?
 Subject: to give a float parameter to a function by shell ?
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: May I ask you a question of vxworks and 3c90x network card?
 Subject: Re: to give a float parameter to a function by shell ?
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Installing a Target Deployment Port on RtRt for VxWorks
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: to give a float parameter to a function by shell ?
 Subject: Re: Intermixing source code with disassembly using objectdump
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: I want to log the packet between IP and mux.
 Subject: [reboot error in target shell]
 Subject: Re: Network hanging problem
 Subject: Re: ln97xEnd MuxLoad failed
 Subject: Re: a tool that calculates the number of code line in a projet?
 Subject: Re: Network hanging problem
 Subject: Re: Chabging LIFO Ordered Free List
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: 64 bit BARs Vs 32 bit BARs, PCI Bridge and Local Bus
 Subject: VGA Driver using the WindML
 Subject: Re: [reboot error in target shell]
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Running multiple vxsim in Tornado Prototyper 2.0.2 under Win 2000?
 Subject: Ans to Re: [reboot error in target shell]
 Subject: Were can i get the document " Tornado BSP Development Kit BSP Version 1.1"
 Subject: Re: a tool that calculates the number of code line in a projet?
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: Printing 64bit values
 Subject: Using STL map type
 Subject: Re: Help! Cannot access vxworks from another network

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

Newsgroups: comp.os.vxworks
Subject: Network hanging problem
Date: 6 Mar 2002 04:19:27 -0800
From: giby@myw.ltindia.com (Giby)
Organization: http://groups.google.com/
Message-ID: <edcc6118.0203060419.11e4e2f8@posting.google.com>

Hello everybody,
I am working on networking of two platforms running VxWorks / MPC823
board. The application is that the waveform data collected at one
station should be seen in real time at the other station through
ethernet 10Mbps link.
The implementation is as follows one station runs a server (done by
calling BSD socket functions) and the other station works as the
client (done using BSD socket functions). Every 100ms the client
connects with the server and sends a packet to send data and the
server replys back on the same connection sending the waveform data,
which the client uses to plot the waveform.
But i find that the real time plot is highly unstable and sometimes
the client cannot connect to server and also after about 2 min the
whole connection stops with no communication between the client and
server.

Can anybody throw some light on what i should do now . Please say if
my client/ server communication logic is correct.and also any clue to
why the network is hanging after sometime ??

i would be very thankful if somebody could help me out on this

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP problem
Date: Wed, 6 Mar 2002 14:31:06 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$1hzjsg$bp1$1@lnews.actcom.co.il>
References: <3C7E0A02.3F646C90@sepro-robotique.com> <newscache$nnr8sg$bz5$1@lnews.actcom.co.il> <3C7F7A9D.2AB0A3B2@sepro-robotique.com> <newscache$nebbsg$m0a$1@lnews.actcom.co.il> <3C85C138.D50E308A@sepro-robotique.com>

Yes,
this is a nasty bug in the SENS stack, instead of draining
buffers and droppin packets until buffers become available,
the whole stack just freezes on you.

We all find ways to get around this, but it would be much better
if WRS fixed this once and for all.

 Leonid

"Emmanuel Herbreteau" <eherbreteau@sepro-robotique.com> wrote in message
news:3C85C138.D50E308A@sepro-robotique.com...
> Leonid Rosenboim wrote:
> > The fact that large files work OK would suggest the serial driver is
> > innoscent.
>
> Hi Leonid,
>
> Thanks for your reply. Indeed, the serial driver wasn't guilty !
> The WRS support told me to use netStackSysPoolShow() when
> the problem appears. It shows the following information :
>
> .../...
> number of times failed to find space: 1
> number of times drained protocols for space: 1
> CLUSTER POOL TABLE
> size clusters free usage
>
> --------------------------------------------------------------------------
- -----
> 512 20 0 21
> .../...
>
> There was not enought 512 bytes buffers in the network stack.
> So, I increase this setting (in the Tornado builder, I change
> some "define" in the "network buffer initialization" tab).
> And it seems to work better now.
>
> --
> Regards
> Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: Changing to FIFO Ordered First-Fit
Date: Wed, 6 Mar 2002 13:04:33 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C86144D.5020702@spamm.me.l8s.co.uk>
References: <65b2abfc.0203051259.1662f9be@posting.google.com> <u1yeytwiv.fsf@yahoo.com> <uwuwqsgbr.fsf@yahoo.com>

> Here it is said to be LIFO, but then later FIFO. At any rate, I think
> the allocator is crap... and if you have to ask the question, you
> should look for alternatives.

Was LIFO when I reverse engineered it....
Space is taken from the end of the first item found that is
large enough. The left over space remains in its original
position in the list.

Recoding to use 'best fit' isn't hard - and leaves the free
list with the same structure (so memShow still works).
This is good enough to get the JVM running without fragmenting
memory into oblivion.

Although the entire free list has to be scanned for each
allocate, the much smaller number of items of the free list
probably spped up allocation!

	David

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

Newsgroups: comp.os.vxworks
Subject: test
Date: Wed, 6 Mar 2002 16:22:13 +0200
From: test@test.com
Organization: Ukranian Academic Research Network
Message-ID: <a658fc$2boc$1@news.uar.net>

This is a multi-part message in MIME format

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<meta http-equiv=3D=22content-type=22 content=3D=22text/html=22>
</HEAD>
<BODY><FONT FACE=3D=22Times=22><FONT SIZE=3D3><P>
</FONT></FONT>
</BODY>
</HTML>

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

- --=_NextPart_2rfkindysadvnqw3nerasdf--

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network - solved!!!
Date: Wed, 6 Mar 2002 09:31:26 -0500
From: "Joe Georger" <jgeorger@ll.mit.edu>
Message-ID: <XGph8.86$Sk3.3573@llslave.llan.ll.mit.edu>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu> <3C7F9B96.B16F22AB@notifier-is.net> <HK3h8.83$Sk3.3408@llslave.llan.ll.mit.edu>

I think I finally nailed everything I wanted to. (To summarize I wanted the
bootline gateway to be the default gateway to other networks, and I wanted
to do this using Tornado). Thanks to a suggestion by Michael Lawnick I
pilfered some code from the bootConfig.c file and threw it into
usrAppInit.c. This was to get the gateway from the bootline.... The system
now works the way it should from the factory. Here is an excerpt of my
code:

#include "vxWorks.h"
#include "bootLib.h"
#include "prjParams.h"

void usrAppInit (void)
{
 BOOT_PARAMS params;

#ifdef USER_APPL_INIT
 USER_APPL_INIT; /* for backwards compatibility */
#endif
 /* add application specific code here */
 bootStringToStruct (BOOT_LINE_ADRS, &params);
 if ((sysNvRamGet (BOOT_LINE_ADRS, BOOT_LINE_SIZE, 0) == ERROR) ||
 (*BOOT_LINE_ADRS == EOS))
 {
 /* either no non-volatile RAM or empty boot line */
 printf("Adding hardwired gateway\n");
 routeAdd ("0.0.0.0", "155.34.103.1");
 }
 else {
 printf("Adding gateway %s from bootline\n", params.gad);
 routeAdd("0.0.0.0", params.gad);
 }
}

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

Newsgroups: comp.os.vxworks
Subject: Chabging LIFO Ordered Free List
Date: 6 Mar 2002 07:36:40 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0203060736.2f705117@posting.google.com>

I read an article by Paul Wilson and others
(Dynamic Storage Allocation: Survey and Review)
and in that it was mentioned that:
 "Best fit, FIFO ordered First Fit and address
 ordered first-fit"
perform the same manner, with a fragmentation of 22%.

Where as First-Fit based on LIFO is Worse with 54%
fragmentation!

What i would like to know is : Does VxWorks uses First-fit
based on LIFO or on FIFO?
And if it is based on LIFO, how can i change it to FIFO?
Well, i don;t have source code for memLib.o.

Thanks for Your Help.
Venkat

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

Newsgroups: comp.os.vxworks
Subject: ln97xEnd MuxLoad failed
Date: 06 Mar 2002 15:38:56 GMT
From: spam@kpsws.com
Message-ID: <3c86380f$0$231$4d4ebb8e@read-nat.news.nl.uu.net>

Thanks to the help from Paul Iannacito I managed to include the ln97xEnd
driver in my bsp by implementing sysLan97xEnetAddrGet,sysLan97xIntEnable,sysLan97xIntDisable,sysOutLong,sysInLong
in the sysEnd.c of my arm integrator bsp.

When i type h from the bootline it says that the following boot devices
are available: lnPci0 (Some part must definitely work now)

But when i try to boot from this device I get the following error: muxLoad
fa (mustbe muxload Failed I gues, crashed before printing the whole
sentence???)

This error occures from usrRoot when muxLoadDev is called for all entry's
in END_TBL_ENTRY (configNet.h)

the END_TBL_ENTRY is filled as follows:

END_TBL_ENTRY endDevTbl [] =
{

#ifdef INCLUDE_LN_97X_END
 {0, LN_97X_LOAD_FUNC_0, LN_97X_LOAD_STR_0, TRUE, NULL, FALSE},
#endif /* INCLUDE_LN_97X_END */

 /* Entries that can be filled in dynamically when cards are found */

 { 0, END_TBL_END, NULL, 0, NULL, FALSE},
 { 0, END_TBL_END, NULL, 0, NULL, FALSE},
 { 0, END_TBL_END, NULL, 0, NULL, FALSE},

 /* End of table marker */

 { 0, END_TBL_END, NULL, 0, NULL, FALSE}
};

why does muxLoad fail ????
 are my END_TBL_ENTRY entry's wrong ?? (copied them from example bsp for 486
shipped with driver)
 does my EndLoad func failes ??? (if so why can't I see printf's
from this func)

At this point which functions are done and which has to be called yet ???
 is sysLan97xPciInit called yet ??? (I think this func is allready
called because of device listing at boot prompt ??)
 ln97xEndLoad ???

thanks in advance

niels

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

Newsgroups: comp.os.vxworks
Subject: Printing 64bit values
Date: 6 Mar 2002 07:46:20 -0800
From: reachgoran@yahoo.com (Goran)
Organization: http://groups.google.com/
Message-ID: <900e9637.0203060746.2d1c1bda@posting.google.com>

Hi,

I am trying to print 64bit values using printf function.
===========================
#include <stdio.h>

void myprint()
{
 unsigned long long var1, var2;

 printf("sizeof unsigned long long = %d\n", sizeof(var1));

 var1 = 4294967290ULL; /* A value less than ( (2 power 32) -1 */
 printf("var1 = %llu\n", var1);

 var1 = 42949672960ULL; /* A value greater than ( (2 power 32) */
 printf("var2 = %llu\n", var2);

}
============================
I am using Tornado 2.0 and have tried using a "simpc" based and
"pcPentium" based BSPs. The libraries used were

simpc -> C:\Tornado\host\x86-win32\lib\gcc-lib\i386-pc-mingw32\egcs-2.90.29
\libgcc.a

pcPentium -> C:\Tornado\host\x86-win32\lib\gcc-lib\i386-wrs-vxworks\cygnus-2.7.2-960126\libgcc.a

But, I am not getting correct result while printing the second
variable var2? ( Or any value which is greater than or equal to (2
power 32).

For the above code the results were:
sizeof unsigned long long = 8
var1 = 4294967290
var2 = 4008636142

Could someone please explain this abnormal behaviour??

Thanks
Goran.

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

Newsgroups: comp.os.vxworks
Subject: Intermixing source code with disassembly using objectdump
Date: Wed, 6 Mar 2002 10:55:16 -0500
From: "Harjinder Chayra" <harjinder.chayra@terayon.com>
Organization: Storm Internet Services
Message-ID: <a65e62$lf6$1@news.storm.ca>
Sender: terayon@gw-terayon.storm.ca

I am trying to use objdumparm to dump the contents of a COFF image with the
flag -S (Intermix source code with disassembly) but it does include any
source code, only the disassembled code.

The actual command used is,

objdumparm -b coff-arm-big -D -S vxWorks.st > vxWorks.dump

what am I doing wrong or not doing?

Thanks
Harjinder

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

Newsgroups: comp.os.vxworks
Subject: test
Date: Wed, 6 Mar 2002 18:10:08 +0200
From: test@test.com
Organization: Ukranian Academic Research Network
Message-ID: <a65eqi$2gjm$1@news.uar.net>

This is a multi-part message in MIME format

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<meta http-equiv=3D=22content-type=22 content=3D=22text/html=22>
</HEAD>
<BODY><FONT FACE=3D=22Times=22><FONT SIZE=3D3><P>
</FONT></FONT>
</BODY>
</HTML>

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

- --=_NextPart_2rfkindysadvnqw3nerasdf--

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

Newsgroups: comp.os.vxworks
Subject: Re: Intermixing source code with disassembly using objectdump
Date: Wed, 6 Mar 2002 18:04:10 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$od9ksg$d12$1@lnews.actcom.co.il>
References: <a65e62$lf6$1@news.storm.ca>

I think I done this a while back once.
The source neds to be compiled with debugging info (-g flag)
and probably it expects the sources to be in the same directory
as the object.

"Harjinder Chayra" <harjinder.chayra@terayon.com> wrote in message
news:a65e62$lf6$1@news.storm.ca...
> I am trying to use objdumparm to dump the contents of a COFF image with
the
> flag -S (Intermix source code with disassembly) but it does include any
> source code, only the disassembled code.
>
> The actual command used is,
>
> objdumparm -b coff-arm-big -D -S vxWorks.st > vxWorks.dump
>
> what am I doing wrong or not doing?
>
> Thanks
> Harjinder
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Wed, 6 Mar 2002 18:07:03 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$ii9ksg$h12$1@lnews.actcom.co.il>
References: <900e9637.0203060746.2d1c1bda@posting.google.com>

This is an old and known issue, Tornado 2
does not fully support 64 bit integer math.
With some simple Makefile modifications,
you can get the calcuation to work right on most architectures,
but the WRS libraries, including stdioLib and fioLib
including printf() and scanf() wont support 64bit whatever you do.

You have to write your own function to convert a 64 bit int
to a decimal string and then print the string with printf().

"Goran" <reachgoran@yahoo.com> wrote in message
news:900e9637.0203060746.2d1c1bda@posting.google.com...
> Hi,
>
> I am trying to print 64bit values using printf function.
> ===========================
> #include <stdio.h>
>
> void myprint()
> {
> unsigned long long var1, var2;
>
> printf("sizeof unsigned long long = %d\n", sizeof(var1));
>
> var1 = 4294967290ULL; /* A value less than ( (2 power 32) -1 */
> printf("var1 = %llu\n", var1);
>
> var1 = 42949672960ULL; /* A value greater than ( (2 power 32) */
> printf("var2 = %llu\n", var2);
>
>
> }
> ============================
> I am using Tornado 2.0 and have tried using a "simpc" based and
> "pcPentium" based BSPs. The libraries used were
>
> simpc ->
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-pc-mingw32\egcs-2.90.29
> \libgcc.a
>
> pcPentium ->
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-wrs-vxworks\cygnus-2.7.2-960126\l
ibgcc.a
>
> But, I am not getting correct result while printing the second
> variable var2? ( Or any value which is greater than or equal to (2
> power 32).
>
> For the above code the results were:
> sizeof unsigned long long = 8
> var1 = 4294967290
> var2 = 4008636142
>
> Could someone please explain this abnormal behaviour??
>
> Thanks
> Goran.

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

Newsgroups: comp.os.vxworks
Subject: test
Date: Wed, 6 Mar 2002 17:45:27 +0200
From: test@test.com
Organization: Ukranian Academic Research Network
Message-ID: <a65dc8$2f0f$1@news.uar.net>

This is a multi-part message in MIME format

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<meta http-equiv=3D=22content-type=22 content=3D=22text/html=22>
</HEAD>
<BODY><FONT FACE=3D=22Times=22><FONT SIZE=3D3><P>
</FONT></FONT>
</BODY>
</HTML>

- --=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

- --=_NextPart_2rfkindysadvnqw3nerasdf--

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

Newsgroups: comp.os.vxworks
Subject: Re: Proc Numbers, booting and VME transfers
Date: 06 Mar 2002 10:52:27 -0600
From: Greg Willden <gregory.willden@swri.org>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <87pu2hzlis.fsf@rainier.electro.swri.edu>
References: <87vgcgm62y.fsf@rainier.electro.swri.edu> <3C82AF6A.20CE572C@dsto.defence.gov.au>
Sender: gwillden@rainier.electro.swri.edu

Here is my hack to allow each dual or quad board to boot up and run
the shared memory network independently from each other.

The modification is in the backplane initialization routine
usrBpInit() in usrNetwork.c.

Before:

if(procNum == 0)
{
 printf("Initializing backplane net with anchor at....");
 status = smNetInit(....);

 ...check for return error....
 printf("done.\n");
}

I hacked so that instead of checking to see whether or not it is proc
0, it checks to see if it is the X processor on that board. Assuming
that sequential processor numbers are used, the X processor will be
evenly divisible by 4. However the vxWorks function smNetInit() (for
which I do not have the source) complains if the calling processor is
not number 0. So I just went ahead and set the proc number to 0 for
that function call and then set it back to the previous value.

After:

if((procNum % 4) == 0)
{
 sysProcNumSet(0);

 printf("Initializing backplane net with anchor at....");
 status = smNetInit(....);

 ...check for return error....
 printf("done.\n");

 sysProcNumSet(procNum);
}

I do not know how this will affect the operation of the shared memory
networking. But things appear to work without errors. So at least for
the time being things are okay.

I kind of like the hack because it is small and because it resolves
the processor numbering issue while maintaining individual shared mem
networks.

Does anyone have any insight into smNetInit relating to my hack? Is
the processor number checked at a later time during the operation of
some part of the smNet or is it only used for initial configuration?

Thanks
Greg Willden

- --
Hofstadter's Law: It always takes longer than you expect, even
 when you take into account Hofstadter's Law.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Application Module Size Questions
Date: 06 Mar 2002 11:57:06 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uit89skgt.fsf@yahoo.com>
References: <971e6b8f.0203050840.61205700@posting.google.com> <488e459a.0203052327.543f208e@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>> Mike Palone wrote...

 >> Our WinCE port of the application gives us a DLL of size 180K.
 >> The VxWorks .OUT file is 392K. As another example, we had an
 >> unresolved external __divid3 (implicit library call) when
 >> downloading our application to the simulator. Once we statically
 >> linked with the libgcc.a library to account for this, our
 >> application .OUT file went to 492K. Does the final resolution /
 >> dynamic linking in VxWorks handle what exactly gets
 >> loaded/relocated into RAM so only what is needed is used?

>>>>> "John" == John <john_94501@yahoo.com> writes:

 John> Hello, Don't be fooled into believing that the size of the .out
 John> file is the size of your code. The .out is, I assume, still a
 John> relocatable file which contains all the overheads needed to
 John> perform the final linking.

 John> To find out the size of the actual code and data in the file,
 John> use the 'size<arch>' command, e.g. for PowerPC use
 John> sizeppc. This will give you the information about the size of
 John> each of the segments in the file (text, data, bss). This is
 John> more accurate than just comparing file sizes.

I would think that the `dynamic loading' feature of vxWorks might be
what you are after for determining module size. The DLL has the
advantage that you only specify the interface in a file with
"import/exports". I forget how CE does this [and even `regular'
windows.]

To get to the point, the vxWorks/Gnu object files contain all public
symbols in your file. If you are coding in `C', you can drastically
reduce the size of the file by using the `static' keyword on all file
scope entities. Ie "static int debug_flag=1", "static void
debugOut(void)", etc. If you are using C++, then great gobs of
namespace crap will be but in the image. If you are using templates,
I have had some function names (193 bytes) that exceed the size of the
function (48).

The output files in vxWorks are intended for debugging. I don't think
that they were designed for dynamic downloading... like you would use
a DLL.

That said, my company uses vxWorks module functions, UGL and Zinc to
produce something that would be functionally like your standard CE
platform. I wrote some custom loading function and host tools to
preprocess the object files to achieve something like DLLs[1]. The
vxWorks royalties are far less than Windows CE. The kernel is also
more scalable, so I think that we use less memory overall.

hth,
Bill Pringlemeir.

[1] Things like this are possible with vxWorks, but not easy. These
things seemed to be impossible with CE when I last used it.

- --
Almost all of the good vril and odyle are fair.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Wed, 6 Mar 2002 17:17:12 -0000
From: "Martin Dowie" <martin.dowie@nospam.baesystems.com>
Message-ID: <3c864ee0@pull.gecm.com>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <newscache$ii9ksg$h12$1@lnews.actcom.co.il>

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:newscache$ii9ksg$h12$1@lnews.actcom.co.il...
> This is an old and known issue, Tornado 2
> does not fully support 64 bit integer math.
> With some simple Makefile modifications,
> you can get the calcuation to work right on most architectures,
> but the WRS libraries, including stdioLib and fioLib
> including printf() and scanf() wont support 64bit whatever you do.
>
> You have to write your own function to convert a 64 bit int
> to a decimal string and then print the string with printf().

Got a point to this "known issue", apparently Google has yet
to hear about it :-(

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: Wed, 6 Mar 2002 17:50:19 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C865746.5000102@spamm.me.l8s.co.uk>
References: <65b2abfc.0203060736.2f705117@posting.google.com>

Venkat Mynampati wrote:

> I read an article by Paul Wilson and others
> (Dynamic Storage Allocation: Survey and Review)
> and in that it was mentioned that:
> "Best fit, FIFO ordered First Fit and address
> ordered first-fit"
> perform the same manner, with a fragmentation of 22%.
>
> Where as First-Fit based on LIFO is Worse with 54%
> fragmentation!
>
> What i would like to know is : Does VxWorks uses First-fit
> based on LIFO or on FIFO?
> And if it is based on LIFO, how can i change it to FIFO?
> Well, i don;t have source code for memLib.o.

1) It is LIFO,

2) I can't see how FIFO can be better?

 The 'large' free area will continually have bits chopped off
 it - even if you keep allocating and freeing the same sized
 item.
3) If you are going to change it, go for best fit (or some
 much more complicated algorithm).
 However you either need the source of a bit or reverse
 engineering, it isn't hard :-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: 06 Mar 2002 13:09:30 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u6649sh45.fsf@yahoo.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk>
Sender: bpringlemeir@DeadDuck

>> Venkat Mynampati wrote [again!]:
 >> I read an article by Paul Wilson and others (Dynamic Storage
 >> Allocation: Survey and Review) and in that it was mentioned that:
 >> "Best fit, FIFO ordered First Fit and address ordered first-fit"
 >> perform the same manner, with a fragmentation of 22%.
 >>
 >> Where as First-Fit based on LIFO is Worse with 54% fragmentation!

>>>>> "David" == David Laight <david@spamm.me.l8s.co.uk> writes:

 David> 2) I can't see how FIFO can be better?

The paper he quotes uses several different programs (such as gcc) to
benchmark the different allocators. It is available on the net as
"allocsrv.ps". I have converted it to PDF, but it is 3.3MB. Anyways,
the main point of the article was that many "allocation simulators"
did not model real life. This is why the FIFO was deemed better as it
seems to reduce fragmentation in `real situation'.

At any rate, the buckets and boundary tags that Doug Leah uses will
kick the snot out of any list based allocator. The DL allocator is
really good with objects as chunks that are craved out of memory
maintain there sizes. This is similar to `slab' pools used by *nix
kernels. Anyways, if Venkat actually takes the time and goes to
google, he can see an entire thread on the subject (including words by
you, Dave Laight).

I also offered up some advice on using a newer version of Doug Leah's
allocator in a recent post. The DL allocator has improved since Hwa
Jin Bae ported a now outdated version.

Regards,
Bill Pringlemeir.

- --
Your life insurance will drive soon. Your cat will need to be
replaced today. A friend will think of you as a warmonger. You'll
later be abused.

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.linux.powerpc,comp.os.vxworks
Subject: Re: Cache profiler for PowerPC on vxworks
Date: 6 Mar 2002 10:18:59 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0203061018.50a85492@posting.google.com>
References: <5870634d.0203051324.4f71e7f5@posting.google.com>

visionPROBE and visionCLICK seem to offer cache performance
measurement capability, although I've not gotten a chance
to use it yet. Not aware of any VxWorks resident tools.

ducthinhle@hotmail.com (Duc Thinh Le) wrote in message news:<5870634d.0203051324.4f71e7f5@posting.google.com>...
> Hi,
>
> I am just wondering if anyone knows of a tool that has cache
> profiling capability for PowerPC on Vxworks environment. Basically,
> I need a tool that is able to tell me which line (C code) of my
> program causes cahce miss (instruction and data). Please let me
> know if you have any comments, ideas or questions.
> Your helps and inputs are much appreciated. Thanks.
>
> Regards
> Duc Le

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

Newsgroups: comp.os.vxworks
Subject: a tool that calculates the number of code line in a projet?
Date: 06 Mar 2002 16:51:09 GMT
From: Charly <cdupinco@hotmail.com>
Message-ID: <200236-17519-282492@foorum.com>

Hello,
I am looking for a free utility able to calculate the number of code lines in a
C project. Able to see the /*xxxx*/, //, blank lines.

I know I could do it, but I have no time to.
Even a source code could help me.

Thanks you.
 charly

- --
Use our news server 'news.foorum.com' from anywhere.
More details at: http://nnrpinfo.go.foorum.com/

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

Newsgroups: comp.os.vxworks
Subject: to give a float parameter to a function by shell ?
Date: 06 Mar 2002 16:58:04 GMT
From: Charly <cdupinco@hotmail.com>
Message-ID: <200236-17584-978979@foorum.com>

Hello again,

I tried to do by SHELL

- ->getfloat(1.02)

But the function "getfloat" sees 0.0 instead of
 1.02.
The function getinteger(5) works fine.

Is there a trick to give a float to a function throught telnet?
Thanks
 charly

- --
Use our news server 'news.foorum.com' from anywhere.
More details at: http://nnrpinfo.go.foorum.com/

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 6 Mar 2002 11:33:04 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203061133.45561157@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com> <a5vtha$qov$1@snoopy.bndlg.de> <e38d912c.0203041329.557d79ce@posting.google.com> <a61v10$149$1@snoopy.bndlg.de>

Dear Micheal,

 	Thank you so much for your kind help. Your mails are quite
informative.

 	I've gone through pciAutoConfigLib.c and as you said 64 bit BARs are
not supported there.

<<One difference seems not to be OK:
under LINUX BAR0 ends with 0, under Tornado with c. Remembering that
you
said that both pairs are 64bit, I'd beleave in VxWorks - a typo in
your
LINUX output-copy ?

>> It's because the output of Linux BARs are after masking them.
Originally when we read the PCI configuration space we get the BAR0 &
BAR3 ending with c only.

<< I'm not pretty sure what you are doing after setup, there is to
much in your posting.

>>Here I have to mention onthing. The function which we have written
(AdptPciDevConfig() ) is getting called in the driver after
pciAutoConfig() finishes its task. In the attach routine (at the
moment we are not calling this function and we directly call our
device/driver/structures initialization module) of our driver (netBSD
networking driver model) we call our driver/device initialization
function to configure our device, which inturn calls pciFindDevice()
function.

 	After finding our card we are reading its BARs and other h/w
details. The BARs are getting masked and stored in our driver internal
structures and other info like IRQ and all stored to our driver
structure.

	In the first case,
 			we tried with VxWorks configured BARs (32 bit BARs) and we are
able to access I/O space/registers of our card (after adding the
constant 0xe8000000) and we are succeesully able to read/write into
our card's I/O registers.

 	But when we access memory region we get "general protection fault".

 	In the second case,
			 we used our own written pciDevConfig() (AdptDevConfig() config as
shown in the first mail.) to configure 64 bit BARs of our card. But
after that we are not able to access our I/O region/registers itself.

<<Check whether the result of this macros is included in the
PCI-memory window of your sysPhysMemDesc[] (should be)

>>As per the calculation PCI_MEM2LOCAL(<BAR0-value> + <offset>) adds
0x40000000 to the value supplied and PCI_MEMIO2LOCAL(<BAR2-value> +
<offset>) adds 0xe8000000 to the value supplied.

 	The region 0xe8000000 is clearly visible in sysPhysMemDesc[]
(PLB_PCI_IO_REGION_1_START is equal to 0xe8000000)
 	The region 0x80000000 is also there in sysPhysMemDesc[]
(PCI_MEMORY_START is equal to 0x80000000).

	In the example snippet you have given, you haven't masked the PCI
BAR addresses and you directly used the macros to map them.

	Is that correct?

	(I'm refering the usual PCI config read, writing oxffffffff on the
BAR, masking it and write back the original BAR value.)

 	Now can my questions are,
 				When I use our own written/modified pciDevConfig() function, we
are setting the 64 bit BARs but we aren't able to access I/O region
itself. This is the case even when we use the macro
PCI_MEMIO2LOCAL(<BAR2-value> +<offset>) or not.

	What's wrong in that function? What we are missing?

 	We are thinking of entirely omitting VxWorks pci configurations and
porting Linux's auto config function.

 	Other possiblity We are thinking is re-writing the
pciConfigLib.c/pciAutoConfigLib.c files to support 64-bit BARs.

 	Please give your feedback on these.

 	I just got a feeling like, by simply re-writing/modifying
pciDevConfig() to configure 64-bit BARs I'm mixing/missing something.

 	Thanks again for all the good work done at your part.

Regards
Arun
- -----
Arun Prasad
Software Engineer
Adaptec India Pvt. Limited
(A wholly owned subsidiary of Adaptec Inc., USA)
6-3-1086, IV Floor, Vista Grand Towers,
Rajbhavan Road, Somajiguda,
Hydereabad - 500082
Phone: (O):91-40-6661555/56/57/58
 (Ext):234
Email:	arun_prasad@adaptecin.com

 On Tuesday 05 March 2002 13:46, Michael Lawnick wrote:
 Hi Arun,

 take a look into $(WIND_BASE)/target/src/drv/pci/pciAutoConfigLib.c,
 this is the code executed for setting up PCI devices automatically.
 I can't see any hint for 64bit there.

 Reviewing your first post, I think, setup might be done correct:
 The registers set to 0x8100x00y under LINUX are set to 0x4000x00y in
 VxWorks, the main difference is the freely selectable translation
offset
 Local2PCI.
 One difference seems not to be OK:
 under LINUX BAR0 ends with 0, under Tornado with c. Remembering that
you
 said that both pairs are 64bit, I'd beleave in VxWorks - a typo in
your
 LINUX output-copy ?

 I'm not pretty sure what you are doing after setup, there is to much
in
 your posting.
 After auto-config you should be able to access the memory-mapped
part of
 your NIC by
 PCI_MEM2LOCAL(<BAR0-value> + <offset>)
 and your IO-mapped registers by
 PCI_MEMIO2LOCAL(<BAR2-value> + <offset>)
 You'll find this macros in walnut.h. Check whether the result of
this
 macros is included in the PCI-memory window of your sysPhysMemDesc[]
(should
 be)

 Example with your autoConfig setup:
 BAR0=0x4000000c /* memarea_1 */
 BAR1=0
 BAR2=0x0001 /* register_area*/
 BAR3=0x4000100c /* memarea_2 */
 BAR4=0

 typedef struct
 {
 ...
 UINT32 ioBase;
 UINT32 memBase1;
 UINT32 memBase2;
 ...
 } DRV_CRTL;
 ...

 {
 UINT32 nicMemBase1;
 UINT32 nicMemBase2;
 UINT32 nicIoBase;

 /* get base addresses of NIC's PCI windows */
 pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_0,&nicMemBase1);
 pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_2,&nicIoBase);
 pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_3,&nicMemBase2);

 /* translate PCI windows to CPU-local addresses and save in driver's
struct
 */
 pDrvCtrl->ioBase=PCI_IO2LOCAL(nicIoBase);
 pDrvCtrl->memBase1=PCI_MEM2LOCAL(nicMemBase1);
 pDrvCtrl->memBase2=PCI_MEM2LOCAL(nicMemBase2);
 }

 /* later on, when access is needed */
 {
 ...
 /*Access 32bit register with offset 0x20 in register_area */
 NicReg = *(UINT32*)(pDrvCtrl->ioBase+ 0x20);
 /*Access 32bit memory value with offset 0x200 in memarea_1 */
 NicMem1 = *(UINT32*)(pDrvCtrl->memBase1 + 0x200 );
 /*Access 16bit memory value with offset 0x222 in memarea_2 */
 NicMem1 = *(UINT16*)(pDrvCtrl->memBase2 + 0x222 );
 ...
 }

 Remember: On PPC in CPU's view all PCI accesses are standard memory
 accesses - if mem-mapped or IO-mapped. The local2PCI bridge converts
an
 access to the apropriate PCI-cycles.

 HTH

 Mit freundlichen Gren,
 Michael Lawnick
 =========================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 =========================================

 > -----Ursprngliche Nachricht-----
 > Von: Arun Prasad [mailto:arun_prasad@adaptecin.com]
 > Gesendet: Montag, 4. Mrz 2002 22:32
 > An: Michael Lawnick
 > Betreff: Needed help on Accessing Memory Mapped I/O space on IBM
 > ppc405GP
 >
 >
 > Dear Micheal,
 >
 > 	Since I need some quick response, I'm posting to your mail
 > Id. I'm sorry.
 >
 > 	Are you sure VxWorks does not support 64 bit PCI?
 >
 > 	I don't have enough knowledge on VxWorks and how it handles
 > PCI stuff,
 > though I have a bit knowledge on PCI and how Linux handles it.
Once I was
 > working on writing a DOS driver for externel IDE controller (PCI
 > based). I
 > knew the crude way of handling PCI/DMA/PIO programming (Infact I
 > did the same
 > thing on OS/2 also) but not on how VxWorks handles it.
 >
 > 	 We/I can't go for the third solution which you have mentioned
:-(
 >
 > 	It would be helpful if you could eloborate on the first two
 > solutions.
 >
 > 	We already tried to write our own routine to configure our
 > card's 64bit BAR
 > address registers (you coult see that at the start of this mail
 > chain). And I
 > also tried to make entries in sysPhysMemDes[], but nothing worked
out. I
 > don't know what I'm missing. But most of the thing I do/did on a
 > trial and
 > error basis as my knowledge on VxWorks is not sufficient. I'm
 > learning. It
 > has become very critical now and we are nearing our deadline.
 >
 > 	Earlier replies/suggestions/answers would be of great help.
 >
 > 	One more question,
 > 			If at all our card requires only 32 bit BAR
 > memory Registers, what should
 > I do to access these memory regions after reading the BARs from
 > PCI config
 > space?
 >
 > Thanks again.
 > Regards
 > Arun
 >
 >
 > "Michael Lawnick" <Lawnick@softec.de> wrote in message
 > news:<a5vtha$qov$1@snoopy.bndlg.de>...
 >
 > > Hi Arun,
 > >
 > > AFAIK, VxWorks does not support 64bit PCI. It interprets your 2
 >
 > double BARs
 >
 > > as 4 seperate BARs and sets up access to those you find valid
 >
 > values. This
 >
 > > won't work for you:
 > > You have access to I/O-mapped region, as PCI autoconfig found
 >
 > the regions
 >
 > > and the region was already added in sysPhysMemDesc[]. For your
 >
 > mem mapped
 >
 > > region this failed and your MMU complains that you try to
 >
 > access a region
 >
 > > that is not enabled.
 > >
 > > I can see two {three} possible solutions:
 > > a) Enable the considered region in your sysPhysMemDesc[] by hand
(don't
 > > forget the local2PCI bridge !) and setup your NIC's 64bit mem
 >
 > BARs by hand
 >
 > > in a way that their windows are placed accordingly.
 > > b) Disable MMU.
 > > { c) Use a more common NIC ;-) }
 > > HTH
 > > Michael
 > >

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: Wed, 6 Mar 2002 12:10:45 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8ctvhg49rcsdf@corp.supernews.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk> <u6649sh45.fsf@yahoo.com>

Pretty much everything I have done in the past seems to be outdated now.
:-) Bill, can you post the DL malloc ported code into some repository?

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

Newsgroups: comp.os.vxworks
Subject: Re: May I ask you a question of vxworks and 3c90x network card?
Date: Wed, 06 Mar 2002 12:18:17 -0800
From: Lori Fraleigh <lori@rti.com>
Organization: Real-Time Innovations
Message-ID: <3C867989.DC5BAC57@rti.com>
References: <200203060752.XAA25690@csg.lbl.gov>

If you have a 3Com 3c90x network card, you need to enable

INCLUDE_EL_3C90X_END

and use elPci as your boot device.

I found an interesting problem a few weeks ago. This driver
works with 3C90x cards that have a Lucent chip on them. It
does not work with cards that have a Broadcom chip on them.
I specifically ran into problems with the 3C905C-TX-M cards
which 3Com is now producing.

Regards,
Lori

>
> ------=_NextPart_000_01EA_01C1C527.0564C0D0
> Content-Type: text/plain;
> charset="gb2312"
> Content-Transfer-Encoding: quoted-printable
>
> Dear:
> Sorry to bother you!
> By chance,I found from the internet that you maybe have used =
> 3c90x series network card in the platform of vxworks,I want to know is =
> there any existing driver of this series network card for vxworks.
> Thank you in advance!
> yours sincerely:
> Mike zhou

- --
Lori Fraleigh Director of Engineering
Real-Time Innovations, Inc. http://www.rti.com
Phone: 408-734-4200 x121 Fax: 408-734-5009

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

Newsgroups: comp.os.vxworks
Subject: Re: to give a float parameter to a function by shell ?
Date: Wed, 6 Mar 2002 20:40:10 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C867F15.1040302@spamm.me.l8s.co.uk>
References: <200236-17584-978979@foorum.com>

Charly wrote:

> Hello again,
>
> I tried to do by SHELL
>
> ->getfloat(1.02)
>
>
> But the function "getfloat" sees 0.0 instead of
> 1.02.
> The function getinteger(5) works fine.
>
> Is there a trick to give a float to a function throught telnet?
> Thanks

IIRC the shell will treat a fp number as double.
Since it doesn't have the function prototype it will always
pass a double value anyway.

Depending on the argument passing scheme used on your
architecture you might be able to fool things by
typing the integer form of the float number.

This does get tricky - however I get the following:

- -> dbl=1.2
new symbol "dbl" added to symbol table.
dbl = 0x3f03434: value = 1.2
- -> d &dbl,2,4
03f03430: 3ff33333 33333333 * 33 ?3333....*
value = 21 = 0x15

- -> __fixsfsi 0x3f800000
value = 1 = 0x1
- -> __fixsfsi 0x40000000
value = 2 = 0x2
- -> __fixsfsi 0x40400000
value = 3 = 0x3

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: 06 Mar 2002 15:39:52 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uzo1lqvl3.fsf@yahoo.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk> <u6649sh45.fsf@yahoo.com> <u8ctvhg49rcsdf@corp.supernews.com>
Sender: bpringlemeir@DeadDuck

 Hwa> Pretty much everything I have done in the past seems to be
 Hwa> outdated now. :-) Bill, can you post the DL malloc ported code
 Hwa> into some repository?

I can and would. It requires that you remove "malloc" and "free" from
memPartLib. I also feel into the trap of messing with things that I
probably shouldn't... Like removing Windows related code. I have
removed the name wrappers that is in Doug's code just because I didn't
like the confusion. I have given the pertinent modification in this
thread,

 "http://groups.google.com/groups?th=241b35db61c5a3f0"

I think the best thing would be to use the header facility to
customize the distribution. I think that the defines I gave are a
start?

I tried to get your code working, but it was a little tough. I think
that they added the alignment details, after you did your stuff and
produced `vxmalloc.c'... Anyways, the newer version seems easier to
port now. I think I gave all of the good stuff away in the thread
above.

Specifically these lines,

 /*
 ========================================================================
 To make a fully customizable malloc.h header file, cut everything
 above this line, put into file malloc.h, edit to suit, and #include it
 on the next line, as well as in programs that use this malloc.
 ========================================================================
 */

 /* #include "malloc.h" */

could be used to make a vxWorks version that didn't change the source
at "gee.cs.oswego.edu". However, I can provide the file but I don't
have a repository. It is 31k gzipped. I would post it to Usenet, but
that is a bit big and I am not convinced of its utility. It would be
better to make a "malloc.h" for vxWorks in my opinion.

Regards,
Bill Pringlemeir.

- --
The truth about odylematter seems standard to me!
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Wed, 06 Mar 2002 13:01:30 -0800
From: Malcolm Weir <malc@gelt.org>
Organization: Little to None
Message-ID: <0506ED079FDAE166.4EF6E774CBA36AB4.D3A185EC0E095A9A@lp.airnews.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com> <a63if6$816$1@panix1.panix.com> <cf6c276e.0203052013.1d2e680@posting.google.com> <_Llh8.39584$ZC3.3120471@newsread2.prod.itd.earthlink.net>

On Wed, 06 Mar 2002 09:59:22 GMT, "J. J. Farrell" <jjf@bcs.org.uk> caused to
appear as if it was written:

>
>"Kallol Mallick" <kallolm_tech@yahoo.com> wrote in message
>news:cf6c276e.0203052013.1d2e680@posting.google.com...
>>
>> It seems that there is no readily available source code for this and it
>> needs huge resource to develop one. May be you can try to get an old
>> version of LSI or QLogic implementation to get an idea.
>
>Thanks Kallol. I'm already going down this path as the drivers
>for the earlier FC chips are likely to have more of the stack
>in software - though they'll be lacking support for the more
>recent standards revisions. However, finding managers in these
>companies with enough spare cycles and interest to track down
>old code, check that they can release it at all (since it was
>never meant as a source code product), then go through the
>hassles of setting up the contracts, is more than a little
>difficult.

It's been at least 5 years since I worked with commercial FC protocol
controllers (which, since the darn things have only been around for about
5.5 years, may give you some idea of the maturity of the beasts at the
time...)

But...

I'd check into Agilent's Tachyons. Back when I worked on them (prior to the
"Tach Lite" PCI versions becoming available... part numbers like HP5100 ring
a bell), they were extremely open about how to feed and care for the beast,
on the grounds that any specimen code they provided would be entirely
useless without the chip itself. In this way, HP acted almost exactly like
NCR/Symbios/LSI did/do: you can download their scripts and sample code
without any IP implications.

Now, naturally, the sample code (in both vendors cases) is not exactly
optimal... but it's a start, and a reasonable reference design from which to
rewrite the code!

>> And also you
>> need to write some portion in embedded processor(whichever you use) to
>> expose register level access to the host. As a test probably you can
>> build the stack source code in pure C and put it into host driver
>> (UNIX/Windows) wrapper. Because it's easier to debug/develop in host
>> drivers than in firmware. Then port it to the firmware. The porting
>> should not be a big effort if the stack uses strictly C (I mean no
>> system calls) and designed properly.
>
>I'm looking for a pure C implementation - one that takes FC-2
>frames in and out at the bottom (as memory buffers) and does
>SCSI I/T at the top. What you propose here as a test is
>exactly what I want (without the wrapper).

My recollection (and it *has* been 5 years) is that the framing is done by
the hardware, so you basically work with pointers/length tuples to the
various FCP entities (command, data, status).

Malc.

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

Newsgroups: comp.os.vxworks
Subject: Do I need semaphore protection for multiple tasks accessing same socket
Date: 6 Mar 2002 13:08:17 -0800
From: earlmit@pacbell.net (Earl Mitchell)
Organization: http://groups.google.com/
Message-ID: <68f5c46.0203061308.41e9cdec@posting.google.com>

On VxWorks fds are global so I can have
multiple task sharing the same socket.
But do I need to add semaphore to enforce
mutual exclusion access to the socket when
multiple task are reading or writing.

For UDP sendto and recvfrom are atomic I believe
so no problem there but what about TCP socket?
The read probably needs it for sure since it can
return with less than requested number of bytes
but what about the write? Is sendto atomimc for
TCP socket writes?

- -earlm

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: Wed, 6 Mar 2002 13:20:59 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8d23eoh1bsl91@corp.supernews.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk> <u6649sh45.fsf@yahoo.com> <u8ctvhg49rcsdf@corp.supernews.com> <uzo1lqvl3.fsf@yahoo.com>

Maybe Johan can put it into his VxHacks FTP site.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Installing a Target Deployment Port on RtRt for VxWorks
Date: Wed, 6 Mar 2002 15:23:59 -0600
From: "Stephanie Trifi" <strifi@hotmail.com>
Organization: Motorola NSS
Message-ID: <a661d9$7bb8@nntp.cig.mot.com>

Hi,

I have to install a Target Deployment Port (TDP) in Rational Test RealTime
(RtRt). Here are some info about my environment:
Target Processor: MPC750
Operating System: vXWorks 5.4.2
Debugger: Tornado 2.0.2 debugger -> GDB
Compiler: GNU C++

Has anyone done something like that before?

There is a default TDP in RtRt for vxworks. I haven't try it yet but I will
soon. I'm just looking at someone who has built and installed a TDP to help
me out a bit.

Thank you,
Stephanie

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Wed, 06 Mar 2002 21:41:52 GMT
From: "Matt Schuckmann" <matt.schuckman@verizon.net>
Message-ID: <A2wh8.2902$J3.1067@nwrddc01.gnilink.net>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net> <3C850A5B.3040106@spamm.me.l8s.co.uk>

All good ideas guys but want if I want to use the ld() shell command to
dynamically load a module.

The behaviour I've observed is that when I give the shell a command, like
ld() or even one of my own functions, it spawns a very high proiorty task,
priorty 3 I think and it's usually called t01, t02, t03, etc) to run the
function. Now if it's one of my own functions I can explicitly change the
priorty right off and I'm good. But what I can't figure out is how to make
the ld(), or other shell commands, to run at a lower priority so that they
don't preempt my real time task.

Any ideas would be great
Thanks
Matt Schuckmann

matthew_schuckmann@amat.com

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C850A5B.3040106@spamm.me.l8s.co.uk...
> >>Does anybody know if there is a way to change the priorty at which
> >>function and commands run from windsh run at?
> >>
> >>The problem I'm having is that I've got a significant part of my code
> >>loaded and running and I'm dynamically loading and unloading another
>
> >>part of the code to make it easier and quicker to debug it.
> >>When I use the ld() command to dynamicaly load and unload the
> >>module I'm debugging the loader runs in the windsh task and that
> >>task appears to run at such a high priority that it prevents my
> >>hard real time task from running for long enough that I end up
>
> >>having to reset my hardware after loading or unloading my test module.
>
>
> Just ask the shell to spawn a task to do the work....
>
> sp ld,"filename"
>
> will run at a reasonable priority
>
> David
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: to give a float parameter to a function by shell ?
Date: Wed, 6 Mar 2002 22:57:49 +0100
From: "Charly" <cdup.inco@laposte.net>
Organization: Guest of ProXad - France
Message-ID: <3c868ebb$0$21242$626a54ce@news.free.fr>
References: <200236-17584-978979@foorum.com> <3C867F15.1040302@spamm.me.l8s.co.uk>
Reply-To: "Charly" <cdup.inco@laposte.net>

David, thanks for this explanation
 charly

"David Laight" <david@spamm.me.l8s.co.uk> a crit dans le message de news:
3C867F15.1040302@spamm.me.l8s.co.uk...
> Charly wrote:
>
> > Hello again,
> >
> > I tried to do by SHELL
> >
> > ->getfloat(1.02)
> >
> >
> > But the function "getfloat" sees 0.0 instead of
> > 1.02.
> > The function getinteger(5) works fine.
> >
> > Is there a trick to give a float to a function throught telnet?
> > Thanks
>
>
> IIRC the shell will treat a fp number as double.
> Since it doesn't have the function prototype it will always
> pass a double value anyway.
>
> Depending on the argument passing scheme used on your
> architecture you might be able to fool things by
> typing the integer form of the float number.
>
> This does get tricky - however I get the following:
>
> -> dbl=1.2
> new symbol "dbl" added to symbol table.
> dbl = 0x3f03434: value = 1.2
> -> d &dbl,2,4
> 03f03430: 3ff33333 33333333 * 33 ?3333....*
> value = 21 = 0x15
>
> -> __fixsfsi 0x3f800000
> value = 1 = 0x1
> -> __fixsfsi 0x40000000
> value = 2 = 0x2
> -> __fixsfsi 0x40400000
> value = 3 = 0x3
>
> David
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Intermixing source code with disassembly using objectdump
Date: Wed, 6 Mar 2002 15:08:25 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8d8coccr1ai04@corp.supernews.com>
References: <a65e62$lf6$1@news.storm.ca> <newscache$od9ksg$d12$1@lnews.actcom.co.il>

Usually this is done by compiler option passing to assembler.

For example,
gcc -Wa,-ahl

It does not work for all versions of gcc in all CPU architectures. The
latest gcc seem to do good job in most CPU architectures.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: Wed, 6 Mar 2002 23:15:30 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C86A37C.8010809@spamm.me.l8s.co.uk>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk> <u6649sh45.fsf@yahoo.com>

Bill Pringlemeir wrote:

>>>Venkat Mynampati wrote [again!]:
>>>
> >> I read an article by Paul Wilson and others (Dynamic Storage
> >> Allocation: Survey and Review) and in that it was mentioned that:
> >> "Best fit, FIFO ordered First Fit and address ordered first-fit"
> >> perform the same manner, with a fragmentation of 22%.
> >>
> >> Where as First-Fit based on LIFO is Worse with 54% fragmentation!
>
>
>>>>>>"David" == David Laight <david@spamm.me.l8s.co.uk> writes:
>>>>>>
>
> David> 2) I can't see how FIFO can be better?
>
> The paper he quotes uses several different programs (such as gcc) to
> benchmark the different allocators. It is available on the net as
> "allocsrv.ps". I have converted it to PDF, but it is 3.3MB. Anyways,
> the main point of the article was that many "allocation simulators"
> did not model real life. This is why the FIFO was deemed better as it
> seems to reduce fragmentation in `real situation'.
>
> At any rate, the buckets and boundary tags that Doug Leah uses will
> kick the snot out of any list based allocator. The DL allocator is
> really good with objects as chunks that are craved out of memory
> maintain there sizes. This is similar to `slab' pools used by *nix
> kernels. Anyways, if Venkat actually takes the time and goes to
> google, he can see an entire thread on the subject (including words by
> you, Dave Laight).
>
> I also offered up some advice on using a newer version of Doug Leah's
> allocator in a recent post. The DL allocator has improved since Hwa
> Jin Bae ported a now outdated version.

That paper makes nice, light, bedtime reading :-)

The vxWorks allocater (LIFO ordered First Fit) comes out particularly
badly - which we all know!

I'm still surprised that FIFO ordered First Fit works as well as their
experiments suggest. It probably benefits greatly from the locality
of allocates and frees, this could be quite effective if most allocates
are small compared to the overall size of the heap and extra memory
can be obtained from the OS.

I didn't try using address ordered first fit, or FIFO first fit (need
to avoid the last (big) free chunk) when getting java running.
The way it uses the system heap kills the default vxWorks allocater,
but best fit (LIFO as it happens) works fine.

Would be interesting to know the fragmentation if you include the 'red
tape' and padding as part of the allocated space.

FWIW for a system with long uptime, and a probably well definable
workload (eg a kernel or embedded system) using a system that chops
pages into items of the same size almost certainly has big advantages.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Wed, 6 Mar 2002 15:15:47 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8d8qhn0pm0ve8@corp.supernews.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com>

Each socket already has a semaphore associated with it (inside).

It does not matter whether UDP or TCP. Behavior is the same. You can use
either blocking or non-blocking I/O. If you use blocking, the call will
not return until all bytes are handled or some error (e.g. disconnect)
happens.

For TCP, having multiple tasks read/write from the same socket presents one
difference because TCP does not preserve message boundaries.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Wed, 6 Mar 2002 23:32:14 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C86A76B.4010607@spamm.me.l8s.co.uk>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com>

Hwa Jin Bae wrote:

> Each socket already has a semaphore associated with it (inside).
>
> It does not matter whether UDP or TCP. Behavior is the same. You can use
> either blocking or non-blocking I/O. If you use blocking, the call will
> not return until all bytes are handled or some error (e.g. disconnect)
> happens.
>
> For TCP, having multiple tasks read/write from the same socket presents one
> difference because TCP does not preserve message boundaries.

But be EXTREMELY careful of how you close the socket.
You MUST ensure that no other task is calling any io function
for the fd when you call close(), the effects of not doing so
are indeterminate.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Wed, 6 Mar 2002 16:07:46 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8dbs42rt9m5f7@corp.supernews.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk>

I personally would not use multiple tasks reading from one socket. I am not
sure why doing so would be useful. I might be lacking in my imagination.

However, closing a socket is OK when I/O is pending. If one task is doing a
read(), for example, and another task does a close(), the read() will return
will error. write() works similarly. So it is not so indeterminate.

So David, do you have a specific scenario and problem in mind? If there are
problems in this area, I really screwed up.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: I want to log the packet between IP and mux.
Date: Thu, 7 Mar 2002 00:47:12 +0000 (UTC)
From: "Choo Joung-hoon" <jhchoo@solartt.co.kr>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org>

Hello.

I am initializing ethernet interface.

I want to log the packet transmitted from IP to mux,
 and the packet received from mux to IP.

Is it possible?

^_^

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: [reboot error in target shell]
Date: Thu, 07 Mar 2002 05:23:44 GMT
From: "sung goh" <gohs@redshift-technology.com>
Organization: Dacom
Message-ID: <APCh8.297$PC3.496772@news.bora.net>

I am new to Vxworks.

[Problem]
I typed reboot in target shell, then error messages come out and then
started beeping.

[What I did before the error messages]
I don't see anything wrong in making bootrom disk and vxworks image
transfer.
I completed booting from a disk and downloading vxworks image from host to
target, then tried to reboot typing "reboot"

Is there a way to solve this?

Modify bootconfig.c? rominit.s? any other ideas?

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

Newsgroups: comp.os.vxworks
Subject: Re: Network hanging problem
Date: 6 Mar 2002 21:35:19 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203062135.1e775d01@posting.google.com>
References: <edcc6118.0203060419.11e4e2f8@posting.google.com>

Hello,

There are a couple of things that will probably help:

1) Increase the number of buffers available to the network stack.
There is an app note on WindSurf that explains this in the context of
Java, but the info applies to any application that makes use of the
network. The paper can be downloaded here:
http://www.windriver.com/windsurf/appnotes/osExtensions/pjworks/APN51/WTN51.pdf

2) If possible, keep one connection open all the time rather than
opening and closing the sockets all the time. Given that you are
opening sockets faster than the port numbers can be recycled, you will
soon run out of buffers in the stack (even though you closed the
socket, the stack has to hold some of the data to track which port
numbers are unavailable - the timeout is 2 minutes IIRC).

HTH,

John...

giby@myw.ltindia.com (Giby) wrote in message news:<edcc6118.0203060419.11e4e2f8@posting.google.com>...
> Hello everybody,
> I am working on networking of two platforms running VxWorks / MPC823
> board. The application is that the waveform data collected at one
> station should be seen in real time at the other station through
> ethernet 10Mbps link.
> The implementation is as follows one station runs a server (done by
> calling BSD socket functions) and the other station works as the
> client (done using BSD socket functions). Every 100ms the client
> connects with the server and sends a packet to send data and the
> server replys back on the same connection sending the waveform data,
> which the client uses to plot the waveform.
> But i find that the real time plot is highly unstable and sometimes
> the client cannot connect to server and also after about 2 min the
> whole connection stops with no communication between the client and
> server.
>
> Can anybody throw some light on what i should do now . Please say if
> my client/ server communication logic is correct.and also any clue to
> why the network is hanging after sometime ??
>
> i would be very thankful if somebody could help me out on this

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd MuxLoad failed
Date: 6 Mar 2002 21:43:26 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203062143.604b5e8f@posting.google.com>
References: <3c86380f$0$231$4d4ebb8e@read-nat.news.nl.uu.net>

Hello,

You didn't specify your load string... that could be the cause of your
problem, but I suspect that your BSP is using the new auto-detection
code and that's what's going wrong.

If that is the case, you don't put in the entry in the table (was
there one there before for the dc or fei devices?). Instead, there is
code in sysEnd.c to detect the card on the PCI bus and configure it.
Part of that process generates an entry in the END device table.

You'll need to detect the PCI card, assign it any addresses it needs
etc. There should be examples of this for the dc and fei devices in
the sysEnd.c file. The x86 BSP is not a good place to look as the BIOS
does most of the PCI config work on that arch; other architectures
don't have that feature and must do the work themselves.

Once you get past that, you might have another problem too - does the
load string have a field for an offset? If so, you'll need to set it
to 2, if not, you'll need to get a newer version of the driver that
does support the offset (or get the source and add support for it
yourself).

HTH,

John...

spam@kpsws.com wrote in message news:<3c86380f$0$231$4d4ebb8e@read-nat.news.nl.uu.net>...
> Thanks to the help from Paul Iannacito I managed to include the ln97xEnd
> driver in my bsp by implementing sysLan97xEnetAddrGet,sysLan97xIntEnable,sysLan97xIntDisable,sysOutLong,sysInLong
> in the sysEnd.c of my arm integrator bsp.
>
> When i type h from the bootline it says that the following boot devices
> are available: lnPci0 (Some part must definitely work now)
>
> But when i try to boot from this device I get the following error: muxLoad
> fa (mustbe muxload Failed I gues, crashed before printing the whole
> sentence???)
>
> This error occures from usrRoot when muxLoadDev is called for all entry's
> in END_TBL_ENTRY (configNet.h)
>
> the END_TBL_ENTRY is filled as follows:
>
> END_TBL_ENTRY endDevTbl [] =
> {
>
> #ifdef INCLUDE_LN_97X_END
> {0, LN_97X_LOAD_FUNC_0, LN_97X_LOAD_STR_0, TRUE, NULL, FALSE},
> #endif /* INCLUDE_LN_97X_END */
>
> /* Entries that can be filled in dynamically when cards are found */
>
> { 0, END_TBL_END, NULL, 0, NULL, FALSE},
> { 0, END_TBL_END, NULL, 0, NULL, FALSE},
> { 0, END_TBL_END, NULL, 0, NULL, FALSE},
>
>
> /* End of table marker */
>
> { 0, END_TBL_END, NULL, 0, NULL, FALSE}
> };
>
>
> why does muxLoad fail ????
> are my END_TBL_ENTRY entry's wrong ?? (copied them from example bsp for 486
> shipped with driver)
> does my EndLoad func failes ??? (if so why can't I see printf's
> from this func)
>
> At this point which functions are done and which has to be called yet ???
> is sysLan97xPciInit called yet ??? (I think this func is allready
> called because of device listing at boot prompt ??)
> ln97xEndLoad ???
>
> thanks in advance
>
> niels

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

Newsgroups: comp.os.vxworks
Subject: Re: a tool that calculates the number of code line in a projet?
Date: 6 Mar 2002 21:50:45 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203062150.32187442@posting.google.com>
References: <200236-17519-282492@foorum.com>

Hello,

There is a quick way of getting a good estimate... just count lines
ending in a ';' - remember to tolerate white space after the
semicolon. This is simple to do with tools like grep or awk piped into
wc -l.

This is not lines really, but statements. It does also reject the
braces though which most people don't count as lines (unless you're
being paid by the line ;-)

HTH,

John...

Charly <cdupinco@hotmail.com> wrote in message news:<200236-17519-282492@foorum.com>...
> Hello,
> I am looking for a free utility able to calculate the number of code lines in a
> C project. Able to see the /*xxxx*/, //, blank lines.
>
> I know I could do it, but I have no time to.
> Even a source code could help me.
>
> Thanks you.
> charly

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

Newsgroups: comp.os.vxworks
Subject: Re: Network hanging problem
Date: Thu, 07 Mar 2002 06:09:46 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <KuDh8.14174$Yn4.24702@rwcrnsc53>
References: <edcc6118.0203060419.11e4e2f8@posting.google.com>

Giby,

 For the problem of after running awhile everything stops, if you do a
inetstatShow() from the
target shell (if you set this up), you may find 50-60 sockets in the MSL*2
waiting to close
state on the server. You can review the vxWorks FAQ, there was a writeup
describing
how to bump up your network configuration to try to work around the hanging
due to lack of
resource problem. There may be more at play here, but I would suggest that
part of your
problem is this.

"Giby" <giby@myw.ltindia.com> wrote in message
news:edcc6118.0203060419.11e4e2f8@posting.google.com...
> Hello everybody,
> I am working on networking of two platforms running VxWorks / MPC823
> board. The application is that the waveform data collected at one
> station should be seen in real time at the other station through
> ethernet 10Mbps link.
> The implementation is as follows one station runs a server (done by
> calling BSD socket functions) and the other station works as the
> client (done using BSD socket functions). Every 100ms the client
> connects with the server and sends a packet to send data and the
> server replys back on the same connection sending the waveform data,
> which the client uses to plot the waveform.
> But i find that the real time plot is highly unstable and sometimes
> the client cannot connect to server and also after about 2 min the
> whole connection stops with no communication between the client and
> server.
>
> Can anybody throw some light on what i should do now . Please say if
> my client/ server communication logic is correct.and also any clue to
> why the network is hanging after sometime ??
>
> i would be very thankful if somebody could help me out on this

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

Newsgroups: comp.os.vxworks
Subject: Re: Chabging LIFO Ordered Free List
Date: 6 Mar 2002 22:15:21 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203062215.45cd4ec6@posting.google.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <3C865746.5000102@spamm.me.l8s.co.uk> <u6649sh45.fsf@yahoo.com> <3C86A37C.8010809@spamm.me.l8s.co.uk>

Hello all,

> The vxWorks allocater (LIFO ordered First Fit) comes out particularly
> badly - which we all know!

FYI, VxWorks AE uses a best fit scheme which, while not avoiding
fragmentation, does perform better (time-wise) when the heap is
fragmented...

Rgds,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: Wed, 6 Mar 2002 09:05:05 +0100
From: "Mario Semo" <mario.semo@kirchnersoft.com>
Organization: Nextra Telekom GmbH
Message-ID: <a672pf$j5s$1@at-vie-newsmaster01.nextra.at>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com> <d2eae3bd.0203050921.6b458ce4@posting.google.com>

i ve got it from vxWorks too (from my sales rep, after i asked for). But i
didnt installed it, since it was just avail for x86 and i need the same
compiler feastures for multiple targets.
What problems did you experience with 2.96

- --
regards, Mario Semo. http://www.kirchnersoft.com
shoz <shoz@elbit.co.il> wrote in message
news:d2eae3bd.0203050921.6b458ce4@posting.google.com...
> igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=) wrote in message
news:<9ec53d11.0203042356.73d7b673@posting.google.com>...
> > shoz@elbit.co.il (shoz) wrote in message
news:<d2eae3bd.0203032300.12e7301a@posting.google.com>...
> > > Hi
> > > Did any body use T2 update for gcc 2.96 on x86 ?
> > > Did any body use gcc 2.96 with Tornado on x86 ?
> > > thanks oz
> >
> > No. I wish I did, if it existed. I need C++ namespaces (to use CORBA
> > without nasty classes inside classes to simulate namespaces.)
> Yes 2.96 is somthing you can get from WindRiver , but it have problems
that
> I want to see if someone solve.
> oz

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

Newsgroups: comp.os.vxworks,comp.sys.ibm.pc.hardware.systems
Subject: 64 bit BARs Vs 32 bit BARs, PCI Bridge and Local Bus
Date: 6 Mar 2002 23:05:48 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203062305.37c30555@posting.google.com>

Hi,

	 As far as PCI Bridge or Local Bus is concerned,

 ****what's the difference in handling/configuring the 64-bit
PCI BARs?

 ****Are there any diffeence in configuring the PCI Bridge,
BUS differently for 32-bit BARs and 64 bit BARs?

	Thank you.
Regards
Arun

Arun Prasad
Software Engineer
Adaptec India Pvt. Limited
(A wholly owned subsidiary of Adaptec Inc., USA)
6-3-1086, IV Floor, Vista Grand Towers,
Rajbhavan Road, Somajiguda,
Hydereabad - 500082
Phone: (O):91-40-6661555/56/57/58
 (Ext):234
Email:	arun_prasad@adaptecin.com

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

Newsgroups: comp.os.vxworks
Subject: VGA Driver using the WindML
Date: 6 Mar 2002 23:08:59 -0800
From: aephraty@rugged.com (Avi Ephraty)
Organization: http://groups.google.com/
Message-ID: <43191605.0203062308.206d66f8@posting.google.com>

Is there someone who wrote a VGA driver using WindML (preferbly using
the component Permedia3 of 3DLABS)?

I wonder how complicated is this task ?(How much time it should take?)

I also want to integrate it with Video Overlay. I wonder how
complicated this task is?

In writing the Ovelay unit I'm using the capabilities of the chip (the
Permedia3 has a video Overlay unit).

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

Newsgroups: comp.os.vxworks
Subject: Re: [reboot error in target shell]
Date: Thu, 07 Mar 2002 07:31:16 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <8HEh8.4112$eM.3813@sccrnsc02>
References: <APCh8.297$PC3.496772@news.bora.net>

What is your target?
What are the error messages?
reboot() calls sysToMonitor(), which is part of the BSP (sysLib.c). Check
that out.
Can you display the boot Rom/flash device from the target shell?

"sung goh" <gohs@redshift-technology.com> wrote in message
news:APCh8.297$PC3.496772@news.bora.net...
> I am new to Vxworks.
>
> [Problem]
> I typed reboot in target shell, then error messages come out and then
> started beeping.
>
> [What I did before the error messages]
> I don't see anything wrong in making bootrom disk and vxworks image
> transfer.
> I completed booting from a disk and downloading vxworks image from host to
> target, then tried to reboot typing "reboot"
>
> Is there a way to solve this?
>
> Modify bootconfig.c? rominit.s? any other ideas?
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: Thu, 7 Mar 2002 09:06:52 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6772u$5pj$1@snoopy.bndlg.de>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com> <a5vtha$qov$1@snoopy.bndlg.de> <e38d912c.0203041329.557d79ce@posting.google.com> <a61v10$149$1@snoopy.bndlg.de> <e38d912c.0203061133.45561157@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fa7a.dip.t-dialin.net

Hi Arun,

in your last posting you talked about writing 0xFFFFFFFF into BAR and read
back: This is just the way how autoConfig computed the setup of 0x40000000,
you don't need to do it again.

So let us collect (after vxWorks pciAutoConfig):
Board setup: PCI-I/O local view: 0xe8000000
 PCI-Mem local view: 0x80000000

Card setup: BAR0 0x40000000c
 BAR1 0
 BAR2 1
 BAR3 0x4000100c
 BAR4 0

MMU's setup: access to 0xe8000000 and 0x80000000 allowed.
This all looks fine.

Of course you have to map out the lower 3bits in BAR0 and BAR3 and the
lowest bit in BAR2.
Your translation macros seem to be consistent with card setup and MMU setup.

So you should be able to access your NIC's I/O-space in 0xe8000000 and its
mem-space at 0x80000000 and 0x80001000 just by dereferencing pointers to it.
Take care which access formats your target supports - 8,16 or 32bit, access
might give wrong results otherwise, but should complete anyway.

If you are not able to access, i.e. you get an exception, your
local2PCI-bridge or MMU setup might be not the one we expect above.

If you are able to access, but the results seem to be wrong, we should look
at the results:
If all is 0xFFFFFFFF in I/O-space -> ???? card damage?
If there is an other pattern you don't expect -> did you swap ? PCI: little
endian, PPC: big endian

If I/O space is OK now, lets look into mem space:
All 0xFFFFFFFF -> has your card to be enabled/started/.... to configure this
area ?
Just an idea: Have you checked PCI-spec, which of both BARs is the low
address descriptor ? Change contents of BAR0 and BAR1.

Unexpected pattern in mem-space? Take care of endianess, access width ....

 else: ??????

Mit freundlichen Gren,
Michael Lawnick

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Arun Prasad" <arun4vxworks@indiatimes.com> schrieb im Newsbeitrag
news:e38d912c.0203061133.45561157@posting.google.com...
> Dear Micheal,
>
> Thank you so much for your kind help. Your mails are quite
> informative.
>
> I've gone through pciAutoConfigLib.c and as you said 64 bit BARs are
> not supported there.
>
> <<One difference seems not to be OK:
> under LINUX BAR0 ends with 0, under Tornado with c. Remembering that
> you
> said that both pairs are 64bit, I'd beleave in VxWorks - a typo in
> your
> LINUX output-copy ?
>
> >> It's because the output of Linux BARs are after masking them.
> Originally when we read the PCI configuration space we get the BAR0 &
> BAR3 ending with c only.
>
> << I'm not pretty sure what you are doing after setup, there is to
> much in your posting.
>
> >>Here I have to mention onthing. The function which we have written
> (AdptPciDevConfig() ) is getting called in the driver after
> pciAutoConfig() finishes its task. In the attach routine (at the
> moment we are not calling this function and we directly call our
> device/driver/structures initialization module) of our driver (netBSD
> networking driver model) we call our driver/device initialization
> function to configure our device, which inturn calls pciFindDevice()
> function.
>
> After finding our card we are reading its BARs and other h/w
> details. The BARs are getting masked and stored in our driver internal
> structures and other info like IRQ and all stored to our driver
> structure.
>
> In the first case,
> we tried with VxWorks configured BARs (32 bit BARs) and we are
> able to access I/O space/registers of our card (after adding the
> constant 0xe8000000) and we are succeesully able to read/write into
> our card's I/O registers.
>
> But when we access memory region we get "general protection fault".
>
> In the second case,
> we used our own written pciDevConfig() (AdptDevConfig() config as
> shown in the first mail.) to configure 64 bit BARs of our card. But
> after that we are not able to access our I/O region/registers itself.
>
> <<Check whether the result of this macros is included in the
> PCI-memory window of your sysPhysMemDesc[] (should be)
>
> >>As per the calculation PCI_MEM2LOCAL(<BAR0-value> + <offset>) adds
> 0x40000000 to the value supplied and PCI_MEMIO2LOCAL(<BAR2-value> +
> <offset>) adds 0xe8000000 to the value supplied.
>
> The region 0xe8000000 is clearly visible in sysPhysMemDesc[]
> (PLB_PCI_IO_REGION_1_START is equal to 0xe8000000)
> The region 0x80000000 is also there in sysPhysMemDesc[]
> (PCI_MEMORY_START is equal to 0x80000000).
>
> In the example snippet you have given, you haven't masked the PCI
> BAR addresses and you directly used the macros to map them.
>
> Is that correct?
>
> (I'm refering the usual PCI config read, writing oxffffffff on the
> BAR, masking it and write back the original BAR value.)
>
> Now can my questions are,
> When I use our own written/modified pciDevConfig() function, we
> are setting the 64 bit BARs but we aren't able to access I/O region
> itself. This is the case even when we use the macro
> PCI_MEMIO2LOCAL(<BAR2-value> +<offset>) or not.
>
> What's wrong in that function? What we are missing?
>
> We are thinking of entirely omitting VxWorks pci configurations and
> porting Linux's auto config function.
>
> Other possiblity We are thinking is re-writing the
> pciConfigLib.c/pciAutoConfigLib.c files to support 64-bit BARs.
>
> Please give your feedback on these.
>
> I just got a feeling like, by simply re-writing/modifying
> pciDevConfig() to configure 64-bit BARs I'm mixing/missing something.
>
>
> Thanks again for all the good work done at your part.
>
> Regards
> Arun
> -----
> Arun Prasad
> Software Engineer
> Adaptec India Pvt. Limited
> (A wholly owned subsidiary of Adaptec Inc., USA)
> 6-3-1086, IV Floor, Vista Grand Towers,
> Rajbhavan Road, Somajiguda,
> Hydereabad - 500082
> Phone: (O):91-40-6661555/56/57/58
> (Ext):234
> Email: arun_prasad@adaptecin.com
>
>
>
> On Tuesday 05 March 2002 13:46, Michael Lawnick wrote:
> Hi Arun,
>
> take a look into $(WIND_BASE)/target/src/drv/pci/pciAutoConfigLib.c,
> this is the code executed for setting up PCI devices automatically.
> I can't see any hint for 64bit there.
>
> Reviewing your first post, I think, setup might be done correct:
> The registers set to 0x8100x00y under LINUX are set to 0x4000x00y in
> VxWorks, the main difference is the freely selectable translation
> offset
> Local2PCI.
> One difference seems not to be OK:
> under LINUX BAR0 ends with 0, under Tornado with c. Remembering that
> you
> said that both pairs are 64bit, I'd beleave in VxWorks - a typo in
> your
> LINUX output-copy ?
>
> I'm not pretty sure what you are doing after setup, there is to much
> in
> your posting.
> After auto-config you should be able to access the memory-mapped
> part of
> your NIC by
> PCI_MEM2LOCAL(<BAR0-value> + <offset>)
> and your IO-mapped registers by
> PCI_MEMIO2LOCAL(<BAR2-value> + <offset>)
> You'll find this macros in walnut.h. Check whether the result of
> this
> macros is included in the PCI-memory window of your sysPhysMemDesc[]
> (should
> be)
>
> Example with your autoConfig setup:
> BAR0=0x4000000c /* memarea_1 */
> BAR1=0
> BAR2=0x0001 /* register_area*/
> BAR3=0x4000100c /* memarea_2 */
> BAR4=0
>
>
> typedef struct
> {
> ...
> UINT32 ioBase;
> UINT32 memBase1;
> UINT32 memBase2;
> ...
> } DRV_CRTL;
> ...
>
> {
> UINT32 nicMemBase1;
> UINT32 nicMemBase2;
> UINT32 nicIoBase;
>
> /* get base addresses of NIC's PCI windows */
> pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_0,&nicMemBase1);
> pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_2,&nicIoBase);
> pciConfigInLong(0,2,0,PCI_CFG_BASE_ADDRESS_3,&nicMemBase2);
>
> /* translate PCI windows to CPU-local addresses and save in driver's
> struct
> */
> pDrvCtrl->ioBase=PCI_IO2LOCAL(nicIoBase);
> pDrvCtrl->memBase1=PCI_MEM2LOCAL(nicMemBase1);
> pDrvCtrl->memBase2=PCI_MEM2LOCAL(nicMemBase2);
> }
>
> /* later on, when access is needed */
> {
> ...
> /*Access 32bit register with offset 0x20 in register_area */
> NicReg = *(UINT32*)(pDrvCtrl->ioBase+ 0x20);
> /*Access 32bit memory value with offset 0x200 in memarea_1 */
> NicMem1 = *(UINT32*)(pDrvCtrl->memBase1 + 0x200 );
> /*Access 16bit memory value with offset 0x222 in memarea_2 */
> NicMem1 = *(UINT16*)(pDrvCtrl->memBase2 + 0x222 );
> ...
> }
>
> Remember: On PPC in CPU's view all PCI accesses are standard memory
> accesses - if mem-mapped or IO-mapped. The local2PCI bridge converts
> an
> access to the apropriate PCI-cycles.
>
> HTH
>
> Mit freundlichen Gren,
> Michael Lawnick
> =========================================
> SOFTEC GmbH Tel +49-731-96600-0
> Promenade 17 Fax +49-731-96600-23
> D-89073 Ulm Michael Lawnick
> Germany lawnick@softec.de
> =========================================
>
> > -----Ursprngliche Nachricht-----
> > Von: Arun Prasad [mailto:arun_prasad@adaptecin.com]
> > Gesendet: Montag, 4. Mrz 2002 22:32
> > An: Michael Lawnick
> > Betreff: Needed help on Accessing Memory Mapped I/O space on IBM
> > ppc405GP
> >
> >
> > Dear Micheal,
> >
> > Since I need some quick response, I'm posting to your mail
> > Id. I'm sorry.
> >
> > Are you sure VxWorks does not support 64 bit PCI?
> >
> > I don't have enough knowledge on VxWorks and how it handles
> > PCI stuff,
> > though I have a bit knowledge on PCI and how Linux handles it.
> Once I was
> > working on writing a DOS driver for externel IDE controller (PCI
> > based). I
> > knew the crude way of handling PCI/DMA/PIO programming (Infact I
> > did the same
> > thing on OS/2 also) but not on how VxWorks handles it.
> >
> > We/I can't go for the third solution which you have mentioned
> :-(
> >
> > It would be helpful if you could eloborate on the first two
> > solutions.
> >
> > We already tried to write our own routine to configure our
> > card's 64bit BAR
> > address registers (you coult see that at the start of this mail
> > chain). And I
> > also tried to make entries in sysPhysMemDes[], but nothing worked
> out. I
> > don't know what I'm missing. But most of the thing I do/did on a
> > trial and
> > error basis as my knowledge on VxWorks is not sufficient. I'm
> > learning. It
> > has become very critical now and we are nearing our deadline.
> >
> > Earlier replies/suggestions/answers would be of great help.
> >
> > One more question,
> > If at all our card requires only 32 bit BAR
> > memory Registers, what should
> > I do to access these memory regions after reading the BARs from
> > PCI config
> > space?
> >
> > Thanks again.
> > Regards
> > Arun
> >
> >
> > "Michael Lawnick" <Lawnick@softec.de> wrote in message
> > news:<a5vtha$qov$1@snoopy.bndlg.de>...
> >
> > > Hi Arun,
> > >
> > > AFAIK, VxWorks does not support 64bit PCI. It interprets your 2
> >
> > double BARs
> >
> > > as 4 seperate BARs and sets up access to those you find valid
> >
> > values. This
> >
> > > won't work for you:
> > > You have access to I/O-mapped region, as PCI autoconfig found
> >
> > the regions
> >
> > > and the region was already added in sysPhysMemDesc[]. For your
> >
> > mem mapped
> >
> > > region this failed and your MMU complains that you try to
> >
> > access a region
> >
> > > that is not enabled.
> > >
> > > I can see two {three} possible solutions:
> > > a) Enable the considered region in your sysPhysMemDesc[] by hand
> (don't
> > > forget the local2PCI bridge !) and setup your NIC's 64bit mem
> >
> > BARs by hand
> >
> > > in a way that their windows are placed accordingly.
> > > b) Disable MMU.
> > > { c) Use a more common NIC ;-) }
> > > HTH
> > > Michael
> > >

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Thu, 07 Mar 2002 08:34:35 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <vCFh8.42393$ZC3.3320476@newsread2.prod.itd.earthlink.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <a5vv4c$i08$1@helle.btinternet.com> <G9_g8.36824$ZC3.2896444@newsread2.prod.itd.earthlink.net> <a62j16$4g5$1@knossos.btinternet.com> <a63if6$816$1@panix1.panix.com> <cf6c276e.0203052013.1d2e680@posting.google.com> <_Llh8.39584$ZC3.3120471@newsread2.prod.itd.earthlink.net> <0506ED079FDAE166.4EF6E774CBA36AB4.D3A185EC0E095A9A@lp.airnews.net>

"Malcolm Weir" <malc@gelt.org> wrote in message
news:0506ED079FDAE166.4EF6E774CBA36AB4.D3A185EC0E095A9A@lp.airnews.net...
> On Wed, 06 Mar 2002 09:59:22 GMT, "J. J. Farrell" <jjf@bcs.org.uk> caused
to
> appear as if it was written:
>
> It's been at least 5 years since I worked with commercial FC protocol
> controllers (which, since the darn things have only been around for about
> 5.5 years, may give you some idea of the maturity of the beasts at the
> time...)
>
> But...
>
> I'd check into Agilent's Tachyons. Back when I worked on them (prior to
the
> "Tach Lite" PCI versions becoming available... part numbers like HP5100
ring
> a bell), they were extremely open about how to feed and care for the
beast,
> on the grounds that any specimen code they provided would be entirely
> useless without the chip itself. In this way, HP acted almost exactly
like
> NCR/Symbios/LSI did/do: you can download their scripts and sample code
> without any IP implications.

Thanks Malc - a couple of other people suggested the Tachyon today.
I remember when they first came in, as the great hope of the Fibre
Channel community that it would finally be able to build an HBA at
a reasonable price. I was in the SSA camp at the time, the Betamax
of the Serial SCSI world ...

> Now, naturally, the sample code (in both vendors cases) is not exactly
> optimal... but it's a start, and a reasonable reference design from which
to
> rewrite the code!
>
> ...
> My recollection (and it *has* been 5 years) is that the framing is done by
> the hardware, so you basically work with pointers/length tuples to the
> various FCP entities (command, data, status).

Much better than nothing, as you say. Thanks, I'll chase them up.

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

Newsgroups: comp.os.vxworks
Subject: Running multiple vxsim in Tornado Prototyper 2.0.2 under Win 2000?
Date: 7 Mar 2002 00:45:36 -0800
From: yjyang88@iris.seed.net.tw (Johnny Yang)
Organization: http://groups.google.com/
Message-ID: <ede027e4.0203070045.55bc6b4d@posting.google.com>

Dear all:
I follow the instructions posted in the following website:

http://www.xs4all.nl/~borkhuis/vxworks/multsimnt.html

And everything works fine until I start the target server.
(the target simulator runs successfully)
The error message is:
 tgtsvr (vxsim1@johnny_yang): Thu Mar 07 16:16:03 2002
 Checking License ...OK
 Wind River Systems Target Server: NT/Win95 version
 Connecting to target agent...
 Error: rpccore backend client Unable to receive failed.
This error repeats infinitely.

I've installed the ULIP driver and had the IP Forwarding
enabled by changing the registry value "IpEnableRouter" to 1.

Is there anything wrong with my target server options?
 tgtsvr.exe 90.0.0.1 -n vxsim1 -V -B wdbrpc -R d:\ -RW

If I change the WDB connection type to "WDB simulator pipe connection"
instead of "WDB END driver connection" and rebuild VxWork.exe,
I can have one simulator & one target server run successfully, but not two.
(the target server option is:
tgtsvr.exe 90.0.0.1 -n vxsim1 -V -B wdbpipe -R d:\ -RW)

Can anybody tell me how to run multiple vxsim? Thank you!

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

Newsgroups: comp.os.vxworks
Subject: Ans to Re: [reboot error in target shell]
Date: Thu, 07 Mar 2002 08:48:21 GMT
From: "sung goh" <gohs@redshift-technology.com>
Organization: Dacom
Message-ID: <pPFh8.305$PC3.522854@news.bora.net>
References: <APCh8.297$PC3.496772@news.bora.net> <8HEh8.4112$eM.3813@sccrnsc02>

***** Target Shell *****

- ->lkup "reboot" ; then
reboot 0x00xxxxxx
reboot_verify 0x00xxxxxx
..
..
..
rebootHookAdd 0x00xxxxxx

- -> reboot
General Protection Fault
Program Counter : 0x0005de06
Status Register : 0x00250057
Error Code : 0x00000000

==> beeping and stuck here

**** Bootrom display ****
brief configurations

CPU: PC Pentium
Version: 5.4.2
BSP version : 1.2/0

boot device : fei
filename : vxWorks.st
....
...
 .

Thanks.

"Gary M" <com.vertical@garym> wrote in message
news:8HEh8.4112$eM.3813@sccrnsc02...
> What is your target?
> What are the error messages?
> reboot() calls sysToMonitor(), which is part of the BSP (sysLib.c). Check
> that out.
> Can you display the boot Rom/flash device from the target shell?
>
> "sung goh" <gohs@redshift-technology.com> wrote in message
> news:APCh8.297$PC3.496772@news.bora.net...
> > I am new to Vxworks.
> >
> > [Problem]
> > I typed reboot in target shell, then error messages come out and then
> > started beeping.
> >
> > [What I did before the error messages]
> > I don't see anything wrong in making bootrom disk and vxworks image
> > transfer.
> > I completed booting from a disk and downloading vxworks image from host
to
> > target, then tried to reboot typing "reboot"
> >
> > Is there a way to solve this?
> >
> > Modify bootconfig.c? rominit.s? any other ideas?
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Were can i get the document " Tornado BSP Development Kit BSP Version 1.1"
Date: 7 Mar 2002 01:02:20 -0800
From: vijay_emb@yahoo.com (vijay)
Organization: http://groups.google.com/
Message-ID: <b909991d.0203070102.5a26a0e0@posting.google.com>

Hi All
In Online Document most times it says that
see the "Tornado BSP Development Kit"
So were can i get this Document, I am not seeing this document in the
online documents. So, If any one of you have this Document
please forward it to me
Thanks In Advance

Regards
Vijay

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

Newsgroups: comp.os.vxworks
Subject: Re: a tool that calculates the number of code line in a projet?
Date: Thu, 7 Mar 2002 09:22:03 +0000
From: Danny Chapman <dc8@lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <Pine.GSO.4.43.0203070920520.5085-100000@mlgw069.uk.lucent.com>
References: <200236-17519-282492@foorum.com>

On 6 Mar 2002, Charly wrote:
> I am looking for a free utility able to calculate the number of code lines in a
> C project. Able to see the /*xxxx*/, //, blank lines.

I use a program called ncsl (under Solaris). This appears to be free from
http://www.lucentssg.com/displayProduct.cfm?prodid=33 though I haven't
actually tried downloading it from there.

- - Danny

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: 7 Mar 2002 01:57:26 -0800
From: michael.shamis@actelis.com (Michael)
Organization: http://groups.google.com/
Message-ID: <d31a6548.0203070157.67b4d2bc@posting.google.com>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu>

The default gateway ("0.0.0.0") does not solve case when we want to
access VxWorks target from two (or more) different networks
simultaneously.
Let's see the following configuration:

 ________________________________________ 11.0.x.x net
 |
 11.0.7.22
 Pc Host Gateway ...
 10.0.1.244 10.0.6.52 ...
 |__________________|_____________________ 10.0.x.x net
 |
 | <-- Ethernen
 |
 10.0.7.46
 VxWorks Target
 62.90.13.177
 |
 | <-- Dial UP Networking PPP
connection
 |
 62.90.13.178
 Gateway (WindowsNT Workstation)
 169.254.0.1
 |
 __________________________________|_____ 169.254.x.x net
 |
 169.254.0.2
 Pc host

To connect Ethrnet interface I have to call on target
routeAdd("0.0.0.0", "10.0.7.46");

And in order to connect to Dial Up Networking interface I have to call
on target
routeAdd("0.0.0.0", "169.254.0.1");

But VxWorks does not allow to have 2 defaults gateways (WindowsNT
allows several default gateways).

In most cases we don't know the gateway IP addresses and we need two
default gateways.
So the only way (?) is to use dynamical routing algorithms. I added
RIP component in Tornado and RIP (version1) started to run on target.
Then I added RIP service on Gateway WindowsNT 62.90.13.178 and added
gateway entry in route table on 169.254.0.2 PC host:
"route add 62.90.13.0 mask 255.255.255.0 169.254.0.1".
It does not help.

May be somebody know how to access VxWorks target from two different
networks?

Thanks,
Michael

"Joe Georger" <jgeorger@ll.mit.edu> wrote in message news:<P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu>...
> Tim,
>
> Your diagram is accurate. The 155.34.103.1 gateway is a router (I don't
> have access to it, though). My development pc has a default gateway of
> 155.34.99.1 (another router). Therefore I didn't need to add a route to
> access the 155.34.103.0 network. I have been searching thru this
> newsgroup's archives and came across the following:
>
> You have to set the default route, period. The way I did it was to modify
> usrNetwork.c and add the following line to usrNetInit()
>
> if (params.gad[0] != EOS) routeAdd("0.0.0.0", params.gad);
>
> The nice thing about doing it this way is your default route will always
> be to the gateway you enter at the boot prompt, so if you ever change that
> the default route will automatically follow.
>
> And this:
>
> This is a very old issue - in both bootConfig.c and usrNetwork.c, routeAdd()
> is called to install a default gateway, but the destination network is the
> same subnet on which the Host is located. This code, as shipped, only good
> for
> VME bp/sm networks - it works for the CPU which is connected only to the VME
> network, and helps it conenct to the Host via the VME/Ethernet gateway.
>
> It has been suggested several times to change this statement to add
> "0.0.0.0"
> as destination, making the default gateway function in all cases (including
> the VME network special case), but the suggestion was not incorporated into
> the product. I beleive that I have filed a TSR about this back in 1991, when
> I
> worked for Applied Materials Inc.
>
> The only and the most elegant fix is to change the routeAdd() statement in
> bootCOnfig.c, usrNetwork.c to be:
>
> routeAdd("0.0.0.0", params.gad);
>
> I did change these files as recommended above. AFAIK the bootConfig.c file
> is used in compiling the bootrom, so I did that and reflashed my board.
> That didn't work. I figured that the bootrom code is superseded by the
> VxWorks image....
>
> I also changed userNetwork.c, but when I rebuilt my VxWorks image, I don't
> think that file was used?? In any event, that didn't work either. Is this
> a viable idea? It sure seems like it should work....
>
> Thanks,
> Joe
>
> "Tim Shaw" <Tim.Shaw@dsto.defence.gov.au> wrote in message
> news:3C7ECF52.8429283C@dsto.defence.gov.au...
> > Great suggestion Dave, here's my guess:
> >
> >
> >
> >
> > vx Target PC host
> > 155.34.103.42 155.34.103.41
> > |__________________|_____________________ 155.34.103.0 net
> > |
> > |
> > 155.34.103.1
> > Gateway (PC?)
> > 155.34.99.XX
> > |
> > __________________________________|_____ 155.34.99.0 net
> > |
> > 155.34.99.99
> > dev PC
> >
> >
> > So the vxWorks targets needs to have the following:
> > routeNetAdd "155.34.99.0", "155.34.103.1"
> > which tells it to use the gateway to get to the 155.34.99.0 network.
> >
> > Then on the development PC, you need to add the route:
> > route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
> > which you obviously have done if you can ping the 155.34.103.41 host.

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Thu, 7 Mar 2002 11:08:38 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a67e76$a3o$1@snoopy.bndlg.de>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net> <3C850A5B.3040106@spamm.me.l8s.co.uk> <A2wh8.2902$J3.1067@nwrddc01.gnilink.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fa7a.dip.t-dialin.net

Hi Matt,

just read a nd do how David said:
on all critical commands use
- -> sp <cmd>,<par1>,<par2>,.....
This seems the only way to get around your problems. All commands entered
without 'sp' will be executed at the same priority as the shell you invoke
it from.

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Matt Schuckmann" <matt.schuckman@verizon.net> schrieb im Newsbeitrag
news:A2wh8.2902$J3.1067@nwrddc01.gnilink.net...
> All good ideas guys but want if I want to use the ld() shell command to
> dynamically load a module.
>
> The behaviour I've observed is that when I give the shell a command, like
> ld() or even one of my own functions, it spawns a very high proiorty task,
> priorty 3 I think and it's usually called t01, t02, t03, etc) to run the
> function. Now if it's one of my own functions I can explicitly change the
> priorty right off and I'm good. But what I can't figure out is how to make
> the ld(), or other shell commands, to run at a lower priority so that they
> don't preempt my real time task.
>
> Any ideas would be great
> Thanks
> Matt Schuckmann
>
> matthew_schuckmann@amat.com
>
> "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> news:3C850A5B.3040106@spamm.me.l8s.co.uk...
> > >>Does anybody know if there is a way to change the priorty at which
> > >>function and commands run from windsh run at?
> > >>
> > >>The problem I'm having is that I've got a significant part of my code
> > >>loaded and running and I'm dynamically loading and unloading another
> >
> > >>part of the code to make it easier and quicker to debug it.
> > >>When I use the ld() command to dynamicaly load and unload the
> > >>module I'm debugging the loader runs in the windsh task and that
> > >>task appears to run at such a high priority that it prevents my
> > >>hard real time task from running for long enough that I end up
> >
> > >>having to reset my hardware after loading or unloading my test module.
> >
> >
> > Just ask the shell to spawn a task to do the work....
> >
> > sp ld,"filename"
> >
> > will run at a reasonable priority
> >
> > David
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Thu, 7 Mar 2002 12:43:24 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$1fplsg$ro4$1@lnews.actcom.co.il>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <newscache$ii9ksg$h12$1@lnews.actcom.co.il> <3c864ee0@pull.gecm.com>

This is a know issue in terms of WindRiver support
knowledge base, so any support engineer should have
been able tp provide you with the answer right away.
Also, I do beleive this was discussed recently on this
newsgroup.
With Google, its up to you to provide the right keywords.

"Martin Dowie" <martin.dowie@nospam.baesystems.com> wrote in message
news:3c864ee0@pull.gecm.com...
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> news:newscache$ii9ksg$h12$1@lnews.actcom.co.il...
> > This is an old and known issue, Tornado 2
> > does not fully support 64 bit integer math.
> > With some simple Makefile modifications,
> > you can get the calcuation to work right on most architectures,
> > but the WRS libraries, including stdioLib and fioLib
> > including printf() and scanf() wont support 64bit whatever you do.
> >
> > You have to write your own function to convert a 64 bit int
> > to a decimal string and then print the string with printf().
>
> Got a point to this "known issue", apparently Google has yet
> to hear about it :-(
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Using STL map type
Date: Thu, 7 Mar 2002 12:05:51 +0100
From: patrick@hotmail.com
Organization: Siemens Inc.
Message-ID: <Pine.LNX.4.21.0203071201570.3046-100000@ulmlx023.egnetz>
Reply-To: patrick@hotmail.com

Hello,

I have a compile error which I hope someone can shed some light on. When I
#include the STL map type I get the following error:

.../tornado/target/h/iostream.h:97: `ostream::operator <<(char)' is
already defined in class ostream
.../tornado/target/h/iostream.h:221: `istream::operator >>(char &)' is
already defined in the class istream

These two line actually seem to be defining iostream operators for type
bool. I am not using iostream let alone bools. I have s simple source file
which I have stripped of all unnecessary stuff. I still get the error when
including map.

Any ideas??

Thanks

regards,

Patrick
+--------------------------------------------------------------------+
/earth is 98% full ... please delete anyone you can.

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: Thu, 7 Mar 2002 11:57:31 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C875618.3020108@spamm.me.l8s.co.uk>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu> <d31a6548.0203070157.67b4d2bc@posting.google.com>

Michael wrote:

> The default gateway ("0.0.0.0") does not solve case when we want to
> access VxWorks target from two (or more) different networks
> simultaneously.
> Let's see the following configuration:
>
>
> ________________________________________ 11.0.x.x net
> |
> 11.0.7.22
> Pc Host Gateway ...
> 10.0.1.244 10.0.6.52 ...
> |__________________|_____________________ 10.0.x.x net
> |
> | <-- Ethernen
> |
> 10.0.7.46
> VxWorks Target
> 62.90.13.177
> |
> | <-- Dial UP Networking PPP
> connection
> |
> 62.90.13.178
> Gateway (WindowsNT Workstation)
> 169.254.0.1
> |
> __________________________________|_____ 169.254.x.x net
> |
> 169.254.0.2
> Pc host
>
>
> To connect Ethrnet interface I have to call on target
> routeAdd("0.0.0.0", "10.0.7.46");
>
> And in order to connect to Dial Up Networking interface I have to call
> on target
> routeAdd("0.0.0.0", "169.254.0.1");
>
> But VxWorks does not allow to have 2 defaults gateways (WindowsNT
> allows several default gateways).

Generally you can only have 1 default gateway. Otherwise how do you
select it - it is the DEFAULT, the one used when there isn't a
specific gateway.

With the above, you need to specify 10.0.6.52 as the gateway to

11.x.x.x network and 62.90.13.178 for the 169.254.x.x network.

The default route is used for you route out to the great wide
outdooes (the rest of the web).

	David

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

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

From vxwexplo-errs@csg.lbl.gov Thu Mar 7 16:29:13 2002
From: "Jeff Angielski" <jeff@theptrgroup.com>
Date: Thu Mar 7 16:29:15 PST 2002
Subject: Issues with Dynatem/Microsys CU824 VME controller card

I am trying to track down some problems I am having getting vxWorks to run
on a Dynatem CU824 controller card (MPC8240). I was wondering if anybody has
any experience with vxWorks and this hardware. If so, have you seen any of
the following problems/issues:

1) The vxMemProbe() detects errors on VME reads but not on VME writes. The
same applies for memory mapped VME spaces. Bad reads are detected but not
writes.

2) The ethernet interface works fine in 10Base-T but in 100Base-T has
problems receiving packets. Needless to say, this has been making it very
difficult to apply the WRS DHCPC workaround for vxWorks.st_rom.hex images.
:)

Thanks in advance...

------------------------------------------------------
Jeff Angielski 703.405.6896
Principal Engineer jeff@ThePTRGroup.com
www.ThePTRGroup.com Embedded, Real-Time Solutions
------------------------------------------------------

From vxwexplo-errs@csg.lbl.gov Fri Mar 8 04:03:24 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Mar 8 04:03:28 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Fri Mar 8 04:03:20 PST 2002

 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: PCI memory space
 Subject: END Driver performance
 Subject: Re: END Driver performance
 Subject: Re: Ans to Re: [reboot error in target shell]
 Subject: Re: to give a float parameter to a function by shell ?
 Subject: Re: to give a float parameter to a function by shell ?
 Subject: Re: PCI memory space
 Subject: Re: PCI memory space
 Subject: Spurious Vx Works errors during building
 Subject: Re: PCI memory space
 Subject: Can't mount NFS directories
 Subject: Re: [reboot error in target shell]
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: May I ask you a question of vxworks and 3c90x network card?
 Subject: Re: Ans to Re: [reboot error in target shell]
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: Can't mount NFS directories
 Subject: Re: END Driver performance
 Subject: Re: Can't mount NFS directories
 Subject: Re: Ans to Re: [reboot error in target shell]
 Subject: Re: VGA Driver using the WindML
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: Initialize multiple ethernet interface after boot vxworks?
 Subject: Re: Can't mount NFS directories
 Subject: Re: a tool that calculates the number of code line in a projet?
 Subject: Re: ULIP on non-neworked w2k station
 Subject: Re: END Driver performance
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: outp with gcc?????
 Subject: Re: I want to log the packet between IP and mux.
 Subject: 5 dollar emails
 Subject: Multihoming
 Subject: BSD Ethernet Driver
 Subject: Re: Multihoming
 Subject: Re: BSD Ethernet Driver
 Subject: [Q] about Mutual-Exclusion Semaphore
 Subject: Re: where has some VxWorks example program?
 Subject: Re: Printing 64bit values
 Subject: Re: Were can i get the document " Tornado BSP Development Kit BSP Version 1.1"
 Subject: I want to get a copy of source code of 3c90x network card for vxworks?
 Subject: Re: ln97xEnd MuxLoad failed
 Subject: ctors/dtors
 Subject: Re: PCI memory space
 Subject: Re: BSD Ethernet Driver
 Subject: Re: [Q] about Mutual-Exclusion Semaphore
 Subject: Re: END Driver performance
 Subject: Re: outp with gcc?????

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Thu, 7 Mar 2002 12:09:02 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8758BE.7080106@spamm.me.l8s.co.uk>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com>

Hwa Jin Bae wrote:

> I personally would not use multiple tasks reading from one socket. I am not
> sure why doing so would be useful. I might be lacking in my imagination.
>
> However, closing a socket is OK when I/O is pending. If one task is doing a
> read(), for example, and another task does a close(), the read() will return
> will error. write() works similarly. So it is not so indeterminate.
>
> So David, do you have a specific scenario and problem in mind? If there are
> problems in this area, I really screwed up.

vxWorks has no interlocks between read/write and close.
(We were doing tests with a serial line from java - but
that isn't relevant to the underlying problem)

The fd isn't 'deleted' until close returns, until that time
another read/write could happen while the close is 'active'.
This would cause the device driver to access the (now freed)
data area associated with the fd.

There is NOTHING in the standard IO stuff to make read/write
return with an error when close is called. The socket
code might contain something, but if WRS have closed all
the timing holes it will be the only place I've seen it!

	David

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

Newsgroups: comp.os.vxworks
Subject: PCI memory space
Date: 7 Mar 2002 04:25:10 -0800
From: emycall@dreamx.net (Ahn Jung Hoon)
Organization: http://groups.google.com/
Message-ID: <2b0ae335.0203070425.4ca35b57@posting.google.com>

Hi, all

I have a problem in accessing pci memory space

Previously,
My work space is..

VxWorks version 5.4
KERNEL: WIND version 2.5
CPU: Motorola Unknown - MPC 750. Processor #0.
Memory Size: 0x10000000. BSP version 1.2/0.
WDB: Ready.

well..
I have PCI memory card, and it's size is 256MB..

By default, it was written in MV2600.h
#define CPU_PCI_MEM_SIZE	0x01000000	/* 16 meg */

so, I modified it as following..
#define CPU_PCI_MEM_SIZE	0x20000000	/* 256 meg */

Then I met data access error as following..

- -------------------------------------------------------
- -> pciHeaderShow(0, 0x10, 0)
vendor ID = 0x11b0
device ID = 0x0200
command register = 0x0002
status register = 0x0000
revision ID = 0x00
class code = 0x05
sub class code = 0x00
programming interface = 0x00
cache line = 0x00
latency time = 0xf8
header type = 0x00
BIST = 0x00
base address 0 = 0x10000000
base address 1 = 0x00000000
base address 2 = 0x00000000
base address 3 = 0x00000000
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x4754
sub system ID = 0x0005
expansion ROM base address = 0x00000000
interrupt line = 0x03
interrupt pin = 0x00
min Grant = 0x00
max Latency = 0x00
value = 0 = 0x0
- -> d 0x10000000
10000000:
data access
Exception current instruction address: 0x0015c070
Machine Status Register: 0x0000b030
Data Access Register: 0x10000000
Condition Register: 0x48200080
Data storage interrupt Register: 0x40000000

1812e0 vxTaskEntry +60 : shell ()
177118 shell +18c: 177144 ()
177368 shell +3dc: execute ()
1774ec execute +d8 : yyparse ()
1a96ec yyparse +7a8: 1a7634 ()
1a77ac yystart +8f8: d ()
shell restarted.
- --------------------------------------------------------------

But When I modified it as following, I could success to display and modified
at PCI_BASE_ADDR(0x08000000)..
#define CPU_PCI_MEM_SIZE	0x10000000	/* 128 meg */

..

I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
for memory access more than 16MB..

But.. Maybe, it seems to be incorrect..

Please..
Can anybody let me understand in the easiest way what is problem.

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

Newsgroups: comp.os.vxworks
Subject: END Driver performance
Date: 7 Mar 2002 04:44:55 -0800
From: bondi_ameya@yahoo.com (Ameya)
Organization: http://groups.google.com/
Message-ID: <57c7939b.0203070444.5f1ac389@posting.google.com>

hi,
my END driver for 802.11 based wireless card on x86 platform does not
give me the expected performance. I dont use the netjobadd, instead a
task is spawned (priority 51) and it takes a semaphore. The data is
copied from the hardware into my preallocated buffer inside the ISR.
All the work regarding getting Mblks from the pool (I use NetTupleGet)
and sending it to the upper layers is
done in this task. The semaphore is given inside the ISR on a RX
interrupt. I have a watchdog timer that runs every 100 ticks (where
1000 ticks = 1 Second). I use this timer to handle missing interrupts.

When i ping with 2048 bytes, the avg rtt is 8 ms which translates to 4
Mbps throughput roughly.
If i try to transfer 100 Kb data over TCP sockets, it takes a long
time (in seconds).
I tried changing the Send and Recieve socket buffer sizes but the
performance is still the same or worser.

Any ideas?

Thanks
Ameya

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

Newsgroups: comp.os.vxworks
Subject: Re: END Driver performance
Date: Thu, 7 Mar 2002 12:54:56 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C87637C.5060708@spamm.me.l8s.co.uk>
References: <57c7939b.0203070444.5f1ac389@posting.google.com>

Ameya wrote:

> hi,
> my END driver for 802.11 based wireless card on x86 platform does not
> give me the expected performance. I dont use the netjobadd, instead a
> task is spawned (priority 51) and it takes a semaphore. The data is
> copied from the hardware into my preallocated buffer inside the ISR.
> All the work regarding getting Mblks from the pool (I use NetTupleGet)
> and sending it to the upper layers is
> done in this task. The semaphore is given inside the ISR on a RX
> interrupt. I have a watchdog timer that runs every 100 ticks (where
> 1000 ticks = 1 Second). I use this timer to handle missing interrupts.
>
> When i ping with 2048 bytes, the avg rtt is 8 ms which translates to 4
> Mbps throughput roughly.
> If i try to transfer 100 Kb data over TCP sockets, it takes a long
> time (in seconds).
> I tried changing the Send and Recieve socket buffer sizes but the
> performance is still the same or worser.
>
> Any ideas?

I would suspect that you are suffering from lost packets.

Maybe the TCP window size is larger than the buffer space

somewhere?

What are you talking to?
I'm not sure how much buffer space the Aironet base stations
I've used had. But large transfers did seem slow.
(However we were writing to flash, and the erase delays
completely mess up TCPs RTT calculations)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Ans to Re: [reboot error in target shell]
Date: Thu, 7 Mar 2002 11:47:08 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <XBJh8.3041$5o.2325367@newsr2.u-net.net>
References: <APCh8.297$PC3.496772@news.bora.net> <8HEh8.4112$eM.3813@sccrnsc02> <pPFh8.305$PC3.522854@news.bora.net>

"sung goh" <gohs@redshift-technology.com> wrote in message
news:pPFh8.305$PC3.522854@news.bora.net...
> ***** Target Shell *****
>
> ->lkup "reboot" ; then
> reboot 0x00xxxxxx
> reboot_verify 0x00xxxxxx

 Wow. Most hexadecimal addresses only have letters going up as high as
'F'. You must have the little-known base-34 version of VxWorks.

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: to give a float parameter to a function by shell ?
Date: Thu, 7 Mar 2002 12:11:47 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <YBJh8.3042$5o.2325367@newsr2.u-net.net>
References: <200236-17584-978979@foorum.com> <3C867F15.1040302@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C867F15.1040302@spamm.me.l8s.co.uk...
> Charly wrote:
>
> > Hello again,
> >
> > I tried to do by SHELL
> >
> > ->getfloat(1.02)
> >
> >
> > But the function "getfloat" sees 0.0 instead of
> > 1.02.
> > The function getinteger(5) works fine.
> >
> > Is there a trick to give a float to a function throught telnet?
> > Thanks
>
>
> IIRC the shell will treat a fp number as double.
> Since it doesn't have the function prototype it will always
> pass a double value anyway.
>
> Depending on the argument passing scheme used on your
> architecture you might be able to fool things by
> typing the integer form of the float number.
>
> This does get tricky - however I get the following:

 It's completely futile to attempt this under anything like the PPC EABI,
which passes the first few arguments to any function in registers rather on
the stack, and uses different registers for integer and fp arguments, alas.
:(

 The only solution in those cases is to write your functions to take
pointers to floats, or add wrappers for the ones you want to use from the
shell; in Charly's example:

- ->getfloat(1.02)

we could add a wrapper to call getfloat

void ptr_getfloat (double *x)
{
 getfloat (*x)
}

and then say

- -> dbl = 1.2

- -> ptr_getfloat (&dbl)

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: to give a float parameter to a function by shell ?
Date: Thu, 7 Mar 2002 13:16:44 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8768AC.5080506@spamm.me.l8s.co.uk>
References: <200236-17584-978979@foorum.com> <3C867F15.1040302@spamm.me.l8s.co.uk> <YBJh8.3042$5o.2325367@newsr2.u-net.net>

Dave Korn wrote:

> It's completely futile to attempt this under anything like the PPC EABI,
> which passes the first few arguments to any function in registers rather on
> the stack, and uses different registers for integer and fp arguments, alas.
> :(

Yes - now write printf() according to the single Unix standard
(the one that allows you to specify the number of the argument
in the format)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Thu, 07 Mar 2002 14:18:51 +0000
From: Philip Macfarlane <philip@ramix.com>
Organization: RAMiX Europe Ltd
Message-ID: <u8etmd48ipre8f@corp.supernews.com>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com>

On Thu, 07 Mar 2002 12:25:10 +0000, Ahn Jung Hoon wrote:

> By default, it was written in MV2600.h #define CPU_PCI_MEM_SIZE
> 0x01000000	/* 16 meg */
>
> so, I modified it as following..
> #define CPU_PCI_MEM_SIZE	0x20000000	/* 256 meg */

If 0x01000000 is 16MB then
 0x10000000 is 256 MB.

I think?

Cheers,
Philip.

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Thu, 7 Mar 2002 15:26:55 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a67tbe$jhu$1@snoopy.bndlg.de>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fa7a.dip.t-dialin.net

Hi,

> Please..
> Can anybody let me understand in the easiest way what is problem.

Your problem is, you mix up local address view and PCI address view !
When your BAR0 says 0x10000000, your CPU will have to access
PCI_MEM2LOCAL(0x10000000).

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Ahn Jung Hoon" <emycall@dreamx.net> schrieb im Newsbeitrag
news:2b0ae335.0203070425.4ca35b57@posting.google.com...
> Hi, all
>
> I have a problem in accessing pci memory space
>
> Previously,
> My work space is..
>
> VxWorks version 5.4
> KERNEL: WIND version 2.5
> CPU: Motorola Unknown - MPC 750. Processor #0.
> Memory Size: 0x10000000. BSP version 1.2/0.
> WDB: Ready.
>
> well..
> I have PCI memory card, and it's size is 256MB..
>
> By default, it was written in MV2600.h
> #define CPU_PCI_MEM_SIZE 0x01000000 /* 16 meg */
>
> so, I modified it as following..
> #define CPU_PCI_MEM_SIZE 0x20000000 /* 256 meg */
>
> Then I met data access error as following..
>
> -------------------------------------------------------
> -> pciHeaderShow(0, 0x10, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0000
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0x03
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
> --------------------------------------------------------------
>
> But When I modified it as following, I could success to display and
modified
> at PCI_BASE_ADDR(0x08000000)..
> #define CPU_PCI_MEM_SIZE 0x10000000 /* 128 meg */
>
> ..
>
> I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> for memory access more than 16MB..
>
> But.. Maybe, it seems to be incorrect..
>
> Please..
> Can anybody let me understand in the easiest way what is problem.

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

Newsgroups: comp.os.vxworks
Subject: Spurious Vx Works errors during building
Date: Thu, 7 Mar 2002 15:03:28 -0000
From: "KatMoore" <KatMoore@Hotmail.com>
Message-ID: <3c87813f$1@pull.gecm.com>

Hi,

I wonder can anyone help me with a problem which is causing me more than a
few problems at the minute.

I am building a downloadable project in Tornado II with vxWorks 5.4. In it
I have set up four custom builds using different rule in order to build a
final "vxWorks.st_rom.bin" image.

The third rule runs the make command in the BSP directory in order to build
the vxWorks.hex image but at the moment every time I run the rule the build
fails with the following message

'C:\Tornado\target\lib\libPPC604gnuvx.a vxWorks.st.Z.o
bootInit_st.o: In function `romStart':
bootInit_st.o(.text+0xb6): undefined reference to `_binArrayEnd'
bootInit_st.o(.text+0xba): undefined reference to `_binArrayEnd'
make[1]: *** [vxWorks.st_rom] Error 0x1
make[1]: Leaving directory `C:\Tornado\target\config\rs60x'
make: *** [Step_3] Error 0x2

Done.'

Now the rule was working fine for many months now, but has started to play
up this last 2 days. It is now happening so much that I am getting it every
time I build this rule. The only way I can get past it is to do a BSP clean
build and then do a BSP vxWorks build.

The BSP in use is for a Radstone board and Tornado does not have any of the
windriver cumulative patches installed.

Any help would be greatly appreciated.

Regards

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Thu, 07 Mar 2002 10:22:39 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C8785BF.B0B61D32@notifier-is.net>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com>

*probably* the problem is the MMU setup in the BSP. It may not be mapping in
the memory area you want to read from.

David

Ahn Jung Hoon wrote:

> Hi, all
>
> I have a problem in accessing pci memory space
>
> Previously,
> My work space is..
>
> VxWorks version 5.4
> KERNEL: WIND version 2.5
> CPU: Motorola Unknown - MPC 750. Processor #0.
> Memory Size: 0x10000000. BSP version 1.2/0.
> WDB: Ready.
>
> well..
> I have PCI memory card, and it's size is 256MB..
>
> By default, it was written in MV2600.h
> #define CPU_PCI_MEM_SIZE 0x01000000 /* 16 meg */
>
> so, I modified it as following..
> #define CPU_PCI_MEM_SIZE 0x20000000 /* 256 meg */
>
> Then I met data access error as following..
>
> -------------------------------------------------------
> -> pciHeaderShow(0, 0x10, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0000
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0x03
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
> --------------------------------------------------------------
>
> But When I modified it as following, I could success to display and modified
> at PCI_BASE_ADDR(0x08000000)..
> #define CPU_PCI_MEM_SIZE 0x10000000 /* 128 meg */
>
> ..
>
> I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> for memory access more than 16MB..
>
> But.. Maybe, it seems to be incorrect..
>
> Please..
> Can anybody let me understand in the easiest way what is problem.

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

Newsgroups: comp.os.vxworks
Subject: Can't mount NFS directories
Date: 7 Mar 2002 07:40:35 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0203070740.69fc70ff@posting.google.com>

Can anyone here give me advice about how I should go about mounting
target NFS directories on my host machine? I have the NFS server
configured into the application, and while it's running, I see 5
tNfsd* tasks running, as well as tMountd, and tNetTask, and they're
all PENDing.

When I try to mount one of the target directories on my Linux machine
(RedHat, kernel 2.4.7) it gives me an error "mount failed, reason
given by server: No such file or directory" dispite the many, many
directories I've tried and all combinations of slashes at the
beginning and the end of directory names.

The linux machine currently has a few other NFS mounts so I assume
there is nothing wrong with the client software. I am running Tornado
2.0.2, but I was running Tornado 2.1.0 a few months ago, and it didn't
work with that either. I was going to chalk this problem up to YAVA
(yet another vxworks atrocity), but it looks like other people on this
newsgroup have been using the NFS server.

I remember having to downgrade my Linux wu-ftpd server about 4-5
*years* in order to get the vxWorks client software to work with it,
which tells me a lot about what I'm working with here. It wouldn't
surprise me if I also needed to downgrade my NFS client software, but
I'm not going to hassle with that unless I have some sort of
confirmation that it might fix the problem.

Any suggestions?
Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: [reboot error in target shell]
Date: 07 Mar 2002 10:52:29 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ubse0qssi.fsf@yahoo.com>
References: <APCh8.297$PC3.496772@news.bora.net>
Sender: bpringlemeir@DeadDuck

 sung> I am new to Vxworks. I typed reboot in target shell,
 sung> then error messages come out and then started beeping.

Debugging Rule #1, Divide and conquer.

Can you try sysToMonitor() directly? Does it work? sysToMonitor() is
usually in sysLib.c... [is it somewhere else for boot roms?]. Please
post the code to sysToMonitor() if it doesn't work. Otherwise, post
the output of `ifShow'.

Regards,
Bill Pringlemeir.

- --
PLO class struggle terrorist cracking Albanian spy Peking FSF Rule
Psix arrangements Delta Force KGB counter-intelligence Ortega radar

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: 07 Mar 2002 11:02:03 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u7kooqsck.fsf@yahoo.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Hwa" == Hwa Jin Bae <hjb@pso.com> writes:

 Hwa> I personally would not use multiple tasks reading from one
 Hwa> socket. I am not sure why doing so would be useful. I might be
 Hwa> lacking in my imagination.

 "http://www.w3.org/Library/User/Architecture/Threads.html"

Maybe we don't think so either, but other people might... Well, at
least if you are trying to shoe-horn *nix code with thread use in to
vxWorks. Unfortunately K&R allowed portable code and not portable
programs... and hence was born the RTOS industry.

Regards,
Bill Pringlemeir.

- --
assassination FSF colonel PLO Treasury terrorist Legion of Doom NSA
Panama munitions genetic Semtex cracking Waco, Texas cryptographic

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Thu, 7 Mar 2002 08:06:51 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8f42bci5tjj51@corp.supernews.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com> <3C8758BE.7080106@spamm.me.l8s.co.uk>

David, the socket descriptors behave correctly as I said before. Why don't
you try it? Read and Write that are pending should return when socket is
closed. Subsequent write and read should return error as well on the
socket.

In terms of general I/O system race conditions, I was not responsible for
those. :-)

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 07 Mar 2002 11:23:40 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u1yewqrcj.fsf@yahoo.com>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com> <d2eae3bd.0203050921.6b458ce4@posting.google.com> <a672pf$j5s$1@at-vie-newsmaster01.nextra.at>
Sender: bpringlemeir@DeadDuck

 >> Yes 2.96 is somthing you can get from WindRiver , but it have
 >> problems that I want to see if someone solve.

 Mario> i ve got it from vxWorks too (from my sales rep, after i asked
 Mario> for). But i didnt installed it, since it was just avail for
 Mario> x86 and i need the same compiler feastures for multiple
 Mario> targets. What problems did you experience with 2.96

Well, I am using gcc 2.96 with the T2.1.1 distribution (on an ARM
710A). Not only do I appear to be a `trail blazer', but I will
actually share the information I have as oppose to waiting for someone
else :-P [that is a childish jibe]

Anyways, it appears that having a better C++ compiler can be a draw
back, as Dave Korn explains to me in this thread,

 "http://groups.google.com/groups?th=17097eddd0275f62"

The entire thread is probably relevant to this conversation [it is
probably still fresh on your news server!]. Anyways, there are
several bugs in the compiler. Some are in the 2.7 compiler, but might
not be exposed as readily. They include code to fix the stack values
in the compiler and a patched cygwin dll. Somebody asked for these
via email. I don't think this is `fair' to me as it would not be nice
for me to do to this to WRS, even though it is not nice of them to
make these fixes generally available.

The stack fix can be done with mingw tools [or cross tools built for
an x86 pe target, but you are probably on NT to begin with...]. I
don't know what has been distributed with a fix to the cygwin DLL. Do
I have a right to re-distribute this? From other conversation, it
appears that this is contention for people using the cygwin tools. I
don't use the cygwin tools. If you did, this would introduce more
problems no doubt.

The 2.96 compiler is much better in my opinion; generating better code
and allowing more current C++ constructs. I have been waiting for such
a release for some time. Rather ironic that most *nix machines will
be going to 3.xx soon.

I would be interested in other specific problems and not vague
allusions.

Regards,
Bill Pringlemeir.

- --
BLOWN UP BY FIVE AIRPLANES. ENGAGING VALIUM NOZZLE. U-828.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Thu, 7 Mar 2002 08:27:36 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8f598srtdl045@corp.supernews.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com> <u7kooqsck.fsf@yahoo.com>

It makes somewhat sense for Unix to do something like that. But not for
VxWorks.

If you are porting code it might be better to rewrite that part.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: May I ask you a question of vxworks and 3c90x network card?
Date: Thu, 7 Mar 2002 17:53:01 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c879af1$1@brateggebdc5.br-automation.co.at>
References: <200203060752.XAA25690@csg.lbl.gov> <3C867989.DC5BAC57@rti.com>

Hi,

it is often sufficient to add your cards device and vendor IDs to the PCI
detection code.
This code is part of the BSP and named sysEl3c90xEnd.c in case of the 3com
board.

hth
Werner

"Lori Fraleigh" <lori@rti.com> wrote in message
news:3C867989.DC5BAC57@rti.com...
>
> If you have a 3Com 3c90x network card, you need to enable
>
> INCLUDE_EL_3C90X_END
>
> and use elPci as your boot device.
>
> I found an interesting problem a few weeks ago. This driver
> works with 3C90x cards that have a Lucent chip on them. It
> does not work with cards that have a Broadcom chip on them.
> I specifically ran into problems with the 3C905C-TX-M cards
> which 3Com is now producing.
>
> Regards,
> Lori
>
>
> >
> > ------=_NextPart_000_01EA_01C1C527.0564C0D0
> > Content-Type: text/plain;
> > charset="gb2312"
> > Content-Transfer-Encoding: quoted-printable
> >
> > Dear:
> > Sorry to bother you!
> > By chance,I found from the internet that you maybe have used =
> > 3c90x series network card in the platform of vxworks,I want to know is =
> > there any existing driver of this series network card for vxworks.
> > Thank you in advance!
> > yours sincerely:
> > Mike zhou
>
> --
> Lori Fraleigh Director of Engineering
> Real-Time Innovations, Inc. http://www.rti.com
> Phone: 408-734-4200 x121 Fax: 408-734-5009

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

Newsgroups: comp.os.vxworks
Subject: Re: Ans to Re: [reboot error in target shell]
Date: Thu, 7 Mar 2002 18:00:22 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c879caa$1@brateggebdc5.br-automation.co.at>
References: <APCh8.297$PC3.496772@news.bora.net> <8HEh8.4112$eM.3813@sccrnsc02> <pPFh8.305$PC3.522854@news.bora.net>

Hi,

VxWorks 5.4 for x86 platform uses the sysWarmType global variable to
determine which kind of reboot should be executed.
AFAIK default is floppy disk, so maybe somthing is wrong with that.

In the shell, look at the value of this variable.
Just type

sysWarmType

and VxWorks will tell you the current value.
Values for pc486 and pcPentium BSPs are (not complete list):

0 ... trash global descriptor table, does "real" reboot
1 ... reload from floppy disk
2 ... reload from ATA disk

To do a 'real' reboot on pcPentium target, do:

sysWarmType=0; reboot;

hth
Werner

"sung goh" <gohs@redshift-technology.com> wrote in message
news:pPFh8.305$PC3.522854@news.bora.net...
> ***** Target Shell *****
>
> ->lkup "reboot" ; then
> reboot 0x00xxxxxx
> reboot_verify 0x00xxxxxx
> ..
> ..
> ..
> rebootHookAdd 0x00xxxxxx
>
>
> -> reboot
> General Protection Fault
> Program Counter : 0x0005de06
> Status Register : 0x00250057
> Error Code : 0x00000000
>
> ==> beeping and stuck here
>
>
>
> **** Bootrom display ****
> brief configurations
>
> CPU: PC Pentium
> Version: 5.4.2
> BSP version : 1.2/0
>
> boot device : fei
> filename : vxWorks.st
> ....
> ...
> .
>
> Thanks.
>
>
> "Gary M" <com.vertical@garym> wrote in message
> news:8HEh8.4112$eM.3813@sccrnsc02...
> > What is your target?
> > What are the error messages?
> > reboot() calls sysToMonitor(), which is part of the BSP (sysLib.c).
Check
> > that out.
> > Can you display the boot Rom/flash device from the target shell?
> >
> > "sung goh" <gohs@redshift-technology.com> wrote in message
> > news:APCh8.297$PC3.496772@news.bora.net...
> > > I am new to Vxworks.
> > >
> > > [Problem]
> > > I typed reboot in target shell, then error messages come out and then
> > > started beeping.
> > >
> > > [What I did before the error messages]
> > > I don't see anything wrong in making bootrom disk and vxworks image
> > > transfer.
> > > I completed booting from a disk and downloading vxworks image from
host
> to
> > > target, then tried to reboot typing "reboot"
> > >
> > > Is there a way to solve this?
> > >
> > > Modify bootconfig.c? rominit.s? any other ideas?
> > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Thu, 7 Mar 2002 09:11:39 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8f7rs8416v156@corp.supernews.com>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org>

I think it is possible to shim between IP and mux. I read muxLib and it
looks like the pointer to stack routines are provided as a binding
(muxBind). It should be possible to insert shimmy routines and forward to
bound destinations. Looking at muxShow output it seems this is just
forwarding stuff.

Probably a little tricky to do, but doable. I will leave it to be done by
smarter and younger crowd.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can't mount NFS directories
Date: Thu, 7 Mar 2002 09:37:28 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8f9ccpq5367fc@corp.supernews.com>
References: <95ebbe31.0203070740.69fc70ff@posting.google.com>

I don't envy the task of having to debug this situation. What I would do to
debug:

1. nfsExportShow("localhost") to see if VxWorks is exporting correct mount
points
2. showmount -e from Linux to see if VxWorks is exporting stuff
3. get the sniffer out and capture the packets and look at the network
trace
4. set a breakpoint in mount daemon task in VxWorks and single step through
(assembly code)
5. pray to the God of VxWorks NFS server

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: END Driver performance
Date: Thu, 7 Mar 2002 10:37:03 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8fcs0o569ub11@corp.supernews.com>
References: <57c7939b.0203070444.5f1ac389@posting.google.com> <3C87637C.5060708@spamm.me.l8s.co.uk>

Transferring 100K over TCP is not conclusive performance measurement.
Especially if you are setting up connection and tearing down each time.

Use something like TTCP to transfer a large amount of data to see what the
problem might be.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can't mount NFS directories
Date: 7 Mar 2002 10:38:49 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203071038.1e98956c@posting.google.com>
References: <95ebbe31.0203070740.69fc70ff@posting.google.com>

Hello,

There's no reason why Linux NFS servers should not work - I've mounted
them OK from VxWorks. There are some general rules though for NFS:

1) Make sure that the file system is being exported to your target
(esp. on Linux, the exports file tends to restrict to specific
machines, or subnets).

2) Make sure that you have the user ID and group ID set on the target
to match the UID/GID settings on the server. See nfsAuthUnixSet()
and/or nfsAuthUnixPrompt(). These can also be set using parameters
when building the kernel image (NFS_USER and NFS_GROUP IIRC).

3) Make sure that your target knows the server by name (see hostAdd()
to add the host name/address association if necessary).

4) Issue the mount command, e.g. nfsMount "host", "/hda1",
"/host/hda1"
That will mount /hda1 on host as /host/hda1 on the target.

HTH,

John...

agraham@openglobe.net (Aaron Graham) wrote in message news:<95ebbe31.0203070740.69fc70ff@posting.google.com>...
> Can anyone here give me advice about how I should go about mounting
> target NFS directories on my host machine? I have the NFS server
> configured into the application, and while it's running, I see 5
> tNfsd* tasks running, as well as tMountd, and tNetTask, and they're
> all PENDing.
>
> When I try to mount one of the target directories on my Linux machine
> (RedHat, kernel 2.4.7) it gives me an error "mount failed, reason
> given by server: No such file or directory" dispite the many, many
> directories I've tried and all combinations of slashes at the
> beginning and the end of directory names.
>
> The linux machine currently has a few other NFS mounts so I assume
> there is nothing wrong with the client software. I am running Tornado
> 2.0.2, but I was running Tornado 2.1.0 a few months ago, and it didn't
> work with that either. I was going to chalk this problem up to YAVA
> (yet another vxworks atrocity), but it looks like other people on this
> newsgroup have been using the NFS server.
>
> I remember having to downgrade my Linux wu-ftpd server about 4-5
> *years* in order to get the vxWorks client software to work with it,
> which tells me a lot about what I'm working with here. It wouldn't
> surprise me if I also needed to downgrade my NFS client software, but
> I'm not going to hassle with that unless I have some sort of
> confirmation that it might fix the problem.
>
> Any suggestions?
> Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: Ans to Re: [reboot error in target shell]
Date: Thu, 7 Mar 2002 10:45:39 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8fdc5gpt6a58b@corp.supernews.com>
References: <APCh8.297$PC3.496772@news.bora.net> <8HEh8.4112$eM.3813@sccrnsc02> <pPFh8.305$PC3.522854@news.bora.net>

Typically, when you get errors like that here are steps to take:

1. Look at the PC (in your case 0x5de06) to see what the code is.
Disassemble it via "l". It should tell you where the code is bombing out.
2. Look at the caller of the PC. Do "ti" and retrieve return address and
disassemble. Or do "tt".
3. Follow all the disassembled code to figure out what's going on.

The problems I have seen with reboot:

1. reboot calls rebootHooks before calling sysToMonitor. If any of the
rebootHooks are bad then you can run into trouble. Most common rebootHooks
added by the system are the routines to reset the network interfaces.
Frequently this causes problems if resetting is not done properly.
2. Related to above, reset routines in network drivers should properly quiet
down relevant hardware, including PHY, etc.
3. sysToMonitor is typically implemented as a jump to bootrom. If possible,
perform reset instruction instead (if your CPU allows it). Or do something
else to reset at HW level. Sometimes just jumping to bootrom does not work
properly if all hardware is not reset correctly.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: VGA Driver using the WindML
Date: 7 Mar 2002 10:46:30 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203071046.46127df2@posting.google.com>
References: <43191605.0203062308.206d66f8@posting.google.com>

Hello,

aephraty@rugged.com (Avi Ephraty) wrote in message news:<43191605.0203062308.206d66f8@posting.google.com>...
> Is there someone who wrote a VGA driver using WindML (preferbly using
> the component Permedia3 of 3DLABS)?
>
> I wonder how complicated is this task ?(How much time it should take?)

If you have a rough idea of what you're doing with a video driver, you
can port an xfree86 driver to WindML's driver format in a few days
(I've done two now that way). That should get you the basic chip setup
and some of the accelerations too in most cases.

> I also want to integrate it with Video Overlay. I wonder how
> complicated this task is?

This one I don't know, the drivers I've done have been for more
standard chipsets.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Thu, 7 Mar 2002 11:35:32 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a68ff3$2th$3@newsreader.mailgate.org>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com>
Sender: gold@ensemble.com

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u8f7rs8416v156@corp.supernews.com...
> I think it is possible to shim between IP and mux. I read muxLib and it
> looks like the pointer to stack routines are provided as a binding
> (muxBind). It should be possible to insert shimmy routines and forward to
> bound destinations. Looking at muxShow output it seems this is just
> forwarding stuff.
>
> Probably a little tricky to do, but doable. I will leave it to be done
by
> smarter and younger crowd.

If it makes you feel any better, as long as you're not running DHCP on the
interface, you can still use etherInputHook() and vxSniff.c :-)

Although (to add some semblance of content) the correct way is to add bind a
SNARF protocol to the Mux layer.

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Initialize multiple ethernet interface after boot vxworks?
Date: Thu, 7 Mar 2002 11:44:06 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a68fv5$35g$3@newsreader.mailgate.org>
References: <dda52d29afaada6e39175a2e467871e7.75083@mygate.mailgate.org> <a6228h$2vr$1@snoopy.bndlg.de> <a63dp0$pvr$3@newsreader.mailgate.org> <ca925cc313807aeb529ea4a31865499b.75083@mygate.mailgate.org>
Sender: gold@ensemble.com

"Choo Joung-hoon" <jhchoo@solartt.co.kr> wrote in message
news:ca925cc313807aeb529ea4a31865499b.75083@mygate.mailgate.org...
> "Dan Gold" <gold@ensemble.com> wrote in message
> news:a63dp0$pvr$3@newsreader.mailgate.org...
> So, I make a entry in configNet.h. So, muxDev(Load, Start) was called
> when boot.
> Only [ muxIoctl, ipAttach, usrNetIfAttach ] is called from my function.
> But the Situation is not good.(the same result)
>
> > Did you look at the RxBDs to see if they're full ? Is it possible (due
to
> > an incorrect load string) that you're not generating any interrupts,
thus no
> > one is taking the packets out of the driver ? Did you look at FCCE to
see
> > if any interrupts are pending ?
>
> No, Rx operation in end driver is good, interrupt is surviced. RxBD is
> correct.
> Interrupts are not pending.

Are you sure your parameter RAM is setup correctly ? Does your FCC driver
have the vxWorks bug where it only supports 1 FCC ? Look in the parameter
RAM at the riptr/tiptr for each FCC. They should be different. If they are
the same, your driver has the bug. Do you have source to the driver ? Can
anyone shed light on the status of the bug ? Can you get a fix ? Is it in a
current release/BSP ?

If the RxBDs look ok, have you dumped a buffer address associated with a
valid RxBD and looked at the data ? If you're on a network with other
machines, and your i/f isn't transmitting, you should see broadcast ARP
requests in the buffers. If you don't, your data is not correct and IP may
be dropping the packet. Try {icmp, udp, tcp}statShow() and see if they see
anything. Try pinging your board from a valid host and see what the RxBDs
look like. Can you transmit ? If you initiate a ping(), the interface
should send out an arp request. Can you look at the network with a sniffer
and see if it goes out ? Do other machines see your MAC address (due to
your ARP request) ?

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can't mount NFS directories
Date: Thu, 7 Mar 2002 21:49:17 GMT
From: Craig Johnston <craig.e.johnston@boeing.com>
Organization: The Boeing Company
Message-ID: <3C87E05D.AE966178@boeing.com>
References: <95ebbe31.0203070740.69fc70ff@posting.google.com>
Sender: nntp@news.boeing.com (Boeing NNTP News Access)

Aaron,

One other thing to look at. If you are exporting a DosFs2 file system, you
cannot run 'chkdsk()' on the disk after you export the filesystem. If you do, it
messes something up and you will not be able to mount the filesystem on your
client. I learned this the hard way. One way it bites you, is if you have the
DosFs2 partition setup to automatically run chkdsk when it is first accessed, but
you exported the FS prior to the access.

Just a thought.

Aaron Graham wrote:
>
> Can anyone here give me advice about how I should go about mounting
> target NFS directories on my host machine? I have the NFS server
> configured into the application, and while it's running, I see 5
> tNfsd* tasks running, as well as tMountd, and tNetTask, and they're
> all PENDing.
>
> When I try to mount one of the target directories on my Linux machine
> (RedHat, kernel 2.4.7) it gives me an error "mount failed, reason
> given by server: No such file or directory" dispite the many, many
> directories I've tried and all combinations of slashes at the
> beginning and the end of directory names.
>
> The linux machine currently has a few other NFS mounts so I assume
> there is nothing wrong with the client software. I am running Tornado
> 2.0.2, but I was running Tornado 2.1.0 a few months ago, and it didn't
> work with that either. I was going to chalk this problem up to YAVA
> (yet another vxworks atrocity), but it looks like other people on this
> newsgroup have been using the NFS server.
>
> I remember having to downgrade my Linux wu-ftpd server about 4-5
> *years* in order to get the vxWorks client software to work with it,
> which tells me a lot about what I'm working with here. It wouldn't
> surprise me if I also needed to downgrade my NFS client software, but
> I'm not going to hassle with that unless I have some sort of
> confirmation that it might fix the problem.
>
> Any suggestions?
> Aaron

- --
Craig Johnston
Did you know you can't steer a boat that isn't moving? Just like a life.
							-- Paul Lutus

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

Newsgroups: comp.os.vxworks
Subject: Re: a tool that calculates the number of code line in a projet?
Date: 7 Mar 2002 22:46:00 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna8frd8.nnk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <200236-17519-282492@foorum.com>

 * Charly <cdupinco@hotmail.com> [03-Wed-02 08:51 -0800]:
 >

 > Hello,
 > I am looking for a free utility able to calculate the number of code lines in a
 > C project. Able to see the /*xxxx*/, //, blank lines.

you probably should mention an OS when you ask things like
this ...

anyway, if its windows, i jsut saw something here:
http://www.analogx.com/contents/download/program/kloc.htm

though, I dont know how well it works, whether it ignores
your comments and whatnot. try it...

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: ULIP on non-neworked w2k station
Date: Thu, 7 Mar 2002 17:54:19 -0500
From: "Mark Richards" <mprichards@delthis.msn.com>
Organization: AT&T Canada IES
Message-ID: <ScSh8.2519$a04.13336@tor-nn1.netcom.ca>
References: <MeKg8.1899$a04.10904@tor-nn1.netcom.ca>

After seeing several related questions in the group and in the FAQ, let
me rephrase my question this way:

- - Is it expected that the network tutorial for T2 (chapter 4 of Getting
Started guide) and the instructions in A.3 work with no change on a
computer that only has the ULIP virtual adapter ?

"Mark Richards" <mprichards@delthis.msn.com> wrote in message
news:MeKg8.1899$a04.10904@tor-nn1.netcom.ca...
> Hello,
>
> I'm trying to go through the networking demo in Tornado 2.0.2 from a
> Windows 2000 pro system, but I am running into TCP/IP configuration
> problems, probably because the ULIP virtual adapter is the only
network
> card on this system.
>
> These are the symptoms of the bad configuration:
> - ping 90.0.0.254 successfully from cmd prompt
> - ping "90.0.0.254" successfully from the two vxsim instances
> - ping 90.0.0.1 or 90.0.0.2 fails from cmd prompt
> - ping "90.0.0.2" or "90.0.0.1" fails from the vxsim instances
> - ping "127.0.0.1" fails from the vxsim instances
>
> I assume part of this is routing. I enabled IP routing in w2k through
> the registry as described in w2k KB, checked the routes with route,
and
> even added the routes manually, but pings to anything but ULIP adapter
> fail.
>
> Perhaps relevent: the local area network that appears in net&dial-up
> once ULIP is installed is disabled, and fails with "failed to connect"
> when I try to enable it (but still the pings to the adapter work).
>
> It is possible that when I installed w2k pro I disabled those services
> that would not be needed in a non-networked workstation.
>
> This is probably a simple w2k networking configuration problem, but
I'm
> no expert in that :-}. If anyone has the same setup or knows what the
> problem is, please help !
>
> Thanks,
> Mark
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: END Driver performance
Date: Thu, 7 Mar 2002 23:17:13 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$7oimsg$aq5$1@lnews.actcom.co.il>
References: <57c7939b.0203070444.5f1ac389@posting.google.com>

Fro the sound of it, you wont be getting any brilliant
performance out of this one because
 "data is copied from the hardware into my preallocated buffer inside the
ISR"

This means all packet data needs to be read from the hardware
and written to memory in SOFTWARE.

This is akin to the imfamous ENE driver for the NE2000 compatible
cards, they eat up so much CPU doing these transfers from 8-nit I/O
port, leaving little CPU headroom for doing much else.

If your hardware folks are subborn, the least you can do is write
this copy loop as effeciently as you possibly can, measuring this
effeciency with a logic analyzer.

 Leonid

"Ameya" <bondi_ameya@yahoo.com> wrote in message
news:57c7939b.0203070444.5f1ac389@posting.google.com...
> hi,
> my END driver for 802.11 based wireless card on x86 platform does not
> give me the expected performance. I dont use the netjobadd, instead a
> task is spawned (priority 51) and it takes a semaphore. The data is
> copied from the hardware into my preallocated buffer inside the ISR.
> All the work regarding getting Mblks from the pool (I use NetTupleGet)
> and sending it to the upper layers is
> done in this task. The semaphore is given inside the ISR on a RX
> interrupt. I have a watchdog timer that runs every 100 ticks (where
> 1000 ticks = 1 Second). I use this timer to handle missing interrupts.
>
> When i ping with 2048 bytes, the avg rtt is 8 ms which translates to 4
> Mbps throughput roughly.
> If i try to transfer 100 Kb data over TCP sockets, it takes a long
> time (in seconds).
> I tried changing the Send and Recieve socket buffer sizes but the
> performance is still the same or worser.
>
> Any ideas?
>
> Thanks
> Ameya

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Thu, 7 Mar 2002 15:28:34 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8ftv064k3000d@corp.supernews.com>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com> <a68ff3$2th$3@newsreader.mailgate.org>

I wrote vxsniff.c long time ago. Does it still work with SENS stack? I
never tried to run it in SENS.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Fri, 08 Mar 2002 00:08:28 GMT
From: "Matt Schuckmann" <matt.schuckman@verizon.net>
Message-ID: <0iTh8.7396$J3.1346@nwrddc01.gnilink.net>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net> <3C850A5B.3040106@spamm.me.l8s.co.uk> <A2wh8.2902$J3.1067@nwrddc01.gnilink.net> <a67e76$a3o$1@snoopy.bndlg.de>

I tried his example but it doesn't work, I get a mesage "A host function
cannot be used as an argument"

Any other ideas?

Thanks
Matt S.

"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a67e76$a3o$1@snoopy.bndlg.de...
> Hi Matt,
>
> just read a nd do how David said:
> on all critical commands use
> -> sp <cmd>,<par1>,<par2>,.....
> This seems the only way to get around your problems. All commands entered
> without 'sp' will be executed at the same priority as the shell you invoke
> it from.
>
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
> SOFTEC GmbH Tel +49-731-96600-0
> Promenade 17 Fax +49-731-96600-23
> D-89073 Ulm Michael Lawnick
> Germany lawnick@softec.de
> ==============================================
>
> "Matt Schuckmann" <matt.schuckman@verizon.net> schrieb im Newsbeitrag
> news:A2wh8.2902$J3.1067@nwrddc01.gnilink.net...
> > All good ideas guys but want if I want to use the ld() shell command to
> > dynamically load a module.
> >
> > The behaviour I've observed is that when I give the shell a command,
like
> > ld() or even one of my own functions, it spawns a very high proiorty
task,
> > priorty 3 I think and it's usually called t01, t02, t03, etc) to run the
> > function. Now if it's one of my own functions I can explicitly change
the
> > priorty right off and I'm good. But what I can't figure out is how to
make
> > the ld(), or other shell commands, to run at a lower priority so that
they
> > don't preempt my real time task.
> >
> > Any ideas would be great
> > Thanks
> > Matt Schuckmann
> >
> > matthew_schuckmann@amat.com
> >
> > "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> > news:3C850A5B.3040106@spamm.me.l8s.co.uk...
> > > >>Does anybody know if there is a way to change the priorty at which
> > > >>function and commands run from windsh run at?
> > > >>
> > > >>The problem I'm having is that I've got a significant part of my
code
> > > >>loaded and running and I'm dynamically loading and unloading another
> > >
> > > >>part of the code to make it easier and quicker to debug it.
> > > >>When I use the ld() command to dynamicaly load and unload the
> > > >>module I'm debugging the loader runs in the windsh task and that
> > > >>task appears to run at such a high priority that it prevents my
> > > >>hard real time task from running for long enough that I end up
> > >
> > > >>having to reset my hardware after loading or unloading my test
module.
> > >
> > >
> > > Just ask the shell to spawn a task to do the work....
> > >
> > > sp ld,"filename"
> > >
> > > will run at a reasonable priority
> > >
> > > David
> > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: outp with gcc?????
Date: Fri, 08 Mar 2002 00:57:09 GMT
From: "Nejhdeh Ghevondian" <nej@intspec.com>
Organization: Integrated Spectronics
Message-ID: <F%Th8.10126$nC6.51335@news-server.bigpond.net.au>
Reply-To: "Nejhdeh Ghevondian" <nej@intspec.com>

Dear anyone,

I have just purchased a card to be used with my ppc card that needs to write
to ports in vxWorks.

My question is how do i implement outp and inp in gcc format.

Note: windows has equivilant of _outp and _inp (using conio.h) for accessing
ports given the address.

Thanks

Nejhdeh

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Thu, 7 Mar 2002 17:11:10 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a6934f$bti$3@newsreader.mailgate.org>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com> <a68ff3$2th$3@newsreader.mailgate.org> <u8ftv064k3000d@corp.supernews.com>
Sender: gold@ensemble.com

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u8ftv064k3000d@corp.supernews.com...
> I wrote vxsniff.c long time ago. Does it still work with SENS stack? I
> never tried to run it in SENS.

Since it uses EtherInputHookAdd(), it works. The MUX thinks it's passing it
up to IP but it really goes to the input hook. Of course WRS says stuff
about the input hooks going away, but under SENS and T101, it will work.

 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: 5 dollar emails
Date: Fri, 08 Mar 2002 01:33:53 GMT
From: stmnps@comcast.net
Organization: Giganews.Com - Premium News Outsourcing
Message-ID: <5yUh8.111278$pN4.6449262@bin8.nnrp.aus1.giganews.com>

Please check out 5 dollars an email...I earned over $850.00 last month simply by using this program. This company is free to join. You can get paid and earn prizes for surfing,reading email,t aking surveys, chatting and playing games. To read all about the program,you must click on the link and sign up. there are no obligations Just click on the link on the mail and it will take you to the sign-up page in a new window. Remember to refer all your friends, as this is how you will make more money.
GOTO http://www.5DollarEmails.com/cgi-bin/signup.cgi?r=prowler00x@comcast.net

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

Newsgroups: comp.os.vxworks
Subject: Multihoming
Date: Thu, 7 Mar 2002 18:59:48 -0800
From: "Gurmeet Goindi" <goindi@nortelnetworks.com>
Organization: Nortel
Message-ID: <a699g9$ja8$1@bcarh8ab.ca.nortel.com>

Greetings,

I need to support two ip addresses on one NIC, ne pointers how to do that.

Thanks in Advance,
Gurmeet

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

Newsgroups: comp.os.vxworks
Subject: BSD Ethernet Driver
Date: 7 Mar 2002 21:26:26 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203072126.4cc28aaf@posting.google.com>

Hi All,
I am quite familiar with VxWorks. But, I am new to network drivers. I
have a BSD 4.3 Network driver which works with very less throughput.
So, I am trying to change it to use DMA. Is there any template which
can throw some light on this? Any document, or links for this will be
highly appreciated.

Thanks in Advnace,
Vittal.

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

Newsgroups: comp.os.vxworks
Subject: Re: Multihoming
Date: Thu, 7 Mar 2002 21:54:23 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8gki43ee5n8b9@corp.supernews.com>
References: <a699g9$ja8$1@bcarh8ab.ca.nortel.com>

ifAddrAdd

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Thu, 7 Mar 2002 21:54:59 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8gkj6c619njcc@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com>

Tornado comes with a sample driver for LANCE which shows how to use DMA
buffer loaning.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: [Q] about Mutual-Exclusion Semaphore
Date: 7 Mar 2002 22:17:54 -0800
From: belliny@soback.kornet.net (belliny, Mint~*)
Organization: http://groups.google.com/
Message-ID: <6fb8119a.0203072217.f24ce32@posting.google.com>

below is typical mutual-exclusion semaphore example.
semaphore's purpose is to protect the shared resource or something
else/
with semMLib, it can be taken more than once by the task that owns it
before finally being released. then, how can i control the access to
resource?

as below, both funcA and funcB can access same resource at the same
time.

Please let me know exactly what i knew wrong...
thanks in advance...

SEM_ID semM;

semM = semMCreate(...);

funcA()
{
 semTake(semM, WAIT_FOREVER);
 ...
 funcB();
 ...
 SemGive(semM);
}

funcB()
{
 semTake(semM, WAIT_FOREVER);
 ...
 semGive(semM);
}

- -> init
 0: init(void)
 1: ios::init(streambuf *, ostream *)
 2: filebuf::init(void)
Choose the number of the symbol to use: 0
value = 84797920 = 0x50de9e0
- -> funcA
funcA : got mutual-exclusion semaphore
funcB : got mutual-exclusion semaphore
funcB : Give mutual-exclusion semaphore
funcA : Give mutual-exclusion semaphore
value = 40 = 0x28 = '('
- ->

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

Newsgroups: comp.os.vxworks
Subject: Re: where has some VxWorks example program?
Date: 7 Mar 2002 22:24:40 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203072224.3e73edd2@posting.google.com>
References: <f26c5fdc.0203031738.30fd7895@posting.google.com>

hi lily
 You can find all the vxworks rel;ated example programs at following
website and it will teach u whole vxworks i suppose...
 http://www.rt.db.erau.edu/experiments/vx/toc/TableOfContents.html
do write to me if you have any querry
regards
ali
q2319c@email.mot.com (Lily) wrote in message news:<f26c5fdc.0203031738.30fd7895@posting.google.com>...
> Hi all,
>
> Does anybody know where has some VxWorks example program?
> Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Thu, 7 Mar 2002 09:46:02 +0100
From: "Mario Semo" <mario.semo@kirchnersoft.com>
Organization: Nextra Telekom GmbH
Message-ID: <a69n3j$637$1@at-vie-newsmaster01.nextra.at>
References: <900e9637.0203060746.2d1c1bda@posting.google.com>

Hello,

if you have MS VC++ 6.0 too install the CRT sources from the CD and look
into xtoa() implementation. this function converts a 64bit integer into an
ascii string. it was an easy job for me to make this compileable for vxworks
and added it to my projects.

- --
regards, Mario Semo. http://www.kirchnersoft.com
Goran <reachgoran@yahoo.com> wrote in message
news:900e9637.0203060746.2d1c1bda@posting.google.com...
> Hi,
>
> I am trying to print 64bit values using printf function.
> ===========================
> #include <stdio.h>
>
> void myprint()
> {
> unsigned long long var1, var2;
>
> printf("sizeof unsigned long long = %d\n", sizeof(var1));
>
> var1 = 4294967290ULL; /* A value less than ( (2 power 32) -1 */
> printf("var1 = %llu\n", var1);
>
> var1 = 42949672960ULL; /* A value greater than ( (2 power 32) */
> printf("var2 = %llu\n", var2);
>
>
> }
> ============================
> I am using Tornado 2.0 and have tried using a "simpc" based and
> "pcPentium" based BSPs. The libraries used were
>
> simpc ->
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-pc-mingw32\egcs-2.90.29
> \libgcc.a
>
> pcPentium ->
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-wrs-vxworks\cygnus-2.7.2-960126\l
ibgcc.a
>
> But, I am not getting correct result while printing the second
> variable var2? ( Or any value which is greater than or equal to (2
> power 32).
>
> For the above code the results were:
> sizeof unsigned long long = 8
> var1 = 4294967290
> var2 = 4008636142
>
> Could someone please explain this abnormal behaviour??
>
> Thanks
> Goran.

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

Newsgroups: comp.os.vxworks
Subject: Re: Were can i get the document " Tornado BSP Development Kit BSP Version 1.1"
Date: 7 Mar 2002 23:43:06 -0800
From: christian.delez@ascom.ch (Christian Delez)
Organization: http://groups.google.com/
Message-ID: <c8d852f9.0203072343.35d7255a@posting.google.com>
References: <b909991d.0203070102.5a26a0e0@posting.google.com>

The "Tornado BSP Development Kit" is a printed book and drivers
samples. There is (December 2001) no electronic format of it.
Wind River ask money for it. It's not free !!!!!
You have to order it. It's the same for Tornado 1.0.1 and Tornado 2
(and 2.0.2).

There is a base version (book + drivers samples in objects) and a
value option (book + drivers sample in source code).

@+, Christian.

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

Newsgroups: comp.os.vxworks
Subject: I want to get a copy of source code of 3c90x network card for vxworks?
Date: 8 Mar 2002 00:35:52 -0800
From: zhoul@blrcsv.china.bell-labs.com (zlybupt)
Organization: http://groups.google.com/
Message-ID: <989cdae4.0203080035.5e21fcc9@posting.google.com>

Is there any?If have,Can you send me one copy?
Thank you very much in advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd MuxLoad failed
Date: Fri, 08 Mar 2002 09:22:44 GMT
From: "Paul Iannacito" <paul.iannacito@attbi.com>
Organization: AT&T Broadband
Message-ID: <Ep%h8.2975$uA5.5938@rwcrnsc51.ops.asp.att.net>
References: <3c86380f$0$231$4d4ebb8e@read-nat.news.nl.uu.net>

Hello again Niels,

<spam@kpsws.com> wrote in message
news:3c86380f$0$231$4d4ebb8e@read-nat.news.nl.uu.net...
> Thanks to the help from Paul Iannacito I managed to include the ln97xEnd
> driver in my bsp by implementing
sysLan97xEnetAddrGet,sysLan97xIntEnable,sysLan97xIntDisable,sysOutLong,sysIn
Long
> in the sysEnd.c of my arm integrator bsp.
>
> When i type h from the bootline it says that the following boot devices
> are available: lnPci0 (Some part must definitely work now)
>
> But when i try to boot from this device I get the following error: muxLoad
> fa (mustbe muxload Failed I gues, crashed before printing the whole
> sentence???)

You supplied a sample of what your BSP's endDevTbl[] looks like:

END_TBL_ENTRY endDevTbl [] =
{

#ifdef INCLUDE_LN_97X_END
 {0, LN_97X_LOAD_FUNC_0, LN_97X_LOAD_STR_0, TRUE, NULL, FALSE},
#endif /* INCLUDE_LN_97X_END */

 /* Entries that can be filled in dynamically when cards are found */

 { 0, END_TBL_END, NULL, 0, NULL, FALSE},
 { 0, END_TBL_END, NULL, 0, NULL, FALSE},
 { 0, END_TBL_END, NULL, 0, NULL, FALSE},

 /* End of table marker */

 { 0, END_TBL_END, NULL, 0, NULL, FALSE}
};

It appears that this is a BSP that attempts to dynamically create the
endDevTbl[] entries. I've noticed that a few of the WRS ARM BSPs
are doing this. The entry you created from the pc486 BSP endDevTbl[]
makes sense for those BSPs that initialize the table with compile-time
configuration constants. I think that this is how a lot of the WRS BSPs
used to do it - I believe that a lot of them still use the preprocessor to
control the entries in the endDevTbl[].

Anyway, before I digress too far, I'll venture a guess at what _might_
have happened in your case. Since the BSP END driver configuration
code is attempting to dynamically populate the endDevTbl[] entries, I
could see a scenario where:

(1) You left a configuration constant for another END driver (DEC, FEI, &c)
 defined for the build of your bootrom and / or vxWorks image.

(2) You also defined your configuration constant for the ln97xEnd driver
 entry you put in the endDevTbl[].

(3) The ln97xEnd PCI device discovery and PCI config space configuration
 code you added to your BSP maybe did not account for the config code
 for the other END drivers that were dynamically configuring the devices
 and putting entries in the endDevTbl[].

The result? I'll bet that the config code for one of the other END drivers
could have overwritten your statically defined entry in the endDevTbl[].

Well, I don't know on this one. Make sure that you've undefined the config
constants for the other END drivers. Maybe check out how your PCI
config code might work if the other END drivers are configured into a build.

BTW, John's comment about having to do all the work for the PCI config
setup (programming the BARs, setting the interrupt line reg., &c.) is
certainly true.
I'm sure that you probably know that the Intel i86 BSPs, for the most part,
use the
PCI config info programmed by a BIOS. However, even if you manage to muck
up the PCI config stuff when you do it yourself, many of the END drivers
will
still LOAD successfully. That is, in some cases you can mess up the PCI
init and
muxLoad() can still succeed, even if the device itself is not functional.
This just
depends upon the driver. In any case, it is probably a good idea to have
another
look at the PCI config code you put together for ln97xEnd and see how this
works
with the other PCI config code in the BSP. Also, have a look at what the
other
device config code is doing to the endDevTbl[] entries.

Good luck,

paul

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

Newsgroups: comp.os.vxworks
Subject: ctors/dtors
Date: Fri, 8 Mar 2002 09:52:25 -0000
From: "DMC" <david.mccorkindale@nospam.com>
Message-ID: <3c8889b5$1@pull.gecm.com>

Hi there,

I'm trying to link together two output files into one large file for blowing
into flash. when I do the link I get warnings about _ctors and _dtors. Has
anyone come across this problem and solved it?

Thanks.

David.

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: 8 Mar 2002 00:06:30 -0800
From: emycall@dreamx.net (Ahn Jung Hoon)
Organization: http://groups.google.com/
Message-ID: <2b0ae335.0203080006.7465a6eb@posting.google.com>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com> <u8etmd48ipre8f@corp.supernews.com>

Philip Macfarlane <philip@ramix.com> wrote in message news:<u8etmd48ipre8f@corp.supernews.com>...
> On Thu, 07 Mar 2002 12:25:10 +0000, Ahn Jung Hoon wrote:
>
> > By default, it was written in MV2600.h #define CPU_PCI_MEM_SIZE
> > 0x01000000	/* 16 meg */
> >
> > so, I modified it as following..
> > #define CPU_PCI_MEM_SIZE	0x20000000	/* 256 meg */
>
> If 0x01000000 is 16MB then
> 0x10000000 is 256 MB.
>
> I think?
>
> Cheers,
> Philip.

Thanks for your answer..

O.K.. You are right.

But even if pci's size is 16MB, to setting CPU_PCI_MEM_SIZE as 0x01000000 is

error..

I don'k know the reason.

Only solution is

 default size * 2 ..

 ex>
 pci memory size default size real setting size
 16MB 0x01000000 0x02000000
 32MB 0x02000000 0x04000000
 64MB 0x04000000 0x08000000
 128MB 0x08000000 0x10000000
 128MB 0x10000000 0x20000000

Do you unerstand what I mean..??

So. What do you think about it..??

Repeatedly, thank you very much for your answer..

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: 8 Mar 2002 02:06:31 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203080206.2515b5ff@posting.google.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com>

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u8gkj6c619njcc@corp.supernews.com>...
> Tornado comes with a sample driver for LANCE which shows how to use DMA
> buffer loaning.

Hi,
Thanks for the info. I had glanced through it earlier, but I was under
the impression that it does not use DMA. Anyway, I will go through it
again.

Thanks again,
Vittal.

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] about Mutual-Exclusion Semaphore
Date: Fri, 8 Mar 2002 08:41:54 -0000
From: "Thomas Horsten" <nospam-thomas.horsten@newport-networks-nospam.com>
Organization: Newport Networks Ltd.
Message-ID: <1015576917.343045@azores.network-i.net>
References: <6fb8119a.0203072217.f24ce32@posting.google.com>

belliny, Mint~* wrote:

> below is typical mutual-exclusion semaphore example.
> semaphore's purpose is to protect the shared resource or something
> else/
> with semMLib, it can be taken more than once by the task that owns it
> before finally being released. then, how can i control the access to
> resource?
>
> as below, both funcA and funcB can access same resource at the same
> time.
>
> Please let me know exactly what i knew wrong...
> thanks in advance...

It is hard to see what, if indeed anything, goes wrong in your example,
since your code is stripped from anything that could give a hint to what you
are trying to do..

From what I can see you are getting the expected behaviour. You are not
showing another task trying to take the semaphore.

> funcA : got mutual-exclusion semaphore
> funcB : got mutual-exclusion semaphore
> funcB : Give mutual-exclusion semaphore
> funcA : Give mutual-exclusion semaphore
> value = 40 = 0x28 = '('
> ->

What is wrong here? It looks ok to me. Please try to be more specific.

Now if I am to venture a guess on what you mean, I'd assume you are
surprised that funcB gets the semaphore. This is the expected behaviour for
a VxWorks mutex semaphore. It makes it possible for a function that takes a
semaphore to call other functions that requires exclusive access to the same
resource (but can also be called from a context where the semaphore has not
already been taken). It never makes sense to block in this case, since it
would result in a deadlock situation, but if that is what you really want
just use a binary semaphore instead.

// Thomas

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

Newsgroups: comp.os.vxworks
Subject: Re: END Driver performance
Date: Thu, 7 Mar 2002 23:17:13 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$te9nsg$2z6$1@lnews.actcom.co.il>
References: <57c7939b.0203070444.5f1ac389@posting.google.com>

Fro the sound of it, you wont be getting any brilliant
performance out of this one because
 "data is copied from the hardware into my preallocated buffer inside the
ISR"

This means all packet data needs to be read from the hardware
and written to memory in SOFTWARE.

This is akin to the imfamous ENE driver for the NE2000 compatible
cards, they eat up so much CPU doing these transfers from 8-nit I/O
port, leaving little CPU headroom for doing much else.

If your hardware folks are subborn, the least you can do is write
this copy loop as effeciently as you possibly can, measuring this
effeciency with a logic analyzer.

 Leonid

"Ameya" <bondi_ameya@yahoo.com> wrote in message
news:57c7939b.0203070444.5f1ac389@posting.google.com...
> hi,
> my END driver for 802.11 based wireless card on x86 platform does not
> give me the expected performance. I dont use the netjobadd, instead a
> task is spawned (priority 51) and it takes a semaphore. The data is
> copied from the hardware into my preallocated buffer inside the ISR.
> All the work regarding getting Mblks from the pool (I use NetTupleGet)
> and sending it to the upper layers is
> done in this task. The semaphore is given inside the ISR on a RX
> interrupt. I have a watchdog timer that runs every 100 ticks (where
> 1000 ticks = 1 Second). I use this timer to handle missing interrupts.
>
> When i ping with 2048 bytes, the avg rtt is 8 ms which translates to 4
> Mbps throughput roughly.
> If i try to transfer 100 Kb data over TCP sockets, it takes a long
> time (in seconds).
> I tried changing the Send and Recieve socket buffer sizes but the
> performance is still the same or worser.
>
> Any ideas?
>
> Thanks
> Ameya

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

Newsgroups: comp.os.vxworks
Subject: Re: outp with gcc?????
Date: Fri, 8 Mar 2002 11:22:50 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8890fe@brateggebdc5.br-automation.co.at>
References: <F%Th8.10126$nC6.51335@news-server.bigpond.net.au>

Hi,

for x86, functions are provided in the BSP that provide this functionality.

sysOutByte(addr, value)
sysInByte(addr)

I don't know if these are available on other platforms.

hth
Werner

"Nejhdeh Ghevondian" <nej@intspec.com> wrote in message
news:F%Th8.10126$nC6.51335@news-server.bigpond.net.au...
> Dear anyone,
>
> I have just purchased a card to be used with my ppc card that needs to
write
> to ports in vxWorks.
>
> My question is how do i implement outp and inp in gcc format.
>
> Note: windows has equivilant of _outp and _inp (using conio.h) for
accessing
> ports given the address.
>
> Thanks
>
> Nejhdeh
>
>

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

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

From vxwexplo-errs@csg.lbl.gov Fri Mar 8 12:47:57 2002
From: Anuradha Pani <buisingh@yahoo.com>
Date: Fri Mar 8 12:48:00 PST 2002
Subject: broadcasting using sockets

hi,

how do i broadcast a message using sockets in vxworks?

thanks
anu

__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

From vxwexplo-errs@csg.lbl.gov Sat Mar 9 04:03:18 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Mar 9 04:03:21 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sat Mar 9 04:03:14 PST 2002

 Subject: Re: outp with gcc?????
 Subject: Re: ctors/dtors
 Subject: Re: where has some VxWorks example program?
 Subject: What is reason for errno = S_objLib_OBJ_ID_ERROR ?
 Subject: Re: a tool that calculates the number of code line in a projet?
 Subject: Re: BSD Ethernet Driver
 Subject: PPP interface not doing IP forwarding
 Subject: Re: BSD Ethernet Driver
 Subject: Re: ctors/dtors
 Subject: Porting from VxWorks 5.3 to 5.4
 Subject: Re: ctors/dtors
 Subject: Re: What is reason for errno = S_objLib_OBJ_ID_ERROR ?
 Subject: Re: BSD Ethernet Driver
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: Re: BSD Ethernet Driver
 Subject: Re: BSD Ethernet Driver
 Subject: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
 Subject: question about drivers
 Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
 Subject: Re: BSD Ethernet Driver
 Subject: Re: I want to get a copy of source code of 3c90x network card for vxworks?
 Subject: Re: [Q] about Mutual-Exclusion Semaphore
 Subject: Re: BSD Ethernet Driver
 Subject: What's the device name for serial port on X86
 Subject: Re: BSD Ethernet Driver
 Subject: Can I ask a question of Pci ?
 Subject: RA 0x0 out of range
 Subject: Re: Unresolved symbol while download program : __eabi?
 Subject: Re: END Driver performance
 Subject: Re: Spurious Vx Works errors during building
 Subject: Help:Who have materials about developing the driver of 3c90x in vxworks?
 Subject: Regarding connected status of socket...

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

Newsgroups: comp.os.vxworks
Subject: Re: outp with gcc?????
Date: Fri, 08 Mar 2002 13:37:47 +0100
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3C88B09B.6ABFBF45@sepro-robotique.com>
References: <F%Th8.10126$nC6.51335@news-server.bigpond.net.au> <3c8890fe@brateggebdc5.br-automation.co.at>

Werner Schiendl wrote:
> for x86, functions are provided in the BSP that provide this functionality.
> sysOutByte(addr, value)
> sysInByte(addr)
> I don't know if these are available on other platforms.

Hi,

Yes, it's also available on PPC (in "sysALib.s" /target/config/your_bsp/).

Regards
Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: ctors/dtors
Date: 8 Mar 2002 06:06:26 -0800
From: christian.delez@ascom.ch (Christian Delez)
Organization: http://groups.google.com/
Message-ID: <c8d852f9.0203080606.64bb5804@posting.google.com>
References: <3c8889b5$1@pull.gecm.com>

> I'm trying to link together two output files into one large file for blowing
> into flash. when I do the link I get warnings about _ctors and _dtors. Has
> anyone come across this problem and solved it?
>
I'm doing this for PowerPC target from NT host and it works fine.
Could you tell us your configuration:
- - host (NT, Unix)
- - target CPU type
- - Tornado and VxWorks version
- - a copy of the error message.

@+, christian.

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

Newsgroups: comp.os.vxworks
Subject: Re: where has some VxWorks example program?
Date: 8 Mar 2002 06:09:43 -0800
From: christian.delez@ascom.ch (Christian Delez)
Organization: http://groups.google.com/
Message-ID: <c8d852f9.0203080609.4a311b73@posting.google.com>
References: <f26c5fdc.0203031738.30fd7895@posting.google.com>

>
> Does anybody know where has some VxWorks example program?
> Thanks in advance.

Go to WindSurf site home page (This is Wind River support site):
http://www.wrs.com/windsurf
There is a link to Sample code.
You must be registred user with valid support. If you have download
Tornado Prototyper from http://www.wrs.com, you can ask for a WindSurf
acount for free.

@+, Christian.

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

Newsgroups: comp.os.vxworks
Subject: What is reason for errno = S_objLib_OBJ_ID_ERROR ?
Date: Fri, 8 Mar 2002 15:46:46 +0100
From: "Joachim Wittmann" <joachim.wittmann@gmx.de>
Message-ID: <a6aisd$d1a4m$1@ID-99394.news.dfncis.de>

Hi to All !

I have a semTake() function call in my application which returns with ERROR
and errno set to S_objLib_OBJ_ID_ERROR. Before this error occurs the
function works fine. I couldn't find a description for this error code, but
have some memory violation in mind. So what is the reason for returning this
error ?

Thanks for help.

Regards
Joachim

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

Newsgroups: comp.os.vxworks
Subject: Re: a tool that calculates the number of code line in a projet?
Date: 08 Mar 2002 12:15:05 GMT
From: charly <cdup.inco@laposte.net>
Message-ID: <200238-13155-849005@foorum.com>
References: <200236-17519-282492@foorum.com> <slrna8frd8.nnk.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Thanks,
I tested it.
This tool count only the lines. So comments are lines also.

Oups... I am under Windows

Charly

- --
Use our news server 'news.foorum.com' from anywhere.
More details at: http://nnrpinfo.go.foorum.com/

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 8 Mar 2002 08:52:37 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8hr4acknq0ec5@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com>

Alas, you are correct. It seems someone took out all the DMA chaining and
mbuf scatter / gather stuff on the output side. I spent a lot of time
coding all the drivers that way including LANCE driver. It looks like
someone changed them to all bcopy_to_mbuf() after I left.

However, there seem to be two LANCE drivers in Tornado examples. One is BSD
style and another END style. BSD style has all the DMA stuff gone. END
style has DMA TX side code under #if 0. You can take a look at that.

Lesson here is: just because it is a little harder to do TX DMA chaining, it
doesn't mean you should just take it out of the drivers.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: PPP interface not doing IP forwarding
Date: Fri, 08 Mar 2002 16:55:02 GMT
From: "Venky" <v.papavinasam@attbi.com>
Organization: AT&T Broadband
Message-ID: <G16i8.4087$ZR2.2677@rwcrnsc52.ops.asp.att.net>

Hello Vxworks Gurus,

I have a PPP established to a Vxworks system from a
standalone system. The Vxworks system has a ether
interface to a different network (195.1.3.0). Now
I want the Vxworks PPP interface to do IP forwarding to
the ether interface so I can reach the systems on the
195.1.3.0 network. The problem now I'm facing is the
PPP link is not forwarding any packets. I looked at
the PPP source but couldn't find IP forwarding flag
settings with a PPP interface.

Can someone shed some light on this ?

Thanks in advance.
PV.

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 08 Mar 2002 13:17:59 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C890057.E551DBDA@varndellengineering.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com>

Hwa Jin Bae wrote:
>
> Alas, you are correct. It seems someone took out all the DMA chaining and
> mbuf scatter / gather stuff on the output side. I spent a lot of time
> coding all the drivers that way including LANCE driver. It looks like
> someone changed them to all bcopy_to_mbuf() after I left.
>
> However, there seem to be two LANCE drivers in Tornado examples. One is BSD
> style and another END style. BSD style has all the DMA stuff gone. END
> style has DMA TX side code under #if 0. You can take a look at that.
>
> Lesson here is: just because it is a little harder to do TX DMA chaining, it
> doesn't mean you should just take it out of the drivers.

With all due respect, while I agree whole-heartedly with your
conclusion,
I have to believe that if someone removed an existing feature from a
network driver, it was probably because the driver didn't work well
enough
to support Tornado sales demos. Why would WRS discard working code?

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD. 21502
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: Re: ctors/dtors
Date: Fri, 08 Mar 2002 19:59:13 +0100
From: ilyas G <ilyas@no-spam.guennoun.org>
Organization: Wanadoo, l'internet avec France Telecom
Message-ID: <3C890A01.7080406@no-spam.guennoun.org>
References: <3c8889b5$1@pull.gecm.com>

this is constructors(ctor) and destructors(dtor).
you have to include a certain file, unfortunatly i am at home now, I
will check on monday, if no response.

DMC wrote:

> Hi there,
>
> I'm trying to link together two output files into one large file for blowing
> into flash. when I do the link I get warnings about _ctors and _dtors. Has
> anyone come across this problem and solved it?
>
> Thanks.
>
> David.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Porting from VxWorks 5.3 to 5.4
Date: 8 Mar 2002 12:07:19 -0800
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0203081207.6b67c4c2@posting.google.com>

How significant were the changes between VxWorks 5.3 and 5.4?
In which areas did it change?

If I need to port a large driver for a proprietary PCI device
from 5.3 to 5.4, how much work am I letting myself in for?

Many Thanks,
 jjf

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

Newsgroups: comp.os.vxworks
Subject: Re: ctors/dtors
Date: Fri, 8 Mar 2002 21:07:22 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8919fb$1@brateggebdc5.br-automation.co.at>
References: <3c8889b5$1@pull.gecm.com>

Hi,

you need to link the .o files, not the .out files.

If there are many .o files, you can make a library out of one project (.a
file) and link this to the other.

In the process of merging all the .o files to a big .out file, the build
mechanism creates tables with static constructors and destructors.
Therefore, you cannot link .out files (at least with the default build
setup).

hth
Werner

"DMC" <david.mccorkindale@nospam.com> wrote in message
news:3c8889b5$1@pull.gecm.com...
> Hi there,
>
> I'm trying to link together two output files into one large file for
blowing
> into flash. when I do the link I get warnings about _ctors and _dtors. Has
> anyone come across this problem and solved it?
>
> Thanks.
>
> David.
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: What is reason for errno = S_objLib_OBJ_ID_ERROR ?
Date: Fri, 8 Mar 2002 21:10:04 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c891a9d$1@brateggebdc5.br-automation.co.at>
References: <a6aisd$d1a4m$1@ID-99394.news.dfncis.de>

Hi,

When you call a system function that takes a handle (e. g. a SEM_ID in your
case), VxWorks verifies that this is really what it should be (well, most of
the time).
So you probably have overwritten the memory used for the semaphore.

AFAIK (but not 100% sure), the SEM_ID is actually the address of this
storage.

The error should be documented with objLib (if such a help entry exists, I
don't have it at hand now)

hth
Werner

"Joachim Wittmann" <joachim.wittmann@gmx.de> wrote in message
news:a6aisd$d1a4m$1@ID-99394.news.dfncis.de...
>
> Hi to All !
>
> I have a semTake() function call in my application which returns with
ERROR
> and errno set to S_objLib_OBJ_ID_ERROR. Before this error occurs the
> function works fine. I couldn't find a description for this error code,
but
> have some memory violation in mind. So what is the reason for returning
this
> error ?
>
> Thanks for help.
>
> Regards
> Joachim
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: 08 Mar 2002 15:19:07 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uofhyols4.fsf@yahoo.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com>
Sender: bpringlemeir@DeadDuck

>>> Hwa Jin Bae wrote:

 >> Alas, you are correct. It seems someone took out all the DMA
 >> chaining and mbuf scatter / gather stuff on the output side. I
 >> spent a lot of time coding all the drivers that way including
 >> LANCE driver. It looks like someone changed them to all
 >> bcopy_to_mbuf() after I left.
 >>
 >> However, there seem to be two LANCE drivers in Tornado examples.
 >> One is BSD style and another END style. BSD style has all the DMA
 >> stuff gone. END style has DMA TX side code under #if 0. You can
 >> take a look at that.
 >>
 >> Lesson here is: just because it is a little harder to do TX DMA
 >> chaining, it doesn't mean you should just take it out of the
 >> drivers.

>>>>> "George" == George Varndell <george@varndellengineering.com> writes:

 George> With all due respect, while I agree whole-heartedly with your
 George> conclusion, I have to believe that if someone removed an
 George> existing feature from a network driver, it was probably
 George> because the driver didn't work well enough to support Tornado
 George> sales demos. Why would WRS discard working code?

Actually Hwa Jin said "because it is a little harder", which seems to
indicate that he actually did think that there were some problems with
the DMA. Someone at WRS just decided to trash them instead of
extending or fixing them.

Anyways if I can divert this thread from the highly relevant personal
attacks, the MPC 8260 has a 100 Mb Ethernet capabilities. In order,
to run that driver at 100Mb, you must use DMA. So if WRS does support
the MPC 8260 at 100Mb, it will have examples that use the BD and
PowerQuicc and DMA and all those goodies.

hth,
Bill Pringlemeir.

- --
TORPEDOED BY NETSCAPE 29W 32S. SINKING. U-193.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: 8 Mar 2002 12:21:15 -0800
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0203081221.7b1ec505@posting.google.com>
References: <5c04bc56.0202272342.124108d6@posting.google.com>

jjf@bcs.org.uk (J. J. Farrell) wrote in message news:<5c04bc56.0202272342.124108d6@posting.google.com>...
>
> I'm looking for the source code of a C (or C++) implementation
> of the 'SCSI over Fibre Channel' stack - SCSI commands at the
> top and Fibre Channel Frames at the bottom. Does anyone know of
> an available implementation, free or commercial?

Thanks to you all for your input on this. Some good leads have
popped up along with Usenet's usual "interesting" diversions.

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 8 Mar 2002 21:16:44 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c891c2c$1@brateggebdc5.br-automation.co.at>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com>

> Why would WRS discard working code?
>

To simplify the demo code?
To keep the chance to sell a better one? Or 'premium services'?

Decisions are not always made on a technically correct base.

regards
Werner

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 8 Mar 2002 12:40:16 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8i8fdr189iv2f@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com>

I am far from perfect and I do write buggy code sometimes. But LANCE DMA
code worked very well on all hardware I have tested exhaustively. It worked
very well. But you can blame me if you want. It's OK with me I don't take
it personally.

I actually now remember what happened. Someone took out the DMA code
claiming that it didn't work after I left. When I returned to do some
consulting I did notice some code changes like this. I asked DNW about it
and he didn't know about it. Later the guy who did that got fired. But I
don't think anyone went back to return the code into drivers. The taking
out of code really wasn't justified.

Now, there are some complications for doing loaning and chaining. Some of
these are easily avoided by following the rules. When I initially designed
the mechanism for all that, I did write down these rules but they seemed to
have been forgotten. If you don't follow the rules, then you can run into
problems under heavy load.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
Date: Fri, 8 Mar 2002 16:20:28 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203081610250.14393-100000@zimbra>
References: <65b2abfc.0203060736.2f705117@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 6 Mar 2002, Venkat Mynampati wrote:

> I read an article by Paul Wilson and others
> (Dynamic Storage Allocation: Survey and Review)
> and in that it was mentioned that:
> "Best fit, FIFO ordered First Fit and address
> ordered first-fit"
> perform the same manner, with a fragmentation of 22%.
>
> Where as First-Fit based on LIFO is Worse with 54%
> fragmentation!

The last time that I was struggling with memory fragmentation, I tried
rather unsuccessfully to come up with a useful quantification of the
fragmentation of the heap. Wilson, et al, quote fragmentation of various
allocators as 22% or 54%, but I could never discover how they were ariving
at these figures.

If you have a system with virtual memory, where the heap requests more
pages from the OS when it runs out, you can measure fragmentation as the
ratio of free memory to total memory (mapped in). This is working off the
assumption that new pages get mapped in when the free memory in the
existing pages is fragmented to small to be useful.

However, if you have a fixed memory space (no virtual memory, as is the
norm in VxWorks), how do you quanitfy fragmentation?

I eventually gave up on coming up with an objective measurement, and just
eyeballed the free list to decide if it "looked" more or less fragmented.
The other rule of thumb I use is the ratio of largest free block to total
free memory, but that seems to leave a lot to be desired.

Keith

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

Newsgroups: comp.os.vxworks
Subject: question about drivers
Date: Fri, 08 Mar 2002 22:18:29 GMT
From: "Hadi" <sdfs@hotmail.com>
Organization: Magma Communications Ltd.
Message-ID: <VMai8.4008$f5.170341@news>

Hi,
I am writing an ISR for a device(High speed modem). I know there are many
ways you could optimize the ISR excution time. Does anyone has reference to
any web page that contains information about the optimization of the code in
vxWork.
 send me an email to hadi_dewan @hotmail.com
 Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
Date: 08 Mar 2002 17:24:30 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ug03aofz5.fsf@yahoo.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <Pine.GSO.4.42.0203081610250.14393-100000@zimbra>
Sender: bpringlemeir@DeadDuck

>>>>> "Keith" == Keith Arner <karner@fore.com> writes:

[snip]

 Keith> However, if you have a fixed memory space (no virtual memory,
 Keith> as is the norm in VxWorks), how do you quanitfy fragmentation?

 Keith> I eventually gave up on coming up with an objective
 Keith> measurement, and just eyeballed the free list to decide if it
 Keith> "looked" more or less fragmented. The other rule of thumb I
 Keith> use is the ratio of largest free block to total free memory,
 Keith> but that seems to leave a lot to be desired.

Why is this a bad metric? The largest free block and the time to
allocate would be the best things to measure in my opinion. Perhaps
you should be comparing differences in the "largest free blocks".
Adding more memory will just skew the "largest free blocks" metric.
Where as comparing the difference in "largest free blocks" should be
immune to the size of memory. The time to allocate would be directly
related to the size of the list for list based allocators.

The last thing that could be measured is total free memory. This will
measure the allocator memory overhead.

This is how I determined to replace the vxWorks allocator with Doug
Lea's. That and our application ran about 1.3 - 1.5 times as fast and
over 100 times as long.

Doug Lea's allocator performed even better versus memLib with our
application than some synthetic test that I created. This would seem
to indicate that it has been tuned to some `real world' code. My
synthetic test was probably more `worst case'.

A fairly good single digit metric would be the ratio of largest block
to total free size differences. This does represent `fragmentation'.
A good allocator will have a positive value, a slightly negative
number (0..-1?) would indicate a divergence in internal versus
external fragmentation. A large negative number means that the
allocator with largest block is better... Anyways, I think it is
better to look at all the issues than a single number.

The paper cited says [1],

 Fragmentation is the inability to reuse memory that is free. This
 can be due to policy choices by the allocator, which may choose not to
 reuse memory that in principle could be reused. More importantly for
 our purposes, the allocator may not have a choice at the moment an
 allocation request must be serviced., there may be free areas that
 are too small to service the request ~and whose neighbors are not
 free~, making it impossible to coalesce adjacent free areas into a
 sufficiently large contiguous block.

Which is just to say that an allocator that runs out of memory for
your purposes has fragmented memory. At least that is what I get from
it. They also go on and say that memory allocation is not received
well in computer science, some compiler people touch it, some OS
people and architecture people generally ignore it.

The best thing is to try it with your system. The allocator code size
might be significant to your design, the speed, etc. If you are
looking at fragmentations, then the internal (allocator waste) and the
external (largest block) fragmentation are pertinent.

fwiw,
Bill Pringlemeir.

[1] Dynamic Storage Allocation: A Survey and Critical review.
 Paul R. Wilson, Mark S. Johnstone, Michael Neely, David Boles
 Dept of Computer Science, University of Texas at Austin.

- --
Have you ever joined a church where everyone but you can hum God Save
the Queen madly with your abode? Or had six toilets eat your leg?
You will. And the company that will bring it to you: AT&T.

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 08 Mar 2002 17:21:48 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C89397B.DFA7FE0@varndellengineering.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com>

Bill Pringlemeir wrote:
[snip]
> Anyways if I can divert this thread from the highly relevant personal
> attacks, the MPC 8260 has a 100 Mb Ethernet capabilities. In order,
> to run that driver at 100Mb, you must use DMA. So if WRS does support
> the MPC 8260 at 100Mb, it will have examples that use the BD and
> PowerQuicc and DMA and all those goodies.

I'm not sure where you saw a personal attack. My point was exactly
that WRS doesn't give a damn about network driver performance and
will trash any part of any driver that might jeopardize a sales
demo scenario. Nothing more. Could you be specific about these
personal attacks?

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD. 21502
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to get a copy of source code of 3c90x network card for vxworks?
Date: 8 Mar 2002 14:46:56 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203081446.684887b3@posting.google.com>
References: <989cdae4.0203080035.5e21fcc9@posting.google.com>

Hello,

Speak to your local FAE and/or salesperson. They'll sell the source
code to the network driver if you need it.

HTH,

John...

zhoul@blrcsv.china.bell-labs.com (zlybupt) wrote in message news:<989cdae4.0203080035.5e21fcc9@posting.google.com>...
> Is there any?If have,Can you send me one copy?
> Thank you very much in advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] about Mutual-Exclusion Semaphore
Date: 8 Mar 2002 14:49:12 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203081449.468494c@posting.google.com>
References: <6fb8119a.0203072217.f24ce32@posting.google.com>

Hello,

You have missed the point... a mutex is designed to protect a resource
that is being shared between tasks.

HTH,

John...

belliny@soback.kornet.net (belliny, Mint~*) wrote in message news:<6fb8119a.0203072217.f24ce32@posting.google.com>...
> below is typical mutual-exclusion semaphore example.
> semaphore's purpose is to protect the shared resource or something
> else/
> with semMLib, it can be taken more than once by the task that owns it
> before finally being released. then, how can i control the access to
> resource?
>
> as below, both funcA and funcB can access same resource at the same
> time.
>
> Please let me know exactly what i knew wrong...
> thanks in advance...
>
> SEM_ID semM;
>
> semM = semMCreate(...);
>
> funcA()
> {
> semTake(semM, WAIT_FOREVER);
> ...
> funcB();
> ...
> SemGive(semM);
> }
>
> funcB()
> {
> semTake(semM, WAIT_FOREVER);
> ...
> semGive(semM);
> }
>
> -> init
> 0: init(void)
> 1: ios::init(streambuf *, ostream *)
> 2: filebuf::init(void)
> Choose the number of the symbol to use: 0
> value = 84797920 = 0x50de9e0
> -> funcA
> funcA : got mutual-exclusion semaphore
> funcB : got mutual-exclusion semaphore
> funcB : Give mutual-exclusion semaphore
> funcA : Give mutual-exclusion semaphore
> value = 40 = 0x28 = '('
> ->

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: 08 Mar 2002 18:55:35 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ubsdyobrc.fsf@yahoo.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com>
Sender: bpringlemeir@DeadDuck

>>> Bill Pringlemeir wrote:

 >> Anyways if I can divert this thread from the highly relevant
 >> personal attacks, the MPC 8260 has a 100 Mb Ethernet capabilities.
 >> In order, to run that driver at 100Mb, you must use DMA. So if
 >> WRS does support the MPC 8260 at 100Mb, it will have examples that
 >> use the BD and PowerQuicc and DMA and all those goodies.

>>>>> "George" == George Varndell <george@varndellengineering.com> writes:

 George> I'm not sure where you saw a personal attack. My point was
 George> exactly that WRS doesn't give a damn about network driver
 George> performance and will trash any part of any driver that might
 George> jeopardize a sales demo scenario. Nothing more. Could you be
 George> specific about these personal attacks?

No. I acquiesce.

I hope the OP sees my note about the MPC 8260. I see a BSP listed as
the AE-MdpPro8xxT as well as the "BSP PPMC8260".

"http://web2.windriver.com/cgi-bin/windsurf/downloads/view_binary.cgi?binaryid=399"

"http://web2.windriver.com/cgi-bin/windsurf/downloads/view_binary.cgi?binaryid=379"

Both contain source for the FEC on the Motorola boards. They list
support for the 100Mb Ethernet which should implement the DMA.
Unfortunately the are only for the PowerPC.

That said, the only thing that you have that is different from the
regular driver is that instead of having a TX/RX interrupt to read
each byte (buffer or whatever), you would setup the DMA to transfer to
a buffer and have an interrupt on a "DONE" signal. This would depend
on your CPU DMA controller, which is one of the reasons that it might
be pretty rare to find a driver with one. The driver try to be chip
specific and CPU independent.

So basically, I don't think that the DMA version should be any
different than the non-DMA version except perhaps that the memory
would be allocated to be non-cache-able [a reason why zbufs might not
be good under all circumstances...]

hth,
Bill Pringlemeir.

- --
All Nicaraguan dudes should get whales , huh? My MicroVAX II is
pretty good, right?
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: What's the device name for serial port on X86
Date: Sat, 09 Mar 2002 00:33:33 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C8958C6.E8CC3FB2@bitworkssystemsDELETETHIS.com>

I'm trying to open COM1 on my VMIC 7750 pentium III target under VxWorks
5.4.2. I've tried

fd = open("/tty1", O_RDWR,0);

fd = open("/dev/tty1", O_RDWR,0);

fd = open("tty1", O_RDWR,0);

All of these return fd==ERROR..

Jon Newbill
JonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Fri, 8 Mar 2002 17:17:52 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8ionmaqbtfbde@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com>

I think it might be a lilttle unfair to say "WRS doesn't give a damn about
network driver performance". I think they do care a lot about performance
issues in drivers. I also don't think they take code out for stable demo
purpose or to charge for higher performance drivers. I don't believe that
is the case.

The BSD driver issues are accidental I think, as unfortunate as they may be.
END driver issues are a little less clear. I think WRS understands the
driver issues very well. I have seen their other drivers and they seem to
implement the loaning and buffer chaining DMA output. So at least some
folks in WRS understand the issues very well.

The issue that might be less understood is:

1. When loaning buffers (RX side) up to stack, there should be a limit to
stop the loaning. Without such stop gap system can run into trouble. There
should be a high water mark threshold. Otherwise, an application at socket
level can hog the mbufs. There are other systematic problems that can
happen. Also, it doesn't help a lot to use loaning for small size packets
overall. A threshold value should be used (I defaulted to 512, but it is
by no means a value that should be followed strictly).

2. When chaining DMA buffers for output (and avoiding copies), there should
be a limit there as well. Under extreme cases, BSD TCP stack will send down
a long mbuf chain containing some small mbufs chained together. The number
of mbufs in a chain can be larger than 32. In those cases, it makes little
sense to exhaust descriptor resources by using chained DMA. It is better to
copy. A threshold of some sort is required there as well.

There are some other "unwritten" rules in driver writing. However, these
two apply to the copy avoidance issues.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Can I ask a question of Pci ?
Date: 8 Mar 2002 18:23:07 -0800
From: zhoul@blrcsv.china.bell-labs.com (zlybupt)
Organization: http://groups.google.com/
Message-ID: <989cdae4.0203081823.47edc196@posting.google.com>

Now I am engaged in a project of writing pci network card for
vxworks.I want to know how can i access the io address and the irq
number of the network card before the system boot?
Thank you in advance!

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

Newsgroups: comp.os.vxworks
Subject: RA 0x0 out of range
Date: Fri, 08 Mar 2002 18:21:54 -0800
From: Abe Shen <abeshen@broadcom.com>
Organization: Broadcom
Message-ID: <3C8971C2.2EDF5E39@broadcom.com>

My BSP boots OK. But when BSP tries to load application + OS image off the
network, following printout comes up:

- --- Stack Trace ---
FUNC = 0x80c181d8, PC = 0x80c1821c (0x80c1821c), SP = 0x81f9cfc0
FUNC = 0x80c50548, PC = 0x80c505b4 (0x80c505b4), SP = 0x81f9cfd8
FUNC = 0x80c11410, PC = 0x80c11a10 (0x80c11a10), SP = 0x81f9cff8
FUNC = 0x80c6803c, PC = 0x80c6870c (0x80c6870c), SP = 0x81f9d2d8
RA 0x0 out of range

I cannot even see the following printout "Attached TCP/IP network interface".

Could any gentlepeople give me some clue what went wrong?

Thanks.

Regards,
Abe

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

Newsgroups: comp.os.vxworks
Subject: Re: Unresolved symbol while download program : __eabi?
Date: Fri, 08 Mar 2002 18:30:23 -0800
From: Abe Shen <abeshen@broadcom.com>
Organization: Broadcom
Message-ID: <3C8973BF.9732E824@broadcom.com>
References: <8cd11808.0203050528.6bb7bfcf@posting.google.com>

Unresolved symbol generally means there are some identifiers (variables,
functions,
etc.) that have been referenced, but have never been defined. You may change
your
compiler command line option to report all error/warning message during
compilation.
Then compiler should stop during link stage when there are any unresolved
symbols.
Otherwise, when you download, target server should print out those symbols too.

Regards,
Abe

zjh wrote:

> hi,all
> I have build a program with Tornado .The building process is successful.
> While download the ldp.out to the target ppc860gnu.there is a error:
> Unresolved symbol while
> download ldp.out
> --eabi
> Have anyone seen the problem?Can you give me your advice to solve it?
> all thanks!!
> Sincerely zjh

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

Newsgroups: comp.os.vxworks
Subject: Re: END Driver performance
Date: 8 Mar 2002 20:22:04 -0800
From: bondi_ameya@yahoo.com (Ameya)
Organization: http://groups.google.com/
Message-ID: <57c7939b.0203082022.59113003@posting.google.com>
References: <57c7939b.0203070444.5f1ac389@posting.google.com> <newscache$te9nsg$2z6$1@lnews.actcom.co.il>

David was right. i did notice a lot of lost packets. I have taken care of that
and my driver gives a much improved performance.
Thanks everyone.

ameya

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$te9nsg$2z6$1@lnews.actcom.co.il>...
> Fro the sound of it, you wont be getting any brilliant
> performance out of this one because
> "data is copied from the hardware into my preallocated buffer inside the
> ISR"
>
> This means all packet data needs to be read from the hardware
> and written to memory in SOFTWARE.
>
> This is akin to the imfamous ENE driver for the NE2000 compatible
> cards, they eat up so much CPU doing these transfers from 8-nit I/O
> port, leaving little CPU headroom for doing much else.
>
> If your hardware folks are subborn, the least you can do is write
> this copy loop as effeciently as you possibly can, measuring this
> effeciency with a logic analyzer.
>
> Leonid
>
> "Ameya" <bondi_ameya@yahoo.com> wrote in message
> news:57c7939b.0203070444.5f1ac389@posting.google.com...
> > hi,
> > my END driver for 802.11 based wireless card on x86 platform does not
> > give me the expected performance. I dont use the netjobadd, instead a
> > task is spawned (priority 51) and it takes a semaphore. The data is
> > copied from the hardware into my preallocated buffer inside the ISR.
> > All the work regarding getting Mblks from the pool (I use NetTupleGet)
> > and sending it to the upper layers is
> > done in this task. The semaphore is given inside the ISR on a RX
> > interrupt. I have a watchdog timer that runs every 100 ticks (where
> > 1000 ticks = 1 Second). I use this timer to handle missing interrupts.
> >
> > When i ping with 2048 bytes, the avg rtt is 8 ms which translates to 4
> > Mbps throughput roughly.
> > If i try to transfer 100 Kb data over TCP sockets, it takes a long
> > time (in seconds).
> > I tried changing the Send and Recieve socket buffer sizes but the
> > performance is still the same or worser.
> >
> > Any ideas?
> >
> > Thanks
> > Ameya

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

Newsgroups: comp.os.vxworks
Subject: Re: Spurious Vx Works errors during building
Date: Sat, 09 Mar 2002 07:22:43 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <7Lii8.8666$uA5.8616@rwcrnsc51.ops.asp.att.net>
References: <3c87813f$1@pull.gecm.com>

_binArrayStart and _binArrayEnd are emitted by the binToAsm tool which
converts the deflated binary image back to .s format. For some reason
_binArrayEnd is getting lost. You may want to edit the rules to preserve the
temporary files to determine where the problem is.

"KatMoore" <KatMoore@Hotmail.com> wrote in message
news:3c87813f$1@pull.gecm.com...
> Hi,
>
> I wonder can anyone help me with a problem which is causing me more than a
> few problems at the minute.
>
> I am building a downloadable project in Tornado II with vxWorks 5.4. In
it
> I have set up four custom builds using different rule in order to build a
> final "vxWorks.st_rom.bin" image.
>
> The third rule runs the make command in the BSP directory in order to
build
> the vxWorks.hex image but at the moment every time I run the rule the
build
> fails with the following message
>
>
> 'C:\Tornado\target\lib\libPPC604gnuvx.a vxWorks.st.Z.o
> bootInit_st.o: In function `romStart':
> bootInit_st.o(.text+0xb6): undefined reference to `_binArrayEnd'
> bootInit_st.o(.text+0xba): undefined reference to `_binArrayEnd'
> make[1]: *** [vxWorks.st_rom] Error 0x1
> make[1]: Leaving directory `C:\Tornado\target\config\rs60x'
> make: *** [Step_3] Error 0x2
>
> Done.'
>
> Now the rule was working fine for many months now, but has started to play
> up this last 2 days. It is now happening so much that I am getting it
every
> time I build this rule. The only way I can get past it is to do a BSP
clean
> build and then do a BSP vxWorks build.
>
> The BSP in use is for a Radstone board and Tornado does not have any of
the
> windriver cumulative patches installed.
>
> Any help would be greatly appreciated.
>
>
> Regards
>
>

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

Newsgroups: comp.os.vxworks
Subject: Help:Who have materials about developing the driver of 3c90x in vxworks?
Date: 9 Mar 2002 01:16:58 -0800
From: bjzhangc@hotmail.com (Spring)
Organization: http://groups.google.com/
Message-ID: <fbfae596.0203090116.2bb1fbb8@posting.google.com>

Now I develop the driver of 3c90x in vxworks with tornado.We develop
it for special use,so we can not use the dirver of vxworks which
offered.If you have materials about it including source
code,references,suggestions,and more,please send to me!my
e-mail:bjzhangc@hotmail.com.Thanks very much!

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

Newsgroups: comp.unix.programmer,comp.os.linux.networking,comp.protocols.tcp-ip,comp.os.vxworks
Subject: Regarding connected status of socket...
Date: 9 Mar 2002 02:21:30 -0800
From: sriram_sarda@yahoo.com (Sriram)
Organization: http://groups.google.com/
Message-ID: <8356dc69.0203090221.69f79206@posting.google.com>

Hi Group,
 I need to find out the status of a given sock descriptor i.e
whether it is in connected state or not. I felt that some
ioctl/fnctl/getsockopt call might help me out but couldnt get a
clue.....I want to avoid the (trial'n'error) use of read/write etc
over the sock descriptor(if theres some other way out!!)

Any points/clues over this?

TIA,
Sriram.

PS: My application sits over VxWOrks 5.4(is this, in anyway, matters!)

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

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

From vxwexplo-errs@csg.lbl.gov Sun Mar 10 04:03:10 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Mar 10 04:03:12 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sun Mar 10 04:03:06 PST 2002

 Subject: A Basic Netoworking Question!
 Subject: Re: A Basic Netoworking Question!
 Subject: Re: Regarding connected status of socket...
 Subject: OPENDIR Help
 Subject: HTTP GET in VxWorks?
 Subject: Re: What's the device name for serial port on X86
 Subject: Re: Help! Cannot access vxworks from another network
 Subject: Where can i find some source code about WTX C API?

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

Newsgroups: comp.os.vxworks
Subject: A Basic Netoworking Question!
Date: 9 Mar 2002 05:51:13 -0800
From: giby@myw.ltindia.com (Giby)
Organization: http://groups.google.com/
Message-ID: <edcc6118.0203090551.2a72d80@posting.google.com>

I am using BSD sockets for Ethernet communication between two
Vx-Works/MPC823 controller board . When I call Accept() , which is a
BSD socket function .. the board waits for a packet .
Till it receives a data packet the program will be in a polled state
and only after receiving a packet the program executes the code lines
below the function call.
Query is in my actual integrated program how I will use this Accept()
socket function , because I want other things also to work along with
this Accept() function.

Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: A Basic Netoworking Question!
Date: Sat, 09 Mar 2002 08:40:08 -0800
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3C8A3AE8.D58A6A33@gv.net>
References: <edcc6118.0203090551.2a72d80@posting.google.com>
Reply-To: mkesti@gv.net

Giby wrote:

>I am using BSD sockets for Ethernet communication between two
>Vx-Works/MPC823 controller board . When I call Accept() , which is a
>BSD socket function .. the board waits for a packet .
>Till it receives a data packet the program will be in a polled state
>and only after receiving a packet the program executes the code lines
>below the function call.
>Query is in my actual integrated program how I will use this Accept()
>socket function , because I want other things also to work along with
>this Accept() function.

You're really asking "How does multi-tasking work?"

What you want to do is design a system of seperate but cooperating tasks.
Each task may "pend" on one (or, using the "select" facility, more)
functions such as accept(). As these functions become ready, often because
the data or resource they require becomes available, they return to the
calling program according to the priorities you have assigned them. In
this way, your program can utuilize its resources effciently while
allowing time critical portions a means to ensure they get done on time.

>Thanks in advance.

You're welcome.

- --
========================================================================
 Michael Kesti | "And like, one and one don't make
 | two, one and one make one."
 mkesti@gv.net | - The Who, Bargain

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

Newsgroups: comp.unix.programmer,comp.os.linux.networking,comp.protocols.tcp-ip,comp.os.vxworks
Subject: Re: Regarding connected status of socket...
Date: Sat, 09 Mar 2002 20:35:54 GMT
From: Michael Rice <MichaelARice@adelphia.net>
Message-ID: <3C8A7258.2080001@adelphia.net>
References: <8356dc69.0203090221.69f79206@posting.google.com>

Sriram wrote:
> Hi Group,
> I need to find out the status of a given sock descriptor i.e
> whether it is in connected state or not. I felt that some
> ioctl/fnctl/getsockopt call might help me out but couldnt get a
> clue.....I want to avoid the (trial'n'error) use of read/write etc
> over the sock descriptor(if theres some other way out!!)
>
> Any points/clues over this?
>
> TIA,
> Sriram.
>
> PS: My application sits over VxWOrks 5.4(is this, in anyway, matters!)
>

I use the getpeername(). It will only succeed on a connected socket.

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

Newsgroups: comp.os.vxworks
Subject: OPENDIR Help
Date: 9 Mar 2002 21:08:35 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203092108.3d502241@posting.google.com>

Hey...

I am new to VxWorks and am in the middle of a WinCE port of our
application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
since we do not have our target hardware at this point. I have read
through all the threads in this group regarding the problems that have
been encountered with opendir and was hoping that somebody could give
me an update on it's status. Unfortunately, I spent way too much time
trying to get it to work without consulting this forumn first. The
problems I was having with creating directories and reading and
writing to files is fixed since I did a ntPassFsDevInit("c:")
ntPassFsLib is used for NT Simulations. Without this statement,
creating Directories failed with an unknown device error. The
remaining hurdle (as if there won't be more to come...but the memory,
threading, semaphore, etc. ports are working great) I now have is that
opendir simply does not work. I've exhausted all experiments. In the
end, we will have a local dosFs that we will need to interface to.
There is a lot of discussions in this forum regarding opendir not
working with netDrv and that we should NFS. I am about ready to write
the code for opendir, readdir, and closedir myself, but wanted to make
sure I should proceed with that option. Basically... pDir =
opendir("dirname") always returns NULL and sometimes the error is
ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
appreciate any help/guidance somebody can give me.

Mike Palone
Principal Software Engineer
Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: HTTP GET in VxWorks?
Date: 9 Mar 2002 21:20:29 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203092120.fe309e@posting.google.com>

Hi...

I am new to VxWorks and am in the middle of a WinCE port of our
application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
since we do not have our target hardware at this point.

Can somebody give me advice on how to proceed on porting the HTTP GET
capabilites that we have from WinCE to VxWorks? What XvWorks
Library(s) should I look into? I see that there is a HTTP Server
Library...but I would need to do client side HTTP GETs. I seem to
remember an HTML library from some initial reading I did...not sure if
that would do the trick. Hopefully I won't have to roll my own HTTP
Client client side calls using Socket level programming. I have not
read through the Network Programming Guides yet...maybe my answer is
there. Thanks a lot in advance.

Mike Palone
Principal Software Engineer
Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: What's the device name for serial port on X86
Date: 9 Mar 2002 23:32:32 -0800
From: vxworks@india.com (V R R Raju)
Organization: http://groups.google.com/
Message-ID: <d6e2de0a.0203092332.7b33cc51@posting.google.com>
References: <3C8958C6.E8CC3FB2@bitworkssystemsDELETETHIS.com>

Dear Jon,

I dont think you can open COM1 using the open function call. and the
name you have specified as 1st argument in open function call is user
defined in vxworks. When you install a driver using iosDevAdd function
call there you specify the name. If you come to know a complete
solution of this please let me know.

Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com> wrote in message news:<3C8958C6.E8CC3FB2@bitworkssystemsDELETETHIS.com>...
> I'm trying to open COM1 on my VMIC 7750 pentium III target under VxWorks
> 5.4.2. I've tried
>
> fd = open("/tty1", O_RDWR,0);
>
> fd = open("/dev/tty1", O_RDWR,0);
>
> fd = open("tty1", O_RDWR,0);
>
> All of these return fd==ERROR..
>
> Jon Newbill
> JonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! Cannot access vxworks from another network
Date: 10 Mar 2002 00:59:14 -0800
From: michael.shamis@actelis.com (Michael)
Organization: http://groups.google.com/
Message-ID: <d31a6548.0203100059.1a37ee6d@posting.google.com>
References: <0Baf8.69$Sk3.3211@llslave.llan.ll.mit.edu> <3C7D9038.A51390B8@dsto.defence.gov.au> <4Qpf8.71$Sk3.3151@llslave.llan.ll.mit.edu> <eAuf8.2884$5o.1943308@newsr2.u-net.net> <3C7ECF52.8429283C@dsto.defence.gov.au> <P9Mf8.78$Sk3.3374@llslave.llan.ll.mit.edu> <d31a6548.0203070157.67b4d2bc@posting.google.com> <3C875618.3020108@spamm.me.l8s.co.uk>

Both nets (11.0.x.x and 169.254.x.x) could be connected to other
routers so we need something like default gateways. If two default
gateways can not exists, may be RIP (or another protocol?) could be
used to add dynamically entries to the router table? I tried RIP (see
my previous letter) without success.
Is it possible to use RIP for the purpose?

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C875618.3020108@spamm.me.l8s.co.uk>...
> Michael wrote:
>
> > The default gateway ("0.0.0.0") does not solve case when we want to
> > access VxWorks target from two (or more) different networks
> > simultaneously.
> > Let's see the following configuration:
> >
> >
> > ________________________________________ 11.0.x.x net
> > |
> > 11.0.7.22
> > Pc Host Gateway ...
> > 10.0.1.244 10.0.6.52 ...
> > |__________________|_____________________ 10.0.x.x net
> > |
> > | <-- Ethernen
> > |
> > 10.0.7.46
> > VxWorks Target
> > 62.90.13.177
> > |
> > | <-- Dial UP Networking PPP
> > connection
> > |
> > 62.90.13.178
> > Gateway (WindowsNT Workstation)
> > 169.254.0.1
> > |
> > __________________________________|_____ 169.254.x.x net
> > |
> > 169.254.0.2
> > Pc host
> >
> >
> > To connect Ethrnet interface I have to call on target
> > routeAdd("0.0.0.0", "10.0.7.46");
> >
> > And in order to connect to Dial Up Networking interface I have to call
> > on target
> > routeAdd("0.0.0.0", "169.254.0.1");
> >
> > But VxWorks does not allow to have 2 defaults gateways (WindowsNT
> > allows several default gateways).
>
>
> Generally you can only have 1 default gateway. Otherwise how do you
> select it - it is the DEFAULT, the one used when there isn't a
> specific gateway.
>
>
> With the above, you need to specify 10.0.6.52 as the gateway to
>
> 11.x.x.x network and 62.90.13.178 for the 169.254.x.x network.
>
> The default route is used for you route out to the great wide
> outdooes (the rest of the web).
>
> 	David

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

Newsgroups: comp.os.vxworks
Subject: Where can i find some source code about WTX C API?
Date: 10 Mar 2002 03:39:27 -0800
From: hychen@mail.ustc.edu.cn (jerry chen)
Organization: http://groups.google.com/
Message-ID: <8c12f92e.0203100339.1c68d8df@posting.google.com>

I want to write some program to test it.
There information provided by the doc is not enough.
I want more sample code.
Thanks anyway!

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

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

From vxwexplo-errs@csg.lbl.gov Mon Mar 11 04:03:13 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Mar 11 04:03:15 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Mon Mar 11 04:03:08 PST 2002

 Subject: Re: VGA Driver using the WindML
 Subject: Re: HTTP GET in VxWorks?
 Subject: Re: OPENDIR Help
 Subject: Re: What's the device name for serial port on X86
 Subject: Re: OPENDIR Help
 Subject: Re: PCI memory space
 Subject: Is there any existing example of tonoroda for me to study using tonoroda?
 Subject: Re: [Q] about Mutual-Exclusion Semaphore
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: OPENDIR Help
 Subject: Re: VGA Driver using the WindML
 Subject: [Q] Ring Buffer Overflow
 Subject: Re: PCI memory space
 Subject: Re: PCI memory space
 Subject: Re: Spurious Vx Works errors during building
 Subject: Re: Is there any existing example of tonoroda for me to study using
 Subject: Re: [Q] Ring Buffer Overflow

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

Newsgroups: comp.os.vxworks
Subject: Re: VGA Driver using the WindML
Date: 10 Mar 2002 05:15:45 -0800
From: aephraty@rugged.com (Avi Ephraty)
Organization: http://groups.google.com/
Message-ID: <43191605.0203100515.61f52360@posting.google.com>
References: <43191605.0203062308.206d66f8@posting.google.com> <488e459a.0203071046.46127df2@posting.google.com>

John

Thanks for your answer.

Did you port a driver that used the VGA register or some component
specific register set?
In any case can you please advice me which of the XFree86 will be the
best driver to port?

Bye
avi

john_94501@yahoo.com (John) wrote in message news:<488e459a.0203071046.46127df2@posting.google.com>...
> Hello,
>
> aephraty@rugged.com (Avi Ephraty) wrote in message news:<43191605.0203062308.206d66f8@posting.google.com>...
> > Is there someone who wrote a VGA driver using WindML (preferbly using
> > the component Permedia3 of 3DLABS)?
> >
> > I wonder how complicated is this task ?(How much time it should take?)
>
> If you have a rough idea of what you're doing with a video driver, you
> can port an xfree86 driver to WindML's driver format in a few days
> (I've done two now that way). That should get you the basic chip setup
> and some of the accelerations too in most cases.
>
> > I also want to integrate it with Video Overlay. I wonder how
> > complicated this task is?
>
> This one I don't know, the drivers I've done have been for more
> standard chipsets.
>
> HTH,
>
> John...

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

Newsgroups: comp.os.vxworks
Subject: Re: HTTP GET in VxWorks?
Date: Sun, 10 Mar 2002 20:10:22 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$rwursg$qfh$1@lnews.actcom.co.il>
References: <971e6b8f.0203092120.fe309e@posting.google.com>

Mike,

HTTP client is really as simple as 1,2,3... I did write a few
partial clients on VxWorks and other OSes ad-hoc for specific
needs, so if you can define your needs reasonable well,
you can implement it on top of sockets just as well.
HTML is of course another ball game, if you need it,
WRS used to have an add-on product they licensed from NCI
(now Liberate) that is an HTML browser on top of VxWorks.

Leonid

"Mike Palone" <mpalone@gotuit.com> wrote in message
news:971e6b8f.0203092120.fe309e@posting.google.com...
> Hi...
>
> I am new to VxWorks and am in the middle of a WinCE port of our
> application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> since we do not have our target hardware at this point.
>
> Can somebody give me advice on how to proceed on porting the HTTP GET
> capabilites that we have from WinCE to VxWorks? What XvWorks
> Library(s) should I look into? I see that there is a HTTP Server
> Library...but I would need to do client side HTTP GETs. I seem to
> remember an HTML library from some initial reading I did...not sure if
> that would do the trick. Hopefully I won't have to roll my own HTTP
> Client client side calls using Socket level programming. I have not
> read through the Network Programming Guides yet...maybe my answer is
> there. Thanks a lot in advance.
>
> Mike Palone
> Principal Software Engineer
> Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: Sun, 10 Mar 2002 20:32:23 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$5xursg$qfh$1@lnews.actcom.co.il>
References: <971e6b8f.0203092108.3d502241@posting.google.com>

Mike,

passFs is just a hack, quick and dirty means of accessing
the work station file during development. Since it wont
be used for the application, it is not worth much effort.

Until you have your final target, you can try to use
a virtual disk running full dosFs on it, which will be
much closer to your final application. If you cant
make a virtual disk, make a RAM disk with dosFs,
and fill it with the files you need on initialization.

Also, there is the TSFS - Target Server File System
which you could try, but I have never used it and dont
know if it supports opendir and the like.

"Mike Palone" <mpalone@gotuit.com> wrote in message
news:971e6b8f.0203092108.3d502241@posting.google.com...
> Hey...
>
> I am new to VxWorks and am in the middle of a WinCE port of our
> application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> since we do not have our target hardware at this point. I have read
> through all the threads in this group regarding the problems that have
> been encountered with opendir and was hoping that somebody could give
> me an update on it's status. Unfortunately, I spent way too much time
> trying to get it to work without consulting this forumn first. The
> problems I was having with creating directories and reading and
> writing to files is fixed since I did a ntPassFsDevInit("c:")
> ntPassFsLib is used for NT Simulations. Without this statement,
> creating Directories failed with an unknown device error. The
> remaining hurdle (as if there won't be more to come...but the memory,
> threading, semaphore, etc. ports are working great) I now have is that
> opendir simply does not work. I've exhausted all experiments. In the
> end, we will have a local dosFs that we will need to interface to.
> There is a lot of discussions in this forum regarding opendir not
> working with netDrv and that we should NFS. I am about ready to write
> the code for opendir, readdir, and closedir myself, but wanted to make
> sure I should proceed with that option. Basically... pDir =
> opendir("dirname") always returns NULL and sometimes the error is
> ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> appreciate any help/guidance somebody can give me.
>
> Mike Palone
> Principal Software Engineer
> Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: What's the device name for serial port on X86
Date: 10 Mar 2002 10:46:12 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203101046.7ce3c2bf@posting.google.com>
References: <3C8958C6.E8CC3FB2@bitworkssystemsDELETETHIS.com>

Hello,

The name you are looking for is /tyCo/0 (unless you've changed the
defaults). FYI, you can get a list of available devices using the devs
command (definitely works from the target shell, will probably also
work from windsh).

HTH,

John...

Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com> wrote in message news:<3C8958C6.E8CC3FB2@bitworkssystemsDELETETHIS.com>...
> I'm trying to open COM1 on my VMIC 7750 pentium III target under VxWorks
> 5.4.2. I've tried
>
> fd = open("/tty1", O_RDWR,0);
>
> fd = open("/dev/tty1", O_RDWR,0);
>
> fd = open("tty1", O_RDWR,0);
>
> All of these return fd==ERROR..
>
> Jon Newbill
> JonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: 10 Mar 2002 14:38:18 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203101438.300fe42c@posting.google.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il>

Thanks for the feedback Leonid. Not sure how to create a virtual disk
or RAM disk yet...I'll have to research. Lot of hoops to jump through
because of a documented API does not work. Putting passFs aside for
the time being, can somebody please tell me that it is in fact true
that opendir does not work for dosFs? Should I dive further on the
threads in this forum suggesting the use of NFS rather than netDrv?
Can I use NFS for a local hard drive? It is a bug. If I can create
directories and files...and read and write to files...I should be able
to do an opendir. I started experiments toward implementing opendir
functionality myself, but at this point even:

Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);

gives an errno of ENOTDIR after opening a DIR. Our target will have a
local hard disk, and without knowing the details, the idea of copying
all the files I need to a RAM Disk just to enumerate a directory
worries me.

The other interesting thing is that I looked at the code in usrLib.c
since it implements the ls command .... and it works from the command
shell. It uses opendir. However there is the following code in the
routine that I think may be executing as opposed to the opendir
command.

 if (_func_netLsByName != NULL)
	{
	if ((*_func_netLsByName) (dirname) == OK)
	 return (OK);
	else if (errno != S_netDrv_UNKNOWN_REQUEST)
	 return (ERROR);
	}

Thanks again...
Mike

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> Mike,
>
> passFs is just a hack, quick and dirty means of accessing
> the work station file during development. Since it wont
> be used for the application, it is not worth much effort.
>
> Until you have your final target, you can try to use
> a virtual disk running full dosFs on it, which will be
> much closer to your final application. If you cant
> make a virtual disk, make a RAM disk with dosFs,
> and fill it with the files you need on initialization.
>
> Also, there is the TSFS - Target Server File System
> which you could try, but I have never used it and dont
> know if it supports opendir and the like.
>
> "Mike Palone" <mpalone@gotuit.com> wrote in message
> news:971e6b8f.0203092108.3d502241@posting.google.com...
> > Hey...
> >
> > I am new to VxWorks and am in the middle of a WinCE port of our
> > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > since we do not have our target hardware at this point. I have read
> > through all the threads in this group regarding the problems that have
> > been encountered with opendir and was hoping that somebody could give
> > me an update on it's status. Unfortunately, I spent way too much time
> > trying to get it to work without consulting this forumn first. The
> > problems I was having with creating directories and reading and
> > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > ntPassFsLib is used for NT Simulations. Without this statement,
> > creating Directories failed with an unknown device error. The
> > remaining hurdle (as if there won't be more to come...but the memory,
> > threading, semaphore, etc. ports are working great) I now have is that
> > opendir simply does not work. I've exhausted all experiments. In the
> > end, we will have a local dosFs that we will need to interface to.
> > There is a lot of discussions in this forum regarding opendir not
> > working with netDrv and that we should NFS. I am about ready to write
> > the code for opendir, readdir, and closedir myself, but wanted to make
> > sure I should proceed with that option. Basically... pDir =
> > opendir("dirname") always returns NULL and sometimes the error is
> > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > appreciate any help/guidance somebody can give me.
> >
> > Mike Palone
> > Principal Software Engineer
> > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Mon, 11 Mar 2002 09:30:12 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C8BE57C.1D72557D@dsto.defence.gov.au>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com>

The MVME2604 has two modes, PReP and EXTEND_VME - EXTENDED_VME is now the
default, but it may have been PReP for rev 1.2 - do you know which you are
using? The answer will affect your memory map.

You may need to make an entry in your sysPhysMemDesc table corresponding to the
region you've mapped (depending on whether the PCI space you're using has been
mapped yet or not). It will probably look something like

{
(void *)CPU_PCI_MEM_ADRS2,
(void *)CPU_PCI_MEM_ADRS2,
CPU_PCI_MEM_SIZE2,
VM_STATE_MASK_VALID | ..... |VM_STATE_MASK_CACHEABLE,
VM_STATE_VALID | ..... | VM_STATE_MASK_CACHEABLE
}

where CPU_PCI_MEM_SIZE2 is 256 MB and CPU_PCI_MEM_ADRS2 is the pci address as
the CPU sees it (as described by Michael Lawnick. Part of this region may
already be defined, in which case just extend it if possible.

Ahn Jung Hoon wrote:

> Hi, all
>
> I have a problem in accessing pci memory space
>
> Previously,
> My work space is..
>
> VxWorks version 5.4
> KERNEL: WIND version 2.5
> CPU: Motorola Unknown - MPC 750. Processor #0.
> Memory Size: 0x10000000. BSP version 1.2/0.
> WDB: Ready.
>
> well..
> I have PCI memory card, and it's size is 256MB..
>
> By default, it was written in MV2600.h
> #define CPU_PCI_MEM_SIZE 0x01000000 /* 16 meg */
>
> so, I modified it as following..
> #define CPU_PCI_MEM_SIZE 0x20000000 /* 256 meg */
>
> Then I met data access error as following..
>
> -------------------------------------------------------
> -> pciHeaderShow(0, 0x10, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0000
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0x03
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
> --------------------------------------------------------------
>
> But When I modified it as following, I could success to display and modified
> at PCI_BASE_ADDR(0x08000000)..
> #define CPU_PCI_MEM_SIZE 0x10000000 /* 128 meg */
>
> ..
>
> I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> for memory access more than 16MB..
>
> But.. Maybe, it seems to be incorrect..
>
> Please..
> Can anybody let me understand in the easiest way what is problem.

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

Newsgroups: comp.os.vxworks
Subject: Is there any existing example of tonoroda for me to study using tonoroda?
Date: 10 Mar 2002 17:59:43 -0800
From: zhoul@blrcsv.china.bell-labs.com (zlybupt)
Organization: http://groups.google.com/
Message-ID: <989cdae4.0203101759.ebc548c@posting.google.com>

Give me a website if there exists any!
Thank you very much!

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] about Mutual-Exclusion Semaphore
Date: Fri, 8 Mar 2002 09:34:19 +0100
From: "Mario Semo" <mario.semo@kirchnersoft.com>
Organization: Nextra Telekom GmbH
Message-ID: <a6hfib$52m$1@at-vie-newsmaster01.nextra.at>
References: <6fb8119a.0203072217.f24ce32@posting.google.com>

Hello,

mutex sema4 are to protect a task against another task, but not a task
against itself. if you (task) own a sema4, you can take it again and again.
(but you have to unlock it the same number of times).
PS: its the same under OS/2 and Windows. And i expect its the same with
other OSes too.

- --
regards, Mario Semo. http://www.kirchnersoft.com
belliny, Mint~* <belliny@soback.kornet.net> wrote in message
news:6fb8119a.0203072217.f24ce32@posting.google.com...
> below is typical mutual-exclusion semaphore example.
> semaphore's purpose is to protect the shared resource or something
> else/
> with semMLib, it can be taken more than once by the task that owns it
> before finally being released. then, how can i control the access to
> resource?
>
> as below, both funcA and funcB can access same resource at the same
> time.
>
> Please let me know exactly what i knew wrong...
> thanks in advance...
>
> SEM_ID semM;
>
> semM = semMCreate(...);
>
> funcA()
> {
> semTake(semM, WAIT_FOREVER);
> ...
> funcB();
> ...
> SemGive(semM);
> }
>
> funcB()
> {
> semTake(semM, WAIT_FOREVER);
> ...
> semGive(semM);
> }
>
> -> init
> 0: init(void)
> 1: ios::init(streambuf *, ostream *)
> 2: filebuf::init(void)
> Choose the number of the symbol to use: 0
> value = 84797920 = 0x50de9e0
> -> funcA
> funcA : got mutual-exclusion semaphore
> funcB : got mutual-exclusion semaphore
> funcB : Give mutual-exclusion semaphore
> funcA : Give mutual-exclusion semaphore
> value = 40 = 0x28 = '('
> ->

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 10 Mar 2002 22:43:49 -0800
From: shoz@elbit.co.il (shoz)
Organization: http://groups.google.com/
Message-ID: <d2eae3bd.0203102243.2f8a7ca2@posting.google.com>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com> <d2eae3bd.0203050921.6b458ce4@posting.google.com> <a672pf$j5s$1@at-vie-newsmaster01.nextra.at> <u1yewqrcj.fsf@yahoo.com>

Bill Pringlemeir <bpringlemeir@yahoo.com> wrote in message news:<u1yewqrcj.fsf@yahoo.com>...
> >> Yes 2.96 is somthing you can get from WindRiver , but it have
> >> problems that I want to see if someone solve.
>
> Mario> i ve got it from vxWorks too (from my sales rep, after i asked
> Mario> for). But i didnt installed it, since it was just avail for
> Mario> x86 and i need the same compiler feastures for multiple
> Mario> targets. What problems did you experience with 2.96
>
> Well, I am using gcc 2.96 with the T2.1.1 distribution (on an ARM
> 710A). Not only do I appear to be a `trail blazer', but I will
> actually share the information I have as oppose to waiting for someone
> else :-P [that is a childish jibe]
>
> Anyways, it appears that having a better C++ compiler can be a draw
> back, as Dave Korn explains to me in this thread,
>
> "http://groups.google.com/groups?th=17097eddd0275f62"
>
> The entire thread is probably relevant to this conversation [it is
> probably still fresh on your news server!]. Anyways, there are
> several bugs in the compiler. Some are in the 2.7 compiler, but might
> not be exposed as readily. They include code to fix the stack values
> in the compiler and a patched cygwin dll. Somebody asked for these
> via email. I don't think this is `fair' to me as it would not be nice
> for me to do to this to WRS, even though it is not nice of them to
> make these fixes generally available.
>
> The stack fix can be done with mingw tools [or cross tools built for
> an x86 pe target, but you are probably on NT to begin with...]. I
> don't know what has been distributed with a fix to the cygwin DLL. Do
> I have a right to re-distribute this? From other conversation, it
> appears that this is contention for people using the cygwin tools. I
> don't use the cygwin tools. If you did, this would introduce more
> problems no doubt.
>
> The 2.96 compiler is much better in my opinion; generating better code
> and allowing more current C++ constructs. I have been waiting for such
> a release for some time. Rather ironic that most *nix machines will
> be going to 3.xx soon.
>
> I would be interested in other specific problems and not vague
> allusions.
>
> Regards,
> Bill Pringlemeir.

The Problems I find are was related to stl.

1. stl code and see that the installation of gnu296 add an #ifdef in
stl headers:

#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 &&
__GNUC_MINOR__>=96) || defined(__mcore__))
#if defined(__cplusplus)
extern "C++" {
#endif
#include_next <vector>
#if defined(__cplusplus)
}
#endif
#else

I try to see where __GNUC_MINOR__ declare but I didn't find I only
know it's set to 7 (version 2.7 maybe it internal in the compiler).

2. #include_next<filename> mean search in the rest of the path file
with the name filename.

Here what I do:
- ------------------
1. define __GNUC_MINOR__=96.

2. add to search path :
- -I$(WIND_BASE)/host/$(WIND_HOST_TYPE)/include/g++-3
- -I$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/i586-wrs-vxworks/2.96-PentiumIII-991112/include
- -I$(WIND_BASE)/host/$(WIND_HOST_TYPE)/i586-wrs-vxworks/include

3. add compilation flags -fno-rtti -fno-exceptions (if not using this
there redefinition error between
$(WIND_BASE)/target/lib/libPENTIUMgnuvx.a
$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/i586-wrs-vxworks/2.96-PentiumIII-991112/libgcc.a
 .

4. change in stl_alloc.h -> don't throw exception.

This is what I know.

Regards,
Oz Shalev

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: Mon, 11 Mar 2002 10:24:19 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$pfxssg$mgj$1@lnews.actcom.co.il>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com>

Pardon my French, passFs and netDrv font support dirLib properly.
dosFs in all its forms and versions fully supports dirLib (which includes
opendir ) and mkdir() so you should have no problems doing what
you need to do on a RAM disk or virtual disk, both of which will
use dosFs on top of the block device driver.

As to NFS, since you are on a WIndows host, you will find it
quite difficult to set up NFS properly between the VxSim
and your MSFT host, therefore my RAM disk recommendation,
its the easiest way out, and closest to your final situation.

"Mike Palone" <mpalone@gotuit.com> wrote in message
news:971e6b8f.0203101438.300fe42c@posting.google.com...
> Thanks for the feedback Leonid. Not sure how to create a virtual disk
> or RAM disk yet...I'll have to research. Lot of hoops to jump through
> because of a documented API does not work. Putting passFs aside for
> the time being, can somebody please tell me that it is in fact true
> that opendir does not work for dosFs? Should I dive further on the
> threads in this forum suggesting the use of NFS rather than netDrv?
> Can I use NFS for a local hard drive? It is a bug. If I can create
> directories and files...and read and write to files...I should be able
> to do an opendir. I started experiments toward implementing opendir
> functionality myself, but at this point even:
>
> Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
>
> gives an errno of ENOTDIR after opening a DIR. Our target will have a
> local hard disk, and without knowing the details, the idea of copying
> all the files I need to a RAM Disk just to enumerate a directory
> worries me.
>
> The other interesting thing is that I looked at the code in usrLib.c
> since it implements the ls command .... and it works from the command
> shell. It uses opendir. However there is the following code in the
> routine that I think may be executing as opposed to the opendir
> command.
>
> if (_func_netLsByName != NULL)
> {
> if ((*_func_netLsByName) (dirname) == OK)
> return (OK);
> else if (errno != S_netDrv_UNKNOWN_REQUEST)
> return (ERROR);
> }
>
> Thanks again...
> Mike
>
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > Mike,
> >
> > passFs is just a hack, quick and dirty means of accessing
> > the work station file during development. Since it wont
> > be used for the application, it is not worth much effort.
> >
> > Until you have your final target, you can try to use
> > a virtual disk running full dosFs on it, which will be
> > much closer to your final application. If you cant
> > make a virtual disk, make a RAM disk with dosFs,
> > and fill it with the files you need on initialization.
> >
> > Also, there is the TSFS - Target Server File System
> > which you could try, but I have never used it and dont
> > know if it supports opendir and the like.
> >
> > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > Hey...
> > >
> > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > since we do not have our target hardware at this point. I have read
> > > through all the threads in this group regarding the problems that have
> > > been encountered with opendir and was hoping that somebody could give
> > > me an update on it's status. Unfortunately, I spent way too much time
> > > trying to get it to work without consulting this forumn first. The
> > > problems I was having with creating directories and reading and
> > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > creating Directories failed with an unknown device error. The
> > > remaining hurdle (as if there won't be more to come...but the memory,
> > > threading, semaphore, etc. ports are working great) I now have is that
> > > opendir simply does not work. I've exhausted all experiments. In the
> > > end, we will have a local dosFs that we will need to interface to.
> > > There is a lot of discussions in this forum regarding opendir not
> > > working with netDrv and that we should NFS. I am about ready to write
> > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > sure I should proceed with that option. Basically... pDir =
> > > opendir("dirname") always returns NULL and sometimes the error is
> > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > appreciate any help/guidance somebody can give me.
> > >
> > > Mike Palone
> > > Principal Software Engineer
> > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: VGA Driver using the WindML
Date: 11 Mar 2002 00:44:34 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203110044.8376e6e@posting.google.com>
References: <43191605.0203062308.206d66f8@posting.google.com> <488e459a.0203071046.46127df2@posting.google.com> <43191605.0203100515.61f52360@posting.google.com>

Hello,

aephraty@rugged.com (Avi Ephraty) wrote in message news:<43191605.0203100515.61f52360@posting.google.com>...
> John
>
> Thanks for your answer.
>
> Did you port a driver that used the VGA register or some component
> specific register set?

One of each; the second one (a NeoMagic chipset) used the VGA
registers, but all done through a "standard" library in the xfree86
tree. If you download an xfree86 source tree, look in
xc/programs/Xserver/hw/xfree86/vgahw for this code.

> In any case can you please advice me which of the XFree86 will be the
> best driver to port?

Not sure I get what you mean... the best one would be the one that
already supports your chosen graphics chipset, or one very close to it
(another member of the same family perhaps if you chosen device is
very new).

You mentioned the Permedia 3, drivers for which you can find under
xc/programs/Xserver/hw/xfree86/drivers/glint. I would start with those
and see how far you can get. Skip the accelerations for the first
pass, just get the screen up and running. I get a bitmap image the
size of the screen, in the correct colour depth, and just load it into
the frame buffer. That will allow you to get the basics right
(timings, palettes etc). After that you can work on the accelerations.

HTH,

John...

> Bye
> avi
>
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0203071046.46127df2@posting.google.com>...
> > Hello,
> >
> > aephraty@rugged.com (Avi Ephraty) wrote in message news:<43191605.0203062308.206d66f8@posting.google.com>...
> > > Is there someone who wrote a VGA driver using WindML (preferbly using
> > > the component Permedia3 of 3DLABS)?
> > >
> > > I wonder how complicated is this task ?(How much time it should take?)
> >
> > If you have a rough idea of what you're doing with a video driver, you
> > can port an xfree86 driver to WindML's driver format in a few days
> > (I've done two now that way). That should get you the basic chip setup
> > and some of the accelerations too in most cases.
> >
> > > I also want to integrate it with Video Overlay. I wonder how
> > > complicated this task is?
> >
> > This one I don't know, the drivers I've done have been for more
> > standard chipsets.
> >
> > HTH,
> >
> > John...

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

Newsgroups: comp.os.vxworks
Subject: [Q] Ring Buffer Overflow
Date: 11 Mar 2002 01:20:01 -0800
From: kotaeji@hanmail.net (Kim Tae Hyung)
Organization: http://groups.google.com/
Message-ID: <b1b90dae.0203110120.2380d1b8@posting.google.com>

Hi~ I have a question about ring buffer overflow.
I have read many articles in this group about ring
buffer overflow while doing netJobAdd().
And I concluded that it is mainly because of the lack
of CPU Power. So vxWorks cannot help but show those
messages.

But I want to remove those messages "ring buffer overflow".
I think if I can reach ring buffer data structure or global
variable, I can remove those messages. But as you know,
we cannot see any variable in the function "netJobAdd".
Is there any possible way to see a variable in the "netJobAdd"
or the source of netJobAdd?

Any comment will be appreciated.
Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Mon, 11 Mar 2002 19:09:16 +0900
From: "???" <emycall@dreamx.net>
Organization: Korea Telecom
Message-ID: <a6hupv$5k9$1@news1.kornet.net>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com> <3C8BE57C.1D72557D@dsto.defence.gov.au>

Hello. Tim Shaw..

Thank you very much for your answer..

Your answer was good idea, and I solved my problem..

Namely, I could access 0x10000000 as doing follow..

In mv2600.h
/* Psuedo PREP memory map as seen from CPU */
#define CPU_PCI_ISA_IO_ADRS 0x80000000 /* base of ISA I/O
space */
#define CPU_PCI_ISA_MEM_ADRS 0xc0000000 /* base of ISA mem space
*/
#define CPU_PCI_IO_ADRS 0x81000000 /* base of PCI
I/O space */
#define CPU_PCI_MEM_ADRS 0xc1000000 /* base of PCI mem
space */
#define CPU_PCI_MEM_ADRS_1MB 0xc0100000 /* base of PCI 1MB mem
space */
#define CPU_PCI_ISA_IO_SIZE 0x00010000 /* 64 kbytes */
#define CPU_PCI_IO_SIZE 0x00800000 /* 8 meg */
#define CPU_PCI_IO_UPPER_ADRS (CPU_PCI_ISA_IO_ADRS>>16)
#define CPUCRA_HI (CPU_PCI_ISA_IO_ADRS>>16)
#define CPUCRA_LO 0x0800
#define CPU_PCI_ISA_MEM_SIZE 0x00010000 /* 64 kbytes */
#define CPU_PCI_MEM_SIZE 0x20000000

In sysLib.c
{
 (void *)0x10000000/*CPU_PCI_MEM_ADRS2*/,
 (void *)0x10000000/*CPU_PCI_MEM_ADRS2*/,
 0x20000000/*CPU_PCI_MEM_SIZE2*/,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_MEM_COHERENCY,
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE |
 VM_STATE_MEM_COHERENCY
},

The result is as following..

- -> pciHeaderShow(0, 0x10, 0)
vendor ID = 0x11b0
device ID = 0x0200
command register = 0x0002
status register = 0x0000
revision ID = 0x00
class code = 0x05
sub class code = 0x00
programming interface = 0x00
cache line = 0x00
latency time = 0xf8
header type = 0x00
BIST = 0x00
base address 0 = 0x10000000
base address 1 = 0x00000000
base address 2 = 0x00000000
base address 3 = 0x00000000
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x4754
sub system ID = 0x0005
expansion ROM base address = 0x00000000
interrupt line = 0x03
interrupt pin = 0x00
min Grant = 0x00
max Latency = 0x00
value = 0 = 0x0

- -> d 0x10000000
10000000: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000010: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
value = 21 = 0x15

- -> m 0x10000000
10000000: ffff-1
10000002: ffff-2
10000004: ffff-3
10000006: ffff-4
10000008: ffff-5
1000000a: ffff-6
1000000c: ffff-7
1000000e: ffff-8
10000010: ffff-9
10000012: ffff-0
10000014: ffff-.
value = 1 = 0x1

- -> d 0x10000000
10000000: 0001 0002 0003 0004 0005 0006 0007 0008 *................*
10000010: 0009 0000 ffff ffff ffff ffff ffff ffff *................*
10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
value = 21 = 0x15

But..

Unfortunenatelly, I met some other problems.

The first problem is..

The Value was modified is changed again, when I access in 0x1000000,
0x2000000, 0x3000000..

The second problem is ..

to be able to access in 0x1000000, 0x2000000, 0x3000000 ... so on

Hm..

Is That range system area.??

I will list problem below..

..

Can you tell me what is the reason or sollution..??

I read many manual was written in Motorolla. but I don't know why these
problems come to me..

- -> d 0x1000000
01000000: 6194 288c 9840 a1e0 2dcb 12e9 33aa 1420 *a.(..@..-...3.. *
01000010: 8000 1200 020a 3108 0000 0100 0c00 0081 *......1.........*
01000020: 3400 020a 5169 1004 8434 8010 1130 0850 *4...Qi...4...0.P*
01000030: 8100 0001 0000 0040 0000 6040 8000 0000 *.......@..`@....*
01000040: 0792 3015 290a a34d 3818 3011 46e2 4c36 *..0.)..M8.0.F.L6*
01000050: 0000 0040 0420 5411 40e0 ac20 0828 0145 *...@. T.@.. .(.E*
01000060: 2821 282a 09c1 42b9 5a15 506a 82af 4d18 *(!(*..B.Z.Pj..M.*
01000070: 0040 0005 0204 2000 0020 8481 0900 1008 *.@.... .. ......*
01000080: a279 4350 25c5 3882 0209 02a4 c0ca 0411 *.yCP%.8.........*
01000090: 0000 8002 4010 0200 0000 5000 1000 2002 *....@.....P... .*
010000a0: 0c44 0098 1921 4071 2818 4012 8222 1007 *.D...!@q(.@.."..*
010000b0: 0000 0064 0080 0880 0000 0100 0040 0220 *...d.........@. *
010000c0: 8b40 3091 6260 1022 0c10 0c08 d8c2 2a45 *.@0.b`."......*E*
010000d0: 4080 0402 0440 8000 1010 1204 0000 0200 *@....@..........*
010000e0: 8eac 6028 c1b0 1dd0 4497 30b8 8114 6028 *..`(....D.0...`(*
010000f0: 2020 0080 0220 0000 2120 0000 0400 4430 * ... ..! ....D0*
value = 21 = 0x15

- -> d 0x2000000
02000000: 0909 0909 f6f6 f6f6 f5b8 6d80 75e0 10c7 *..........m.u...*
02000010: a1d5 4182 00fa 3d95 b60c 4800 d813 001c *..A...=...H.....*
02000020: 766f 1401 a0bf 8d12 a7fa c904 dcfb 18ac *vo..............*
02000030: 9630 0800 0260 7a05 0096 5200 76a4 0041 *.0...`z...R.v..A*
02000040: 4f05 2044 7176 5b25 887c 9254 cf4f 64ff *O. Dqv[%.|.T.Od.*
02000050: c9fa 3c02 0001 6a51 f597 2600 217c 000a *..<...jQ..&.!|..*
02000060: 1d75 c2a0 40d2 4996 7126 9b06 cc43 0c4d *.u..@.I.q&...C.M*
02000070: 2714 0200 0011 8d6b 4691 5000 03a0 00f1 *'......kF.P.....*
02000080: f678 2304 88f6 26f9 52eb f500 7a27 8ef5 *.x#...&.R...z'..*
02000090: 4488 0400 0021 de45 d9f6 bf20 9752 109c *D....!.E... .R..*
020000a0: bdff 1086 00fe effc d9d3 5857 bbef 89b8 *..........XW....*
020000b0: 4241 0500 0049 8800 8cb6 8200 4018 00e7 *BA...I......@...*
020000c0: 16d3 8611 687f 3e5f ee3b 6f29 617d 22d9 *....h.>_.;o)a}".*
020000d0: 05a6 0140 00e2 da34 377c 1e00 cacf 00e7 *...@...47|......*
020000e0: 3eff 15a2 69ff 57cb 98d3 d214 eacf 20ba *>...i.W....... .*
020000f0: f688 2000 00e7 a331 c200 fd82 d036 0444 *.. ....1.....6.D*
value = 21 = 0x15

- -> d 0x3000000
03000000: 0554 0405 a864 0a27 6240 68c0 4242 cc20 *.T...d.'b@h.BB. *
03000010: 0010 0000 0001 8000 0000 1100 1012 0002 *................*
03000020: 0c04 1010 0082 0099 0200 1603 00a2 7388 *..............s.*
03000030: 3000 0100 5000 0040 0d00 2040 4400 0000 *0...P..@.. @D...*
03000040: 15c0 07db 5ea1 518f 26b7 145a 3931 62d1 *....^.Q.&..Z91b.*
03000050: 0800 1800 0088 0080 0000 0201 0440 c300 *.............@..*
03000060: 48ec 038e 8000 61c1 2366 5120 121e 4841 *H.....a.#fQ ..HA*
03000070: 5410 2000 0012 0000 4800 0003 0020 0000 *T. .....H.... ..*
03000080: a074 3f51 ce30 ae30 25a3 4102 afe8 0345 *.t?Q.0.0%.A....E*
03000090: 0080 0000 0140 0040 4008 0204 1080 0880 *.....@.@@.......*
030000a0: 0a1c 2192 ce01 8293 2101 606c 2d1c 6407 *..!.....!.`l-.d.*
030000b0: 0060 0004 2402 1008 0000 0010 0408 0200 *.`..$...........*
030000c0: 0525 0cb4 38e9 4c4d 77a0 6422 3656 3b32 *.%..8.LMw.d"6V;2*
030000d0: 4004 0000 0000 4200 0000 0004 0001 0000 *@.....B.........*
030000e0: 1698 4c56 7796 8c49 0d8d 2c02 6c21 6ca0 *..LVw..I..,.l!l.*
030000f0: 0008 0064 0002 2004 0080 0041 0800 0014 *...d.. ....A....*
value = 21 = 0x15

- -> d 0x10000000
10000000: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000010: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
value = 21 = 0x15
- ->

As if above,

the problem is two.
- ----- Original Message -----
From: "Tim Shaw" <Tim.Shaw@dsto.defence.gov.au>
Newsgroups: comp.os.vxworks
Sent: Monday, March 11, 2002 8:00 AM
Subject: Re: PCI memory space

> The MVME2604 has two modes, PReP and EXTEND_VME - EXTENDED_VME is now the
> default, but it may have been PReP for rev 1.2 - do you know which you are
> using? The answer will affect your memory map.
>
> You may need to make an entry in your sysPhysMemDesc table corresponding
to the
> region you've mapped (depending on whether the PCI space you're using has
been
> mapped yet or not). It will probably look something like
>
> {
> (void *)CPU_PCI_MEM_ADRS2,
> (void *)CPU_PCI_MEM_ADRS2,
> CPU_PCI_MEM_SIZE2,
> VM_STATE_MASK_VALID | ..... |VM_STATE_MASK_CACHEABLE,
> VM_STATE_VALID | ..... | VM_STATE_MASK_CACHEABLE
> }
>
> where CPU_PCI_MEM_SIZE2 is 256 MB and CPU_PCI_MEM_ADRS2 is the pci address
as
> the CPU sees it (as described by Michael Lawnick. Part of this region may
> already be defined, in which case just extend it if possible.
>
>
>
> Ahn Jung Hoon wrote:
>
> > Hi, all
> >
> > I have a problem in accessing pci memory space
> >
> > Previously,
> > My work space is..
> >
> > VxWorks version 5.4
> > KERNEL: WIND version 2.5
> > CPU: Motorola Unknown - MPC 750. Processor #0.
> > Memory Size: 0x10000000. BSP version 1.2/0.
> > WDB: Ready.
> >
> > well..
> > I have PCI memory card, and it's size is 256MB..
> >
> > By default, it was written in MV2600.h
> > #define CPU_PCI_MEM_SIZE 0x01000000 /* 16 meg */
> >
> > so, I modified it as following..
> > #define CPU_PCI_MEM_SIZE 0x20000000 /* 256 meg */
> >
> > Then I met data access error as following..
> >
> > -------------------------------------------------------
> > -> pciHeaderShow(0, 0x10, 0)
> > vendor ID = 0x11b0
> > device ID = 0x0200
> > command register = 0x0002
> > status register = 0x0000
> > revision ID = 0x00
> > class code = 0x05
> > sub class code = 0x00
> > programming interface = 0x00
> > cache line = 0x00
> > latency time = 0xf8
> > header type = 0x00
> > BIST = 0x00
> > base address 0 = 0x10000000
> > base address 1 = 0x00000000
> > base address 2 = 0x00000000
> > base address 3 = 0x00000000
> > base address 4 = 0x00000000
> > base address 5 = 0x00000000
> > cardBus CIS pointer = 0x00000000
> > sub system vendor ID = 0x4754
> > sub system ID = 0x0005
> > expansion ROM base address = 0x00000000
> > interrupt line = 0x03
> > interrupt pin = 0x00
> > min Grant = 0x00
> > max Latency = 0x00
> > value = 0 = 0x0
> > -> d 0x10000000
> > 10000000:
> > data access
> > Exception current instruction address: 0x0015c070
> > Machine Status Register: 0x0000b030
> > Data Access Register: 0x10000000
> > Condition Register: 0x48200080
> > Data storage interrupt Register: 0x40000000
> >
> > 1812e0 vxTaskEntry +60 : shell ()
> > 177118 shell +18c: 177144 ()
> > 177368 shell +3dc: execute ()
> > 1774ec execute +d8 : yyparse ()
> > 1a96ec yyparse +7a8: 1a7634 ()
> > 1a77ac yystart +8f8: d ()
> > shell restarted.
> > --------------------------------------------------------------
> >
> > But When I modified it as following, I could success to display and
modified
> > at PCI_BASE_ADDR(0x08000000)..
> > #define CPU_PCI_MEM_SIZE 0x10000000 /* 128 meg */
> >
> > ..
> >
> > I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> > for memory access more than 16MB..
> >
> > But.. Maybe, it seems to be incorrect..
> >
> > Please..
> > Can anybody let me understand in the easiest way what is problem.
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Spurious Vx Works errors during building
Date: Mon, 11 Mar 2002 11:38:20 -0000
From: "KatMoore" <KatMoore@Hotmail.com>
Message-ID: <3c8c972b$1@pull.gecm.com>
References: <3c87813f$1@pull.gecm.com> <7Lii8.8666$uA5.8616@rwcrnsc51.ops.asp.att.net>

Yeah thanks,

I actually found out what the problem was. The drive on which Tornado was
being run on was out of space, so whilst the make tool was running it
obviously uses space in the directory for expanding and contracting tempory
files and it must have been hitting the 'no space' problem and subsequently
failing.

Thanks for the help

Regards

Kathleen

"Gary M" <com.vertical@garym> wrote in message
news:7Lii8.8666$uA5.8616@rwcrnsc51.ops.asp.att.net...
> _binArrayStart and _binArrayEnd are emitted by the binToAsm tool which
> converts the deflated binary image back to .s format. For some reason
> _binArrayEnd is getting lost. You may want to edit the rules to preserve
the
> temporary files to determine where the problem is.
>
> "KatMoore" <KatMoore@Hotmail.com> wrote in message
> news:3c87813f$1@pull.gecm.com...
> > Hi,
> >
> > I wonder can anyone help me with a problem which is causing me more than
a
> > few problems at the minute.
> >
> > I am building a downloadable project in Tornado II with vxWorks 5.4. In
> it
> > I have set up four custom builds using different rule in order to build
a
> > final "vxWorks.st_rom.bin" image.
> >
> > The third rule runs the make command in the BSP directory in order to
> build
> > the vxWorks.hex image but at the moment every time I run the rule the
> build
> > fails with the following message
> >
> >
> > 'C:\Tornado\target\lib\libPPC604gnuvx.a vxWorks.st.Z.o
> > bootInit_st.o: In function `romStart':
> > bootInit_st.o(.text+0xb6): undefined reference to `_binArrayEnd'
> > bootInit_st.o(.text+0xba): undefined reference to `_binArrayEnd'
> > make[1]: *** [vxWorks.st_rom] Error 0x1
> > make[1]: Leaving directory `C:\Tornado\target\config\rs60x'
> > make: *** [Step_3] Error 0x2
> >
> > Done.'
> >
> > Now the rule was working fine for many months now, but has started to
play
> > up this last 2 days. It is now happening so much that I am getting it
> every
> > time I build this rule. The only way I can get past it is to do a BSP
> clean
> > build and then do a BSP vxWorks build.
> >
> > The BSP in use is for a Radstone board and Tornado does not have any of
> the
> > windriver cumulative patches installed.
> >
> > Any help would be greatly appreciated.
> >
> >
> > Regards
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Is there any existing example of tonoroda for me to study using
 tonoroda?
Date: Mon, 11 Mar 2002 06:40:34 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3C8C97B2.23E77CE4@bellsouth.net>
References: <989cdae4.0203101759.ebc548c@posting.google.com>

zlybupt wrote:

> Give me a website if there exists any!
> Thank you very much!

If you are talking about the latest version of Tornado,
look at www.wrs.com. Also, if you bought it as opposed
to downloaded the evaluatiobn copy, it comes with a bunch of books,
that have examples in them.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] Ring Buffer Overflow
Date: Mon, 11 Mar 2002 06:42:56 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3C8C9840.6BE59F0B@bellsouth.net>
References: <b1b90dae.0203110120.2380d1b8@posting.google.com>

Kim Tae Hyung wrote:

> Hi~ I have a question about ring buffer overflow.
> I have read many articles in this group about ring
> buffer overflow while doing netJobAdd().
> And I concluded that it is mainly because of the lack
> of CPU Power. So vxWorks cannot help but show those
> messages.
>
> But I want to remove those messages "ring buffer overflow".
> I think if I can reach ring buffer data structure or global
> variable, I can remove those messages. But as you know,
> we cannot see any variable in the function "netJobAdd".
> Is there any possible way to see a variable in the "netJobAdd"
> or the source of netJobAdd?
>
> Any comment will be appreciated.
> Thanks.

It would seem silly to remove the message without removing the
cause of the message. Do you really want the system to silently
fail???

Speaking only for myself,

Joe Durusau

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

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

From vxwexplo-errs@csg.lbl.gov Mon Mar 11 05:40:00 2002
From: "Sajjad Ahmed" <sajjada@future.futsoft.com>
Date: Mon Mar 11 05:40:03 PST 2002
Subject: tNetTasks makes system hang !!(;;)

Hi vxworks experts,

I did a small experiment on to my target board with tNetTask,
which resulted into HANG on the board.

->sp test
->netJobAdd(testhandler,0,0,0,0,0)
TakenSem
Spawning Semtest1Task Task
->netJobAdd(handler,0,0,0,0,0)
the system hangs here(ie you will not able to type any thing on wind
shell.).

/***************************************************/
the above test and handler function are as follows:
SEM_ID sIdd;
void test()
{
 sIdd = semCreate(SEM_Q_FIFO ,SEM_FULL);
 /* pend here on queue */
}
void testhandler()
{
 printf("TaskName : %s\n",taskName(taskIdSelf()));

 semTake(sIdd,WAIT_FOREVER );
 printf ("TakenSem\n");
 taskSpawn ("Semtest1Task",20,0,3200,
 (FUNCPTR)SemTakeTesting1,0,0,0,0,0,0,0,0,0,0);;
}
void SemTakeTesting1 ()
{
 printf("Spawning %s Task\n",taskName(taskIdSelf()));
 for(;;){
 printf ("SemTakeTesting1 Sem Taking \n");
 semTake(sIdd,WAIT_FOREVER);
 printf ("SemTakeTesting Successfully Taken\n");
 }
}

Does any body knows this behaviour of the tNetTask.

thanks in Advance.

_Sajjad.

From vxwexplo-errs@csg.lbl.gov Tue Mar 12 00:48:46 2002
From: S Ramesh <rashanmu@npd.hcltech.com>
Date: Tue Mar 12 00:48:49 PST 2002
Subject: IP Hdr length error

Hi,

I am using raw sockets in VxWOrks and i want to receive some data
using some unassigned protocol number in IP Protocol field. I am
sending a string here of size13 bytes.

One thing is all BSD derived socket implementations while creating
their own IP header using IP_HDRINCL option should not convert the
length and frag offset field from host byte order to N/W byte order.
This is a feature/bug and VxWorks is no excemption from this( Linux
too ). I am sending the string by building own IP header with protocol
field as 140 from a Linux machine. I am receiving the same thing in
VxWOrks. But the length field of the received IP packet using raw
socket is showing some junk. But all the other data are correct. I
tried between two linux machines, there the length field is printing
correctly as 33 ( 20 + 13 ). But again when i send the data from
VxWOrks to Linux ( note: the length field is left in Host byte order
itself ), the linux machines prints the data correctly.

THe only case, that too the length field alone is bringing me problems
while receiving from VxWOrks. What could be the problem. THe the size
of the packet received is 33 but the lenght field inside the IP header
is showing some junk.

I tried the other way of not converting the length field from n/w to
host byte order. Now its printing the size as 13. That is it is
excluding the IP hdr length size. This is constantly leaving the 20
bytes and giving the remaining length.( I tried with other packet
lengths also, thats why i am saying ). So what is the bug here.
Whether it is VxWorks bug or Linux bug or my code bug or it is a
feature :-). Kindly help me in this regard.

THanks,
Ramesh

From vxwexplo-errs@csg.lbl.gov Tue Mar 12 00:55:58 2002
From: S Ramesh <rashanmu@npd.hcltech.com>
Date: Tue Mar 12 00:56:01 PST 2002
Subject: Re: IP Hdr length error

Sorry, subject is IP Total length error.

Thanks,
Ramesh

S Ramesh wrote:

> Hi,
>
> I am using raw sockets in VxWOrks and i want to receive some data
> using some unassigned protocol number in IP Protocol field. I am
> sending a string here of size13 bytes.
>
> One thing is all BSD derived socket implementations while creating
> their own IP header using IP_HDRINCL option should not convert the
> length and frag offset field from host byte order to N/W byte order.
> This is a feature/bug and VxWorks is no excemption from this( Linux
> too ). I am sending the string by building own IP header with protocol
> field as 140 from a Linux machine. I am receiving the same thing in
> VxWOrks. But the length field of the received IP packet using raw
> socket is showing some junk. But all the other data are correct. I
> tried between two linux machines, there the length field is printing
> correctly as 33 ( 20 + 13 ). But again when i send the data from
> VxWOrks to Linux ( note: the length field is left in Host byte order
> itself ), the linux machines prints the data correctly.
>
> THe only case, that too the length field alone is bringing me problems
> while receiving from VxWOrks. What could be the problem. THe the size
> of the packet received is 33 but the lenght field inside the IP header
> is showing some junk.
>
> I tried the other way of not converting the length field from n/w to
> host byte order. Now its printing the size as 13. That is it is
> excluding the IP hdr length size. This is constantly leaving the 20
> bytes and giving the remaining length.( I tried with other packet
> lengths also, thats why i am saying ). So what is the bug here.
> Whether it is VxWorks bug or Linux bug or my code bug or it is a
> feature :-). Kindly help me in this regard.
>
> THanks,
> Ramesh
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-net" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

From vxwexplo-errs@csg.lbl.gov Tue Mar 12 01:19:07 2002
From: Andi Kleen <ak@suse.de>
Date: Tue Mar 12 01:19:09 PST 2002
Subject: Re: IP Hdr length error

> I tried the other way of not converting the length field from n/w to
> host byte order. Now its printing the size as 13. That is it is
> excluding the IP hdr length size. This is constantly leaving the 20
> bytes and giving the remaining length.( I tried with other packet
> lengths also, thats why i am saying ). So what is the bug here.
> Whether it is VxWorks bug or Linux bug or my code bug or it is a
> feature :-). Kindly help me in this regard.

Linux only changes the fields that are documented in raw(7) in IP_HDRINCL,
but never does any byte order conversions.
Linux raw sockets are not bug-to-bug compatible to BSD.

-Andi

From vxwexplo-errs@csg.lbl.gov Tue Mar 12 01:44:40 2002
From: S Ramesh <rashanmu@npd.hcltech.com>
Date: Tue Mar 12 01:44:43 PST 2002
Subject: Re: IP Hdr length error

HI Andi,

Thanks for the response. I studied about this Bug in BSD from the Raw IP faqs
link.

http://www.whitefang.com/rin/rawfaq.html#14

Yeah man 7 raw is saying the length field is always filled in. I tried and
checked it now. It is working fine. I dont know the problem with VxWorks. Any
expert suggestion of some general idea, if possible.

Thanks,
Ramesh

Andi Kleen wrote:

> > I tried the other way of not converting the length field from n/w to
> > host byte order. Now its printing the size as 13. That is it is
> > excluding the IP hdr length size. This is constantly leaving the 20
> > bytes and giving the remaining length.( I tried with other packet
> > lengths also, thats why i am saying ). So what is the bug here.
> > Whether it is VxWorks bug or Linux bug or my code bug or it is a
> > feature :-). Kindly help me in this regard.
>
> Linux only changes the fields that are documented in raw(7) in IP_HDRINCL,
> but never does any byte order conversions.
> Linux raw sockets are not bug-to-bug compatible to BSD.
>
> -Andi

From vxwexplo-errs@csg.lbl.gov Tue Mar 12 04:03:21 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Mar 12 04:03:23 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Tue Mar 12 04:03:15 PST 2002

 Subject: Re: OPENDIR Help
 Subject: Re: OPENDIR Help
 Subject: Re: Printing 64bit values
 Subject: WindML Accelerated Driver
 Subject: cache line coherency
 Subject: mvme2604 lpt driver
 Subject: Re: WindML Accelerated Driver
 Subject: Re: [Q] Ring Buffer Overflow
 Subject: Re: OPENDIR Help
 Subject: Re: OPENDIR Help
 Subject: Re: Printing 64bit values
 Subject: Re: Printing 64bit values
 Subject: Re: Printing 64bit values
 Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free
 Subject: Re: Printing 64bit values
 Subject: NVSRAM, DS1747
 Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
 Subject: NET-SNMP under VxWorks
 Subject: [Q] IBM 405GP ibmEmac RXD error
 Subject: Re: Unresolved symbol while download program : __eabi?
 Subject: Re: NET-SNMP under VxWorks
 Subject: HELP about sysAuxClkRateSet() and BSP !
 Subject: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: how can I clear the data buffer of a serial port?
 Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
 Subject: Re: WindML Accelerated Driver
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: IP Length Error in Raw Sockets
 Subject: [Help Me] download app. to vxworks nt simulator
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Re: BSD Ethernet Driver
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Porting from VxWorks 5.3 to 5.4
 Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
 Subject: Strange ccarm error message.
 Subject: Page Fault for help
 Subject: Using the Intel Pentium IA32 compiler with vxWorks

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: 11 Mar 2002 06:12:15 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203110612.f95dd7d@posting.google.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il>

Ok. I will look into using RAM Disk. I see the API ramDrv and
ramDevCreate APIs which should be followed by a dosFsDevInit. The
part that I am not groking yet is when folks say to copy the files I
will need there and then opendir will work. Our application creates
and uses many files...some of which could be large. How can one
predict the amount of Ram to use, or should the files be copied there
from a directory structure only when the time comes to needing to do
an opendir? Sorry if I'm missing how to use ram disks...have to study
that...but from first look through the docs, there is not a good
explanation of the copy files part. Thanks again for your help and
patience.

Mike

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$pfxssg$mgj$1@lnews.actcom.co.il>...
> Pardon my French, passFs and netDrv font support dirLib properly.
> dosFs in all its forms and versions fully supports dirLib (which includes
> opendir ) and mkdir() so you should have no problems doing what
> you need to do on a RAM disk or virtual disk, both of which will
> use dosFs on top of the block device driver.
>
> As to NFS, since you are on a WIndows host, you will find it
> quite difficult to set up NFS properly between the VxSim
> and your MSFT host, therefore my RAM disk recommendation,
> its the easiest way out, and closest to your final situation.
>
> "Mike Palone" <mpalone@gotuit.com> wrote in message
> news:971e6b8f.0203101438.300fe42c@posting.google.com...
> > Thanks for the feedback Leonid. Not sure how to create a virtual disk
> > or RAM disk yet...I'll have to research. Lot of hoops to jump through
> > because of a documented API does not work. Putting passFs aside for
> > the time being, can somebody please tell me that it is in fact true
> > that opendir does not work for dosFs? Should I dive further on the
> > threads in this forum suggesting the use of NFS rather than netDrv?
> > Can I use NFS for a local hard drive? It is a bug. If I can create
> > directories and files...and read and write to files...I should be able
> > to do an opendir. I started experiments toward implementing opendir
> > functionality myself, but at this point even:
> >
> > Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
> >
> > gives an errno of ENOTDIR after opening a DIR. Our target will have a
> > local hard disk, and without knowing the details, the idea of copying
> > all the files I need to a RAM Disk just to enumerate a directory
> > worries me.
> >
> > The other interesting thing is that I looked at the code in usrLib.c
> > since it implements the ls command .... and it works from the command
> > shell. It uses opendir. However there is the following code in the
> > routine that I think may be executing as opposed to the opendir
> > command.
> >
> > if (_func_netLsByName != NULL)
> > {
> > if ((*_func_netLsByName) (dirname) == OK)
> > return (OK);
> > else if (errno != S_netDrv_UNKNOWN_REQUEST)
> > return (ERROR);
> > }
> >
> > Thanks again...
> > Mike
> >
> >
> > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > > Mike,
> > >
> > > passFs is just a hack, quick and dirty means of accessing
> > > the work station file during development. Since it wont
> > > be used for the application, it is not worth much effort.
> > >
> > > Until you have your final target, you can try to use
> > > a virtual disk running full dosFs on it, which will be
> > > much closer to your final application. If you cant
> > > make a virtual disk, make a RAM disk with dosFs,
> > > and fill it with the files you need on initialization.
> > >
> > > Also, there is the TSFS - Target Server File System
> > > which you could try, but I have never used it and dont
> > > know if it supports opendir and the like.
> > >
> > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > > Hey...
> > > >
> > > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > > since we do not have our target hardware at this point. I have read
> > > > through all the threads in this group regarding the problems that have
> > > > been encountered with opendir and was hoping that somebody could give
> > > > me an update on it's status. Unfortunately, I spent way too much time
> > > > trying to get it to work without consulting this forumn first. The
> > > > problems I was having with creating directories and reading and
> > > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > > creating Directories failed with an unknown device error. The
> > > > remaining hurdle (as if there won't be more to come...but the memory,
> > > > threading, semaphore, etc. ports are working great) I now have is that
> > > > opendir simply does not work. I've exhausted all experiments. In the
> > > > end, we will have a local dosFs that we will need to interface to.
> > > > There is a lot of discussions in this forum regarding opendir not
> > > > working with netDrv and that we should NFS. I am about ready to write
> > > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > > sure I should proceed with that option. Basically... pDir =
> > > > opendir("dirname") always returns NULL and sometimes the error is
> > > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > > appreciate any help/guidance somebody can give me.
> > > >
> > > > Mike Palone
> > > > Principal Software Engineer
> > > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: Mon, 11 Mar 2002 09:38:06 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C8CC14E.3E10877D@notifier-is.net>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com>

Mike Palone wrote:

> Ok. I will look into using RAM Disk. I see the API ramDrv and
> ramDevCreate APIs which should be followed by a dosFsDevInit. The
> part that I am not groking yet is when folks say to copy the files I
> will need there and then opendir will work. Our application creates
> and uses many files...some of which could be large. How can one
> predict the amount of Ram to use, or should the files be copied there
> from a directory structure only when the time comes to needing to do
> an opendir? Sorry if I'm missing how to use ram disks...have to study
> that...but from first look through the docs, there is not a good
> explanation of the copy files part. Thanks again for your help and
> patience.
>

ram disk is just like a floppy disk (or hard disk) once you have it set up. You save files there, read and write them just
like you would on a persistent storage device. opendir does work with dosfs; I have used it. May have even used it on a ram
disk during development, not sure that was a while back.

As far as figuring out how much ram to use, you have to know how big your files are. Since this is a temporary solution
until you get persistent storage you may want to go ahead and limit what you are writing to the files, for now, so you don't
have to use up all your ram as a disk.

David

>
> Mike
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$pfxssg$mgj$1@lnews.actcom.co.il>...
> > Pardon my French, passFs and netDrv font support dirLib properly.
> > dosFs in all its forms and versions fully supports dirLib (which includes
> > opendir ) and mkdir() so you should have no problems doing what
> > you need to do on a RAM disk or virtual disk, both of which will
> > use dosFs on top of the block device driver.
> >
> > As to NFS, since you are on a WIndows host, you will find it
> > quite difficult to set up NFS properly between the VxSim
> > and your MSFT host, therefore my RAM disk recommendation,
> > its the easiest way out, and closest to your final situation.
> >
> > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > news:971e6b8f.0203101438.300fe42c@posting.google.com...
> > > Thanks for the feedback Leonid. Not sure how to create a virtual disk
> > > or RAM disk yet...I'll have to research. Lot of hoops to jump through
> > > because of a documented API does not work. Putting passFs aside for
> > > the time being, can somebody please tell me that it is in fact true
> > > that opendir does not work for dosFs? Should I dive further on the
> > > threads in this forum suggesting the use of NFS rather than netDrv?
> > > Can I use NFS for a local hard drive? It is a bug. If I can create
> > > directories and files...and read and write to files...I should be able
> > > to do an opendir. I started experiments toward implementing opendir
> > > functionality myself, but at this point even:
> > >
> > > Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
> > >
> > > gives an errno of ENOTDIR after opening a DIR. Our target will have a
> > > local hard disk, and without knowing the details, the idea of copying
> > > all the files I need to a RAM Disk just to enumerate a directory
> > > worries me.
> > >
> > > The other interesting thing is that I looked at the code in usrLib.c
> > > since it implements the ls command .... and it works from the command
> > > shell. It uses opendir. However there is the following code in the
> > > routine that I think may be executing as opposed to the opendir
> > > command.
> > >
> > > if (_func_netLsByName != NULL)
> > > {
> > > if ((*_func_netLsByName) (dirname) == OK)
> > > return (OK);
> > > else if (errno != S_netDrv_UNKNOWN_REQUEST)
> > > return (ERROR);
> > > }
> > >
> > > Thanks again...
> > > Mike
> > >
> > >
> > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> > news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > > > Mike,
> > > >
> > > > passFs is just a hack, quick and dirty means of accessing
> > > > the work station file during development. Since it wont
> > > > be used for the application, it is not worth much effort.
> > > >
> > > > Until you have your final target, you can try to use
> > > > a virtual disk running full dosFs on it, which will be
> > > > much closer to your final application. If you cant
> > > > make a virtual disk, make a RAM disk with dosFs,
> > > > and fill it with the files you need on initialization.
> > > >
> > > > Also, there is the TSFS - Target Server File System
> > > > which you could try, but I have never used it and dont
> > > > know if it supports opendir and the like.
> > > >
> > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > > > Hey...
> > > > >
> > > > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > > > since we do not have our target hardware at this point. I have read
> > > > > through all the threads in this group regarding the problems that have
> > > > > been encountered with opendir and was hoping that somebody could give
> > > > > me an update on it's status. Unfortunately, I spent way too much time
> > > > > trying to get it to work without consulting this forumn first. The
> > > > > problems I was having with creating directories and reading and
> > > > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > > > creating Directories failed with an unknown device error. The
> > > > > remaining hurdle (as if there won't be more to come...but the memory,
> > > > > threading, semaphore, etc. ports are working great) I now have is that
> > > > > opendir simply does not work. I've exhausted all experiments. In the
> > > > > end, we will have a local dosFs that we will need to interface to.
> > > > > There is a lot of discussions in this forum regarding opendir not
> > > > > working with netDrv and that we should NFS. I am about ready to write
> > > > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > > > sure I should proceed with that option. Basically... pDir =
> > > > > opendir("dirname") always returns NULL and sometimes the error is
> > > > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > > > appreciate any help/guidance somebody can give me.
> > > > >
> > > > > Mike Palone
> > > > > Principal Software Engineer
> > > > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Mon, 11 Mar 2002 17:00:50 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$xrftsg$l2k$1@lnews.actcom.co.il>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at>

so why not just attach this piece of code to a message????

- --
Ofer Goren
Iamba Technologies
"Mario Semo" <mario.semo@kirchnersoft.com> wrote in message
news:a69n3j$637$1@at-vie-newsmaster01.nextra.at...
> Hello,
>
> if you have MS VC++ 6.0 too install the CRT sources from the CD and look
> into xtoa() implementation. this function converts a 64bit integer into an
> ascii string. it was an easy job for me to make this compileable for
vxworks
> and added it to my projects.
>
>
> --
> regards, Mario Semo. http://www.kirchnersoft.com
> Goran <reachgoran@yahoo.com> wrote in message
> news:900e9637.0203060746.2d1c1bda@posting.google.com...
> > Hi,
> >
> > I am trying to print 64bit values using printf function.
> > ===========================
> > #include <stdio.h>
> >
> > void myprint()
> > {
> > unsigned long long var1, var2;
> >
> > printf("sizeof unsigned long long = %d\n", sizeof(var1));
> >
> > var1 = 4294967290ULL; /* A value less than ( (2 power 32) -1 */
> > printf("var1 = %llu\n", var1);
> >
> > var1 = 42949672960ULL; /* A value greater than ( (2 power 32) */
> > printf("var2 = %llu\n", var2);
> >
> >
> > }
> > ============================
> > I am using Tornado 2.0 and have tried using a "simpc" based and
> > "pcPentium" based BSPs. The libraries used were
> >
> > simpc ->
> C:\Tornado\host\x86-win32\lib\gcc-lib\i386-pc-mingw32\egcs-2.90.29
> > \libgcc.a
> >
> > pcPentium ->
>
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-wrs-vxworks\cygnus-2.7.2-960126\l
> ibgcc.a
> >
> > But, I am not getting correct result while printing the second
> > variable var2? ( Or any value which is greater than or equal to (2
> > power 32).
> >
> > For the above code the results were:
> > sizeof unsigned long long = 8
> > var1 = 4294967290
> > var2 = 4008636142
> >
> > Could someone please explain this abnormal behaviour??
> >
> > Thanks
> > Goran.
>
>

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

Newsgroups: comp.os.vxworks
Subject: WindML Accelerated Driver
Date: 11 Mar 2002 07:04:51 -0800
From: tobias.klotz@draeger.com (Tobias Klotz)
Organization: http://groups.google.com/
Message-ID: <5d6482af.0203110704.57c443d6@posting.google.com>

Hello,

we currently use an unanccelerated driver for WindML. In order to
improve performance I plan to rewrite the BitBLT functions. How can I
detect if a call to the drivers bitmapBlt function shall perform a
BitBLT within the framebuffer? Which functions need to be re-written
(I assume it is at least ugl16BitGenericBitmapBlt but what else?).

thanks!

tobias

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

Newsgroups: comp.os.vxworks
Subject: cache line coherency
Date: 11 Mar 2002 07:51:38 -0800
From: ilevi@rugged.com (Ilan)
Organization: http://groups.google.com/
Message-ID: <2d7af320.0203110751.728bda69@posting.google.com>

Hi All

I am running a PowerPc board with Tornado 2.0.
I have to determine the "memDefaultAlignment" parameter because I want
to take care about cache line coherency.
I tried to determine this parameters in different files but the
vxWorks announce an error in the compilation.
Is any one know were is the right place to determine this parameter,
Or maybe I don't have to change this parameter.

Thank you very much,
Ilan

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

Newsgroups: comp.os.vxworks
Subject: mvme2604 lpt driver
Date: 11 Mar 2002 09:14:20 -0800
From: mgarcia@psl.nmsu.edu (Michael Garcia)
Organization: http://groups.google.com/
Message-ID: <f9dcdede.0203110914.1f18411f@posting.google.com>

I am in need of a lpt driver for a mvme2604 board. Any assistance as
to where one is available is appreciated.

Mike

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

Newsgroups: comp.os.vxworks
Subject: Re: WindML Accelerated Driver
Date: 11 Mar 2002 12:32:21 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ud6yb57tm.fsf@yahoo.com>
References: <5d6482af.0203110704.57c443d6@posting.google.com>
Sender: bpringlemeir@DeadDuck

 Tobias> Hello, we currently use an unanccelerated driver for
 Tobias> WindML. In order to improve performance I plan to rewrite the
 Tobias> BitBLT functions. How can I detect if a call to the drivers
 Tobias> bitmapBlt function shall perform a BitBLT within the
 Tobias> framebuffer? Which functions need to be re-written (I assume
 Tobias> it is at least ugl16BitGenericBitmapBlt but what else?).

Generally, you would compare the pointer value to see if it was in
"framebuffer" memory. I seem to remember that there are some
optimizations related to this. For instance, three step bitBlits may
be performed off screen and then moved to the "framebuffer" to
minimize flicker.

Are you talking about VGA type optimizations of "framebuffer"
bitBlitting? Do you have some hardware that will bitBlit? I am not
quite sure what optimization you are talking about; but the memory
compare should work. I think that a pointer to the "framebuffer" is
put in every graphics context (or some convenient structure) for quick
reference.

hth,
Bill Pringlemeir.

- --
Little of the young Kibo and an egg are wimpy.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] Ring Buffer Overflow
Date: Mon, 11 Mar 2002 14:42:47 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <aL7j8.3462$T_.61193@iad-read.news.verio.net>
References: <b1b90dae.0203110120.2380d1b8@posting.google.com>

If you are attempting to implement a mechanism whereby it
is legitimate to discard objects when inserted into a full ring
buffer, then a ring buffer alone is probably not the appropriate
mechanism. You can either implement a buffer on your own
that works that way or else put a wrapper around your present
ring buffer mechanism and discard the excess data without
trying to insert it into the buffer.

doug

"Kim Tae Hyung" <kotaeji@hanmail.net> wrote in message
news:b1b90dae.0203110120.2380d1b8@posting.google.com...
> Hi~ I have a question about ring buffer overflow.
> I have read many articles in this group about ring
> buffer overflow while doing netJobAdd().
> And I concluded that it is mainly because of the lack
> of CPU Power. So vxWorks cannot help but show those
> messages.
>
> But I want to remove those messages "ring buffer overflow".
> I think if I can reach ring buffer data structure or global
> variable, I can remove those messages. But as you know,
> we cannot see any variable in the function "netJobAdd".
> Is there any possible way to see a variable in the "netJobAdd"
> or the source of netJobAdd?
>
> Any comment will be appreciated.
> Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: 11 Mar 2002 11:50:43 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203111150.156e92e5@posting.google.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com> <3C8CC14E.3E10877D@notifier-is.net>

Thanks David...

We are discussing using the ram disk as a temporary solution. It must
be the 2.02 Tornado version of SIMNT I'm using but,

DIR *pDir = NULL;
pDir = opendir(dirname);
ALWAYS returns a NULL for pDir.

If you got it to work for dosFs, please tell me what I should look
into.

Thanks again...
Mike

david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C8CC14E.3E10877D@notifier-is.net>...
> Mike Palone wrote:
>
> > Ok. I will look into using RAM Disk. I see the API ramDrv and
> > ramDevCreate APIs which should be followed by a dosFsDevInit. The
> > part that I am not groking yet is when folks say to copy the files I
> > will need there and then opendir will work. Our application creates
> > and uses many files...some of which could be large. How can one
> > predict the amount of Ram to use, or should the files be copied there
> > from a directory structure only when the time comes to needing to do
> > an opendir? Sorry if I'm missing how to use ram disks...have to study
> > that...but from first look through the docs, there is not a good
> > explanation of the copy files part. Thanks again for your help and
> > patience.
> >
>
> ram disk is just like a floppy disk (or hard disk) once you have it set up. You save files there, read and write them just
> like you would on a persistent storage device. opendir does work with dosfs; I have used it. May have even used it on a ram
> disk during development, not sure that was a while back.
>
> As far as figuring out how much ram to use, you have to know how big your files are. Since this is a temporary solution
> until you get persistent storage you may want to go ahead and limit what you are writing to the files, for now, so you don't
> have to use up all your ram as a disk.
>
> David
>
> >
> > Mike
> >
> > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$pfxssg$mgj$1@lnews.actcom.co.il>...
> > > Pardon my French, passFs and netDrv font support dirLib properly.
> > > dosFs in all its forms and versions fully supports dirLib (which includes
> > > opendir ) and mkdir() so you should have no problems doing what
> > > you need to do on a RAM disk or virtual disk, both of which will
> > > use dosFs on top of the block device driver.
> > >
> > > As to NFS, since you are on a WIndows host, you will find it
> > > quite difficult to set up NFS properly between the VxSim
> > > and your MSFT host, therefore my RAM disk recommendation,
> > > its the easiest way out, and closest to your final situation.
> > >
> > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > news:971e6b8f.0203101438.300fe42c@posting.google.com...
> > > > Thanks for the feedback Leonid. Not sure how to create a virtual disk
> > > > or RAM disk yet...I'll have to research. Lot of hoops to jump through
> > > > because of a documented API does not work. Putting passFs aside for
> > > > the time being, can somebody please tell me that it is in fact true
> > > > that opendir does not work for dosFs? Should I dive further on the
> > > > threads in this forum suggesting the use of NFS rather than netDrv?
> > > > Can I use NFS for a local hard drive? It is a bug. If I can create
> > > > directories and files...and read and write to files...I should be able
> > > > to do an opendir. I started experiments toward implementing opendir
> > > > functionality myself, but at this point even:
> > > >
> > > > Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
> > > >
> > > > gives an errno of ENOTDIR after opening a DIR. Our target will have a
> > > > local hard disk, and without knowing the details, the idea of copying
> > > > all the files I need to a RAM Disk just to enumerate a directory
> > > > worries me.
> > > >
> > > > The other interesting thing is that I looked at the code in usrLib.c
> > > > since it implements the ls command .... and it works from the command
> > > > shell. It uses opendir. However there is the following code in the
> > > > routine that I think may be executing as opposed to the opendir
> > > > command.
> > > >
> > > > if (_func_netLsByName != NULL)
> > > > {
> > > > if ((*_func_netLsByName) (dirname) == OK)
> > > > return (OK);
> > > > else if (errno != S_netDrv_UNKNOWN_REQUEST)
> > > > return (ERROR);
> > > > }
> > > >
> > > > Thanks again...
> > > > Mike
> > > >
> > > >
> > > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > > > > Mike,
> > > > >
> > > > > passFs is just a hack, quick and dirty means of accessing
> > > > > the work station file during development. Since it wont
> > > > > be used for the application, it is not worth much effort.
> > > > >
> > > > > Until you have your final target, you can try to use
> > > > > a virtual disk running full dosFs on it, which will be
> > > > > much closer to your final application. If you cant
> > > > > make a virtual disk, make a RAM disk with dosFs,
> > > > > and fill it with the files you need on initialization.
> > > > >
> > > > > Also, there is the TSFS - Target Server File System
> > > > > which you could try, but I have never used it and dont
> > > > > know if it supports opendir and the like.
> > > > >
> > > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > > > > Hey...
> > > > > >
> > > > > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > > > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > > > > since we do not have our target hardware at this point. I have read
> > > > > > through all the threads in this group regarding the problems that have
> > > > > > been encountered with opendir and was hoping that somebody could give
> > > > > > me an update on it's status. Unfortunately, I spent way too much time
> > > > > > trying to get it to work without consulting this forumn first. The
> > > > > > problems I was having with creating directories and reading and
> > > > > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > > > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > > > > creating Directories failed with an unknown device error. The
> > > > > > remaining hurdle (as if there won't be more to come...but the memory,
> > > > > > threading, semaphore, etc. ports are working great) I now have is that
> > > > > > opendir simply does not work. I've exhausted all experiments. In the
> > > > > > end, we will have a local dosFs that we will need to interface to.
> > > > > > There is a lot of discussions in this forum regarding opendir not
> > > > > > working with netDrv and that we should NFS. I am about ready to write
> > > > > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > > > > sure I should proceed with that option. Basically... pDir =
> > > > > > opendir("dirname") always returns NULL and sometimes the error is
> > > > > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > > > > appreciate any help/guidance somebody can give me.
> > > > > >
> > > > > > Mike Palone
> > > > > > Principal Software Engineer
> > > > > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: Mon, 11 Mar 2002 15:21:50 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C8D11DE.A3F336BE@notifier-is.net>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com> <3C8CC14E.3E10877D@notifier-is.net> <971e6b8f.0203111150.156e92e5@posting.google.com>

Mike Palone wrote:

> Thanks David...
>
> We are discussing using the ram disk as a temporary solution. It must
> be the 2.02 Tornado version of SIMNT I'm using but,
>
> DIR *pDir = NULL;
> pDir = opendir(dirname);
> ALWAYS returns a NULL for pDir.
>
> If you got it to work for dosFs, please tell me what I should look
> into.
>

did you make sure the ram disk actually worked after you initialized it? by writing a file and reading it back? You should be
doing a ramDevCreate(), a dosFsDevInit(), and probably a dosFsMkFs() to initialize it with a blank file system. Seems like we may
have had some trouble with return codes from these functions as well...

I've looked at my code and it appears we didn't use subdirectories but used opendir() to open the root of the disk. We were still
using a ram disk in the version I looked at. Our ram disk is mounted as '/FLASH' so the opendir looked like this:

DIR *dir=opendir("/FLASH/");

The trailing backslash may be necessary, I don't know for sure at this point.

David

>
> Thanks again...
> Mike
>
> david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C8CC14E.3E10877D@notifier-is.net>...
> > Mike Palone wrote:
> >
> > > Ok. I will look into using RAM Disk. I see the API ramDrv and
> > > ramDevCreate APIs which should be followed by a dosFsDevInit. The
> > > part that I am not groking yet is when folks say to copy the files I
> > > will need there and then opendir will work. Our application creates
> > > and uses many files...some of which could be large. How can one
> > > predict the amount of Ram to use, or should the files be copied there
> > > from a directory structure only when the time comes to needing to do
> > > an opendir? Sorry if I'm missing how to use ram disks...have to study
> > > that...but from first look through the docs, there is not a good
> > > explanation of the copy files part. Thanks again for your help and
> > > patience.
> > >
> >
> > ram disk is just like a floppy disk (or hard disk) once you have it set up. You save files there, read and write them just
> > like you would on a persistent storage device. opendir does work with dosfs; I have used it. May have even used it on a ram
> > disk during development, not sure that was a while back.
> >
> > As far as figuring out how much ram to use, you have to know how big your files are. Since this is a temporary solution
> > until you get persistent storage you may want to go ahead and limit what you are writing to the files, for now, so you don't
> > have to use up all your ram as a disk.
> >
> > David
> >
> > >
> > > Mike
> > >
> > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$pfxssg$mgj$1@lnews.actcom.co.il>...
> > > > Pardon my French, passFs and netDrv font support dirLib properly.
> > > > dosFs in all its forms and versions fully supports dirLib (which includes
> > > > opendir ) and mkdir() so you should have no problems doing what
> > > > you need to do on a RAM disk or virtual disk, both of which will
> > > > use dosFs on top of the block device driver.
> > > >
> > > > As to NFS, since you are on a WIndows host, you will find it
> > > > quite difficult to set up NFS properly between the VxSim
> > > > and your MSFT host, therefore my RAM disk recommendation,
> > > > its the easiest way out, and closest to your final situation.
> > > >
> > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > news:971e6b8f.0203101438.300fe42c@posting.google.com...
> > > > > Thanks for the feedback Leonid. Not sure how to create a virtual disk
> > > > > or RAM disk yet...I'll have to research. Lot of hoops to jump through
> > > > > because of a documented API does not work. Putting passFs aside for
> > > > > the time being, can somebody please tell me that it is in fact true
> > > > > that opendir does not work for dosFs? Should I dive further on the
> > > > > threads in this forum suggesting the use of NFS rather than netDrv?
> > > > > Can I use NFS for a local hard drive? It is a bug. If I can create
> > > > > directories and files...and read and write to files...I should be able
> > > > > to do an opendir. I started experiments toward implementing opendir
> > > > > functionality myself, but at this point even:
> > > > >
> > > > > Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
> > > > >
> > > > > gives an errno of ENOTDIR after opening a DIR. Our target will have a
> > > > > local hard disk, and without knowing the details, the idea of copying
> > > > > all the files I need to a RAM Disk just to enumerate a directory
> > > > > worries me.
> > > > >
> > > > > The other interesting thing is that I looked at the code in usrLib.c
> > > > > since it implements the ls command .... and it works from the command
> > > > > shell. It uses opendir. However there is the following code in the
> > > > > routine that I think may be executing as opposed to the opendir
> > > > > command.
> > > > >
> > > > > if (_func_netLsByName != NULL)
> > > > > {
> > > > > if ((*_func_netLsByName) (dirname) == OK)
> > > > > return (OK);
> > > > > else if (errno != S_netDrv_UNKNOWN_REQUEST)
> > > > > return (ERROR);
> > > > > }
> > > > >
> > > > > Thanks again...
> > > > > Mike
> > > > >
> > > > >
> > > > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> > news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > > > > > Mike,
> > > > > >
> > > > > > passFs is just a hack, quick and dirty means of accessing
> > > > > > the work station file during development. Since it wont
> > > > > > be used for the application, it is not worth much effort.
> > > > > >
> > > > > > Until you have your final target, you can try to use
> > > > > > a virtual disk running full dosFs on it, which will be
> > > > > > much closer to your final application. If you cant
> > > > > > make a virtual disk, make a RAM disk with dosFs,
> > > > > > and fill it with the files you need on initialization.
> > > > > >
> > > > > > Also, there is the TSFS - Target Server File System
> > > > > > which you could try, but I have never used it and dont
> > > > > > know if it supports opendir and the like.
> > > > > >
> > > > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > > > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > > > > > Hey...
> > > > > > >
> > > > > > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > > > > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > > > > > since we do not have our target hardware at this point. I have read
> > > > > > > through all the threads in this group regarding the problems that have
> > > > > > > been encountered with opendir and was hoping that somebody could give
> > > > > > > me an update on it's status. Unfortunately, I spent way too much time
> > > > > > > trying to get it to work without consulting this forumn first. The
> > > > > > > problems I was having with creating directories and reading and
> > > > > > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > > > > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > > > > > creating Directories failed with an unknown device error. The
> > > > > > > remaining hurdle (as if there won't be more to come...but the memory,
> > > > > > > threading, semaphore, etc. ports are working great) I now have is that
> > > > > > > opendir simply does not work. I've exhausted all experiments. In the
> > > > > > > end, we will have a local dosFs that we will need to interface to.
> > > > > > > There is a lot of discussions in this forum regarding opendir not
> > > > > > > working with netDrv and that we should NFS. I am about ready to write
> > > > > > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > > > > > sure I should proceed with that option. Basically... pDir =
> > > > > > > opendir("dirname") always returns NULL and sometimes the error is
> > > > > > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > > > > > appreciate any help/guidance somebody can give me.
> > > > > > >
> > > > > > > Mike Palone
> > > > > > > Principal Software Engineer
> > > > > > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: 11 Mar 2002 12:16:50 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpsadteuafh.fsf@nospam.invalid>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il>

"Ofer Goren" <ofer_goren@iamba.com> writes:
> so why not just attach this piece of code to a message????

Sorry to jump in, but asking for some code to convert a number to
a printable string is like asking for some code to do bubble sort.
1. You should already know it.
2. You can find it documented in most basic programming books.

Here's one straight-forward algorithm:
Use (num % 10) to successively extract the remainder digit
and add ASC '0' to that digit to form the printable digit.
This iterates through the number, digit by digit (in base 10)
from right to left.

The following code-fragment is off the top of my head.
It's not complete. It is not defensive enough.
It can be better optimized. It probably won't
compile out-right, but it shows the main algorithm.

/*
 Convert an unsigned 64 bit number to a printable asc string
 Caller supplies outbuf storage.
 Returns ptr to outbuf on success, or NULL on error.
 */
char *u64bit_to_asc(u64b_t number, char *outbuf, int outbuflen)
{
 char *ptr = outbuf;

 /* Check the arguments for validity.
 What should outbuflen minimally be? */

 /* How would this be different for signed numbers? */

 while (number) {
 unsigned char digit;
 digit = number % 10;
 *ptr = '0' + digit;
 ptr++;
 number = number / 10;
 }
 *ptr = 0;

 /* Reversing the string is left as an exercise. */

 return outbuf;
}

For the platform under discussion in this thread, use:
typedef unsigned long long u64b_t;

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Mon, 11 Mar 2002 15:17:01 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <cf8j8.3466$T_.61350@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il>

This works:

void printULong (unsigned long val)
{
 if (val > 0) {
 printULong (val / 10);
 printf ("%d", val %10);
 }
}

doug

"Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:newscache$xrftsg$l2k$1@lnews.actcom.co.il...
> so why not just attach this piece of code to a message????
>
>
>
> --
> Ofer Goren
> Iamba Technologies
> "Mario Semo" <mario.semo@kirchnersoft.com> wrote in message
> news:a69n3j$637$1@at-vie-newsmaster01.nextra.at...
> > Hello,
> >
> > if you have MS VC++ 6.0 too install the CRT sources from the CD and look
> > into xtoa() implementation. this function converts a 64bit integer into
an
> > ascii string. it was an easy job for me to make this compileable for
> vxworks
> > and added it to my projects.
> >
> >
> > --
> > regards, Mario Semo. http://www.kirchnersoft.com
> > Goran <reachgoran@yahoo.com> wrote in message
> > news:900e9637.0203060746.2d1c1bda@posting.google.com...
> > > Hi,
> > >
> > > I am trying to print 64bit values using printf function.
> > > ===========================
> > > #include <stdio.h>
> > >
> > > void myprint()
> > > {
> > > unsigned long long var1, var2;
> > >
> > > printf("sizeof unsigned long long = %d\n", sizeof(var1));
> > >
> > > var1 = 4294967290ULL; /* A value less than ( (2 power 32) -1 */
> > > printf("var1 = %llu\n", var1);
> > >
> > > var1 = 42949672960ULL; /* A value greater than ( (2 power 32) */
> > > printf("var2 = %llu\n", var2);
> > >
> > >
> > > }
> > > ============================
> > > I am using Tornado 2.0 and have tried using a "simpc" based and
> > > "pcPentium" based BSPs. The libraries used were
> > >
> > > simpc ->
> > C:\Tornado\host\x86-win32\lib\gcc-lib\i386-pc-mingw32\egcs-2.90.29
> > > \libgcc.a
> > >
> > > pcPentium ->
> >
>
C:\Tornado\host\x86-win32\lib\gcc-lib\i386-wrs-vxworks\cygnus-2.7.2-960126\l
> > ibgcc.a
> > >
> > > But, I am not getting correct result while printing the second
> > > variable var2? ( Or any value which is greater than or equal to (2
> > > power 32).
> > >
> > > For the above code the results were:
> > > sizeof unsigned long long = 8
> > > var1 = 4294967290
> > > var2 = 4008636142
> > >
> > > Could someone please explain this abnormal behaviour??
> > >
> > > Thanks
> > > Goran.
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Mon, 11 Mar 2002 15:28:32 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <vq8j8.3473$T_.61176@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid>

I'm sure the algoirthm will work just as well without the
insults.

doug

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rpsadteuafh.fsf@nospam.invalid...
> "Ofer Goren" <ofer_goren@iamba.com> writes:
> > so why not just attach this piece of code to a message????
>
> Sorry to jump in, but asking for some code to convert a number to
> a printable string is like asking for some code to do bubble sort.
> 1. You should already know it.
> 2. You can find it documented in most basic programming books.
>
> Here's one straight-forward algorithm:
> Use (num % 10) to successively extract the remainder digit
> and add ASC '0' to that digit to form the printable digit.
> This iterates through the number, digit by digit (in base 10)
> from right to left.
>
> The following code-fragment is off the top of my head.
> It's not complete. It is not defensive enough.
> It can be better optimized. It probably won't
> compile out-right, but it shows the main algorithm.
>
> /*
> Convert an unsigned 64 bit number to a printable asc string
> Caller supplies outbuf storage.
> Returns ptr to outbuf on success, or NULL on error.
> */
> char *u64bit_to_asc(u64b_t number, char *outbuf, int outbuflen)
> {
> char *ptr = outbuf;
>
> /* Check the arguments for validity.
> What should outbuflen minimally be? */
>
> /* How would this be different for signed numbers? */
>
> while (number) {
> unsigned char digit;
> digit = number % 10;
> *ptr = '0' + digit;
> ptr++;
> number = number / 10;
> }
> *ptr = 0;
>
> /* Reversing the string is left as an exercise. */
>
> return outbuf;
> }
>
> For the platform under discussion in this thread, use:
> typedef unsigned long long u64b_t;
>
> -jc
> --
> (apply 'concat (reverse (list "com"
> (char-to-string 46) "yahoo"
> (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free
 List)
Date: Mon, 11 Mar 2002 16:37:51 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <313680C9A886D511A06000204840E1CF67A15F-100000@whq-msgusr-02.pit.comms.marconi.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com>
 <Pine.GSO.4.42.0203081610250.14393-100000@zimbra> <ug03aofz5.fsf@yahoo.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 8 Mar 2002, Bill Pringlemeir wrote:

> >>>>> "Keith" == Keith Arner <karner@fore.com> writes:
>
> [snip]
>
> Keith> "looked" more or less fragmented. The other rule of thumb I
> Keith> use is the ratio of largest free block to total free memory,
> Keith> but that seems to leave a lot to be desired.
>
> Why is this a bad metric? The largest free block and the time to
> allocate would be the best things to measure in my opinion. Perhaps

If the ratio of largest free block to total free memory is large (close to
1), then clearly, memory is not very fragmented. However, what does the
ratio tell us if it is small (say, < .5)?

If the ratio is .5, then we could have two free blocks of roughly equal
size; or we could have one free block with half of the memory, and the
rest of the memory scattered into lots of little (unusable) blocks.
What if the ratio is .1? We could have ten free blocks, or lots of little
(unusable) blocks, and we would not be able to differentiate.

If your average allocation is much smaller than your largest free block,
the ratio gives you no insight into the usefulness of anything that is not
in your largest free block.

> you should be comparing differences in the "largest free blocks".
> Adding more memory will just skew the "largest free blocks" metric.

I'm not sure what you mean by this. Can you clarify?

> Which is just to say that an allocator that runs out of memory for
> your purposes has fragmented memory. At least that is what I get from

This is my point exactly. I need to predict if a particular set of free
blocks will cause me to run out of memory in the future (with a given
allocation algorithm). The thing that makes this difficult is that
fragmentation can only be considered relative to the future allocation
requests.

If my heap has 5Meg free, but all of the memory is in 1K blocks, is it
fragmented? If I need to do allocations of 1.1K, then it is currently
fragmented beyond being usable. If I need to do allocations of 1K, then
it is not fragmented at all.

In systems with virtual memory, the measurement of fragmentation is easy:
the ratio of total free memory to total memory mapped in. This is because
new memory only gets mapped in when the existing memory cannot satisfy new
requests. Of course, if you've experienced a significant number of
free()'s since the last page got mapped in, this breaks down a bit.

I'm not overly concerned if the final quantification comes in a single
statistic, or in a small number of data points, just so long as it is
possible to make a clear statement that "x is better than y for what we
are doing."

Keith

BTW - This seems to be straying from VxWorks a fair amount. Anyone have a
suggestion for where to migrate this discussion?

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: 11 Mar 2002 13:59:55 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rps7koi9350.fsf@nospam.invalid>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net>

"doug dotson" <ddotson@digidata.com> writes:

> I'm sure the algoirthm will work just as well without the
> insults.

1. What statements do you believe are insults? My comments in
the beginning? My self-critique of the algorithm? My embedded
comments?

2. Having read the complete thread, I'm sure you saw that
multiple people pointed different ways to possible answers.
However, someone insisted on the actual code. Why were those
posters being so evasive? Why not just post the actual code?

3. If I say, "Doug, your solution doesn't deal with signed
numbers, can you provide the code to do that?" You would just
refine and repost it, right? By the way, your solution doesn't
deal with 64 bit numbers (it works on positive 32 bit numbers)
Can you give the solution for printing 64 bit values?

At what point would you tell me to stop?

My disappointment at the question is not that the person didn't
know it (partly it was so). It was, rather, that he didn't want
to find out by himself.

One implementation can be found in K&R's _The C Programming
Language_ 2nd Ed. on page 64, when they first introduce the
do-while loop construct of C.

Finally, I leave you with this thought. What's more insulting to
the person who asked for the code? Your reply or mine?

- -jc
P.S. I apologize in advance (to all those that were asking for
code to this) if I have mis-construed your intent.

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

Newsgroups: comp.os.vxworks
Subject: NVSRAM, DS1747
Date: 11 Mar 2002 14:56:29 -0800
From: rezware@yahoo.com (Raymond)
Organization: http://groups.google.com/
Message-ID: <a01bd37.0203111456.ded003d@posting.google.com>

I need to know if I need a create my own driver or the generic vxWorks
NVRAM driver works for me. I am using EST MDPpro860 board for testing
and the board uses Atmel 24c01 which is a serial EEPROM. The generic
BSP driver form WindRiver works. But the real board (target) is going
to be using DS1747 NVSRAM which is an 8bit parallel device. I like to
know in advance if the current driver will work with the DS1747. The
target board also has an IDPROM (AT28BV64B)for manufacturing purposes.
I think I can use either one of these devices to save boot info, Am I
correct?
CPU is PPC860 and the DS1747device is connected to:
CE to a CPU chip select;
OE to MEM_OE;
and WE to GPCM_WR.
This is a byte wide device. I am using Tornado 2.0.1 on NT
Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: Quantifying Fragmentation (was: Re: Chabging LIFO Ordered Free List)
Date: 11 Mar 2002 18:03:35 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <ulmcy4shk.fsf@yahoo.com>
References: <65b2abfc.0203060736.2f705117@posting.google.com> <Pine.GSO.4.42.0203081610250.14393-100000@zimbra> <ug03aofz5.fsf@yahoo.com> <313680C9A886D511A06000204840E1CF67A15F-100000@whq-msgusr-02.pit.comms.marconi.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Keith" == Keith Arner <karner@fore.com> writes:

 Keith> "looked" more or less fragmented. The other rule of thumb I
 Keith> use is the ratio of largest free block to total free memory,
 Keith> but that seems to leave a lot to be desired.

 >> Why is this a bad metric? The largest free block and the time to
 >> allocate would be the best things to measure in my opinion.
 >> Perhaps

 Keith> If the ratio of largest free block to total free memory is
 Keith> large (close to 1), then clearly, memory is not very
 Keith> fragmented. However, what does the ratio tell us if it is
 Keith> small (say, < .5)?

 Keith> If the ratio is .5, then we could have two free blocks of
 Keith> roughly equal size; or we could have one free block with half
 Keith> of the memory, and the rest of the memory scattered into lots
 Keith> of little (unusable) blocks. What if the ratio is .1? We
 Keith> could have ten free blocks, or lots of little (unusable)
 Keith> blocks, and we would not be able to differentiate.

 Keith> If your average allocation is much smaller than your largest
 Keith> free block, the ratio gives you no insight into the usefulness
 Keith> of anything that is not in your largest free block.

Well, it does. If you wish to allocate 1 byte requests, then the
metric will mean different things to you. However, if an allocator
does give something above one, it is better no matter what.

 >> you should be comparing differences in the "largest free blocks".
 >> Adding more memory will just skew the "largest free blocks"
 >> metric.

 Keith> I'm not sure what you mean by this. Can you clarify?

I am saying that you must compare allocators. Measuring free memory
in a system isn't really good enough. You must compare two allocators
to get a value. Perhaps the best comparison would be versus a "first
available, never free allocator". Ie, the dumbest allocator possible.

This is how I was getting negatives. A positive number was always
better. L = largest block, F = all free memory. I was proposing,

 M = del (L) / del (F)

Which is dumb as it is just relating signs. If both "del(L)" and
"del(F)" are bigger, then the first allocator is better. If one is
positive and one is negative, then you have a contest. If they are
both negative, then the second one is better. If you do have a
maximum allocation size, then the sum of blocks of that size is the
obvious criteria.

This would have been a better metric (where k is some constant),

 M = del(L) + k del(F)

This still has the same properties as the one above [the number can be
negative], but at least it makes a little more quantitative sense.
Basically the "Wilson et al." paper just said that fragmentation is
when you run out of memory for your largest request [which we both
agreed with, but it is a simple statement]. The other part that I
quoted was to say that nobody really looked at memory allocation. It
was a concern to compiler and OS people but not that well studied.
The paper was from 1995 and I am sure that people have made careers
from garbage collection, but I don't think that people study
allocate/free mechanisms as much. As the paper notes, computer
science found that the worst case was really bad so they gave up.
Reality tends to be nicer for non-real time and desktop systems, but
not in a quantified way which is why you asked the question [on this
OS group]. I think that comp.compilers would give you good info, but
my google search turns up little (it points to this group! My keywords
might be bad).

 "http://www.cs.utah.edu/classes/cs6470/current/notes/notes_sep04.txt"
 - notes that traces are first studied in 1998.

 "http://citeseer.nj.nec.com/johnstone97memory.html"
 - look at section 5.

At any rate, we are just discussing `fragmentation'. Speed, and size
of implementation are also important. We can say that vxWorks'
allocator is no good, given the current state of knowledge and common
device architectures that it is used on (32 bit, >= 64k heap).

Regards,
Bill Pringlemeir.

- --
Kennedy Clinton assassination FBI fissionable Uzi cryptographic
Khaddafi nuclear Qaddafi explosion ammunition radar quiche Treasury

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: NET-SNMP under VxWorks
Date: Mon, 11 Mar 2002 23:03:56 GMT
From: pwilson@world.std.com (Pete Wilson)
Organization: The World Public Access UNIX, Brookline, MA
Message-ID: <Gsu02K.54w@world.std.com>

I'm considering trying to install UCD-SNMP/NET-SNMP under
VxWorks but I'd like to be a little bit confident of the
outcome: I'm flying blind right now.

Has anyone successfully installed NET-SNMP under VxWorks?
Has anyone tried and and then given up, enraged and frustrated?

What were your experiences? Piece of cake? Pain in the ass?
And how long did it take? One hour? One month? One year?

THANKS so much!

- -- Pete Wilson

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

Newsgroups: comp.os.vxworks
Subject: [Q] IBM 405GP ibmEmac RXD error
Date: 11 Mar 2002 16:52:10 -0800
From: kotaeji@hanmail.net (Kim Tae Hyung)
Organization: http://groups.google.com/
Message-ID: <b1b90dae.0203111652.2552d149@posting.google.com>

Hi~ I have a question about ibmEmac RXD Error.
I am using vxWorks on it. But ibmEmacRxdeInt function
is so many called. I know this interrupt handler is called
by MAL when Receive Descriptor Error occurs.

At the first time I saw this error, I thought that
we are lack of RXD. But there were enough RXDs empty
when that error occurs.

Is this Hardware Bug? or What causes this error?
Any comments are welcome
Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: Unresolved symbol while download program : __eabi?
Date: 11 Mar 2002 18:46:24 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203111846.6cbe153b@posting.google.com>
References: <8cd11808.0203050528.6bb7bfcf@posting.google.com> <3C8973BF.9732E824@broadcom.com>

hi,
first i want thanks the people who help me to solve the problem.

In Tornado we cann't use main( ) if we use c compiler;but we can use main( )
if we code in C++ language.

all thanks!!
zjh

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

Newsgroups: comp.os.vxworks
Subject: Re: NET-SNMP under VxWorks
Date: Mon, 11 Mar 2002 18:45:29 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8qr06g1oj3216@corp.supernews.com>
References: <Gsu02K.54w@world.std.com>

This was done before by someone and it took about three months. If you do
not need v3 features, you can use older (CMU SNMP) already ported to
VxWorks. There is one in VxWorks archive as well as VxHacks archive. Both
are essentially the same ports.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: HELP about sysAuxClkRateSet() and BSP !
Date: 11 Mar 2002 19:23:48 -0800
From: allencyl@my-deja.com (Allen Chang)
Organization: http://groups.google.com/
Message-ID: <5c074538.0203111923.534ff9d2@posting.google.com>

Hello All,

 In our application, we have some periodical task, and the VxWorks
Reference Manual, about sysAuxClkRateSet() the return value is
ERROR if the tick rate is invalid.

 I'm now planning to use VxWork with x86 or PPC platform,
and I need to set the sysAuxClkRateSet() with 64Hz, 80Hz,
256Hz, 320 Hz. I need to make sure that the board/BSP will
support that frequences before I buy it.

 I'd ask windriver and VMIC, and get no answer, please some
one who ever use the following board tell me, that
VMIVME-7750-754/VxWorks or SVME-179-0600/VxWorks
can support those kind of frequence or not.

 Or are there some other way to achieve the same result
other than sysAuxClkRateSet(), so I don't need to survey
which board is suitable for us?

Best Reagrds,

Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: 11 Mar 2002 19:53:11 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203111953.52ac6949@posting.google.com>

hi,all
I program with Tornado .the target cpu is PPC860. the board have a
ethernet interface cpm0.I want to get the cpm0 parametreS.The IP
address of cpm0 IS
192.168.199.166

I have used the func ifunit( ) of the "ifLib.h" get the pointer to
struct ifnet.
But the address output as :0x6040000.
the other parameter such as flag,mtu of interface are all correct.

I have also tried to use "extern struct ifnet *ifnet;" to get the
addr.The output also is :0x6040000.

the boot parameter ,my code and the output of my code is postpend on
the end.

Can anyone help me?
Every clue is highly appreciated!!
all thanks !
your sincerely :zhang jianhui

the follow is my boot parameter , my code and the output of my code:
1. boot parameter:
boot device : cpm0
processor number : 0
host name : host
file name : /target/config/ads860/vxWorks
inet on ethernet (e) : 192.168.199.166
inet on backplane (b):
host inet (h) : 192.168.199.40
gateway inet (g) :
user (u) : target
ftp password (pw) (blank = use rsh): vx
flags (f) : 0x0
target name (tn) :
startup script (s) :
other (o) :

2.my code :
#include "stdio.h"
#include "stdlib.h"
#include "ifLib.h"
#include "net/if.h"
#include "netinet/in.h"

extern struct ifnet *ifnet;

void showaddrlist(struct ifnet *pif)/* show the addr in the pif*/
{struct ifaddr *ifaddr;
 struct sockaddr_in *sd_in;
 ifaddr = pif->if_addrlist;
 while(ifaddr != NULL){
 sd_in = (struct sockaddr_in *)(pif->if_addrlist->ifa_addr);
 printf("interface %s%d --
addr:%x\n",pif->if_name,pif->if_unit,sd_in->sin_addr.s_addr);
 ifaddr = ifaddr->ifa_next;
 }
 printf("all the addr have been printf!!!\n");
}

void interface( )
{struct ifnet *pif;
 char *name = "cpm0";
 pif = ifunit(name);
 printf("interface name:%s%d\n",pif->if_name,pif->if_unit);
 printf("interface flag:%x \tinterface
index:%d\n",pif->if_flags,pif->if_index);
 printf("interface metric:%u \n",pif->if_data.ifi_metric);
 printf("interface mtu:%u \n",pif->if_data.ifi_mtu);
 printf("media address length:%u\n",pif->if_data.ifi_addrlen);
 printf("type:%u\n",pif->if_data.ifi_type);
 showaddrlist(pif);
 showaddrlist(ifnet);
}

3.the output of my code running:
interface name:cpm0
interface flat:ffff80683 interface index:1
interface metric:0
interface mtu:1500
media address length:6
type:6
interface cpm0 -- addr:6040000
interface cpm0 -- addr:6040000
all the addr have been printr!!!
interface cpm0 -- addr:6040000
interface cpm0 -- addr:6040000
all the addr have been printr!!!

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

Newsgroups: comp.os.vxworks
Subject: how can I clear the data buffer of a serial port?
Date: 11 Mar 2002 22:52:28 -0800
From: thatbird@263.net (thatbird)
Organization: http://groups.google.com/
Message-ID: <c330243e.0203112252.13a3e531@posting.google.com>

I connect a serial port of ppc(A) directly to another device(B)'s
serial port. A want to read data from B. The communication is
correct, but the question I met is followed.

After ata that A got from B is stored, I want to clear the data buffer
when error happen, otherwise, next time I will read only data from
last time communication.

But I do not know how to do??????

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in accessing PCI I/O Registers in IBM ppc 405GP
Date: 11 Mar 2002 23:18:28 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203112318.5f207a37@posting.google.com>
References: <e38d912c.0203010651.23c84c30@posting.google.com> <3C7F9C21.48433D2B@varndellengineering.com> <e38d912c.0203010956.256ac87d@posting.google.com> <3C7FC51C.F75E564D@notifier-is.net> <e38d912c.0203020654.6ce1ec55@posting.google.com> <e38d912c.0203040508.294513b5@posting.google.com> <a5vtha$qov$1@snoopy.bndlg.de> <e38d912c.0203041329.557d79ce@posting.google.com> <a61v10$149$1@snoopy.bndlg.de> <e38d912c.0203061133.45561157@posting.google.com> <a6772u$5pj$1@snoopy.bndlg.de>

Dear Michael,

 Thank you so much for keeping in touch and giving lot of
information to us.

<< in your last posting you talked about writing 0xFFFFFFFF into BAR
and read
back: This is just the way how autoConfig computed the setup of
0x40000000,
you don't need to do it again.

>>Yes. You are right and I saw this in the pciAutoconfig().

But what we are getting as BAR0 after pciAutoConfig is 0x4000000c and
not
0x40000000.
 This is because this region is
 0x40000000 - 0x5FFFFFFF PCI Mem with prefetch
(PMM0)

<< Of course you have to map out the lower 3bits in BAR0 and BAR3 and
the
lowest bit in BAR2.
>>So far I have mapped out the last nibble (4 bits) in BAR0 and BAR3
and the
lowest bit in BAR2. If I map out only 3 bits then the BAR0 and BAR3
will end
with 8 (0xc &0x8 = 0x8).

	Could you please let me know, why do we need to map out only 3 bits
instead of mapping out the entire nibble (4 bits) ?

<< So you should be able to access your NIC's I/O-space in 0xe8000000
and its
 mem-space at 0x80000000 and 0x80001000 just by dereferencing pointers
to it.

>>I'm able to access the PCI I/O region (Our card's register) as
mentioned

earlier successfully. But when I try to access mem-space at 0x80000000
by
deferencing pointer I'm getting "protection violation/data access"

......................
 printf(" ARUN :::: fifo_ptr %p, (tcb+i) %p\n",
fifo_ptr, (tcb+i));
 printf(" ARUN :::: *fifo_ptr %x\n",
*fifo_ptr);
 *(fifo_ptr) = *(tcb+i);
...................

 In this snippet, first printf statement ptining the values
" ARUN :::: fifo_ptr 0x80000000, (tcb+i) 0x1ffff00 "
 Where as the next printf statement throwing the "protection
violation/data
access"

<< If you are not able to access, i.e. you get an exception, your
local2PCI-bridge or MMU setup might be not the one we expect above.
>>Yes. I also feel the same and currently looking at the linux source
as well
for this bridge configuration and mapping.

 It doesn't seem to be endian problems as I'm able to access
the I/O
registers and I'm able to read the well-known multi-byte valuse of few
registers of my card. And it's working fine and I'm able to
successfully
write also. But all are withing I/O space only.

 Thanks again for your kind information.
Regards
Arun

"Michael Lawnick" <Lawnick@softec.de> wrote in message news:<a6772u$5pj$1@snoopy.bndlg.de>...
> Hi Arun,
>
> in your last posting you talked about writing 0xFFFFFFFF into BAR and read
> back: This is just the way how autoConfig computed the setup of 0x40000000,
> you don't need to do it again.
>
> So let us collect (after vxWorks pciAutoConfig):
> Board setup: PCI-I/O local view: 0xe8000000
> PCI-Mem local view: 0x80000000
>
> Card setup: BAR0 0x40000000c
> BAR1 0
> BAR2 1
> BAR3 0x4000100c
> BAR4 0
>
> MMU's setup: access to 0xe8000000 and 0x80000000 allowed.
> This all looks fine.
>
> Of course you have to map out the lower 3bits in BAR0 and BAR3 and the
> lowest bit in BAR2.
> Your translation macros seem to be consistent with card setup and MMU setup.
>
> So you should be able to access your NIC's I/O-space in 0xe8000000 and its
> mem-space at 0x80000000 and 0x80001000 just by dereferencing pointers to it.
> Take care which access formats your target supports - 8,16 or 32bit, access
> might give wrong results otherwise, but should complete anyway.
>
> If you are not able to access, i.e. you get an exception, your
> local2PCI-bridge or MMU setup might be not the one we expect above.
>
> If you are able to access, but the results seem to be wrong, we should look
> at the results:
> If all is 0xFFFFFFFF in I/O-space -> ???? card damage?
> If there is an other pattern you don't expect -> did you swap ? PCI: little
> endian, PPC: big endian
>
> If I/O space is OK now, lets look into mem space:
> All 0xFFFFFFFF -> has your card to be enabled/started/.... to configure this
> area ?
> Just an idea: Have you checked PCI-spec, which of both BARs is the low
> address descriptor ? Change contents of BAR0 and BAR1.
>
> Unexpected pattern in mem-space? Take care of endianess, access width ....
>
> else: ??????
>
> Mit freundlichen Gren,
> Michael Lawnick

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

Newsgroups: comp.os.vxworks
Subject: Re: WindML Accelerated Driver
Date: 11 Mar 2002 23:40:48 -0800
From: tobias.klotz@draeger.com (Tobias Klotz)
Organization: http://groups.google.com/
Message-ID: <5d6482af.0203112340.61499fa4@posting.google.com>
References: <5d6482af.0203110704.57c443d6@posting.google.com> <ud6yb57tm.fsf@yahoo.com>

Bill Pringlemeir <bpringlemeir@yahoo.com> wrote in message news:<ud6yb57tm.fsf@yahoo.com>...

> Are you talking about VGA type optimizations of "framebuffer"
> bitBlitting? Do you have some hardware that will bitBlit? I am not
> quite sure what optimization you are talking about; but the memory
> compare should work. I think that a pointer to the "framebuffer" is
> put in every graphics context (or some convenient structure) for quick
> reference.
We currently use a Silicon Motion LynxEM SM710 (This might change but
will allways be something with BitBlt in HW). Which methods do I have
to modify? Only the BitmapBlt or also the BitmapWrite/Read method?

>
> hth,
> Bill Pringlemeir.

thanks!

tobias

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: 12 Mar 2002 00:06:29 -0800
From: lisheng_811@yahoo.com.cn (Saledom)
Organization: http://groups.google.com/
Message-ID: <4a7f0d21.0203120006.3d87515c@posting.google.com>
References: <8cd11808.0203111953.52ac6949@posting.google.com>

the following function is wote by me when i learn the if-programming.
it is easy for you to find the difference between your code and mine.
if you dont agree with my programm, or my programm is not match your
purpose, i would like to dicuss with you. of cause, you can send a
mail directly to me.

int myIfShow(char * ifName)
{
		struct ifnet *pIf;
		struct	ifaddr *pIfAddr;
		struct	sockaddr *pSockAddr;

		pIf= ifunit(ifName);

		logMsg("if name : %s %d\n", (int)pIf->if_name, pIf->if_unit,
3,4,5,6);
		pIfAddr = pIf->if_addrlist;
		while (pIfAddr != NULL) {
				char str[100];
				int i;
				pSockAddr= pIfAddr->ifa_addr;
				if (pSockAddr != NULL) {
					bzero(str, 100);
					if (pSockAddr->sa_family == AF_INET) bcopy("AF_INET",str,
sizeof("AF_INET"));
					if (pSockAddr->sa_family == AF_LINK) bcopy("AF_LINK",str,
sizeof("AF_LINK"));
					logMsg(" if self addr\n sock addr family: %d %s len: %d\n
sock data: ",
						pSockAddr->sa_family, (int)str, pSockAddr->sa_len, 4,5,6);
					for (i=0; i<pSockAddr->sa_len; i++)
						logMsg("%02x ", pSockAddr->sa_data[i], 2,3,4,5,6);
					logMsg("\n",1,2,3,4,5,6);
				}

				pSockAddr= pIfAddr->ifa_broadaddr;
				if (pSockAddr != NULL) {
					bzero(str, 100);
					if (pSockAddr->sa_family == AF_INET) bcopy("AF_INET",str,
sizeof("AF_INET"));
					if (pSockAddr->sa_family == AF_LINK) bcopy("AF_LINK",str,
sizeof("AF_LINK"));
					logMsg(" if broadcast addr\n sock addr family: %d %s len:
%d\n sock data: ",
						pSockAddr->sa_family, (int)str, pSockAddr->sa_len, 4,5,6);
					for (i=0; i<pSockAddr->sa_len; i++)
						logMsg("%02x ", pSockAddr->sa_data[i], 2,3,4,5,6);
					logMsg("\n",1,2,3,4,5,6);
				}

				pSockAddr= pIfAddr->ifa_netmask;
				if (pSockAddr != NULL) {
					bzero(str, 100);
					if (pSockAddr->sa_family == AF_INET) bcopy("AF_INET",str,
sizeof("AF_INET"));
					if (pSockAddr->sa_family == AF_LINK) bcopy("AF_LINK",str,
sizeof("AF_LINK"));
					logMsg(" if netmask addr\n sock addr family: %d %s len: %d\n
 sock data: ",
						pSockAddr->sa_family, (int)str, pSockAddr->sa_len, 4,5,6);
					for (i=0; i<pSockAddr->sa_len; i++)
						logMsg("%02x ", pSockAddr->sa_data[i], 2,3,4,5,6);
					logMsg("\n",1,2,3,4,5,6);
				}

				logMsg("\n",1,2,3,4,5,6);
				pIfAddr = pIfAddr->ifa_next;
		}
}

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

Newsgroups: comp.os.vxworks,comp.unix.programmer
Subject: IP Length Error in Raw Sockets
Date: Tue, 12 Mar 2002 08:56:13 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <f48ba16b9c903f071a9a031403b10df1.77030@mygate.mailgate.org>

Hi,

I am using raw sockets in VxWOrks and i want to receive some data
using some unassigned protocol number in IP Protocol field. I am
sending a string here of size13 bytes.

One thing is all BSD derived socket implementations while creating
their own IP header using IP_HDRINCL option should not convert the
length and frag offset field from host byte order to N/W byte order.
This is a feature/bug and VxWorks is no excemption from this( Linux
too ). I am sending the string by building own IP header with protocol
field as 140 from a Linux machine. I am receiving the same thing in
VxWOrks. But the length field of the received IP packet using raw
socket is showing some junk. But all the other data are correct. I
tried between two linux machines, there the length field is printing
correctly as 33 ( 20 + 13 ). But again when i send the data from
VxWOrks to Linux ( note: the length field is left in Host byte order
itself ), the linux machines prints the data correctly.

THe only case, that too the length field alone is bringing me problems
while receiving from VxWOrks. What could be the problem. THe the size
of the packet received is 33 but the lenght field inside the IP header
is showing some junk.

I tried the other way of not converting the length field from n/w to
host byte order. Now its printing the size as 13. That is it is
excluding the IP hdr length size. This is constantly leaving the 20
bytes and giving the remaining length.( I tried with other packet
lengths also, thats why i am saying ). So what is the bug here.
Whether it is VxWorks bug or Linux bug or my code bug or it is a
feature :-). Kindly help me in this regard.

THanks,
Ramesh

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: [Help Me] download app. to vxworks nt simulator
Date: Tue, 12 Mar 2002 09:09:05 GMT
From: "Kim, Jeong-Hwan" <KimJeongHwan@lge.com>
Organization: Dacom
Message-ID: <RAjj8.2675$PC3.1182347@news.bora.net>

Hi, everyone
I built a vxworks NT simulator with the command "make vxWorks.st" for not
using
Tornado evironment (target server)
I got a vxWorks.st.exe file for standalone including target shell.
When "vxWorks.st.exe" is executed, it works normally, prompting "shell
prompt".
However, when I try to download my application code for NT simulator,
"ld" and "ls" command does not work.
How can I download my application object code to nt vxworks simulator
program
not using Tornado environment ?

The situation is as follows :

Adding 2373 symbols for standalone.

 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]] ]]]] ]]]]]]]]]] ]] ]]]]
(R)
 ] ]]]]]]]]] ]]]]]] ]]]]]]]] ]] ]]]]
 ]] ]]]]]]] ]]]]]]]] ]]]]]] ] ]] ]]]]
 ]]] ]]]]] ] ]]] ] ]]]] ]]] ]]]]]]]]] ]]]] ]] ]]]] ]] ]]]]
]
 ]]]] ]]] ]] ] ]]] ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]] ]]]]
 ]]]]] ] ]]]] ]]]]] ]]]]]]]] ]]]] ]] ]]]] ]]]]]]] ]]]]
 ]]]]]] ]]]]] ]]]]]] ] ]]]]] ]]]] ]] ]]]] ]]]]]]]] ]]]
]
 ]]]]]]] ]]]]] ] ]]]]]] ] ]]] ]]]] ]] ]]]] ]]]] ]]]] ]]
]]
 ]]]]]]]] ]]]]] ]]] ]]]]]]] ] ]]]]]]] ]]]] ]]]] ]]]] ]]]]
]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]] Development System
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]] VxWorks version 5.4
 ]]]]]]]]]]]]]]]]]]]]]]]]]] KERNEL: WIND version 2.5
 ]]]]]]]]]]]]]]]]]]]]]]]]] Copyright Wind River Systems, Inc.,
1984-1999

 CPU: VxSim for Windows. Processor #0.
 Memory Size: 0x200000. BSP version 1.1/1.
 WDB: Ready.

- ->
- ->
- -> i

 NAME ENTRY TID PRI STATUS PC SP ERRNO
DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- --
- ---
tExcTask _excTask 4fd9170 0 PEND 4348f6 4fd908c 30065
0
tLogTask _logTask 4fd4758 0 PEND 4348f6 4fd4670 30065
0
tShell _shell 4fcc090 1 READY 40c320 4fcb4c0 0
0
tWdbTask 41a684 4fd0338 3 PEND 4348f6 4fd0214 30065
0
value = 0 = 0x0
- ->
- -> devs
drv name
 0 /null
 1 /tyCo/0
 3 host:
 4 /vio
 5 /tgtsvr
value = 25 = 0x19
- ->
- ->
- -> ls
Can't open ".".
value = -1 = 0xffffffff = _func_taskRegsShowRtn + 0xffb86d5f
- ->
- ->
- -> ld "ppp.out"

loadLib error: File type with magic number 0xa0a is not supported.
Header Error #8
Header Fail
ld error: error reading file (errno = 0x3d0001).
value = 0 = 0x0
- ->
- ->

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: Tue, 12 Mar 2002 09:28:35 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com>

Hi,

How your code will work in case no interface name is specified. I am in
need of a requirement like that. I dont know any interface name or
index, but i need to get the details of all. I dont want normal ifShow
routine. I want to know how ifshow is implemented without giving any
interface name as arguement. There is a ioctl IFCONF which will give the
interface list. But it is giving it to ifreq structure. In Linux it is
working fine. BUt in case of VxWorks the code is printing the interface
along with some junk( because we dont know how many interface exist from
ifreq structure alone ). With ifnet structure, we can do i suppose. But
how to initialise it like requesting the kernel for the interface list
with a ioctl ( right now the kernel pastes the output in ifreq structure
but from the ifreq structure alone we cannot know how many interfaces
exist , only ifnet structure has a pointer to the next interface ).
If you know anything in this regard, kindly share with me to my mail id
or to the list.

Thanks,
Ramesh

==============================================================
"Saledom" <lisheng_811@yahoo.com.cn> wrote in message
news:4a7f0d21.0203120006.3d87515c@posting.google.com...

> the following function is wote by me when i learn the if-programming.
> it is easy for you to find the difference between your code and mine.
> if you dont agree with my programm, or my programm is not match your
> purpose, i would like to dicuss with you. of cause, you can send a
> mail directly to me.
>
====== snip ============================

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Tue, 12 Mar 2002 11:05:02 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8DE153.8030601@spamm.me.l8s.co.uk>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com> <3C8758BE.7080106@spamm.me.l8s.co.uk> <u8f42bci5tjj51@corp.supernews.com>

Hwa Jin Bae wrote:

> David, the socket descriptors behave correctly as I said before. Why don't
> you try it? Read and Write that are pending should return when socket is
> closed. Subsequent write and read should return error as well on the
> socket.

Ok, check the following senario:
- - task A calls write on a socket fd, as it executes the first
 instruction of sock_write (not sure of the name) is is blocked
 by the higher priority task B.

- - task B closes the socket, the socket code can't know about task A...

- - task B creates a new socket and is given the same piece of memory
 as was used for the original socket.

- - task B blocks

- - task A completes its write

I can't see how the socket code can stop A's write hitting the
new socket.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Tue, 12 Mar 2002 11:20:45 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8DE502.30407@spamm.me.l8s.co.uk>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com> <u8ionmaqbtfbde@corp.supernews.com>

> 2. When chaining DMA buffers for output (and avoiding copies), there should
> be a limit there as well. Under extreme cases, BSD TCP stack will send down
> a long mbuf chain containing some small mbufs chained together. The number
> of mbufs in a chain can be larger than 32. In those cases, it makes little
> sense to exhaust descriptor resources by using chained DMA. It is better to
> copy. A threshold of some sort is required there as well.
>
> There are some other "unwritten" rules in driver writing. However, these
> two apply to the copy avoidance issues.

I've actually improved the performance of ethernet and FDDI drivers by
adding a data copy in the MAC code!
The main added benefit is simplicity and general shortening of the
code path. It is, however, important to align the copy of the
large data block.

Also with the lance, the first fragment must be 100 bytes. This
isn't usually the case.

When I have done TX DMA chaining, I've copied short fragments and
chained log ones. With long chains - I've seen VERY long ones
on Unix systems (especially when 2 higher layes are doing data
retransmittions) you must copy the data.

Also on systems where the IO devices cannot access all of real memory
- - or need an MMU setup to do so - it is MUCH cheaper to copy to
an appropriate piece of memory.

Dunno about the WRS lance driver though, but I suspect my one that
copies the data will beat it!

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Tue, 12 Mar 2002 11:21:54 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8DE54A.50807@spamm.me.l8s.co.uk>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at>

Werner Schiendl wrote:

>>Why would WRS discard working code?
>>
>>
>
> To simplify the demo code?

The 'demo' driver for the Olicom pcmcia card contained
several timing bugs! Not a good sample driver at all.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Porting from VxWorks 5.3 to 5.4
Date: Tue, 12 Mar 2002 11:26:28 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8DE659.6010203@spamm.me.l8s.co.uk>
References: <5c04bc56.0203081207.6b67c4c2@posting.google.com>

J. J. Farrell wrote:

> How significant were the changes between VxWorks 5.3 and 5.4?
> In which areas did it change?
>
> If I need to port a large driver for a proprietary PCI device
> from 5.3 to 5.4, how much work am I letting myself in for?
>

Not too much...

Ignore all the project stuff.
The network startup was simplified somewhat - the 5.4 usrNetwork.c
will work with a 5.3 system!

Note that they are not binary compatible, but I didn't spot
any massive gotcha's.

(I was building a lot of hardware drivers from common source)

Dunno about the PCI stuff - but that will be small anyway.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: netTask limits high-frame-rate transfers in Gigabit Ethernet
Date: Tue, 12 Mar 2002 11:33:21 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8DE7EF.8070403@spamm.me.l8s.co.uk>
References: <3c82e042@MAIL.mhogaming.com>

Jerry Marcinko wrote:

> Watch out for the overhead of the netTask network stack scheduler. Every
> invocation of netJobAdd causes TCP/IP stack related processing that consumes
> much CPU time, thereby limiting frame transfer rates in high-performance
> applications including Gigabit Ethernet.
>
> For example, on a 200 MHZ PPC603e, I found the netTask overhead per
> netJobAdd to be over 150 microseconds per call.
>
> On a 450 MHZ PPC750, it still is high -- estimated about 80-100 microseconds
> per call.
>
> This can limit the frame rates especially if your application uses short
> frames. It is a major bottleneck in Gigabit Ethernet applications, aside
> from the TCP/IP stack itself.

We used to get 3000 packets per second out of 40MHz sparc box and 25MHz
386 :-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Tue, 12 Mar 2002 03:38:03 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8rq6vl9qi8r2b@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com> <u8ionmaqbtfbde@corp.supernews.com> <3C8DE502.30407@spamm.me.l8s.co.uk>

It is possible copying data might be better sometimes. But not always. So
the unwritten rule is to write both ways and find out. It really depends on
the hardware. Sometimes avoidance of copying work at driver level helps a
lot; sometimes it makes it worse. I have seen many cases that support both
of these scenarios.

That doesn't mean chained TX DMA should be avoided. Sometimes it makes big
difference, especially when your payload MTU gets larger than 1500. For
example FDDI (around 4K) and ATM (around 9K usually). The world is not all
Ethernet you know.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need semaphore protection for multiple tasks accessing same socket
Date: Tue, 12 Mar 2002 03:45:43 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8rql97ab2bt81@corp.supernews.com>
References: <68f5c46.0203061308.41e9cdec@posting.google.com> <u8d8qhn0pm0ve8@corp.supernews.com> <3C86A76B.4010607@spamm.me.l8s.co.uk> <u8dbs42rt9m5f7@corp.supernews.com> <3C8758BE.7080106@spamm.me.l8s.co.uk> <u8f42bci5tjj51@corp.supernews.com> <3C8DE153.8030601@spamm.me.l8s.co.uk>

If you read BSD code you will understand. There are lots of code in
original BSD socket level code that prevents something like the problem you
describe. There are some code in VxWorks in sockLib which also prevents the
case you describe.

You can try to simulate this problem, but you will not be successful. There
are lots of code that will take care of race conditions like that already.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Strange ccarm error message.
Date: Tue, 12 Mar 2002 11:50:20 -0000
From: "lang2" <wzhliang_remove_@postmaster.co.uk>
Organization: WHAT
Message-ID: <a6kpsk$sut$1@kermit.esat.net>

Could anyone tell me what the following message mean?

initializer element for `_localExceptionContext_.next' is not computable at
load time.

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

Newsgroups: comp.os.vxworks
Subject: Page Fault for help
Date: 12 Mar 2002 03:58:02 -0800
From: kang.yonghong@mail.zte.com.cn (K.YH)
Organization: http://groups.google.com/
Message-ID: <d29c2180.0203120358.77d22de5@posting.google.com>

Recently i have builded a bootable project,and the vxworks image is
vxworks which is 1.65MB.but when i boot vxworks
from FTP Server,after vxworks image is download and start at
0x******.then there is a error,which appeared as follows:
Page Fault
Program Counter...
Error code : 0x0000000
Task : 0x3ffee7c "tRootTask"
My environment is :Tornado 2.0 vxworks 5.4 X86bsp
Can anyone help me? Why it is so and how to config vxworks?
Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Using the Intel Pentium IA32 compiler with vxWorks
Date: 12 Mar 2002 04:02:17 -0800
From: andy.kirby@computer.org (Andy Kirby)
Organization: http://groups.google.com/
Message-ID: <4f511572.0203120402.612ad759@posting.google.com>

I have been having some performance issues with the GNU C compiler as
supplied with Tornado II for Pentium Targets - it seems to generate
code that runs roughly 10x slower than the Borland C++ 5.1 compiler on
the same target.

Looking around, it would seem the Intel IA32 compiler would be the
best bet in terms of performance, but I can't seem to generate a .o
file in a.out format to load into vxWorks.

Does anyone have any experiance or know any utilities that will help
use the Intel compiler in tandem with vxWorks? Ideally I'd like to
create a .lib file from the Intel tool chain and link it in with my
Tornado project that uses the GNU toolchain.

Many Thanks

Andy

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

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

From vxwexplo-errs@csg.lbl.gov Wed Mar 13 03:00:37 2002
From: S Ramesh <rashanmu@npd.hcltech.com>
Date: Wed Mar 13 03:00:39 PST 2002
Subject: Reception of IP hdr in VxWorks

Hi,

I previously posted regarding the reception of IP hdr in VxWorks. THe
total length field alone is receiving wrongly. I am sending the packet

from linux machine and receiving it in VxWOrks. I have checked sending

between two linux machines, it worked fine. But reception in VxWorks
is
the problem. I tried between two VxWOrks images two, there also the
problem exists. I will paste the code here. Somebody kindly help me
out
what's going wrong in this. This code is a working code. You can cut
and
paste it and check out.

Thanks,
Ramesh

Linux Raw packet sending code:

===========================================================================

#include <stdio.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <sys/socket.h>

#define PORT 0

#define LOCAL_IP_ADDR "192.168.100.242"
#define DEST_IP_ADDR "90.0.0.1"

/*
#define LOCAL_IP_ADDR "192.168.100.242"
#define DEST_IP_ADDR "192.168.100.109"
*/
#define IP_PROTO_LMP 140
#define OK 1
#define ERROR -1

#define MESSAGE "MESSAGE CAME"
uint16_t
checksum( uint16_t *data, uint32_t len ) {

/* Data is the one for which we are calculating checksum and its size
 * len in bytes */
register uint32_t sum = 0;
uint16_t ans;
register uint16_t *temp = data;
register uint32_t odd = len;

/* Adding 16 bit word every time to sum */
while( odd> 1) {
sum += *temp;
odd -= 2;
}
/* If length is odd the last 8 bits will also get added */
if( odd )
sum += *( uint8_t * )temp;
while( sum>> 16 )
sum = ( sum>> 16 ) + ( sum & 0xffff );
ans =~ sum;
return( ans );

}

 /*this message is encapsulated by my IP hdr */
int build_iphdr(void *data, uint32_t len) {

struct iphdr *ip=( struct iphdr * )data;

ip->version=4;
ip->ihl=5;
ip->tos=0;
ip->tot_len=0;
/*htons(sizeof( struct iphdr )+ len);*/
ip->id=htons(getuid());
ip->ttl=255;
ip->protocol=IP_PROTO_LMP; /*My protocol number */
if( (ip->saddr=inet_addr(LOCAL_IP_ADDR)) < 0 ) {
perror("Give valid source IP:");
return -1;
}

if( (ip->daddr=inet_addr(DEST_IP_ADDR)) < 0 ) {
perror("Give valid dest IP:");
return -1;
}
ip->check=checksum((unsigned short *)ip,sizeof(struct iphdr));

return 0;

}

void display(void *buf, int bytes)
{
 int i;
 struct iphdr *ip = buf;

printf("\n---------------------------------------------------------\n");

 for ( i = 0; i < bytes; i++ )
 {
 if ( !(i & 15) ) printf("\n%04X: ", i);
 printf("%02X ", ((unsigned char*)buf)[i]);
 }

printf("\n---------------------------------------------------------\n");

 printf("IPv%d: hdr-size=%d pkt-size=%d protocol=%d TTL=%d src=%s ",
 ip->version, ip->ihl*4, ntohs(ip->tot_len), ip->protocol,
 ip->ttl, inet_ntoa(ip->saddr));
 printf("dst=%s chksum= %d\n", inet_ntoa(ip->daddr), ip->check);
}

int main() {

int raw,sockopt_val=1;
struct sockaddr_in local_addr,peer_addr;
struct iphdr *ip;
char *my_sending_pkt;
uint32_t len;

if( (raw=socket(AF_INET,SOCK_RAW,IPPROTO_RAW)) < 0 ) {
perror("sock");
exit(1);
}

if( (my_sending_pkt=(char *)malloc(sizeof(struct
iphdr)+sizeof(MESSAGE)) ) == NULL ) {
perror("malloc failed:");
return(ERROR);
}

ip=(struct iphdr *)my_sending_pkt;

 strcpy( (my_sending_pkt+sizeof(struct iphdr)),MESSAGE);

bzero((char *)&local_addr,sizeof(local_addr));
bzero((char *)&peer_addr,sizeof(peer_addr));

local_addr.sin_family=AF_INET;
local_addr.sin_port=htons(PORT);

peer_addr.sin_family=AF_INET;
peer_addr.sin_port=htons(PORT);

if( (inet_aton(LOCAL_IP_ADDR,(struct in_addr
*)&local_addr.sin_addr.s_addr)) == ERROR ) {
perror("Addr conversion:");
return(ERROR);
}

if( (inet_aton(DEST_IP_ADDR,(struct in_addr
*)&peer_addr.sin_addr.s_addr)) == ERROR ) {
perror("Addr conversion:");
return(ERROR);
}

if( (setsockopt(raw,0,IP_HDRINCL,(char
*)&sockopt_val,sizeof(sockopt_val)) )== ERROR) {
perror("setsockopt:");
return(ERROR);
}

if( (build_iphdr(ip,sizeof(MESSAGE)) ) < 0) {
perror("Build IP failed:");
return(ERROR);
}

if( ( bind(raw,(struct sockaddr *)&local_addr,sizeof(local_addr)) )
==
ERROR ) {
perror("Bind:");
return(ERROR);
}

len = sizeof( struct iphdr ) + sizeof( MESSAGE );
display(my_sending_pkt,len);
printf("IP PKT len %d\n",ip->tot_len);

if( (sendto(raw,(caddr_t)my_sending_pkt,len,0,(struct sockaddr
*)&peer_addr,sizeof(peer_addr)) ) != len ) {

perror("Sendto failed:");
return(ERROR);
}

return OK;
}

==============================================================================

VxWorks code for receiving IP packet:
=====================================

#include <taskLib.h>
#include <sockLib.h>
#include <stdio.h>
#include <netLib.h>
#include <inetLib.h>
#include <netinet/ip.h>
#include <ioLib.h>
#include <sys/ioctl.h>

#define LOCAL_IP_ADDR "90.0.0.1"

void display(void *buf, int bytes) {
int i;
struct ip *iphdr = buf;
/*struct icmphdr *icmp=(buf + sizeof(struct ip));*/

printf("----------------\n");
for ( i = 0; i < bytes; i++ ) {

if ( !(i & 15) ) printf("\n%04X: ", i);
printf("%02X ", ((unsigned char*)buf)[i]);
}
printf("\n");
printf("IPv%d: hdr-size=%d pkt-size=%d protocol=%d TTL=%d src=%s
dst=%s\n",
iphdr->ip_v, iphdr->ip_hl*4, ntohs(iphdr->ip_len), iphdr->ip_p,
iphdr->ip_ttl, inet_ntoa(iphdr->ip_src),inet_ntoa(iphdr->ip_dst));

/*if( iphdr->p== IPPROTO_ICMP ) {
printf("ICMP type %d: ICMP echo id %d: ICMP Seq %d: ICMP Chksum
%d:\n",
icmp->type,icmp->un.echo.id,icmp->un.echo.sequence,icmp->checksum);
}
*/
if ( iphdr->ip_p == 140 )
printf("Message %s\n",(char *)(buf+sizeof(struct ip)));

}

int rawget() {
int sd;
struct sockaddr_in addr,local_addr;
unsigned char buf[1024];

sd = socket(AF_INET,SOCK_RAW,140);
if ( sd < 0 )
{
perror("socket");
return ERROR;
}

local_addr.sin_family=AF_INET;
local_addr.sin_port=htons(0);
local_addr.sin_addr.s_addr=INADDR_ANY;
/*
if( (inet_aton(LOCAL_IP_ADDR,(struct in_addr
*)&local_addr.sin_addr.s_addr)) == ERROR ) {
perror("Addr conversion:");
return(ERROR);
}
*/

if( ( bind(sd,(struct sockaddr *)&local_addr,sizeof(local_addr))
)==ERROR) {
perror("Bind:");
return(ERROR);
}

for (;;) {
int bytes, len=sizeof(addr);

bzero(buf, sizeof(buf));
bytes = recvfrom(sd, buf, sizeof(buf), 0, (struct sockaddr *)&addr,
&len);
if ( bytes> 0 )
display(buf, bytes);
}
return OK;
}

==========================================================================

From vxwexplo-errs@csg.lbl.gov Wed Mar 13 04:03:22 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Mar 13 04:03:25 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Wed Mar 13 04:03:16 PST 2002

 Subject: Data caching on-the-fly
 Subject: Re: how can I clear the data buffer of a serial port?
 Subject: Initial Ethernet Configuration
 Subject: how to use the wtxErrGet,wtxErrSet,wtxErrHandlerAdd
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Page Fault for help
 Subject: ln97xEnd - ring buffer size
 Subject: Re: Can I ask a question of Pci ?
 Subject: Re: A Basic Netoworking Question!
 Subject: Re: Strange ccarm error message.
 Subject: Re: WindML Accelerated Driver
 Subject: Re: ln97xEnd - ring buffer size
 Subject: Re: [Help Me] download app. to vxworks nt simulator
 Subject: How can I protect Flash File System from General Flash
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: Re: Data caching on-the-fly
 Subject: Re: OPENDIR Help
 Subject: Re: Printing 64bit values
 Subject: Re: OPENDIR Help
 Subject: What causes this message?
 Subject: Re: How can I protect Flash File System from General Flash
 Subject: What's the Expected errno from msgQReceive(...,NO_WAIT)
 Subject: Re: Printing 64bit values
 Subject: Interrupt vector table
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: Page Fault for help
 Subject: MPC8260 MCC driver
 Subject: compiling a bootrom for Cetia VMPC6A under Tornado 2.0/Win NT
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: C++ application: Tornado Shell vs. Target Console
 Subject: Re: PCI memory space
 Subject: Re: BSD Ethernet Driver
 Subject: Re: BSD Ethernet Driver
 Subject: PMC clash on MVME5100
 Subject: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: C++ application: Tornado Shell vs. Target Console
 Subject: Re: compiling a bootrom for Cetia VMPC6A under Tornado 2.0/Win NT
 Subject: bootroms not building...
 Subject: Re: [Help Me] vxworks Simulator
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: Should the IP header be 4 bytes(long word) align?
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: Interrupt vector table
 Subject: Building the WindML system and Driver set using the PPC604 cpu tool
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Compatibility of Diab C++ with RogueWave
 Subject: Receiving IP packet in Raw Sockets

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

Newsgroups: comp.os.vxworks
Subject: Data caching on-the-fly
Date: Tue, 12 Mar 2002 12:48:05 +0000 (UTC)
From: "William Fredericksen" <willfred@earthlink.net>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <ab58e1e87d0ed2af6e0cc2f59336b08b.69612@mygate.mailgate.org>

 I am trying to determine if it is possible to change data caching for
segments of memory on the fly. I found references to the BAT registers
in the MPC8240 Integrated Processor User's Manual, but haven't found any
useful documentation on how to program these registers or whether it is
safe to update them on-the-fly. If this can be done, what programming
considerations should I keep in mind? Also, sample code would be nice.
I am programming in C++ (but am expecting that this will have to be in
assembly).

Will Fredericksen

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: how can I clear the data buffer of a serial port?
Date: Tue, 12 Mar 2002 12:53:08 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <_5nj8.3143$5o.2541483@newsr2.u-net.net>
References: <c330243e.0203112252.13a3e531@posting.google.com>

"thatbird" <thatbird@263.net> wrote in message
news:c330243e.0203112252.13a3e531@posting.google.com...
> I connect a serial port of ppc(A) directly to another device(B)'s
> serial port. A want to read data from B. The communication is
> correct, but the question I met is followed.
>
> After ata that A got from B is stored, I want to clear the data buffer
> when error happen, otherwise, next time I will read only data from
> last time communication.
>
> But I do not know how to do??????

You need an ioctl call with FIOFLUSH:

 status = ioctl (fd, FIOFLUSH, 0);

[This assumes you're using tyLib / tyCo device]

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Initial Ethernet Configuration
Date: 12 Mar 2002 05:39:20 -0800
From: giby@myw.ltindia.com (Giby)
Organization: http://groups.google.com/
Message-ID: <edcc6118.0203120539.2221108f@posting.google.com>

Hi all
i have successfuly booted vxworks on our MPC823 board and its
downloading through the serial port. but when i tried downloading
through my ethernet port it says error loading file.
can somebody tell what all things i should do for configuring ehernet
so that communication could be established between host and the target
board.

thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: how to use the wtxErrGet,wtxErrSet,wtxErrHandlerAdd
Date: 12 Mar 2002 05:41:30 -0800
From: hychen@mail.ustc.edu.cn (jerry chen)
Organization: http://groups.google.com/
Message-ID: <8c12f92e.0203120541.28bcc578@posting.google.com>

who can give me some examples?
or where can i find some information on how to use it?
The Information in Tornado API Reference is not enough.
Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Tue, 12 Mar 2002 13:48:00 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8E077E.50407@spamm.me.l8s.co.uk>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com> <u8ionmaqbtfbde@corp.supernews.com> <3C8DE502.30407@spamm.me.l8s.co.uk> <u8rq6vl9qi8r2b@corp.supernews.com>

> That doesn't mean chained TX DMA should be avoided. Sometimes it makes big
> difference, especially when your payload MTU gets larger than 1500. For
> example FDDI (around 4K) and ATM (around 9K usually). The world is not all
> Ethernet you know.

Indeed, I've written token ring drivers - around 16k limit for a
16Mb ring. That driver did transmit from some user buffers
(data fragments > some fixed size).

 From what I've seen it usually worth copying everything except
the last data fragment (ie copy the protocol headers) and copying
small fragments. For ethernet almost everything is small.

If you copy on transmit, you don't need to take the 'end of
transmit' interrupt to free the buffer (because some protocol
stacks detect the buffer being freed). This alone can save
the cost of the (aligned) data copy.

Of course you do need an efficient copy routine!
The vxWorks ARM bcopy() code allowed for far too many
special cases!

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: Tue, 12 Mar 2002 13:49:54 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8E07F7.4050609@spamm.me.l8s.co.uk>
References: <d29c2180.0203120358.77d22de5@posting.google.com>

K.YH wrote:

> Recently i have builded a bootable project,and the vxworks image is
> vxworks which is 1.65MB.but when i boot vxworks
> from FTP Server,after vxworks image is download and start at
> 0x******.then there is a error,which appeared as follows:
> Page Fault
> Program Counter...
> Error code : 0x0000000
> Task : 0x3ffee7c "tRootTask"
> My environment is :Tornado 2.0 vxworks 5.4 X86bsp
> Can anyone help me? Why it is so and how to config vxworks?
> Thanks.
>

Probably your image is overwriting RAM_HIGH_ADDR and hence
the boot loader code.

If that is true you need to rebuild the boot roms with a
higher RAM_HIGH_ADDR value

	David

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

Newsgroups: comp.os.vxworks
Subject: ln97xEnd - ring buffer size
Date: 12 Mar 2002 06:47:56 -0800
From: fillmore2@arcor.de (Achim)
Organization: http://groups.google.com/
Message-ID: <9d082700.0203120647.5b0439aa@posting.google.com>

Hi,

has anyone managed to set the number of rx/tx buffers of the lnPci
driver (ln97xEnd) to a number > 128?

I changed the number and limit in the header file, use SSTYLE=3 with
adapted rmd/tmd layout, and have enough memory for the
descriptors/buffers - and all works fine with up to 128 rx & tx
buffers. Is there any other setting in the driver that restricts these
resources besides the checks on available memory and rmd/tmd_max...?

Thanks for any ideas on this problem.
Achim

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I ask a question of Pci ?
Date: Tue, 12 Mar 2002 16:18:11 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8e1c39@brateggebdc5.br-automation.co.at>
References: <989cdae4.0203081823.47edc196@posting.google.com>

Hi,

not sure what you are looking for...

If you want find out how to find out (or set) the address ranges and
interrupt configuration of the network board, look at the samples provided
in source code for your particular BSP.

Look for files named sys<board name>End.c in your BSP directory.

E. g. for pc486 BSP, you'll find sysEl3c90xEnd.c

Here you find this kind of stuff.

These filese are #include'd into sysLib.c

hth
Werner

"zlybupt" <zhoul@blrcsv.china.bell-labs.com> wrote in message
news:989cdae4.0203081823.47edc196@posting.google.com...
> Now I am engaged in a project of writing pci network card for
> vxworks.I want to know how can i access the io address and the irq
> number of the network card before the system boot?
> Thank you in advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: A Basic Netoworking Question!
Date: Tue, 12 Mar 2002 16:21:31 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8e1cfc@brateggebdc5.br-automation.co.at>
References: <edcc6118.0203090551.2a72d80@posting.google.com>

Hi Giby,

be sure to read the VxWorks User's Manual and VxWorks Network Programmers
Guide.

It will save you tons of headache to understand how the VxWorks system
works.

hth
Werner

"Giby" <giby@myw.ltindia.com> wrote in message
news:edcc6118.0203090551.2a72d80@posting.google.com...
> I am using BSD sockets for Ethernet communication between two
> Vx-Works/MPC823 controller board . When I call Accept() , which is a
> BSD socket function .. the board waits for a packet .
> Till it receives a data packet the program will be in a polled state
> and only after receiving a packet the program executes the code lines
> below the function call.
> Query is in my actual integrated program how I will use this Accept()
> socket function , because I want other things also to work along with
> this Accept() function.
>
> Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: Strange ccarm error message.
Date: 12 Mar 2002 10:35:09 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <u1yep4x5e.fsf@yahoo.com>
References: <a6kpsk$sut$1@kermit.esat.net>
Sender: bpringlemeir@DeadDuck

 lang2> Could anyone tell me what the following message mean?
 lang2> initializer element for `_localExceptionContext_.next' is not
 lang2> computable at load time.

It helps immensely if you can give more details, like the C++ code
that has localExceptionContext in some sort of array context. "is not
computable at load time" means that you have made something static and
attempted to use some sort of dynamic quantity to initialize it or to
describe the size of an array [at least those are my guesses].

Does "localExceptionContext" exist within your source code? Which
processor and compiler are you using? This might be a special C++
label for an exception, so you might be doing something wrong with an
exception object.

hth,
Bill Pringlemeir.

- --
Youth of today! Join me in a mass rally for traditional mental
attitudes!

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: WindML Accelerated Driver
Date: 12 Mar 2002 10:46:34 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <uwuwh3i1x.fsf@yahoo.com>
References: <5d6482af.0203110704.57c443d6@posting.google.com> <ud6yb57tm.fsf@yahoo.com> <5d6482af.0203112340.61499fa4@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Tobias" == Tobias Klotz <tobias.klotz@draeger.com> writes:

 Tobias> We currently use a Silicon Motion LynxEM SM710 (This might
 Tobias> change but will allways be something with BitBlt in
 Tobias> HW). Which methods do I have to modify? Only the BitmapBlt or
 Tobias> also the BitmapWrite/Read method?

Given that the manufacturer has not made the specifications publicly
available, I am unable to help you.

Regards,
Bill Pringlemeir.

- --
Young feelings are Xibotic.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd - ring buffer size
Date: Tue, 12 Mar 2002 10:40:40 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C8E2177.D0B3BA2A@varndellengineering.com>
References: <9d082700.0203120647.5b0439aa@posting.google.com>

Achim wrote:
>
> Hi,
>
> has anyone managed to set the number of rx/tx buffers of the lnPci
> driver (ln97xEnd) to a number > 128?
>
> I changed the number and limit in the header file, use SSTYLE=3 with
> adapted rmd/tmd layout, and have enough memory for the
> descriptors/buffers - and all works fine with up to 128 rx & tx
> buffers. Is there any other setting in the driver that restricts these
> resources besides the checks on available memory and rmd/tmd_max...?

The driver source I have erroneously enforces this limit.
If you can get the source, the chip will support up 512 descriptors
using the initialization block method, more with direct CSR writes.

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD. 21502
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: Re: [Help Me] download app. to vxworks nt simulator
Date: Tue, 12 Mar 2002 16:42:02 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c8e21ca$1@brateggebdc5.br-automation.co.at>
References: <RAjj8.2675$PC3.1182347@news.bora.net>

Hi,

is there a particular reason, why you do not download the code with Tornado?
When you launch the simulator from the Tornado GUI, a suitable Target Server
is usually automatically launched.

You can then download your objects to the hardware.

If you _need_ to do it from the target, you need access to the file system,
where the files reside.
I don't think this is created by default in the Sim (but may be wrong, don't
use the Sim very often).

For the NT simulator, there is sth. name ntPassFs that allows you
communicate with the host file system.
Look into the manuals how to configure it.

hth
Werner

"Kim, Jeong-Hwan" <KimJeongHwan@lge.com> wrote in message
news:RAjj8.2675$PC3.1182347@news.bora.net...
> Hi, everyone
> I built a vxworks NT simulator with the command "make vxWorks.st" for not
> using
> Tornado evironment (target server)
> I got a vxWorks.st.exe file for standalone including target shell.
> When "vxWorks.st.exe" is executed, it works normally, prompting "shell
> prompt".
> However, when I try to download my application code for NT simulator,
> "ld" and "ls" command does not work.
> How can I download my application object code to nt vxworks simulator
> program
> not using Tornado environment ?
>
> The situation is as follows :
>
>
>
>
> Adding 2373 symbols for standalone.
>
>
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]] ]]]] ]]]]]]]]]] ]] ]]]]
> (R)
> ] ]]]]]]]]] ]]]]]] ]]]]]]]] ]] ]]]]
> ]] ]]]]]]] ]]]]]]]] ]]]]]] ] ]] ]]]]
> ]]] ]]]]] ] ]]] ] ]]]] ]]] ]]]]]]]]] ]]]] ]] ]]]] ]] ]]
]]
> ]
> ]]]] ]]] ]] ] ]]] ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]] ]]]
]
> ]]]]] ] ]]]] ]]]]] ]]]]]]]] ]]]] ]] ]]]] ]]]]]]] ]]
]]
> ]]]]]] ]]]]] ]]]]]] ] ]]]]] ]]]] ]] ]]]] ]]]]]]]] ]
]]
> ]
> ]]]]]]] ]]]]] ] ]]]]]] ] ]]] ]]]] ]] ]]]] ]]]] ]]]]
]]
> ]]
> ]]]]]]]] ]]]]] ]]] ]]]]]]] ] ]]]]]]] ]]]] ]]]] ]]]] ]]
]]
> ]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]] Development System
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]] VxWorks version 5.4
> ]]]]]]]]]]]]]]]]]]]]]]]]]] KERNEL: WIND version 2.5
> ]]]]]]]]]]]]]]]]]]]]]]]]] Copyright Wind River Systems, Inc.,
> 1984-1999
>
> CPU: VxSim for Windows. Processor #0.
> Memory Size: 0x200000. BSP version 1.1/1.
> WDB: Ready.
>
> ->
> ->
> -> i
>
> NAME ENTRY TID PRI STATUS PC SP ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- -------
- --
> ---
> tExcTask _excTask 4fd9170 0 PEND 4348f6 4fd908c 30065
> 0
> tLogTask _logTask 4fd4758 0 PEND 4348f6 4fd4670 30065
> 0
> tShell _shell 4fcc090 1 READY 40c320 4fcb4c0 0
> 0
> tWdbTask 41a684 4fd0338 3 PEND 4348f6 4fd0214 30065
> 0
> value = 0 = 0x0
> ->
> -> devs
> drv name
> 0 /null
> 1 /tyCo/0
> 3 host:
> 4 /vio
> 5 /tgtsvr
> value = 25 = 0x19
> ->
> ->
> -> ls
> Can't open ".".
> value = -1 = 0xffffffff = _func_taskRegsShowRtn + 0xffb86d5f
> ->
> ->
> -> ld "ppp.out"
>
>
> loadLib error: File type with magic number 0xa0a is not supported.
> Header Error #8
> Header Fail
> ld error: error reading file (errno = 0x3d0001).
> value = 0 = 0x0
> ->
> ->
>
>

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

Newsgroups: comp.os.vxworks
Subject: How can I protect Flash File System from General Flash
Date: Tue, 12 Mar 2002 16:04:27 -0000
From: "billangs" <gurdeep.billan@siemenscomms.co.uk>
Organization: Siemens Inc.
Message-ID: <a6l8rl$pcc$1@news.mch.sbs.de>

Could anyone please suggest a way of protecting collisions from accuring
when writing to a flash file system and general areas (non file system) of
flash.

I am using my own routines to write to the general area of flash and
standard routines (which use MTDs) supplied by vxworks to write to the flash
file system.

Adding a mutex semaphore at the lowest level does work to a certain extent,
but should two tasks be spawned simultaneously with the same priority where,
one writes to the geraral flash and the other to the flash file system then
the write to the flash file system simply fails.

does anybody know of a way to prevent this?

Thanks

Gurdeep

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: 12 Mar 2002 11:26:53 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Bell Sympatico
Message-ID: <un0xd3g6q.fsf@mistwireless.com>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com> <d2eae3bd.0203050921.6b458ce4@posting.google.com> <a672pf$j5s$1@at-vie-newsmaster01.nextra.at> <u1yewqrcj.fsf@yahoo.com> <d2eae3bd.0203102243.2f8a7ca2@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "shoz" == shoz <shoz@elbit.co.il> writes:

 shoz> The Problems I find are was related to stl.

 shoz> 1. stl code and see that the installation of gnu296 add an
 shoz> #ifdef in stl headers:

Thanks, I hadn't seen those problems yet.

 shoz> I try to see where __GNUC_MINOR__ declare but I didn't find I
 shoz> only know it's set to 7 (version 2.7 maybe it internal in the
 shoz> compiler).

__GNUC_MINOR__ is an internal define that is built into the compiler.
There is some command that you can issue to see what variables are
built in. Anything with a leading "__" is implementation reserved.
So `legally', you should not code functions such as "__foobar()".

 shoz> 4. change in stl_alloc.h -> don't throw exception.

 shoz> This is what I know.

Hmmm, I would consider that good! I understand that this might
deviate from standard STL. However, embedded C++ does not use
exceptions for a good reason. When I looked at the older vxWorks gcc
(2.7.2?), I found that templates, RTTI and exceptions made our ARM
code about 30% larger in size. Most of the modules do not use these
features, but they have been turned on to make sure that classes have
the same sizes when compiled between modules (with header files). So
90% of the code does not trap exception appropriately. Templates do
not usually effect the class layout (at least that is my
understanding), so it is possible to compile one module with templates
and another without.

STL, unfortunately, has exceptions in the allocator in older version
of vxWorks. In the older version, they actually had an "#if 0" that
had code to get rid of the exceptions. I am glad that they changed
this. Exceptions contravene the C++ mantra of "no feature overhead if
not used".

fwiw,
Bill Pringlemeir.

- --
The end of our foundation is knowledge of causes, and secret motions
of things; and the enlarging of the bounds of human empire, to the
effecting of all things possible. - Francis Bacon, New Atlantis

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

- --
Have you ever thought it was costly to have two lanterns to defend
against the alien? Or been called by your parent while driving down
the road at 120mph? You will. And the company that will bring it to
you: AT&T.

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

Newsgroups: comp.os.vxworks
Subject: Re: Data caching on-the-fly
Date: Tue, 12 Mar 2002 09:43:43 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a6lep3$9e$3@newsreader.mailgate.org>
References: <ab58e1e87d0ed2af6e0cc2f59336b08b.69612@mygate.mailgate.org>
Sender: gold@ensemble.com

"William Fredericksen" <willfred@earthlink.net> wrote in message
news:ab58e1e87d0ed2af6e0cc2f59336b08b.69612@mygate.mailgate.org...
> I am trying to determine if it is possible to change data caching for
> segments of memory on the fly. I found references to the BAT registers
> in the MPC8240 Integrated Processor User's Manual, but haven't found any
> useful documentation on how to program these registers or whether it is
> safe to update them on-the-fly. If this can be done, what programming
> considerations should I keep in mind? Also, sample code would be nice.
> I am programming in C++ (but am expecting that this will have to be in
> assembly).

Yes it's possible, but I wouldn't recommend it. I'm curious to know why you
would need to do that - maybe a small description of your application might
help me see the light... If you want to change the memory once, from say
writeable to non-writeable (to protect your text segment), I would agree.
But do you plan to keep changing the caching parameters for particular
segments of memory ? You may be asking for trouble, coherency issues,
hangs, DSI exceptions, etc...

How big are these memory segments ? Rather than doing it yourself with the
BATs, if the segments are small, you might want to consider using page table
entries, then you can look at using vmBaseStateSet(). That is in the
vxWorks docs.

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: 12 Mar 2002 11:15:47 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203121115.738db6a6@posting.google.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com> <3C8CC14E.3E10877D@notifier-is.net> <971e6b8f.0203111150.156e92e5@posting.google.com> <3C8D11DE.A3F336BE@notifier-is.net>

We haven't decided to use Ram Disk yet. We are currently using SIMNT
ONLY. Kind of a chicken and egg I think if you have to copy files to
RAM...which nobody has explained yet...does this just automagically
happen? If I knew what files to copy to Ram Disk...I wouldn't need
opendir...now would I? We cannot eat up Ram with our files. Plus, our
dev stations have gigabytes of disk storage...remember, we are only in
simulation at this point. I believe the issue is that the trial
version of Tornado 2.02 that we have from WR does not include the
Network Package. Other threads related to opendir not working in this
forum suggest using NFS...we may have to wait....and try some
workarounds in the simulator until we get our actual hardware target.
Thanks everyone for the help on this issue...and sorry to have kept
beating a dead horse...

Mike

david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C8D11DE.A3F336BE@notifier-is.net>...
> Mike Palone wrote:
>
> > Thanks David...
> >
> > We are discussing using the ram disk as a temporary solution. It must
> > be the 2.02 Tornado version of SIMNT I'm using but,
> >
> > DIR *pDir = NULL;
> > pDir = opendir(dirname);
> > ALWAYS returns a NULL for pDir.
> >
> > If you got it to work for dosFs, please tell me what I should look
> > into.
> >
>
> did you make sure the ram disk actually worked after you initialized it? by writing a file and reading it back? You should be
> doing a ramDevCreate(), a dosFsDevInit(), and probably a dosFsMkFs() to initialize it with a blank file system. Seems like we may
> have had some trouble with return codes from these functions as well...
>
> I've looked at my code and it appears we didn't use subdirectories but used opendir() to open the root of the disk. We were still
> using a ram disk in the version I looked at. Our ram disk is mounted as '/FLASH' so the opendir looked like this:
>
> DIR *dir=opendir("/FLASH/");
>
> The trailing backslash may be necessary, I don't know for sure at this point.
>
> David
>
>
> >
> > Thanks again...
> > Mike
> >
> > david lindauer <dlindauer@notifier-is.net> wrote in message news:<3C8CC14E.3E10877D@notifier-is.net>...
> > > Mike Palone wrote:
> > >
> > > > Ok. I will look into using RAM Disk. I see the API ramDrv and
> > > > ramDevCreate APIs which should be followed by a dosFsDevInit. The
> > > > part that I am not groking yet is when folks say to copy the files I
> > > > will need there and then opendir will work. Our application creates
> > > > and uses many files...some of which could be large. How can one
> > > > predict the amount of Ram to use, or should the files be copied there
> > > > from a directory structure only when the time comes to needing to do
> > > > an opendir? Sorry if I'm missing how to use ram disks...have to study
> > > > that...but from first look through the docs, there is not a good
> > > > explanation of the copy files part. Thanks again for your help and
> > > > patience.
> > > >
> > >
> > > ram disk is just like a floppy disk (or hard disk) once you have it set up. You save files there, read and write them just
> > > like you would on a persistent storage device. opendir does work with dosfs; I have used it. May have even used it on a ram
> > > disk during development, not sure that was a while back.
> > >
> > > As far as figuring out how much ram to use, you have to know how big your files are. Since this is a temporary solution
> > > until you get persistent storage you may want to go ahead and limit what you are writing to the files, for now, so you don't
> > > have to use up all your ram as a disk.
> > >
> > > David
> > >
> > > >
> > > > Mike
> > > >
> > > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$pfxssg$mgj$1@lnews.actcom.co.il>...
> > > > > Pardon my French, passFs and netDrv font support dirLib properly.
> > > > > dosFs in all its forms and versions fully supports dirLib (which includes
> > > > > opendir ) and mkdir() so you should have no problems doing what
> > > > > you need to do on a RAM disk or virtual disk, both of which will
> > > > > use dosFs on top of the block device driver.
> > > > >
> > > > > As to NFS, since you are on a WIndows host, you will find it
> > > > > quite difficult to set up NFS properly between the VxSim
> > > > > and your MSFT host, therefore my RAM disk recommendation,
> > > > > its the easiest way out, and closest to your final situation.
> > > > >
> > > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > > news:971e6b8f.0203101438.300fe42c@posting.google.com...
> > > > > > Thanks for the feedback Leonid. Not sure how to create a virtual disk
> > > > > > or RAM disk yet...I'll have to research. Lot of hoops to jump through
> > > > > > because of a documented API does not work. Putting passFs aside for
> > > > > > the time being, can somebody please tell me that it is in fact true
> > > > > > that opendir does not work for dosFs? Should I dive further on the
> > > > > > threads in this forum suggesting the use of NFS rather than netDrv?
> > > > > > Can I use NFS for a local hard drive? It is a bug. If I can create
> > > > > > directories and files...and read and write to files...I should be able
> > > > > > to do an opendir. I started experiments toward implementing opendir
> > > > > > functionality myself, but at this point even:
> > > > > >
> > > > > > Status = ioctl (fd, FIOREADDIR, (int)&dirStruct);
> > > > > >
> > > > > > gives an errno of ENOTDIR after opening a DIR. Our target will have a
> > > > > > local hard disk, and without knowing the details, the idea of copying
> > > > > > all the files I need to a RAM Disk just to enumerate a directory
> > > > > > worries me.
> > > > > >
> > > > > > The other interesting thing is that I looked at the code in usrLib.c
> > > > > > since it implements the ls command .... and it works from the command
> > > > > > shell. It uses opendir. However there is the following code in the
> > > > > > routine that I think may be executing as opposed to the opendir
> > > > > > command.
> > > > > >
> > > > > > if (_func_netLsByName != NULL)
> > > > > > {
> > > > > > if ((*_func_netLsByName) (dirname) == OK)
> > > > > > return (OK);
> > > > > > else if (errno != S_netDrv_UNKNOWN_REQUEST)
> > > > > > return (ERROR);
> > > > > > }
> > > > > >
> > > > > > Thanks again...
> > > > > > Mike
> > > > > >
> > > > > >
> > > > > > "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
> news:<newscache$5xursg$qfh$1@lnews.actcom.co.il>...
> > > > > > > Mike,
> > > > > > >
> > > > > > > passFs is just a hack, quick and dirty means of accessing
> > > > > > > the work station file during development. Since it wont
> > > > > > > be used for the application, it is not worth much effort.
> > > > > > >
> > > > > > > Until you have your final target, you can try to use
> > > > > > > a virtual disk running full dosFs on it, which will be
> > > > > > > much closer to your final application. If you cant
> > > > > > > make a virtual disk, make a RAM disk with dosFs,
> > > > > > > and fill it with the files you need on initialization.
> > > > > > >
> > > > > > > Also, there is the TSFS - Target Server File System
> > > > > > > which you could try, but I have never used it and dont
> > > > > > > know if it supports opendir and the like.
> > > > > > >
> > > > > > > "Mike Palone" <mpalone@gotuit.com> wrote in message
> > > > > > > news:971e6b8f.0203092108.3d502241@posting.google.com...
> > > > > > > > Hey...
> > > > > > > >
> > > > > > > > I am new to VxWorks and am in the middle of a WinCE port of our
> > > > > > > > application. I am using Tornado v2.0.2 which uses VxWorks 5.4.2 SIMNT,
> > > > > > > > since we do not have our target hardware at this point. I have read
> > > > > > > > through all the threads in this group regarding the problems that have
> > > > > > > > been encountered with opendir and was hoping that somebody could give
> > > > > > > > me an update on it's status. Unfortunately, I spent way too much time
> > > > > > > > trying to get it to work without consulting this forumn first. The
> > > > > > > > problems I was having with creating directories and reading and
> > > > > > > > writing to files is fixed since I did a ntPassFsDevInit("c:")
> > > > > > > > ntPassFsLib is used for NT Simulations. Without this statement,
> > > > > > > > creating Directories failed with an unknown device error. The
> > > > > > > > remaining hurdle (as if there won't be more to come...but the memory,
> > > > > > > > threading, semaphore, etc. ports are working great) I now have is that
> > > > > > > > opendir simply does not work. I've exhausted all experiments. In the
> > > > > > > > end, we will have a local dosFs that we will need to interface to.
> > > > > > > > There is a lot of discussions in this forum regarding opendir not
> > > > > > > > working with netDrv and that we should NFS. I am about ready to write
> > > > > > > > the code for opendir, readdir, and closedir myself, but wanted to make
> > > > > > > > sure I should proceed with that option. Basically... pDir =
> > > > > > > > opendir("dirname") always returns NULL and sometimes the error is
> > > > > > > > ENOTDIR 20 /* Not a directory*/ is set in errno. I would totally
> > > > > > > > appreciate any help/guidance somebody can give me.
> > > > > > > >
> > > > > > > > Mike Palone
> > > > > > > > Principal Software Engineer
> > > > > > > > Gotuit Video Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Tue, 12 Mar 2002 15:18:51 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <Smtj8.3584$T_.64162@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net> <rps7koi9350.fsf@nospam.invalid>

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rps7koi9350.fsf@nospam.invalid...
> "doug dotson" <ddotson@digidata.com> writes:
>
> > I'm sure the algoirthm will work just as well without the
> > insults.
>
> 1. What statements do you believe are insults? My comments in
> the beginning? My self-critique of the algorithm? My embedded
> comments?

These:

 Sorry to jump in, but asking for some code to convert a number to
 a printable string is like asking for some code to do bubble sort.
 1. You should already know it.
 2. You can find it documented in most basic programming books.

> 2. Having read the complete thread, I'm sure you saw that
> multiple people pointed different ways to possible answers.
> However, someone insisted on the actual code. Why were those
> posters being so evasive? Why not just post the actual code?

You would have to ask them, I posted some actual code.

> 3. If I say, "Doug, your solution doesn't deal with signed
> numbers, can you provide the code to do that?" You would just
> refine and repost it, right?

Yes, would you like me to? I assumed that one could extend the
basic algorithm to handle signed numbers.

> By the way, your solution doesn't
> deal with 64 bit numbers (it works on positive 32 bit numbers)

That is correct. Hense the function name "printULong".

> Can you give the solution for printing 64 bit values?

I would think that anyone that could do a bubble sort ....
I don't have a 64-bit platform on which to test a 64-bit solution. I'd
rather offer a solution that I tested the was not exactly what was asked
for but could be extended in an obvious way, rather than offerring a
solution that I could not test.

> At what point would you tell me to stop?

Right now would be nice.

> My disappointment at the question is not that the person didn't
> know it (partly it was so). It was, rather, that he didn't want
> to find out by himself.

Many times it is quicker to ask than to find out on your own. Usenet
is a marvelous resource for solutions and those that ask for help
should not have to deal with having their skill as a programmer
called into question when the seek advise. Many of us here are
actually programming to make a living and produce a product for
our companies. Time is more important than impressing others.

> One implementation can be found in K&R's _The C Programming
> Language_ 2nd Ed. on page 64, when they first introduce the
> do-while loop construct of C.

Big deal. Not everyone learned using this book or even has a
copy of it.

> Finally, I leave you with this thought. What's more insulting to
> the person who asked for the code? Your reply or mine?

Your's obviously. If you had submitted it without the insults then
they would be equivalent I would think.

> -jc
> P.S. I apologize in advance (to all those that were asking for
> code to this) if I have mis-construed your intent.

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: Tue, 12 Mar 2002 12:22:43 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8sougiasbt887@corp.supernews.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com> <3C8CC14E.3E10877D@notifier-is.net> <971e6b8f.0203111150.156e92e5@posting.google.com> <3C8D11DE.A3F336BE@notifier-is.net> <971e6b8f.0203121115.738db6a6@posting.google.com>

Mike, creating a RAM Disk and DOS FS on it is simple. For example, from
VxWorks shell...

- -> ramDrv()
- -> xyz1 = ramDevCreate(0, 256, 128, 128, 0)
- -> xyz2 = dosFsMkFs("/tmp, xyz1)

Then you can copy stuff into it from your NT pass FS.

- -> chdir ("your_nt_passfs:/some/directory/")
- -> copy ( "somefile.txt", "/tmp/somefile.txt")

etc.

By the way, the issue with dirLib and netDrv vs. other file systems in
VxWorks (DOS, NFS, etc.):

1. netDrv is a kind of emulation of filesystem over FTP or RSH. To
accomplish directory listing over this, protocol specific packets sent to
the server. For FTP, NLST packet is sent to server, for example. netDrv
does not support concepts like file system stat and various ioctl's required
by something like dirLib. Actually, it is possible to implement all the
necessary ioctl's and make netDrv compatible with other filesystems, but it
was never done.

2. other filesystems do support generic ioctls to allow dirLib and other
things to work.

3. The reason for above is historical, and it is not a desirable situation
as you can see. The real problem stems from the fact that VxWorks really
does not have properly layered design for implementing filesystems. The
filesystems in VxWorks are just I/O drivers masquerading as filesystems.

Leonid probably has more details on all of the above.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: What causes this message?
Date: Tue, 12 Mar 2002 15:26:43 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <cutj8.3585$T_.64097@iad-read.news.verio.net>

Greetings!

When bringing up a shell using the "Launch Shell" button (->i), the
shell starts up and then we get the following message:

 "Invalid C++ Constructor/Destructor strategy ...."

or something similar (the developer decided to reinstall Tornado so
I can't reproduce it now). Then the shell just keeps restarting over and
over. Everything works fine on other hosts, just this problem on one.
All Target Servers are identcal and the boot images are the exact
same as well. And we are all pointing to the same target machine.
I know I saw this once before months ago but I can't remember what
the solution was.

Thanks,
Doug

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I protect Flash File System from General Flash
Date: Tue, 12 Mar 2002 12:29:31 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8spb7mpl48vd4@corp.supernews.com>
References: <a6l8rl$pcc$1@news.mch.sbs.de>

When I had to solve this problem before I copped out and made all access to
flash single threaded. First, I did what you did. I made the lowest level
I/O routines (flashWrite, flashRead, flashErase, etc.) to be semaphore
protected. I made sure the filesystem code will use those routines. I made
sure all my flash access is done via those same APIs.

Then I got to worry some more about it. In the end I required that flash
update will only be done in special maintenance mode. And in that mode, all
APIs will be done via one task which gets requests from others and serialize
(i.e. single thread) the access to flash.

Maybe a little paranoid. But better than getting 1,000 boards shipped back
to you from all over the world.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: What's the Expected errno from msgQReceive(...,NO_WAIT)
Date: Tue, 12 Mar 2002 20:31:36 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3C8E660E.FD7E63E0@bitworkssystemsDELETETHIS.com>

I'm trying to determine what the expected errno response is when reading
a msg queue using no wait and the queue is empty. I expected to get a
S_objLib_OBJ_TIMEOUT error but am instead getting
S_objLib_OBJ_UNAVAILABLE. The reference manual gives no description of
any of these errors that I can find (is there someplace I've missed?)
and the msgQReceive() entry in the the reference manual only lists the
expected errno responses but not the conditions when each would occur.

In particular the section on NO_WAIT says

"return immediately, even if the message has not been sent"

which appears to be a cut and past error in the manual since msgQReceive
doesn't send a message at all.

Here's the call I'm using.

rc = msgQReceive(dc2000_queue, (char *)profile_packet, 16, NO_WAIT);

Thanks in advance

Jon Newbill
jonUN@bitworkssystemsREMOVTHIS.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: 12 Mar 2002 13:13:22 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpselip7aml.fsf@nospam.invalid>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net> <rps7koi9350.fsf@nospam.invalid> <Smtj8.3584$T_.64162@iad-read.news.verio.net>

"doug dotson" <ddotson@digidata.com> writes:

> "Joe Chung" <nospam@nospam.invalid> wrote in message
> > 3. If I say, "Doug, your solution doesn't deal with signed
> > numbers, can you provide the code to do that?" You would just
> > refine and repost it, right?
>
> Yes, would you like me to? I assumed that one could extend the
> basic algorithm to handle signed numbers.

You seemed to have missed my point.
But you do demonstrate my point later....

> I would think that anyone that could do a bubble sort ....

Bingo! You would think that wouldn't you?
And I'd have to agree with you there.

At what point do you stop giving out help because you realize
that the help they asking is for something you already expect
them to know, OR something that is easy find out because the way
has been shown?

> I don't have a 64-bit platform on which to test a 64-bit
> solution. I'd rather offer a solution that I tested the was not
> exactly what was asked for but could be extended in an obvious
> way, rather than offerring a solution that I could not test.

I'm not criticizing your solution's correctness per se. I'm
merely illustrating that you are expecting some people to do the
thinking. I hope you realize that you simply proved my
point by answering the way that you did.

You expect people to be able to extend, modify, improve upon your
solution.

In other words, you expect people to be able to do some thinking.

Well, so do I.

Let's just agree that we disagree on where to draw the line.

> > At what point would you tell me to stop?
>
> Right now would be nice.

This just further illustrates that you do have a line that you
will not cross.

> Many times it is quicker to ask than to find out on your own. Usenet
> is a marvelous resource for solutions and those that ask for help

Yes. I agree with you here.

Though, it would've been MUCH faster to find out the answer to
this by doing a little google/deja searching or cracking open an
elementary programming book or two than to post and wait for an
answer *that might never come*.

I mean, holy cow, a project won't be finished on time cuz someone
is waiting for an answer on Usenet, on the code to print 64 bit
integers!

> should not have to deal with having their skill as a programmer
> called into question when the seek advise. Many of us here are
> actually programming to make a living and produce a product for
> our companies. Time is more important than impressing others.

But you'd call their skill into question if they asked you for
the code to bubble sort, right?

By the way, if you think that I intend to "impress" by showing
this trivial piece of code then you are gravely mistaken. I
intend to help. Much more so than you do.

> > One implementation can be found in K&R's _The C Programming
> > Language_ 2nd Ed. on page 64, when they first introduce the
> > do-while loop construct of C.
>
> Big deal. Not everyone learned using this book or even has a
> copy of it.

Hmmm, a more literal answer than I expected.

Again, you're misreading my illustration of a point. I'm not
going cite all easily accessible sources in print and on the net
to prove my point: which is that solutions to this particular
problem are *well known*.

> > Finally, I leave you with this thought. What's more insulting to
> > the person who asked for the code? Your reply or mine?
>
> Your's obviously. If you had submitted it without the insults then
> they would be equivalent I would think.

Remember, I didn't provide the first 5 replies to the initial
inquiry, I only jumped in when, in the face of answers, someone
still demanded to see the code. I happen to think my solution is
more helpful.

Also remember that I didn't drag you into this, but since you
dragged me into it: Your terse three liner embarrasses and
dismisses the questioner. I mean, DOH, I couldn't figure that
out? But, hey, that's just me.

Oh, the fact that your 3 liner is neither efficient nor safe in a
small stack environment points to your willingness to help,
rather than to impress, right?

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Interrupt vector table
Date: Tue, 12 Mar 2002 23:24:46 +0100
From: "JJS" <alvend@normandnet.fr>
Message-ID: <a6lvjb$d05$1@news2.isdnet.net>

Our system : Tornado 2.0 VxWorks 5.4 mvme2304 board
In a 68000 system architecture, the interrupt vector table begins in memory
at address 0.
Where is the vector table in a ppc architecture?
I search to find the initialisation done with IntConnect()
Thanks
Jack

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: 12 Mar 2002 16:05:43 -0800
From: aman@renoir.tamu.edu (aman)
Organization: http://groups.google.com/
Message-ID: <2dbc95a7.0203121605.1ad8c1aa@posting.google.com>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com> <a68ff3$2th$3@newsreader.mailgate.org> <u8ftv064k3000d@corp.supernews.com> <a6934f$bti$3@newsreader.mailgate.org>

"Dan Gold" <gold@ensemble.com> wrote in message news:<a6934f$bti$3@newsreader.mailgate.org>...
> "Hwa Jin Bae" <hjb@pso.com> wrote in message
> news:u8ftv064k3000d@corp.supernews.com...
> > I wrote vxsniff.c long time ago. Does it still work with SENS stack? I
> > never tried to run it in SENS.
>
> Since it uses EtherInputHookAdd(), it works. The MUX thinks it's passing it
> up to IP but it really goes to the input hook. Of course WRS says stuff
> about the input hooks going away, but under SENS and T101, it will work.
>
> Dan Gold gold@ensemble.com

Dan,

I'm using the following piece of code to intercept all incoming
packets on a my vxWorks ethernet interface. If the address of the
source machine matches a certain IP address I put a copy of the packet
on a message queue to be handled by another task (I want to emulate
libpcap under Linux).

In my 1st thread I made a vxSniffinit() with an interface name of
"fei" and a unit number of 0. At that point the Mux bind succeeds and
I begin to receive packets as expected.

However another task is sending out packets via a connected socket to
the source machine I am interested in capturing Mux packets from. The
first few packets send over the socket work fine. However after about
30-50 packets I totally lose my Ethernet interface. At this point I
can no longer ping my vxWorks box nor can I ping out from my vxWorks
box. All connection is lost. Note that my vxWorks box has not crashed
because I have a serial connection to it and my tShell is alive an
well. No task appears to have crashed (ie. tNetTask is still alive
along with my tasks). My only choice at this point is to re-boot.

Do you have any idea what might be happening to cause my vxWorks box
to totally lose ethernet connectivity? Am I not doing something right
with the packets I recieve or not passing back the correct return
codes someplace? Any help would be greatly appreciated as I have been
unable to find a working example of Mux code anywhere

Thanks,

Tim

#define MAX_QUEUE_SIZE 200
#define MAX_MSG_SIZE 2048

/* globals */
void * pCookieInHook;

MSG_Q_ID QId = 0;

extern struct in_addr Host_targetAddr;

STATUS vxSniffHook(void * pCookie, long type, M_BLK_ID pMblk,
LL_HDR_INFO * pLinkHdrInfo, void * pMode, BOOL msgIn)
{
 struct ip *ip;
 struct udphdr *udp;
 struct tcphdr *tcp;
 struct icmp *icmp;
 unsigned long ticks;
 char *proto;
 int optlen;
 char srcAddr[20], dstAddr[20];
 char protoxxx[10];
 int status;
 char * tmp; /* Changed for vxWorks */

/*
 Only IP implemented here.

 Assumption that driver has set up pLinkHdrInfo, else will
 have to modify with hard numbers to move past the link layer info.
*/

 switch (pLinkHdrInfo->pktType)
 {
 case ETHERTYPE_IP:
 ip = (struct ip *)(pMblk->mBlkHdr.mData +
pLinkHdrInfo->dataOffset);

 /* Put the packet in the queue for to access via another task
*/

 if (QId > 0)
 {

 /* Make sure packet is from machine we expect */

 if ( ip->ip_src.s_addr == Host_targetAddr.s_addr)
 {

 tmp = malloc(ntohs(ip->ip_len)+14+sizeof(struct
pcap_pkthdr)); /* Add space for MAC address's */

 memset(tmp, 0, ntohs(ip->ip_len)+14+sizeof(struct
pcap_pkthdr));
 tmp[sizeof(struct timeval)] = (ntohs(ip->ip_len)+14) &
0xFF;
 tmp[sizeof(struct timeval)+1] =
((ntohs(ip->ip_len)+14) & 0xFF00) >> 8;
 memcpy(tmp+sizeof(struct pcap_pkthdr),
(void*)pLinkHdrInfo->destSize, 6 );
 memcpy(tmp+6+sizeof(struct pcap_pkthdr),
(void*)pLinkHdrInfo->srcSize, 6 );
 tmp[12+sizeof(struct pcap_pkthdr)] = 0x08;
 tmp[13+sizeof(struct pcap_pkthdr)] = 0x00;
 memcpy(tmp+14+sizeof(struct pcap_pkthdr), ip,
ntohs(ip->ip_len));

 status = msgQSend(QId, (char *)tmp,
ntohs(ip->ip_len)+14+sizeof(struct pcap_pkthdr), NO_WAIT,
MSG_PRI_NORMAL);

 if (status != OK)
 printf ("Error sending to filter queue! errno=<%d>
status=%d id=%d\n", errno, status, (int)QId);

 free(tmp);
 return (TRUE);
 }
 }
 }

 return FALSE;
}

STATUS vxSniffInHook(void * pCookie, long type, M_BLK_ID pMblk,
LL_HDR_INFO * pLinkHdrInfo, void * pMode)
{
 return(vxSniffHook(pCookie, type, pMblk, pLinkHdrInfo, pMode,
TRUE));
}

STATUS inShutdownRtn(void * pCookie)
{
 if (muxUnbind(pCookie, MUX_PROTO_SNARF, vxSniffInHook) != OK)
 {
 printf("Couldn't un-bind from the inputHook!\n");
 return(ERROR);
 }
 return(OK);
}

/*
 Add input and output hooks. If all packets on the wire are to be
capture,
 regardless of being destined for the target, then this routine
will have to
 be modified to place the driver in promiscuous mode
*/

STATUS vxSniffInit(char * pDevice, int unit)
{

 if ((pCookieInHook = muxBind(pDevice, unit,
(FUNCPTR)vxSniffInHook,
 (FUNCPTR) inShutdownRtn, NULL,
 NULL,
 MUX_PROTO_SNARF,
 "Sniff Input Hook", NULL)) == NULL)
 {
 printf("Couldn't bind to %s\n", pDevice);
 return(ERROR);
 }

 /* Create a FIFO message queue to send filtered packets to. The
queue
 will hold upto 200 messages at size 2K. */

 if (QId == 0)
 QId = msgQCreate(MAX_QUEUE_SIZE, MAX_MSG_SIZE, MSG_Q_FIFO);

 if (QId < 0)
 {
 printf("Error creating filter queue\n");
 return(ERROR);
 }

 printf("Mux bind successful with queue id %d\n", (int)QId);
 return(OK);
}

void vxSniffShutdown()
{
 int cc = 0;
 char tmp[MAX_MSG_SIZE];

 inShutdownRtn(pCookieInHook);

 /* Empty out the queue */

 while (cc >= 0)
 cc = msgQReceive(QId, tmp, MAX_MSG_SIZE, NO_WAIT);

 printf("Mux unbind successful\n");
}

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: 12 Mar 2002 16:45:10 -0800
From: kang.yonghong@mail.zte.com.cn (K.YH)
Organization: http://groups.google.com/
Message-ID: <d29c2180.0203121645.4507dc63@posting.google.com>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk>

I originally think that vxworks image is overwriting RAM_HIGH_ADDR and
hence
the boot loader code,so i change the RAM_LOW_ADRS to 00358000 and the
RAM_HIGH_ADRS is 00008000(not changed).My vxworks image size is
1.65MB,so the mem space is enough,but the same error appears again.By
the way ,is vxworks for X86 different with that for others ,for
example ppc.
Any help for it.
Thanks

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C8E07F7.4050609@spamm.me.l8s.co.uk>...
> K.YH wrote:
>
> > Recently i have builded a bootable project,and the vxworks image is
> > vxworks which is 1.65MB.but when i boot vxworks
> > from FTP Server,after vxworks image is download and start at
> > 0x******.then there is a error,which appeared as follows:
> > Page Fault
> > Program Counter...
> > Error code : 0x0000000
> > Task : 0x3ffee7c "tRootTask"
> > My environment is :Tornado 2.0 vxworks 5.4 X86bsp
> > Can anyone help me? Why it is so and how to config vxworks?
> > Thanks.
> >
>
> Probably your image is overwriting RAM_HIGH_ADDR and hence
> the boot loader code.
>
> If that is true you need to rebuild the boot roms with a
> higher RAM_HIGH_ADDR value
>
> 	David

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

Newsgroups: comp.os.vxworks
Subject: MPC8260 MCC driver
Date: 12 Mar 2002 17:17:24 -0800
From: lihuapeng@21cn.com (DragonSpring)
Organization: http://groups.google.com/
Message-ID: <1d411918.0203121717.7e0af16d@posting.google.com>

Did anyone USE MOTROLA MCC_HDLC demo code (MCCDEMOHDLC.C and the
serials) ? i am using it, but it is not steady when i used it with
vxWorks, somethings the test can pass, but the other times the test
maybe fail, would anyone give me advice?

Thanks.

The board is designed by ourselves, it was modelled on ADS8260, system
clock is 66/133/133MHz.

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

Newsgroups: comp.os.vxworks
Subject: compiling a bootrom for Cetia VMPC6A under Tornado 2.0/Win NT
Date: 12 Mar 2002 18:30:04 -0800
From: static@ieee.org (Andrew Spiehler)
Organization: http://groups.google.com/
Message-ID: <59b46a44.0203121830.4e7f5d0a@posting.google.com>

Here's my situation: I need to compile a bootrom for a Cetia/Thales
VMPC6a to boot from the user flash. When I configure the build in the
Tornado 2.0 project facility, I notice that there are two custom rules
that I believe were added when the VMPC6a BSP was installed. The two
rules are "bootrom.prep" and "bootrom_uncmp.prep". When I try to build
the project, I get a makefile error saying that there's no rule to
make the target "bootrom" or "bootrom_uncmp". I'm not experienced with
compilers so I don't know how to even begin debugging this problem. My
contact at Cetia suggested that the make program wasn't looking in the
correct path for something. My project directory isn't kept under the
c:\tornado directory, if that makes any difference. Does anyone have
any experience with this board/BSP set? Any help would be very greatly
appreciated.

Thanks,

Andrew Spiehler

please reply to:

acspiehler@
raytheon.com

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: 12 Mar 2002 18:41:54 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203121841.70cd9f8d@posting.google.com>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com> <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org>

hi,
First I want to thanks you all.

Saledom,I have tried your code in my computer.It is work well.I think
I perhaps made a mistake:not to justify the sin_family value.so the
output is
always the addr of AF_LINK.
and my code also have a difference with yours.I tried to get the IP
ADDR
as an u_long value.I will try to finish it. thanks you!!

Ramesh ,I think you can get.
 first you must get one interface name in your system. perhaps you
can do this by ioctl func. and you also can use the global
value:"extern struct ifnet *ifnet;".then your get the ifnet of one
interface.
 every interface have an ifnet struct ,and all ifnet struct
constructed a list.you can look into "net/if.h" in vxworks.Use the
pointer:struct	ifnet *if_next you can view all the ifnet struct.that
mean you can view all the interfaces info.
Do you catch my mean?Wish those word can help you! You can also read
the book"
TCP/IP Illustrated volume 3" to see the details!!Suggest you read the
book!!

Wish we can discuss questions often!!

all thanks!
your sincerely :zhang jianhui

"Ramesh Krishnan" <rashanmu@npd.hcltech.com> wrote in message news:<b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org>...
> Hi,
>
> How your code will work in case no interface name is specified. I am in
> need of a requirement like that. I dont know any interface name or
> index, but i need to get the details of all. I dont want normal ifShow
> routine. I want to know how ifshow is implemented without giving any
> interface name as arguement. There is a ioctl IFCONF which will give the
> interface list. But it is giving it to ifreq structure. In Linux it is
> working fine. BUt in case of VxWorks the code is printing the interface
> along with some junk( because we dont know how many interface exist from
> ifreq structure alone ). With ifnet structure, we can do i suppose. But
> how to initialise it like requesting the kernel for the interface list
> with a ioctl ( right now the kernel pastes the output in ifreq structure
> but from the ifreq structure alone we cannot know how many interfaces
> exist , only ifnet structure has a pointer to the next interface ).
> If you know anything in this regard, kindly share with me to my mail id
> or to the list.
>
> Thanks,
> Ramesh
>
> ==============================================================
> "Saledom" <lisheng_811@yahoo.com.cn> wrote in message
> news:4a7f0d21.0203120006.3d87515c@posting.google.com...
>
> > the following function is wote by me when i learn the if-programming.
> > it is easy for you to find the difference between your code and mine.
> > if you dont agree with my programm, or my programm is not match your
> > purpose, i would like to dicuss with you. of cause, you can send a
> > mail directly to me.
> >
> ====== snip ============================

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

Newsgroups: comp.os.vxworks
Subject: C++ application: Tornado Shell vs. Target Console
Date: Wed, 13 Mar 2002 03:06:35 GMT
From: "Jamilur Rahman" <rahma2431@rogers.com>
Message-ID: <%mzj8.6346$lM.2279@news2.bloor.is>

On Shell (host side):
I could download the object code (.o) of a C++ file and spawn the function
right away.

On console (target side):
I could load the object code, but can't spawn the task (error message:
symbol not found !).
But, if I declare that function as 'extern "C" <function name>', then I am
able to call that function from target console.

Question:
1) Does VxWorks (not Tornado) recognizes only C file ?

Note that, the application that I've downloaded (dynamically) was an extra
module.

Any informative explanation would be very much appreciated.

/jamil,
Ottawa.

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: Wed, 13 Mar 2002 08:57:30 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C8E80D2.9F9CCE92@dsto.defence.gov.au>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com> <3C8BE57C.1D72557D@dsto.defence.gov.au> <a6hupv$5k9$1@news1.kornet.net>

I seem to be missing something here. Sometimes you refer to the address space
0x1000000 and other times 0x10000000 (one extra zero). By the look of the
definitions below, you also need to add an offset of 0xc1000000 to the pci
address to access it using CPU address space.

By the look of it, you've opened a window at CPU address 0x10000000. I think
what you're trying to do is put the memory at PCI address 0x10000000, which
corresponds to CPU address 0xd1000000 (0xc1000000 + 0x10000000). In which case
you need to make sure you have a window in your sysPhysMemDesc table with the
CPU addresses (not PCI). The entries below indicate taht you're using the PReP
memory map, so CPU_PCI_MEM_ADRS2 would be 0xd1000000. But because the amount of
memory you're asking for is so large, make sure that you're not overlapping with
a region of CPU address already used by something else.

Tim

??? wrote:

> Hello. Tim Shaw..
>
> Thank you very much for your answer..
>
> Your answer was good idea, and I solved my problem..
>
> Namely, I could access 0x10000000 as doing follow..
>
> In mv2600.h
> /* Psuedo PREP memory map as seen from CPU */
> #define CPU_PCI_ISA_IO_ADRS 0x80000000 /* base of ISA I/O
> space */
> #define CPU_PCI_ISA_MEM_ADRS 0xc0000000 /* base of ISA mem space
> */
> #define CPU_PCI_IO_ADRS 0x81000000 /* base of PCI
> I/O space */
> #define CPU_PCI_MEM_ADRS 0xc1000000 /* base of PCI mem
> space */
> #define CPU_PCI_MEM_ADRS_1MB 0xc0100000 /* base of PCI 1MB mem
> space */
> #define CPU_PCI_ISA_IO_SIZE 0x00010000 /* 64 kbytes */
> #define CPU_PCI_IO_SIZE 0x00800000 /* 8 meg */
> #define CPU_PCI_IO_UPPER_ADRS (CPU_PCI_ISA_IO_ADRS>>16)
> #define CPUCRA_HI (CPU_PCI_ISA_IO_ADRS>>16)
> #define CPUCRA_LO 0x0800
> #define CPU_PCI_ISA_MEM_SIZE 0x00010000 /* 64 kbytes */
> #define CPU_PCI_MEM_SIZE 0x20000000
>
> In sysLib.c
> {
> (void *)0x10000000/*CPU_PCI_MEM_ADRS2*/,
> (void *)0x10000000/*CPU_PCI_MEM_ADRS2*/,
> 0x20000000/*CPU_PCI_MEM_SIZE2*/,
> VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
> VM_STATE_MASK_MEM_COHERENCY,
> VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE |
> VM_STATE_MEM_COHERENCY
> },
>
> The result is as following..
>
> -> pciHeaderShow(0, 0x10, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0000
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0x03
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
>
> -> d 0x10000000
> 10000000: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000010: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> value = 21 = 0x15
>
> -> m 0x10000000
> 10000000: ffff-1
> 10000002: ffff-2
> 10000004: ffff-3
> 10000006: ffff-4
> 10000008: ffff-5
> 1000000a: ffff-6
> 1000000c: ffff-7
> 1000000e: ffff-8
> 10000010: ffff-9
> 10000012: ffff-0
> 10000014: ffff-.
> value = 1 = 0x1
>
> -> d 0x10000000
> 10000000: 0001 0002 0003 0004 0005 0006 0007 0008 *................*
> 10000010: 0009 0000 ffff ffff ffff ffff ffff ffff *................*
> 10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> value = 21 = 0x15
>
> But..
>
> Unfortunenatelly, I met some other problems.
>
> The first problem is..
>
> The Value was modified is changed again, when I access in 0x1000000,
> 0x2000000, 0x3000000..
>
> The second problem is ..
>
> to be able to access in 0x1000000, 0x2000000, 0x3000000 ... so on
>
> Hm..
>
> Is That range system area.??
>
> I will list problem below..
>
> ..
>
> Can you tell me what is the reason or sollution..??
>
> I read many manual was written in Motorolla. but I don't know why these
> problems come to me..
>
> -> d 0x1000000
> 01000000: 6194 288c 9840 a1e0 2dcb 12e9 33aa 1420 *a.(..@..-...3.. *
> 01000010: 8000 1200 020a 3108 0000 0100 0c00 0081 *......1.........*
> 01000020: 3400 020a 5169 1004 8434 8010 1130 0850 *4...Qi...4...0.P*
> 01000030: 8100 0001 0000 0040 0000 6040 8000 0000 *.......@..`@....*
> 01000040: 0792 3015 290a a34d 3818 3011 46e2 4c36 *..0.)..M8.0.F.L6*
> 01000050: 0000 0040 0420 5411 40e0 ac20 0828 0145 *...@. T.@.. .(.E*
> 01000060: 2821 282a 09c1 42b9 5a15 506a 82af 4d18 *(!(*..B.Z.Pj..M.*
> 01000070: 0040 0005 0204 2000 0020 8481 0900 1008 *.@.... .. ......*
> 01000080: a279 4350 25c5 3882 0209 02a4 c0ca 0411 *.yCP%.8.........*
> 01000090: 0000 8002 4010 0200 0000 5000 1000 2002 *....@.....P... .*
> 010000a0: 0c44 0098 1921 4071 2818 4012 8222 1007 *.D...!@q(.@.."..*
> 010000b0: 0000 0064 0080 0880 0000 0100 0040 0220 *...d.........@. *
> 010000c0: 8b40 3091 6260 1022 0c10 0c08 d8c2 2a45 *.@0.b`."......*E*
> 010000d0: 4080 0402 0440 8000 1010 1204 0000 0200 *@....@..........*
> 010000e0: 8eac 6028 c1b0 1dd0 4497 30b8 8114 6028 *..`(....D.0...`(*
> 010000f0: 2020 0080 0220 0000 2120 0000 0400 4430 * ... ..! ....D0*
> value = 21 = 0x15
>
> -> d 0x2000000
> 02000000: 0909 0909 f6f6 f6f6 f5b8 6d80 75e0 10c7 *..........m.u...*
> 02000010: a1d5 4182 00fa 3d95 b60c 4800 d813 001c *..A...=...H.....*
> 02000020: 766f 1401 a0bf 8d12 a7fa c904 dcfb 18ac *vo..............*
> 02000030: 9630 0800 0260 7a05 0096 5200 76a4 0041 *.0...`z...R.v..A*
> 02000040: 4f05 2044 7176 5b25 887c 9254 cf4f 64ff *O. Dqv[%.|.T.Od.*
> 02000050: c9fa 3c02 0001 6a51 f597 2600 217c 000a *..<...jQ..&.!|..*
> 02000060: 1d75 c2a0 40d2 4996 7126 9b06 cc43 0c4d *.u..@.I.q&...C.M*
> 02000070: 2714 0200 0011 8d6b 4691 5000 03a0 00f1 *'......kF.P.....*
> 02000080: f678 2304 88f6 26f9 52eb f500 7a27 8ef5 *.x#...&.R...z'..*
> 02000090: 4488 0400 0021 de45 d9f6 bf20 9752 109c *D....!.E... .R..*
> 020000a0: bdff 1086 00fe effc d9d3 5857 bbef 89b8 *..........XW....*
> 020000b0: 4241 0500 0049 8800 8cb6 8200 4018 00e7 *BA...I......@...*
> 020000c0: 16d3 8611 687f 3e5f ee3b 6f29 617d 22d9 *....h.>_.;o)a}".*
> 020000d0: 05a6 0140 00e2 da34 377c 1e00 cacf 00e7 *...@...47|......*
> 020000e0: 3eff 15a2 69ff 57cb 98d3 d214 eacf 20ba *>...i.W....... .*
> 020000f0: f688 2000 00e7 a331 c200 fd82 d036 0444 *.. ....1.....6.D*
> value = 21 = 0x15
>
> -> d 0x3000000
> 03000000: 0554 0405 a864 0a27 6240 68c0 4242 cc20 *.T...d.'b@h.BB. *
> 03000010: 0010 0000 0001 8000 0000 1100 1012 0002 *................*
> 03000020: 0c04 1010 0082 0099 0200 1603 00a2 7388 *..............s.*
> 03000030: 3000 0100 5000 0040 0d00 2040 4400 0000 *0...P..@.. @D...*
> 03000040: 15c0 07db 5ea1 518f 26b7 145a 3931 62d1 *....^.Q.&..Z91b.*
> 03000050: 0800 1800 0088 0080 0000 0201 0440 c300 *.............@..*
> 03000060: 48ec 038e 8000 61c1 2366 5120 121e 4841 *H.....a.#fQ ..HA*
> 03000070: 5410 2000 0012 0000 4800 0003 0020 0000 *T. .....H.... ..*
> 03000080: a074 3f51 ce30 ae30 25a3 4102 afe8 0345 *.t?Q.0.0%.A....E*
> 03000090: 0080 0000 0140 0040 4008 0204 1080 0880 *.....@.@@.......*
> 030000a0: 0a1c 2192 ce01 8293 2101 606c 2d1c 6407 *..!.....!.`l-.d.*
> 030000b0: 0060 0004 2402 1008 0000 0010 0408 0200 *.`..$...........*
> 030000c0: 0525 0cb4 38e9 4c4d 77a0 6422 3656 3b32 *.%..8.LMw.d"6V;2*
> 030000d0: 4004 0000 0000 4200 0000 0004 0001 0000 *@.....B.........*
> 030000e0: 1698 4c56 7796 8c49 0d8d 2c02 6c21 6ca0 *..LVw..I..,.l!l.*
> 030000f0: 0008 0064 0002 2004 0080 0041 0800 0014 *...d.. ....A....*
> value = 21 = 0x15
>
> -> d 0x10000000
> 10000000: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000010: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000020: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000030: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000040: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000050: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000060: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000070: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000080: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 10000090: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000a0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000b0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000c0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000d0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000e0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> 100000f0: ffff ffff ffff ffff ffff ffff ffff ffff *................*
> value = 21 = 0x15
> ->
>
> As if above,
>
> the problem is two.
> ----- Original Message -----
> From: "Tim Shaw" <Tim.Shaw@dsto.defence.gov.au>
> Newsgroups: comp.os.vxworks
> Sent: Monday, March 11, 2002 8:00 AM
> Subject: Re: PCI memory space
>
> > The MVME2604 has two modes, PReP and EXTEND_VME - EXTENDED_VME is now the
> > default, but it may have been PReP for rev 1.2 - do you know which you are
> > using? The answer will affect your memory map.
> >
> > You may need to make an entry in your sysPhysMemDesc table corresponding
> to the
> > region you've mapped (depending on whether the PCI space you're using has
> been
> > mapped yet or not). It will probably look something like
> >
> > {
> > (void *)CPU_PCI_MEM_ADRS2,
> > (void *)CPU_PCI_MEM_ADRS2,
> > CPU_PCI_MEM_SIZE2,
> > VM_STATE_MASK_VALID | ..... |VM_STATE_MASK_CACHEABLE,
> > VM_STATE_VALID | ..... | VM_STATE_MASK_CACHEABLE
> > }
> >
> > where CPU_PCI_MEM_SIZE2 is 256 MB and CPU_PCI_MEM_ADRS2 is the pci address
> as
> > the CPU sees it (as described by Michael Lawnick. Part of this region may
> > already be defined, in which case just extend it if possible.
> >
> >
> >
> > Ahn Jung Hoon wrote:
> >
> > > Hi, all
> > >
> > > I have a problem in accessing pci memory space
> > >
> > > Previously,
> > > My work space is..
> > >
> > > VxWorks version 5.4
> > > KERNEL: WIND version 2.5
> > > CPU: Motorola Unknown - MPC 750. Processor #0.
> > > Memory Size: 0x10000000. BSP version 1.2/0.
> > > WDB: Ready.
> > >
> > > well..
> > > I have PCI memory card, and it's size is 256MB..
> > >
> > > By default, it was written in MV2600.h
> > > #define CPU_PCI_MEM_SIZE 0x01000000 /* 16 meg */
> > >
> > > so, I modified it as following..
> > > #define CPU_PCI_MEM_SIZE 0x20000000 /* 256 meg */
> > >
> > > Then I met data access error as following..
> > >
> > > -------------------------------------------------------
> > > -> pciHeaderShow(0, 0x10, 0)
> > > vendor ID = 0x11b0
> > > device ID = 0x0200
> > > command register = 0x0002
> > > status register = 0x0000
> > > revision ID = 0x00
> > > class code = 0x05
> > > sub class code = 0x00
> > > programming interface = 0x00
> > > cache line = 0x00
> > > latency time = 0xf8
> > > header type = 0x00
> > > BIST = 0x00
> > > base address 0 = 0x10000000
> > > base address 1 = 0x00000000
> > > base address 2 = 0x00000000
> > > base address 3 = 0x00000000
> > > base address 4 = 0x00000000
> > > base address 5 = 0x00000000
> > > cardBus CIS pointer = 0x00000000
> > > sub system vendor ID = 0x4754
> > > sub system ID = 0x0005
> > > expansion ROM base address = 0x00000000
> > > interrupt line = 0x03
> > > interrupt pin = 0x00
> > > min Grant = 0x00
> > > max Latency = 0x00
> > > value = 0 = 0x0
> > > -> d 0x10000000
> > > 10000000:
> > > data access
> > > Exception current instruction address: 0x0015c070
> > > Machine Status Register: 0x0000b030
> > > Data Access Register: 0x10000000
> > > Condition Register: 0x48200080
> > > Data storage interrupt Register: 0x40000000
> > >
> > > 1812e0 vxTaskEntry +60 : shell ()
> > > 177118 shell +18c: 177144 ()
> > > 177368 shell +3dc: execute ()
> > > 1774ec execute +d8 : yyparse ()
> > > 1a96ec yyparse +7a8: 1a7634 ()
> > > 1a77ac yystart +8f8: d ()
> > > shell restarted.
> > > --------------------------------------------------------------
> > >
> > > But When I modified it as following, I could success to display and
> modified
> > > at PCI_BASE_ADDR(0x08000000)..
> > > #define CPU_PCI_MEM_SIZE 0x10000000 /* 128 meg */
> > >
> > > ..
> > >
> > > I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> > > for memory access more than 16MB..
> > >
> > > But.. Maybe, it seems to be incorrect..
> > >
> > > Please..
> > > Can anybody let me understand in the easiest way what is problem.
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: 12 Mar 2002 20:47:40 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203122047.16035284@posting.google.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk>

Hi All,
Thanks for your discussions. Special thanks to HJB who replied for my
message. I have found that the device I am using does not support
DMA!. I went through the manuals and did not find any DMA descriptos
there. So, I beleive the device does not support DMA. Now, my job is
to find out why the throughput is less, which I have started doing
now, by timestamping the code step by step. Thanks for your
discussions here, the discussions here have given me a few hints to
find out the BUG!.

If any of you have faced similar problem where in the device does not
support DMA and you are asked find out why the throughput is less,
please give me some hints.

Thanks in Advance,
Vittal.

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C8DE54A.50807@spamm.me.l8s.co.uk>...
> Werner Schiendl wrote:
>
> >>Why would WRS discard working code?
> >>
> >>
> >
> > To simplify the demo code?
>
>
> The 'demo' driver for the Olicom pcmcia card contained
> several timing bugs! Not a good sample driver at all.
>
> 	David

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Tue, 12 Mar 2002 21:33:22 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8tp7m44kepje5@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <uofhyols4.fsf@yahoo.com> <3C89397B.DFA7FE0@varndellengineering.com> <u8ionmaqbtfbde@corp.supernews.com> <3C8DE502.30407@spamm.me.l8s.co.uk> <u8rq6vl9qi8r2b@corp.supernews.com> <3C8E077E.50407@spamm.me.l8s.co.uk>

Mostly I agree. However, sometimes just running TCP benchmark on an
otherwise quiet system is not sufficient to guarantee an optimal situation.

Because the more CPU is busy, the more noticible will be the contribution of
DMA code. Similarly, the less powerful CPU is, the more noticible DMA
contribution.

In a modern system with fast CPUs driving relatively slow network
interfaces, you frequently notice that simpler code which copies data
sometimes yields better results when running isolated benchmarks. However,
it is not always correct to assume that such measurements represent sum
total of your system performance. Even using modern hardware, you can still
exhaust CPU resources when performing intense computation. For example, if
your CPU is doing extensive soft floating point calculations, DSP
algorithms, CPU intensive work, all the while network is also busy. The
less work CPU has to do (avoid copying), the better your system behavior
will be overall. Such stability is important in embedded systems.

Again, one must pay attention to the boundaries cases and not insist on
doing loaning / DMA all the time. It is better in general to use such
optimization when it makes sense, using proper thresholds that are derived
from experimentation and testing data. The rule holds mostly true for
even fast CPU systems that work fine normally with copying data for the
reasons above.

Historically, when loaning and DMA mechanisms were put into VxWorks network
driver layer, I was working on systems that are considered very slow by
todays standards (Motorola 68020 CPUs running at 25Mhz, for example). DMA
helped a lot. Modern CPUs and network interfaces change things a bit, but
not by much.

Finally, the reason I am so verbose on this subject is due to the fact that
many people have run into problems related in these areas when working on
network drivers. I ran into many people who learn things and fix things
after spending a lot of time debugging and tuning. I always meant to write
it all down somewhere again, since my original written materials were never
made available to the VxWorks users.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: PMC clash on MVME5100
Date: Wed, 13 Mar 2002 05:42:21 GMT
From: "Nejhdeh Ghevondian" <nej@intspec.com>
Organization: Integrated Spectronics
Message-ID: <1FBj8.11690$mp.52877@news-server.bigpond.net.au>
Reply-To: "Nejhdeh Ghevondian" <nej@intspec.com>

Dear Anyone,

I have a MVME5100 card that uses a PMC-based SCSI add-on card (PMC slot1),
that works fine.

However, I recently purchased a TechnoBox Multi-IO PMC card (part no. 2628)
inserted in PMC slot2 of my MVME5100 card.
I can access memory of this Technobox PCI card using pciConfigInLong()
e.t.c, hence I know the board works.

However, now the PMC SCSI card doesn't work properly. I.e it fails the
scsiAutoConfig() etc. Both PMC cards have different memory locations on the
local bus, and they both have different IRQ numbers.

Can anyone help me in this area.

Regards

Nejhdeh Ghevondian

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

Newsgroups: comp.os.vxworks
Subject: How to preform periodical task except sysAuxClkRateSet()
Date: 12 Mar 2002 22:54:01 -0800
From: allencyl@my-deja.com (Allen Chang)
Organization: http://groups.google.com/
Message-ID: <5c074538.0203122254.56279c06@posting.google.com>

Hello All,

I am surveying how to use VxWorks to write a real-time
simulator in cooperate with x86 single board computer.
During reading the documents of VxWorks, there is a question
that need some help here.

If you need to perform a periodical task, and the
frequency is an invaild value for sysAuxClkRateSet().
Since it's periodical and the task really takes some time
to execute (at least 3ms in PII 350), the watchdog
timer and ISR may not be a solution.

Is there any alternative to perform the task accurately,
without increase the system overhead by using sysClkRateSet()?

Best Regards,

Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: Re: C++ application: Tornado Shell vs. Target Console
Date: 12 Mar 2002 23:02:21 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203122302.5aeec9a4@posting.google.com>
References: <%mzj8.6346$lM.2279@news2.bloor.is>

"Jamilur Rahman" <rahma2431@rogers.com> wrote in message news:<%mzj8.6346$lM.2279@news2.bloor.is>...
> On Shell (host side):
> I could download the object code (.o) of a C++ file and spawn the function
> right away.
>
> On console (target side):
> I could load the object code, but can't spawn the task (error message:
> symbol not found !).
> But, if I declare that function as 'extern "C" <function name>', then I am
> able to call that function from target console.
>
> Question:
> 1) Does VxWorks (not Tornado) recognizes only C file ?
>
> Note that, the application that I've downloaded (dynamically) was an extra
> module.
>
> Any informative explanation would be very much appreciated.
>
> /jamil,
> Ottawa.

This is addressed by WindRiver SPR 28980 which suggests the following
workaround:

From the target shell set the global variable sysCplusEnable to a
non-zero value

This should allow the target shell to understand C++ functions
directly, without having to define them with 'C' linkage (extern C),
or use their mangled names.

hope this helps,
tut

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

Newsgroups: comp.os.vxworks
Subject: Re: compiling a bootrom for Cetia VMPC6A under Tornado 2.0/Win NT
Date: Wed, 13 Mar 2002 07:44:02 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <6rDj8.30983$ZR2.17327@rwcrnsc52.ops.asp.att.net>
References: <59b46a44.0203121830.4e7f5d0a@posting.google.com>

Hello Andrew,

 I am not familiar with your BSP, but the bootrom builds from Tornado
will use the various
make rules found in the target/h/make directory and the BSP makefile. Can
you make a copy
of your BSP directory and try running:

$(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin/torVars.bat or torVars.sh,

depending on your development host and do a "make bootrom.prep" from the BSP
directory?
This should have worked from the Project facility, so this excercise may be
totally useless, but
I would also look into your BSP Makefile to see the bootrom.prep rule, since
it sounds as though
it eventually is using the bootrom and bootrom_uncmp rules from the
target/h/make/rules.bootrom.
Also, in most cases that I know of, any modifications made in the Project
facility will affect how
the vxWorks Kernel is made but not the Bootrom. Even though there is a rule
there, none of
your changes made to the bootable kernel will make it into the bootrom
unless you change the
BSP files and then you can run the bootrom rules from the project facility
or the command line.
HTH

"Andrew Spiehler" <static@ieee.org> wrote in message
news:59b46a44.0203121830.4e7f5d0a@posting.google.com...
> Here's my situation: I need to compile a bootrom for a Cetia/Thales
> VMPC6a to boot from the user flash. When I configure the build in the
> Tornado 2.0 project facility, I notice that there are two custom rules
> that I believe were added when the VMPC6a BSP was installed. The two
> rules are "bootrom.prep" and "bootrom_uncmp.prep". When I try to build
> the project, I get a makefile error saying that there's no rule to
> make the target "bootrom" or "bootrom_uncmp". I'm not experienced with
> compilers so I don't know how to even begin debugging this problem. My
> contact at Cetia suggested that the make program wasn't looking in the
> correct path for something. My project directory isn't kept under the
> c:\tornado directory, if that makes any difference. Does anyone have
> any experience with this board/BSP set? Any help would be very greatly
> appreciated.
>
> Thanks,
>
> Andrew Spiehler
>
> please reply to:
>
> acspiehler@
> raytheon.com

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

Newsgroups: comp.os.vxworks
Subject: bootroms not building...
Date: 12 Mar 2002 23:44:46 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203122344.269d9c1@posting.google.com>

hi everyone
 Im trying to build a ootroms for my project bsp but the problem is
that when i build the bootrom_uncmp,bootrom_uncmp.hex it builds well
and ok.
 when i am building bootrom.st,bootrom.hex it shows following errors..
l/version.c
ldppc -X -N -e _romInit -Ttext 0x00010000 \
 -o bootrom romInit.o bootInit.o version.o \
 /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
/home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a bootrom.Z.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
function `miiBasicCheck':
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b14):
undefined reference to `sysClkRateGet'
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b34):
undefined reference to `sysClkRateGet'
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
function `miiPhyMonitor':
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x2e54):
undefined reference to `sysClkRateGet'
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
function `miiPhyListAdd':
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x30c8):
undefined reference to `sysClkRateGet'
make: *** [bootrom] Error 1

when i build bootrom_res and bootrom_res.hex it shows following
errors..

cd /home/alimohd/tornado/target/config/ep8260/
make bootrom_res
ccppc -B/home/alimohd/tornado/host/sun4-solaris2/lib/gcc-lib/ -c
- -mstrict-align -ansi -nostdinc -O2 -fvolatile -fno-builtin
- -fno-for-scope -Wall -I/h -I.
- -I/home/alimohd/tornado/target/config/all
- -I/home/alimohd/tornado/target/h
- -I/home/alimohd/tornado/target/src/config
- -I/home/alimohd/tornado/target/src/drv -DCPU=PPCEC603 -g -O0
- -msoft-float -o version.o
/home/alimohd/tornado/target/config/all/version.c
ldppc -X -N -e _romInit \
 -Ttext 0xFF000100 -Tdata 0x00200000 -o bootrom_res romInit_res.o
bootInit_res.o \
 version.o bootConfig.o sysALib.o sysLib.o sysTffs.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
/home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
/home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a
romInit_res.o(.text+0x416): undefined reference to `RAM_DST_ADRS'
romInit_res.o(.text+0x41a): undefined reference to `RAM_DST_ADRS'
make: *** [bootrom_res] Error 1
hit ENTER to exit

 can anyone tell me why it happens and what actually is the
problem..Note that the files miiLib.o,motFccend.o and fatLite.o i have
attached as LIB_EXTRA in make file as these source files were not
available with me ..
Im using tornado2.0 IDE to do all this stuff on sun machine.
thanx in advance
ali

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

Newsgroups: comp.os.vxworks
Subject: Re: [Help Me] vxworks Simulator
Date: 13 Mar 2002 00:06:15 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203130006.759238fb@posting.google.com>
References: <WCmj8.2679$PC3.1215790@news.bora.net>

"Kim, Jeong-Hwan" <KimJeongHwan@lge.com> wrote in message news:<WCmj8.2679$PC3.1215790@news.bora.net>...
> In solaris, vxworks simulator cannot load application program.
> How can i solve this problem?
>
> The problem is as follows :
>
>
>
> Adding 1779 symbols for standalone.
>
>
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]] ]]]] ]]]]]]]]]] ]] ]]]]
> (R)
> ] ]]]]]]]]] ]]]]]] ]]]]]]]] ]] ]]]]
> ]] ]]]]]]] ]]]]]]]] ]]]]]] ] ]] ]]]]
> ]]] ]]]]] ] ]]] ] ]]]] ]]] ]]]]]]]]] ]]]] ]] ]]]] ]] ]]]]
> ]
> ]]]] ]]] ]] ] ]]] ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]] ]]]]
> ]]]]] ] ]]]] ]]]]] ]]]]]]]] ]]]] ]] ]]]] ]]]]]]] ]]]]
> ]]]]]] ]]]]] ]]]]]] ] ]]]]] ]]]] ]] ]]]] ]]]]]]]] ]]]
> ]
> ]]]]]]] ]]]]] ] ]]]]]] ] ]]] ]]]] ]] ]]]] ]]]] ]]]] ]]
> ]]
> ]]]]]]]] ]]]]] ]]] ]]]]]]] ] ]]]]]]] ]]]] ]]]] ]]]] ]]]]
> ]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]] Development System
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]] VxWorks version 5.4
> ]]]]]]]]]]]]]]]]]]]]]]]]]] KERNEL: WIND version 2.5
> ]]]]]]]]]]]]]]]]]]]]]]]]] Copyright Wind River Systems, Inc.,
> 1984-1999
>
> CPU: SunOS 5.6 [sun4u]. Processor #0.
> Memory Size: 0x300000. BSP version 1.2/0.
> WDB: Ready.
>
> ->
> ->
> ->
> ->
> ->
> ->
> -> ls
> .
> ..
> Makefile
> Makefile-original
> README
> asppp.cf
> config.h
> depend.solaris
> usrConfig.o
> dataSegPad.o
> usrConfig_st.o
> sysALib.o
> sysALib.s
> sysLib.c
> sysLib.o
> target.nr
> tyCoDrv.c
> tyCoDrv.o
> version.o
> ppp_test.out
> ctdt.c
> ctdt.o
> symTbl.c
> symTbl.o
> vxWorks.st
> value = 0 = 0x0
> -> devs
> drv name
> 0 /null
> 1 /tyCo/0
> 3 sejong:
> 4 /vio
> 5 /tgtsvr
> value = 0 = 0x0
> ->
> ->
> ->
> ->
> -> i
>
> NAME ENTRY TID PRI STATUS PC SP ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- ------- --
> ---
> tExcTask excTask 3ccc40 0 PEND a0238 3cca48 0
> 0
> tLogTask logTask 3c81a8 0 PEND a0238 3c7fb0 0
> 0
> tShell shell 3bee90 1 READY 669d4 3bdf10 0
> 0
> tWdbTask 5a7a4 3c31b8 3 PEND 61dc8 3c2e88 0
> 0
> value = 0 = 0x0
> ->
> ->
> ->
> -> checkStack
> NAME ENTRY TID SIZE CUR HIGH MARGIN
> ------------ ------------ -------- ----- ----- ----- ------
> tExcTask excTask 3ccc40 15984 504 1016 14968
> tLogTask logTask 3c81a8 15984 504 1224 14760
> tShell shell 3bee90 57184 3376 12092 45092
> tWdbTask 0x000005a7a4 3c31b8 16040 816 11276 4764
> INTERRUPT 50000 0 0 50000
> value = 1109464 = 0x10edd8
> ->
> ->
> ->
> ->
> ->
> ->
> ->
> -> ld
> ld error: error reading file (errno = 0xe0001).
> value = 0 = 0x0
> ->
> ->
> -> ld < ppp.out
> can't open input 'ppp.out'
> errno = 0x1c0001
> ->
> ->
> ->
> ->
> ->

I've never tried VxSim on solaris, but on Windows 2000 I'm able to
load an object module using 'ld'. You should probably use it with
right parameters.

Try this

- -> ld (0, 1, "ppp.out")

Make sure the current directory (you can check this up using 'pwd')
has file called ppp.out or you could probably even specify the full
path in the file name.

Hope this helps,
tut

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: Wed, 13 Mar 2002 08:10:09 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <6ab3109fcd959d946780d1e4a7c60845.77030@mygate.mailgate.org>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com> <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org> <8cd11808.0203121841.70cd9f8d@posting.google.com>

>
> Ramesh ,I think you can get.
> first you must get one interface name in your system. perhaps you
> can do this by ioctl func. and you also can use the global
> value:"extern struct ifnet *ifnet;".then your get the ifnet of one
> interface.
> every interface have an ifnet struct ,and all ifnet struct
> constructed a list.you can look into "net/if.h" in vxworks.Use the
> pointer:struct	ifnet *if_next you can view all the ifnet struct.that
> mean you can view all the interfaces info.
> Do you catch my mean?Wish those word can help you! You can also read
> the book"
> TCP/IP Illustrated volume 3" to see the details!!Suggest you read the
> book!!

HI Zhang,

Yeah i have gone through the Vol 3 TCP/IP. But as you mentioned how to
get the "first" interface name of the target. Because the ifnet
structure is for every interface and it is a singly linked list where
*next pointer points to the next itnerface. But how do we ensure that
the interface name we are getting with the ioctl is the first ( Also how
to get a interface name alone with ioctl. Is it SIOGIFCONF? for this
request ifreq structure is the arguement, the ifreq structure contains a
name of a interface, but will it be the first ? have you tried this
thing? will it also have a pointer to the localhost "l0" interface also?
). Yeah nice to have discussions in future too, since sharing is the
better way of learning.

Thanks,
Ramesh

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Should the IP header be 4 bytes(long word) align?
Date: 13 Mar 2002 00:23:19 -0800
From: lihuapeng@21cn.com (DragonSpring)
Organization: http://groups.google.com/
Message-ID: <1d411918.0203130023.5d5db610@posting.google.com>

We use Tornado II/VxWorks 5.4 for MPC860 + T2CP2 + NPT(TDK-13274) +
NPT patch(spr30894) + MUX/END driver. We make IP over HDLC.

I have some questions on IP header long word (32bits) align.

1. Must the IP header be 4 bytes(long word) align when my END driver
delivers the IP packet to MUX layer?

Our IP packet is stored in M_BLK. To our system, the mBlkHdr.mData
directly pointers to IP header, no Logic Link Header, because IP over
HDLC. To ensure reliable transfer, we encapsulate 2 bytes just before
IP header, which makes the IP header not long word align (4n+2).
Certainly, this 2 bytes will be peeled off before END driver deliver
the IP packet to the MUX layer. (use mBlkHdr.mData += 2;)

2. I find the WindNet PPP do M_BLK copy to ensure/force the IP header
long word align before using (pEnd)->receiveRtn ((pEnd),
pMblk,NULL,NULL,NULL,NULL) to deliver IP packet to MUX layer. Is it
necessary?

3.But for Ethernet frame, the IP header is not long word align
(14bytes offset the Ethernet frame). And it causes no problem.

I need a canonical answer. Or I have to copy mBlk, which is no longer
zero-copy.

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Wed, 13 Mar 2002 08:28:40 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <8a648867e6a9facb9959e6accde73cc8.77030@mygate.mailgate.org>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com> <a68ff3$2th$3@newsreader.mailgate.org> <u8ftv064k3000d@corp.supernews.com> <a6934f$bti$3@newsreader.mailgate.org> <2dbc95a7.0203121605.1ad8c1aa@posting.google.com>

> Thanks,
>
> Tim
> }
HI TIm,

I haven't used muxbind in vxworks. But i had tried sniffing in Linux
box. Just set your ethernet to promisc mode using ioctl ( remember to
bitwise OR the flags in ifreq structure while setting ) and you will get
all the packets. You filter your specified packets by writing some lines
of layer filters ( checking type for 0x0800 for IP in Ethernet TYpe
field etc. ). This worked well in linux. But anyway while shutdown your
interface which is already in promisc mode, remember to restore the
flags of your interface, before you set it to promisc mode. You can do
this using signal handlers i suppose. BTW this is a suggestion only. I
haven't done this so far in VxWOrks.

THanks,
Ramesh

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt vector table
Date: Wed, 13 Mar 2002 09:42:40 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6n3e2$lpd$1@snoopy.bndlg.de>
References: <a6lvjb$d05$1@news2.isdnet.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd952489c.dip.t-dialin.net

Hi JJS,

PPC has a complete other interrupt structure. On MVxxxx it's more like PC.
Not having installed MV2300, but 2400,260x and 2700 I'd suggest to look into
your BSP, file sl82565IntrCtl.c, function sysIbcIntConnect().
HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"JJS" <alvend@normandnet.fr> schrieb im Newsbeitrag
news:a6lvjb$d05$1@news2.isdnet.net...
> Our system : Tornado 2.0 VxWorks 5.4 mvme2304 board
> In a 68000 system architecture, the interrupt vector table begins in
memory
> at address 0.
> Where is the vector table in a ppc architecture?
> I search to find the initialisation done with IntConnect()
> Thanks
> Jack
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Building the WindML system and Driver set using the PPC604 cpu tool
Date: 13 Mar 2002 01:19:08 -0800
From: aephraty@rugged.com (Avi Ephraty)
Organization: http://groups.google.com/
Message-ID: <43191605.0203130119.429a670f@posting.google.com>

I'm working on tornado 2 on PC, I installed the windML. Than I tried
to build the windML libraries with the generic VGA driver supplied by
windML for the cpu PPC604. But when I invoked the menu item
tools>windML and chose as a cpu the PPC604 the tool didn't offer any
graphics driver (No graphics) and offcourse didn't build any thing.

1. How can I change this situation?
2. There is a possibility for command line building using the command
make how can I use it with tornado 2 on PC?

Bye
avi

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Wed, 13 Mar 2002 11:26:46 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$fopwsg$pro$1@lnews.actcom.co.il>
References: <5c074538.0203122254.56279c06@posting.google.com>

There are basically these methods for periodical processing,
each is a tradeoff between timing accuracy (jitter) and processing
time, and wakeup freqnecy.

Suppose you create a function, WakeMeUp(), which would be invoked
with the frequency required for processing.
If processing time is long (e.g. >200 microsec), there should be a dedicated
task tperforming the proessing, and WakeMeUp would only Give a semaphore on
which the task is Pending. If the processing is short, it can be done within
WakeMeUp. The deditated task's priority is too a tradeoff of the same sort -
the higher priority would give less jitter and lower priority is more
appropriate for longer processing time (See about Rate Monolithic
Scheduling)

As to the method to invoke WakeMeUp (which could run in ISR) is one of
these:
+ Use the system clock via wdLib, if period is multiple (or can be made
multiple) of the system clock rate
+ Use sysAuxClk if dependency of processing frequency and system clock can
not be acheived.

I could provide you with specific advise, but you omitted the frequency of
processing you require.

 Leonid

"Allen Chang" <allencyl@my-deja.com> wrote in message
news:5c074538.0203122254.56279c06@posting.google.com...
> Hello All,
>
> I am surveying how to use VxWorks to write a real-time
> simulator in cooperate with x86 single board computer.
> During reading the documents of VxWorks, there is a question
> that need some help here.
>
> If you need to perform a periodical task, and the
> frequency is an invaild value for sysAuxClkRateSet().
> Since it's periodical and the task really takes some time
> to execute (at least 3ms in PII 350), the watchdog
> timer and ISR may not be a solution.
>
> Is there any alternative to perform the task accurately,
> without increase the system overhead by using sysClkRateSet()?
>
> Best Regards,
>
> Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: Wed, 13 Mar 2002 11:31:18 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$0wpwsg$qro$1@lnews.actcom.co.il>
References: <1d411918.0203130023.5d5db610@posting.google.com>

Dragon Dear,

Your observation are very true with respect to the existing drivers.
The alignment is not mandatory, but would typically improve performance of
the IP layer processing. The significance of this performance improvement
depends
on the hardware architecture and packet rate. At times, pureposeful
alignment could actually decrease performance if the "byte shift" operation
costs more then the
subsequent performance gain.
So make the thing work first, and then try both methods under heavy
simulated traffic load, and see which gets you best packet rate.

Leonid

"DragonSpring" <lihuapeng@21cn.com> wrote in message
news:1d411918.0203130023.5d5db610@posting.google.com...
> We use Tornado II/VxWorks 5.4 for MPC860 + T2CP2 + NPT(TDK-13274) +
> NPT patch(spr30894) + MUX/END driver. We make IP over HDLC.
>
> I have some questions on IP header long word (32bits) align.
>
> 1. Must the IP header be 4 bytes(long word) align when my END driver
> delivers the IP packet to MUX layer?
>
> Our IP packet is stored in M_BLK. To our system, the mBlkHdr.mData
> directly pointers to IP header, no Logic Link Header, because IP over
> HDLC. To ensure reliable transfer, we encapsulate 2 bytes just before
> IP header, which makes the IP header not long word align (4n+2).
> Certainly, this 2 bytes will be peeled off before END driver deliver
> the IP packet to the MUX layer. (use mBlkHdr.mData += 2;)
>
> 2. I find the WindNet PPP do M_BLK copy to ensure/force the IP header
> long word align before using (pEnd)->receiveRtn ((pEnd),
> pMblk,NULL,NULL,NULL,NULL) to deliver IP packet to MUX layer. Is it
> necessary?
>
> 3.But for Ethernet frame, the IP header is not long word align
> (14bytes offset the Ethernet frame). And it causes no problem.
>
> I need a canonical answer. Or I have to copy mBlk, which is no longer
> zero-copy.

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

Newsgroups: comp.os.vxworks
Subject: Compatibility of Diab C++ with RogueWave
Date: Wed, 13 Mar 2002 05:07:20 -0500
From: Yves <yves.boudreault2@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <3C8F24D8.89918A5E@sympatico.ca>

Hi all,

some time back, someone stated that Diab C++ and WFC/tools.h++ did not
mix. I can't find any reference to this on the WRS web site. Are there
any such compatibility issues ?

I am struggling with a g++ compiler (in T2.0.2) problem (SPR 74180 - PPC
- - register containing exception handler context is being overwritten and
re-used as gp register ... you can bet this was a fun one for us to
track down).

choices offered by wrs:
	Tornado 2.1 (my BSP is not 2.1 friendly)
	Tornado 2.2 (who has this much time on their hands to wait 6 months or
more)
	wait for us to maybe fix it but it is not a high priority given that
there is a solution (these guys must be math majors, it is good enough
to know that a solution exists)

so being the rebel kind, I am investigating (e) none of the above.

Thanks

Yves

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

Newsgroups: comp.os.vxworks
Subject: Receiving IP packet in Raw Sockets
Date: Wed, 13 Mar 2002 10:56:29 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <e0037395a59e063a9502048c993524e6.77030@mygate.mailgate.org>

Hi,

I previously posted regarding the reception of IP hdr in VxWorks. THe
total length field alone is receiving wrongly. I am sending the packet
from linux machine and receiving it in VxWOrks. I have checked sending
between two linux machines, it worked fine. But reception in VxWorks is
the problem. I tried between two VxWOrks images two, there also the
problem exists. I will paste the code here. Somebody kindly help me out
what's going wrong in this. This code is a working code. You can cut and
paste it and check out.

Thanks,
Ramesh

Linux Raw packet sending code:

===========================================================================

#include <stdio.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <sys/socket.h>

#define PORT 0

#define LOCAL_IP_ADDR "192.168.100.242"
#define DEST_IP_ADDR "90.0.0.1"

/*
#define LOCAL_IP_ADDR "192.168.100.242"
#define DEST_IP_ADDR "192.168.100.109"
*/
#define IP_PROTO_LMP 140
#define OK 1
#define ERROR -1

#define MESSAGE "MESSAGE CAME"
uint16_t
checksum( uint16_t *data, uint32_t len ) {

/* Data is the one for which we are calculating checksum and its size
 * 	len in bytes */
register uint32_t sum = 0;
uint16_t ans;
register uint16_t *temp = data;
register uint32_t odd = len;

						/* Adding 16 bit word every time to sum */
while( odd > 1) {
	sum += *temp;
	odd -= 2;
}
	/* If length is odd the last 8 bits will also get added */
if( odd )
	sum += *( uint8_t * )temp;
while( sum >> 16 )
	sum = ( sum >> 16 ) + ( sum & 0xffff );
ans =~ sum;
return( ans );

}

 /*this message is encapsulated by my IP hdr */
int build_iphdr(void *data, uint32_t len) {

	struct iphdr *ip=( struct iphdr * )data;

	ip->version=4;
	ip->ihl=5;
	ip->tos=0;
	ip->tot_len=0;
		/*htons(sizeof( struct iphdr )+ len);*/
	ip->id=htons(getuid());
	ip->ttl=255;
	ip->protocol=IP_PROTO_LMP;	 /*My protocol number */
	if( (ip->saddr=inet_addr(LOCAL_IP_ADDR)) < 0 ) {
		perror("Give valid source IP:");
			return -1;
	}

	if( (ip->daddr=inet_addr(DEST_IP_ADDR)) < 0 ) {
		perror("Give valid dest IP:");
			return -1;
	}
	ip->check=checksum((unsigned short *)ip,sizeof(struct iphdr));

	return 0;

}

void display(void *buf, int bytes)
{
 int i;
 struct iphdr *ip = buf;

printf("\n---------------------------------------------------------\n");
 for ( i = 0; i < bytes; i++ )
 {
 if ( !(i & 15) ) printf("\n%04X: ", i);
 printf("%02X ", ((unsigned char*)buf)[i]);
 }

printf("\n---------------------------------------------------------\n");
 printf("IPv%d: hdr-size=%d pkt-size=%d protocol=%d TTL=%d src=%s ",
 ip->version, ip->ihl*4, ntohs(ip->tot_len), ip->protocol,
 ip->ttl, inet_ntoa(ip->saddr));
 printf("dst=%s chksum= %d\n", inet_ntoa(ip->daddr), ip->check);
}

int main() {

	int raw,sockopt_val=1;
	struct sockaddr_in local_addr,peer_addr;
	struct iphdr *ip;
	char *my_sending_pkt;
	uint32_t len;

	if( (raw=socket(AF_INET,SOCK_RAW,IPPROTO_RAW)) < 0 ) {
		perror("sock");
		exit(1);
	}

	if( (my_sending_pkt=(char *)malloc(sizeof(struct
iphdr)+sizeof(MESSAGE)) ) == NULL ) {
			perror("malloc failed:");
				return(ERROR);
	}

	ip=(struct iphdr *)my_sending_pkt;

 strcpy( (my_sending_pkt+sizeof(struct iphdr)),MESSAGE);

	bzero((char *)&local_addr,sizeof(local_addr));
	bzero((char *)&peer_addr,sizeof(peer_addr));

	local_addr.sin_family=AF_INET;
	local_addr.sin_port=htons(PORT);

	peer_addr.sin_family=AF_INET;
	peer_addr.sin_port=htons(PORT);

	if( (inet_aton(LOCAL_IP_ADDR,(struct in_addr
*)&local_addr.sin_addr.s_addr)) == ERROR ) {
			perror("Addr conversion:");
				return(ERROR);
	}

	if( (inet_aton(DEST_IP_ADDR,(struct in_addr
*)&peer_addr.sin_addr.s_addr)) == ERROR ) {
			perror("Addr conversion:");
				return(ERROR);
	}

	if( (setsockopt(raw,0,IP_HDRINCL,(char
*)&sockopt_val,sizeof(sockopt_val)) )== ERROR) {
			perror("setsockopt:");
				return(ERROR);
	}

	if( (build_iphdr(ip,sizeof(MESSAGE)) ) < 0) {
			perror("Build IP failed:");
				return(ERROR);
	}

	if( ( bind(raw,(struct sockaddr *)&local_addr,sizeof(local_addr)) ) ==
ERROR ) {
			perror("Bind:");
				return(ERROR);
	}

	len = sizeof( struct iphdr ) + sizeof( MESSAGE );
	display(my_sending_pkt,len);
	printf("IP PKT len %d\n",ip->tot_len);

	if( (sendto(raw,(caddr_t)my_sending_pkt,len,0,(struct sockaddr
*)&peer_addr,sizeof(peer_addr)) ) != len ) {

			perror("Sendto failed:");
				return(ERROR);
	}

	return OK;
}

==============================================================================
VxWorks code for receiving IP packet:
=====================================

#include <taskLib.h>
#include <sockLib.h>
#include <stdio.h>
#include <netLib.h>
#include <inetLib.h>
#include <netinet/ip.h>
#include <ioLib.h>
#include <sys/ioctl.h>

#define LOCAL_IP_ADDR "90.0.0.1"

void display(void *buf, int bytes) {
	int i;
	struct ip *iphdr = buf;
/*	struct icmphdr *icmp=(buf + sizeof(struct ip));*/

	printf("----------------\n");
	for ( i = 0; i < bytes; i++ ) {

		if ( !(i & 15) ) printf("\n%04X: ", i);
		printf("%02X ", ((unsigned char*)buf)[i]);
	}
	printf("\n");
	printf("IPv%d: hdr-size=%d pkt-size=%d protocol=%d TTL=%d src=%s
dst=%s\n",
		iphdr->ip_v, iphdr->ip_hl*4, ntohs(iphdr->ip_len), iphdr->ip_p,
		iphdr->ip_ttl, inet_ntoa(iphdr->ip_src),inet_ntoa(iphdr->ip_dst));

/*	if( iphdr->p== IPPROTO_ICMP ) {
		printf("ICMP type %d: ICMP echo id %d: ICMP Seq %d: ICMP Chksum
%d:\n",
		icmp->type,icmp->un.echo.id,icmp->un.echo.sequence,icmp->checksum);
	}
*/
	if ( iphdr->ip_p == 140 )
		printf("Message %s\n",(char *)(buf+sizeof(struct ip)));

}

int rawget() {
	int sd;
	struct sockaddr_in addr,local_addr;
	unsigned char buf[1024];

	sd = socket(AF_INET,SOCK_RAW,140);
	if ( sd < 0 )
	{
		perror("socket");
		return ERROR;
	}

	local_addr.sin_family=AF_INET;
	local_addr.sin_port=htons(0);
	local_addr.sin_addr.s_addr=INADDR_ANY;
/*
	if( (inet_aton(LOCAL_IP_ADDR,(struct in_addr
*)&local_addr.sin_addr.s_addr)) == ERROR ) {
		perror("Addr conversion:");
		return(ERROR);
	}
*/

	if( ( bind(sd,(struct sockaddr *)&local_addr,sizeof(local_addr))
)==ERROR) {
		perror("Bind:");
		return(ERROR);
	}

	for (;;) {
		int bytes, len=sizeof(addr);

		bzero(buf, sizeof(buf));
		bytes = recvfrom(sd, buf, sizeof(buf), 0, (struct sockaddr *)&addr,
&len);
		if ( bytes > 0 )
			display(buf, bytes);
	}
	return OK;
}

==========================================================================

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

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

From vxwexplo-errs@csg.lbl.gov Wed Mar 13 07:02:37 2002
From: "Hans-Peter Kabout" <Hans-Peter@Kabout.de>
Date: Wed Mar 13 07:02:40 PST 2002
Subject: RE: Reception of IP hdr in VxWorks

Hi Mr. Ramesh,

I don't believe that sendto() is correcting ip->tot_len. So it should be
set correctly in your build_iphdr() function:
 /* ip->tot_len = 0; */
 ip->tot_len = len + 20; /* 20 = 4*ip->ihl */

I also believe that your checksum() function is not returning a desired
result. Please check:
 while (odd> 1)
 {
 sum += *temp;
 temp++; /* add this line!? */
 odd -= 2;
 }

Regards,
H.-P. Kabout, IT-Consulting
[mailto:Hans-Peter@Kabout.com]
 Phone: +49 (0)9085 - 1017
 Mobile: +49 (0)160 - 7556913
 [http://www.kabout.com]

-----Original Message-----
From: the vxWorks Users Group Exploder [mailto:vxwexplo@lbl.gov]
Sent: Wednesday, March 13, 2002 12:12
To: vxworks_users@csg.lbl.gov
Subject: Reception of IP hdr in VxWorks

Submitted-by vxwexplo-errs@csg.lbl.gov Wed Mar 13 03:00:37 2002
Submitted-by: S Ramesh <rashanmu@npd.hcltech.com>

Hi,

I previously posted regarding the reception of IP hdr in VxWorks. THe
total length field alone is receiving wrongly. I am sending the packet

from linux machine and receiving it in VxWOrks. I have checked sending

between two linux machines, it worked fine. But reception in VxWorks
is
the problem. I tried between two VxWOrks images two, there also the
problem exists. I will paste the code here. Somebody kindly help me
out
what's going wrong in this. This code is a working code. You can cut
and
paste it and check out.

Thanks,
Ramesh

(message truncated)

From vxwexplo-errs@csg.lbl.gov Wed Mar 13 21:56:00 2002
From: Sathyavathi Ramaiah <sathya75@yahoo.com>
Date: Wed Mar 13 21:56:03 PST 2002
Subject: Running a batch file

Hi,

I am beginner in using this environment.
I am facing a problem while running the applictaion in
batch mode.

I have tornado Installed on my machine. I want to run
the batch file, which will have commands to invoke the
target server, load the image and spawn the root.
This is how my batch file looks like

#############
windsh vxsim@tajmahal
cd "c:\Examples\Traffic_light\vxsimntws\"
ld < traffic.X86
sp root
exit
##############

It just invokes the windshell command. The other
commands are not executed. How do I achieve this???

Thanks in advance.
Regards,
Sathya

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - live college hoops coverage
http://sports.yahoo.com/

From vxwexplo-errs@csg.lbl.gov Thu Mar 14 04:03:30 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Mar 14 04:03:33 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Thu Mar 14 04:03:23 PST 2002

 Subject: setsockopt IP_ADD_MEMBERSHIP error
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Page Fault for help
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Re: Page Fault for help
 Subject: Unable to ping
 Subject: arp_rtrequest: bad gateway value
 Subject: arpresolve problem
 Subject: Re: Page Fault for help
 Subject: [AE] What is the bootApp entry point in RAM?
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Re: Printing 64bit values
 Subject: Re: What causes this message?
 Subject: Posix semaphore question
 Subject: Re: What causes this message?
 Subject: Re: how can I clear the data buffer of a serial port?
 Subject: Re: I want to log the packet between IP and mux.
 Subject: Re: What's the Expected errno from msgQReceive(...,NO_WAIT)
 Subject: VxWork RPC
 Subject: Need help with Technobox 2901 serial PMC on an MVME2100.
 Subject: Re: [Help Me] vxworks Simulator
 Subject: Re: What causes this message?
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Need help with Technobox 2901 serial PMC on an MVME2100.
 Subject: Re: Printing 64bit values
 Subject: Re: Printing 64bit values
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Re: ln97xEnd - ring buffer size
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Posix semaphore question
 Subject: ATM PCR (Peak Cell Rate) limit exceeded when PPC cache enabled?
 Subject: Re: tNetTask takes too long?
 Subject: Re: HELP about sysAuxClkRateSet() and BSP !
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Re: OPENDIR Help
 Subject: VxWorks WebServer for ARM can not work correctly?
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: Using STL map type
 Subject: how do I program device driver on vxworks
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Read on serial does not block
 Subject: Re: Page Fault for help
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: [AE] BSP and Device Driver Development
 Subject: try(void)
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: select() with General Protection Fault
 Subject: help for hard disk
 Subject: Binary Serial Communications
 Subject: Re: ln97xEnd - ring buffer size
 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: Re: BSD Ethernet Driver
 Subject: Re: Page Fault for help
 Subject: Re: Binary Serial Communications
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: help for hard disk
 Subject: Reception of broadacted UDP messages on the same host
 Subject: Re: PCI memory space
 Subject: Re: Read on serial does not block
 Subject: Re: [AE] What is the bootApp entry point in RAM?
 Subject: Re: [AE] BSP and Device Driver Development
 Subject: Re: Read on serial does not block
 Subject: question about END driver's unload function......
 Subject: trgEvent user event triggering
 Subject: Re: tNetTask takes too long?

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

Newsgroups: comp.os.vxworks
Subject: setsockopt IP_ADD_MEMBERSHIP error
Date: 13 Mar 2002 04:06:57 -0800
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0203130406.38ec459f@posting.google.com>

Hi,

I was trying sending out mutlicast packets from our simulator(full
version)
to our target board(which use vxworks).I use the code given by
vxworks.
I was able to be to join the MULTICAST group through our target
board.But i was unable to join the the multicast group through
simulator.It throws
setsockopt IP_ADD_MEMBERSHIP error.But it succeeds in our target
board.
I also added 224.0.0.0 to the gateway 90.0.0.1.

- -> routeShow

ROUTE NET TABLE
destination gateway flags Refcnt Use
Interface
- ----------------------------------------------------------------------------
0.0.0.0 90.0.0.1 101 0 0 nt0
224.0.0.0 90.0.0.1 101 0 0 nt0
- ----------------------------------------------------------------------------

ROUTE HOST TABLE
destination gateway flags Refcnt Use
Interface
- ----------------------------------------------------------------------------
127.0.0.1 127.0.0.1 5 0 0 lo0
- ----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'

- -> ifShow
nt (unit number 0):
 Flags: (0xf1) UP POINT-TO-POINT RUNNING
 Type: ETHERNET_CSMACD
 Internet address: 90.0.0.1
 Destination Internet address: 0.0.0.0
 Netmask 0xff000000 Subnetmask 0xff000000
 Metric is 0
 Maximum Transfer Unit size is 1520
 0 packets received; 1 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
lo (unit number 0):
 Flags: (0x8069) UP LOOPBACK RUNNING ARP MULTICAST
 Type: SOFTWARE_LOOPBACK
 Internet address: 127.0.0.1
 Netmask 0xff000000 Subnetmask 0xff000000
 Metric is 0
 Maximum Transfer Unit size is 32768
 0 packets received; 0 packets sent
 0 multicast packets received
 0 multicast packets sent
 0 input errors; 0 output errors
 0 collisions; 0 dropped
value = 0 = 0x0

I also added INCLUDE_MCAST_ROUTING in the bootable image.
I thought of changing the flags to
"Flags: (0x8063) UP BROADCAST RUNNING ARP MULTICAST"
instead of
"Flags: (0xf1) UP POINT-TO-POINT RUNNING "
for nt interface.I use ifFlagChange to change the
interface flag to MULTICAST but except this flag
I was able to change all flags say (UP DEBUG LOOPBACK POINT-TO-POINT
RUNNING)
but I was not able to change it as say UP BROADCAST RUNNING ARP
MULTICAST.(Does anybody tried changing this nt interface flag).

I don't know whether my route configuration(say routeAdd) or this flag
is the problem or can anybody let me know whether it is possible to do
multicasting with simulator.I also seen old archives but no positive
answer.
Did anybody tried sending multicast packets from target board to the
simulator.
If so what else i have to do for sending multicat packets.
pls let me know.

Thanks and Regards,
Kannan

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Wed, 13 Mar 2002 07:04:30 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C8F404D.7C2C7538@varndellengineering.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk> <6847c39a.0203122047.16035284@posting.google.com>

Vittal wrote:
>
> If any of you have faced similar problem where in the device does not
> support DMA and you are asked find out why the throughput is less,
> please give me some hints.

I've worked with a number of these non-bus-mastering devices, and it
can be difficult to squeeze performance out of them. Here are some
lessons I learned -- roughly in order of importance.

1. It will be necessary to abandon some WRS religion. Don't defer
 servicing receive packets to task level -- no netjob. You may
 increase interrupt service time and, in so doing, stretch out the
 overall system interrupt response latency, but if you don't keep
 the device ready to receive data, you'll loose packets and effective
 throughput will suffer. The #1 cause of lackluster performance in
 WRS network drivers is trying to handle everything at task level.

2. If available on your particular board or CPU, use other DMA channels
 to move data to and from the device. This highlights what is probably
 the only advantage of a noDMA chip -- it is easier to allocate rcv
 buffers that fit the incoming frame. With (nearly all) descriptor
 based devices, you must supply a buffer of MTU+slop size to every
 descriptor.

3. On output, avoid copying the mbuf chain to a local RAM buffer
 before moving it to the device. Walk the mbuf chain yourself,
 moving data from each one directly to the device.

4. When moving data to and from the device, consider whether buffer
 alignment is having an adverse affect on performance.

What is best, what is optimal, will depend on your specific hardware.
You never mentioned what is your target architecture or device.
I suspect you may get more helpful replies if you do.

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD. 21502
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: Wed, 13 Mar 2002 12:10:33 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8F422D.30607@spamm.me.l8s.co.uk>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk> <d29c2180.0203121645.4507dc63@posting.google.com>

K.YH wrote:

> I originally think that vxworks image is overwriting RAM_HIGH_ADDR and
> hence
> the boot loader code,so i change the RAM_LOW_ADRS to 00358000 and the
> RAM_HIGH_ADRS is 00008000(not changed).

I presume you've typed these the wrong way around!

> My vxworks image size is
> 1.65MB,so the mem space is enough,but the same error appears again.By
> the way ,is vxworks for X86 different with that for others ,for
> example ppc.
> Any help for it.
> Thanks

What was RAM_HIGH_ADRS before?

Your main image doesn't have ANY reference to RAM_HIGH_ADRS in it.
It is the boot rom that you need to rebuild after changing it.

The boot sequence is:
1) code execute from ROM, this code is linked to RAM_LOW_ADRS
 so is initially executing at the wrong address.
2) code copies the rom image to RAM_LOW_ADRS and jumps into the copy
 (this copy usually excludes binArrayStart .. binArrayEnd)
3) the bootload code is uncompressed to RAM_HIGH_ADRS
4) jump into bootload code at RAM_HIGH_ADRS
5) load 'real' image to RAM_LOW_ADRS - must not hit RAM_HIGH_ADRS
6) jump into image at RAM_LOW_ADRS

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: Wed, 13 Mar 2002 12:13:24 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8F42DB.8050601@spamm.me.l8s.co.uk>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il>

Leonid Rosenboim wrote:

> Dragon Dear,
>
> Your observation are very true with respect to the existing drivers.
> The alignment is not mandatory, but would typically improve performance of
> the IP layer processing. The significance of this performance improvement
> depends
> on the hardware architecture and packet rate. At times, pureposeful
> alignment could actually decrease performance if the "byte shift" operation
> costs more then the
> subsequent performance gain.

If possible get the ethernet hardware to place the rx packets onto
a 4n+2 boundary. Then no extra copy is required.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: Wed, 13 Mar 2002 13:29:06 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6ngmj$uuq$1@snoopy.bndlg.de>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk> <d29c2180.0203121645.4507dc63@posting.google.com> <3C8F422D.30607@spamm.me.l8s.co.uk>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd952489c.dip.t-dialin.net

Stop, stop, hooooooooo David !

"David Laight" <david@spamm.me.l8s.co.uk> schrieb im Newsbeitrag
news:3C8F422D.30607@spamm.me.l8s.co.uk...
> K.YH wrote:
>
> > I originally think that vxworks image is overwriting RAM_HIGH_ADDR and
> > hence
> > the boot loader code,so i change the RAM_LOW_ADRS to 00358000 and the
> > RAM_HIGH_ADRS is 00008000(not changed).
>
>
> I presume you've typed these the wrong way around!
>
> > My vxworks image size is
> > 1.65MB,so the mem space is enough,but the same error appears again.By
> > the way ,is vxworks for X86 different with that for others ,for
> > example ppc.
> > Any help for it.
> > Thanks
>
> What was RAM_HIGH_ADRS before?
>
> Your main image doesn't have ANY reference to RAM_HIGH_ADRS in it.
> It is the boot rom that you need to rebuild after changing it.
>
> The boot sequence is:
> 1) code execute from ROM, this code is linked to RAM_LOW_ADRS
> so is initially executing at the wrong address.
> 2) code copies the rom image to RAM_LOW_ADRS and jumps into the copy
> (this copy usually excludes binArrayStart .. binArrayEnd)
> 3) the bootload code is uncompressed to RAM_HIGH_ADRS
> 4) jump into bootload code at RAM_HIGH_ADRS
> 5) load 'real' image to RAM_LOW_ADRS - must not hit RAM_HIGH_ADRS
> 6) jump into image at RAM_LOW_ADRS
>
> David
>
He's got a X86 arch (see above), where all is the other way round (not only
endianess ;-))
On X86 RAM_HIGH_ADRS points into low mem i.e. the lower 640kb that BIOS can
access.
RAM_LOW_ADRS points to the region higher than 1Mb. So X86 never has the
(over-)loading problem of 68k and PPC.

- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

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

Newsgroups: comp.os.vxworks
Subject: Unable to ping
Date: 13 Mar 2002 05:06:05 -0800
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0203130506.69d85ee2@posting.google.com>

Hi,

I was trying SMTP client in my target board(MPC 860).I was unable
to ping the mail server from vxworks it is in the same subnet.
But the strange thing is i was able to ping all vxworks host
systems(which has vxworks installed).Iam not able to ping any of the
IP address other than vxworks host systems.
- -> routeShow

ROUTE NET TABLE
destination gateway flags Refcnt Use
Interface
- ----------------------------------------------------------------------------
56.0.0.0 135.111.122.1 3 0 0
cpm0
135.111.0.0 135.111.122.240 101 0 0
cpm0
- ----------------------------------------------------------------------------

ROUTE HOST TABLE
destination gateway flags Refcnt Use
Interface
- ----------------------------------------------------------------------------
127.0.0.1 127.0.0.1 5 1 1 lo0
- ----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'

my mail server IP is "135.111.122.144".
Board Ip is "135.111.122.240".

Can anybody help me.

Thanks and Regards,
Kannan

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

Newsgroups: comp.os.vxworks
Subject: arp_rtrequest: bad gateway value
Date: 13 Mar 2002 05:39:29 -0800
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0203130539.2fab8187@posting.google.com>

Hi,

I was trying multicasting the multicast address ranges from
224.0.0.0 to 239.255.255.255.I use vxsim(full version)
when i route add routeAdd("224.0.0.0","90.0.0.1") it is silent.
But when i routeAdd("224.1.0.1","90.0.0.1") which is also in the
same multicast group.But in the simulator it throws some
"arp_rtrequest: bad gateway value" .I have searched in old archives
but none of the mails in vxworks group conatons this error.But when i
searched in comp.unix.bsd.freebsd.misc and some mailing.freebsd.net
they say it as a kernel bug(I don't believe). May be my understanding
is illogical.
Pls help me out to understand why this error happens...

Thanks and Regards,
Kannan

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

Newsgroups: comp.os.vxworks
Subject: arpresolve problem
Date: 13 Mar 2002 06:02:35 -0800
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0203130602.6f27d94b@posting.google.com>

Hi,

I have a problem in connecting my SMTP client which runs in my target
board .When i communicate with our mail server it just throws

0xfb7490 (tNetTask): arptnew failed on 876f7a92
0xf84638 (tPingTx4): arpresolve: can't allocate llinfo0xfb7490
(tNetTask): arptn
ew failed on 876f7a92
0xf84638 (tPingTx4): arpresolve: can't allocate llinfo0xfb7490
(tNetTask): arptn
ew failed on 876f7a92

I have added all components related with arp say INCLUDE_ARP_API and
INCLUDE_ARP.But the error comes again and again whenever the SMTP
client program
is called from our target board.

Note:My mail server is in the same subnet.

Another strange thing i found out is arpShow works in the shell.But
arpAdd doesn't works in the shell.I tried checking the
target\lib\objPPC860gnuvx there the arpLib.o is missing .But arpShow
and arpAdd works in the simulator i tried checking the
target\lib\objSIMNTgnuvx which contains arpLib.o.

I don't know how to proceed pls help me..

Thanks and Regards,
Kannan

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: Wed, 13 Mar 2002 14:16:24 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8F5F9B.6070605@spamm.me.l8s.co.uk>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk> <d29c2180.0203121645.4507dc63@posting.google.com> <3C8F422D.30607@spamm.me.l8s.co.uk> <a6ngmj$uuq$1@snoopy.bndlg.de>

Michael Lawnick wrote:

> Stop, stop, hooooooooo David !
>
>>>I originally think that vxworks image is overwriting RAM_HIGH_ADDR and
>>>hence the boot loader code,so i change the RAM_LOW_ADRS to 00358000

 >>>and the RAM_HIGH_ADRS is 00008000(not changed).

>>>My vxworks image size is 1.65MB,

>>What was RAM_HIGH_ADRS before?

> He's got a X86 arch (see above), where all is the other way round.

> On X86 RAM_HIGH_ADRS points into low mem i.e. the lower 640kb that

 > BIOS can access. RAM_LOW_ADRS points to the region higher than 1Mb.
 > So X86 never has the (over-)loading problem of 68k and PPC.

(ok some conjecure)

Lets see, that (probably) means you have RAM from 0 to 640k and
1Mb upwards.

If the 'bootrom' code is small enough it could be loaded between
32k and 640k - probably ok unless you try to rebuild it on a system
with lots of stuff included - the boot rom doesn't have it's own
list of features :-(

The main image could be loaded anywhere above 1Mb (say 0x101000)
giving plenty of space. The area to the top of free memory
would be the heap space. I guess a big chunk of 1k..640k could
be added with memPartAddToPartition().

In which case RAM_LOW_ADRS of 0x358000 (3.5Mb) doesn't seem
right at all! Places the vxWorks image right in the middle
of DRAM. Certainly hopeless if you have 4Mb!

FWIW my system was ARM, I used a compressed rom image.
So the uncompress code was linked to RAM_HIGH_ADRS and
the vxWorks image to RAM_LOW_ADRS.

	David

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

Newsgroups: comp.os.vxworks
Subject: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 10:17:45 -0500
From: "David Masse" <dmasse@ele.etsmtl.ca>
Organization: Universite du Quebec
Message-ID: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA>

Hi,

I would like to know what is the entry point of a bootApp in RAM. I always
thinked that is supposed to be sysInit (defined in sysALib.s) but it's not
seems to be that. I build a bootApp from a custom BSP (ported from ads860)
for my PPC860 target with the bootApp_romCopy build specification. I used
the objdumpppc tool to get the disassembly and I found that the RAM entry
point that is located at binArrayStart is not corresponding to sysInit.

Here is a sample of the disassembly at binArrayStart:

fff0102c <_binArrayStart>:
fff0102c: 94 21 ff f0 stwu r1,-16(r1)
fff01030: 7c 08 02 a6 mflr r0
fff01034: 90 01 00 14 stw r0,20(r1)
fff01038: 48 00 44 19 bl fff05450 <_binArrayStart+0x4424>
fff0103c: 80 01 00 14 lwz r0,20(r1)
fff01040: 7c 08 03 a6 mtlr r0
fff01044: 38 21 00 10 addi r1,r1,16
fff01048: 4e 80 00 20 blr
fff0104c: 7d 29 4a 78 xor r9,r9,r9
fff01050: 39 40 0f ff li r10,4095
fff01054: b1 24 09 62 sth r9,2402(r4)
fff01058: b1 44 09 60 sth r10,2400(r4)
fff0105c: b1 24 09 64 sth r9,2404(r4)
fff01060: b1 24 09 68 sth r9,2408(r4)
fff01064: b1 24 09 66 sth r9,2406(r4)
fff01068: 3c a0 00 01 lis r5,1
fff0106c: 38 a5 80 00 addi r5,r5,-32768

and here is the beginning of my sysInit routine:

_sysInit:
sysInit:
 /* CPU Led Test */
 xor r9,r9,r9
 li r10, 0x0FFF
 sth r9, PCPAR(0)(r4)
 sth r10, PCDIR(0)(r4)
 sth r9, PCSO(0)(r4)
 sth r9, PCINT(0)(r4)
 sth r9, PCDAT(0)(r4)
 lis r5,HIADJ(0x00008000)
 addi r5,r5,LO(0x00008000)
 lis r6,0x0000

As you can see, sysInit start at the 9th line of the disassembly file (addr
= fff0104c). My question is what is the code before because the programm
seems to never branch to my sysInit code. I run this bootApp on my target
and the CPU branch correctly to RAM_HIGH_ADRS after romStart() that is the
beginning of binArrayStart. But when the code reach the 4th line (fff01038:
48 00 44 19 bl fff05450 <_binArrayStart+0x4424>), it start branching
I don't know where and the system crash before ever reaching my sysInit
code. The strange thing is that I build a VxWorks ROM system and this time,
the compiler put correctly my sysInit code at the beginning of
binArrayStart.

Can someone help me?

Thanks

David

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 15:36:17 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <RlKj8.4736$f5.272880@news>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA>

do objdump on your core file ...it should show up

"David Masse" <dmasse@ele.etsmtl.ca> wrote in message
news:a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA...
> Hi,
>
> I would like to know what is the entry point of a bootApp in RAM. I
always
> thinked that is supposed to be sysInit (defined in sysALib.s) but it's not
> seems to be that. I build a bootApp from a custom BSP (ported from
ads860)
> for my PPC860 target with the bootApp_romCopy build specification. I used
> the objdumpppc tool to get the disassembly and I found that the RAM entry
> point that is located at binArrayStart is not corresponding to sysInit.
>
> Here is a sample of the disassembly at binArrayStart:
>
> fff0102c <_binArrayStart>:
> fff0102c: 94 21 ff f0 stwu r1,-16(r1)
> fff01030: 7c 08 02 a6 mflr r0
> fff01034: 90 01 00 14 stw r0,20(r1)
> fff01038: 48 00 44 19 bl fff05450 <_binArrayStart+0x4424>
> fff0103c: 80 01 00 14 lwz r0,20(r1)
> fff01040: 7c 08 03 a6 mtlr r0
> fff01044: 38 21 00 10 addi r1,r1,16
> fff01048: 4e 80 00 20 blr
> fff0104c: 7d 29 4a 78 xor r9,r9,r9
> fff01050: 39 40 0f ff li r10,4095
> fff01054: b1 24 09 62 sth r9,2402(r4)
> fff01058: b1 44 09 60 sth r10,2400(r4)
> fff0105c: b1 24 09 64 sth r9,2404(r4)
> fff01060: b1 24 09 68 sth r9,2408(r4)
> fff01064: b1 24 09 66 sth r9,2406(r4)
> fff01068: 3c a0 00 01 lis r5,1
> fff0106c: 38 a5 80 00 addi r5,r5,-32768
>
> and here is the beginning of my sysInit routine:
>
> _sysInit:
> sysInit:
> /* CPU Led Test */
> xor r9,r9,r9
> li r10, 0x0FFF
> sth r9, PCPAR(0)(r4)
> sth r10, PCDIR(0)(r4)
> sth r9, PCSO(0)(r4)
> sth r9, PCINT(0)(r4)
> sth r9, PCDAT(0)(r4)
> lis r5,HIADJ(0x00008000)
> addi r5,r5,LO(0x00008000)
> lis r6,0x0000
>
> As you can see, sysInit start at the 9th line of the disassembly file
(addr
> = fff0104c). My question is what is the code before because the programm
> seems to never branch to my sysInit code. I run this bootApp on my target
> and the CPU branch correctly to RAM_HIGH_ADRS after romStart() that is the
> beginning of binArrayStart. But when the code reach the 4th line
(fff01038:
> 48 00 44 19 bl fff05450 <_binArrayStart+0x4424>), it start
branching
> I don't know where and the system crash before ever reaching my sysInit
> code. The strange thing is that I build a VxWorks ROM system and this
time,
> the compiler put correctly my sysInit code at the beginning of
> binArrayStart.
>
> Can someone help me?
>
> Thanks
>
> David
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 15:49:24 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8F757A.6050403@spamm.me.l8s.co.uk>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA> <RlKj8.4736$f5.272880@news>

Jim wrote:

> do objdump on your core file ...it should show up

or just nmxxx on the vxWorks image - you MAY need save the
required file during the build, but I think the file the
debugger uses to get a symbol table is ok.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Wed, 13 Mar 2002 10:52:44 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <qzKj8.3642$T_.66125@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net> <rps7koi9350.fsf@nospam.invalid> <Smtj8.3584$T_.64162@iad-read.news.verio.net> <rpselip7aml.fsf@nospam.invalid>

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rpselip7aml.fsf@nospam.invalid...
> "doug dotson" <ddotson@digidata.com> writes:
>
> > "Joe Chung" <nospam@nospam.invalid> wrote in message
> > > 3. If I say, "Doug, your solution doesn't deal with signed
> > > numbers, can you provide the code to do that?" You would just
> > > refine and repost it, right?
> >
> > Yes, would you like me to? I assumed that one could extend the
> > basic algorithm to handle signed numbers.
>
> You seemed to have missed my point.
> But you do demonstrate my point later....

I guess.

> > I would think that anyone that could do a bubble sort ....
>
> Bingo! You would think that wouldn't you?
> And I'd have to agree with you there.
>
> At what point do you stop giving out help because you realize
> that the help they asking is for something you already expect
> them to know, OR something that is easy find out because the way
> has been shown?

I guess that "something *you* already expect them to know" is the
key phrase here. That's a judgement call on your part. I contend that
when someone asks for advise it is their perrogative and it is not
appropriate for you to judge their reasons. Either offer advise or
stay quite. No judging, no insults. Help them out or stay out of it.

> > I don't have a 64-bit platform on which to test a 64-bit
> > solution. I'd rather offer a solution that I tested the was not
> > exactly what was asked for but could be extended in an obvious
> > way, rather than offerring a solution that I could not test.
>
> I'm not criticizing your solution's correctness per se. I'm
> merely illustrating that you are expecting some people to do the
> thinking. I hope you realize that you simply proved my
> point by answering the way that you did.

"per se" is a code word for "that's not the way I would have done it " :)

> You expect people to be able to extend, modify, improve upon your
> solution.

And you expect them to already know the answer.

> In other words, you expect people to be able to do some thinking.
>
> Well, so do I.
>
> Let's just agree that we disagree on where to draw the line.

Agreed. But I contend there should be no line in the first place. Either
offer useful advise or be quiet.

> > > At what point would you tell me to stop?
> >
> > Right now would be nice.
>
> This just further illustrates that you do have a line that you
> will not cross.

No, it illustrates that I have work to do and spending my time bantering
about
with you isn't what I am getting paid for.

> > Many times it is quicker to ask than to find out on your own. Usenet
> > is a marvelous resource for solutions and those that ask for help
>
> Yes. I agree with you here.
>
> Though, it would've been MUCH faster to find out the answer to
> this by doing a little google/deja searching or cracking open an
> elementary programming book or two than to post and wait for an
> answer *that might never come*.

Another judgement call on your part. Why can't you just let people
make their own decisions on how to solve their problems?

> I mean, holy cow, a project won't be finished on time cuz someone
> is waiting for an answer on Usenet, on the code to print 64 bit
> integers!

That's his judgement call. I don't recall any part of his request indicating
that this was the case.

> > should not have to deal with having their skill as a programmer
> > called into question when the seek advise. Many of us here are
> > actually programming to make a living and produce a product for
> > our companies. Time is more important than impressing others.
>
> But you'd call their skill into question if they asked you for
> the code to bubble sort, right?

No I wouldn't. It's not my place to call their skill into question.
My background is of the "no such thing as a stupid
question" mantra. Incidently, I taught Computer Science at a university for
many years. We gave up on teaching bubble sort years ago. So it wouldn't
suprise me at all if someone wouldn't know how to do it, but then again
it would surprise me that someone would actually use it. Ancient relic.

> By the way, if you think that I intend to "impress" by showing
> this trivial piece of code then you are gravely mistaken. I
> intend to help. Much more so than you do.

"gravely mistaken"? You lost me here. I just offered a usable piece
of code.

> > > One implementation can be found in K&R's _The C Programming
> > > Language_ 2nd Ed. on page 64, when they first introduce the
> > > do-while loop construct of C.
> >
> > Big deal. Not everyone learned using this book or even has a
> > copy of it.
>
> Hmmm, a more literal answer than I expected.
>
> Again, you're misreading my illustration of a point. I'm not
> going cite all easily accessible sources in print and on the net
> to prove my point: which is that solutions to this particular
> problem are *well known*.

Thank you. But once again you are passing judgement on someone
else's level of skill.

> > > Finally, I leave you with this thought. What's more insulting to
> > > the person who asked for the code? Your reply or mine?
> >
> > Your's obviously. If you had submitted it without the insults then
> > they would be equivalent I would think.
>
> Remember, I didn't provide the first 5 replies to the initial
> inquiry, I only jumped in when, in the face of answers, someone
> still demanded to see the code. I happen to think my solution is
> more helpful.
>
> Also remember that I didn't drag you into this, but since you
> dragged me into it: Your terse three liner embarrasses and
> dismisses the questioner. I mean, DOH, I couldn't figure that
> out? But, hey, that's just me.

Whatever you say, John. Your use "DOH" does say something
about you though.

> Oh, the fact that your 3 liner is neither efficient nor safe in a
> small stack environment points to your willingness to help,

Depends upon your definition of a small stack environment. If you
are operating that close to the limits then you have bigger worries than
how to print a number. Efficiency and safeness is a matter of
requirements.

> rather than to impress, right?

Not sure where "impressing" someone enters the picture. And I
have trouble seeing a function to print an integer as somehow
impressive. Now tell me that that little snippet of LISP at the
bottom of your post isn't there to impress us.

Now get back to work before you get in trouble with your boss :)

> -jc
> --
> (apply 'concat (reverse (list "com"
> (char-to-string 46) "yahoo"
> (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: What causes this message?
Date: 13 Mar 2002 08:40:16 -0800
From: davidh@sncorp.com (david howard)
Organization: http://groups.google.com/
Message-ID: <e55797e4.0203130840.7c97ef25@posting.google.com>
References: <cutj8.3585$T_.64097@iad-read.news.verio.net>

"doug dotson" <ddotson@digidata.com> wrote in message news:<cutj8.3585$T_.64097@iad-read.news.verio.net>...
> Greetings!
>
> When bringing up a shell using the "Launch Shell" button (->i), the
> shell starts up and then we get the following message:
>
> "Invalid C++ Constructor/Destructor strategy ...."
>
> or something similar (the developer decided to reinstall Tornado so
> I can't reproduce it now). Then the shell just keeps restarting over and
> over. Everything works fine on other hosts, just this problem on one.
> All Target Servers are identcal and the boot images are the exact
> same as well. And we are all pointing to the same target machine.
> I know I saw this once before months ago but I can't remember what
> the solution was.
>
> Thanks,
> Doug

This happens to us if there is a mismatch between the downloaded image
and the image file that the target server is referencing. make sure
the target server is pointing at the same file.

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

Newsgroups: comp.os.vxworks
Subject: Posix semaphore question
Date: Wed, 13 Mar 2002 16:35:51 +0000
From: Christopher Davidson-Rose <chris@spider.com>
Organization: Spider Software Limited
Message-ID: <3C8F7FE7.4DD956E1@spider.com>

- --------------D10512E18E9C4E8A8EC3B840
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,

Are the posix semaphore functions (sem_***) callable from interrupt
context.

Thanks

Chris

- --
Chris Davidson-Rose - Spider Software
0131 475 7000
"Assassins!"
- - Arturo Toscanini (1867-1957) to his orchestra

- --------------D10512E18E9C4E8A8EC3B840
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hi,
<p>Are the posix semaphore functions (sem_***) callable from interrupt
context.<tt></tt>
<p><tt>Thanks</tt><tt></tt>
<p><tt>Chris</tt>
<pre>--&nbsp;
Chris Davidson-Rose - Spider Software
0131 475 7000
"Assassins!"
- - Arturo Toscanini (1867-1957) to his orchestra</pre>
&nbsp;</html>

- --------------D10512E18E9C4E8A8EC3B840--

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

Newsgroups: comp.os.vxworks
Subject: Re: What causes this message?
Date: Wed, 13 Mar 2002 10:24:28 -0500
From: Babu Yama <babuyama@lucent.com>
Organization: Lucent Technologies
Message-ID: <3C8F6F2C.FFE821AD@lucent.com>
References: <cutj8.3585$T_.64097@iad-read.news.verio.net>

doug dotson wrote:
>
> Greetings!
>
> When bringing up a shell using the "Launch Shell" button (->i), the
> shell starts up and then we get the following message:
>
> "Invalid C++ Constructor/Destructor strategy ...."
>
> or something similar (the developer decided to reinstall Tornado so
> I can't reproduce it now). Then the shell just keeps restarting over and
> over. Everything works fine on other hosts, just this problem on one.
> All Target Servers are identcal and the boot images are the exact
> same as well. And we are all pointing to the same target machine.
> I know I saw this once before months ago but I can't remember what
> the solution was.
>
> Thanks,
> Doug

One thing you may want to check is that you are pointing to the right image that
is running on the target in your windshell preferences when you create the
Target (in Target|create|core file, on a unix box). I don't know if you are
already doing this, though.

Thanks,
Babu

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

Newsgroups: comp.os.vxworks
Subject: Re: how can I clear the data buffer of a serial port?
Date: Tue, 12 Mar 2002 12:24:43 -0800
From: Joe Durusau <joseph.a.durusau@lmco.com>
Organization: Lockheed Martin Corporation
Message-ID: <3C8E640B.D2903EAB@lmco.com>
References: <c330243e.0203112252.13a3e531@posting.google.com>

thatbird wrote:
>
> I connect a serial port of ppc(A) directly to another device(B)'s
> serial port. A want to read data from B. The communication is
> correct, but the question I met is followed.
>
> After ata that A got from B is stored, I want to clear the data buffer
> when error happen, otherwise, next time I will read only data from
> last time communication.
>
> But I do not know how to do??????

Try:

ioctl(Comm_Port,FIOFLUSH, 0);

Check the return code, of cuss.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: I want to log the packet between IP and mux.
Date: Wed, 13 Mar 2002 09:47:08 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a6o3bl$7qs$2@newsreader.mailgate.org>
References: <2b9429fcc4035f6c6ac8066e02008a99.75083@mygate.mailgate.org> <u8f7rs8416v156@corp.supernews.com> <a68ff3$2th$3@newsreader.mailgate.org> <u8ftv064k3000d@corp.supernews.com> <a6934f$bti$3@newsreader.mailgate.org> <2dbc95a7.0203121605.1ad8c1aa@posting.google.com>
Sender: gold@ensemble.com

"aman" <aman@renoir.tamu.edu> wrote in message
news:2dbc95a7.0203121605.1ad8c1aa@posting.google.com...
>I want to emulate libpcap under Linux).
>
>The
> first few packets send over the socket work fine. However after about
> 30-50 packets I totally lose my Ethernet interface. At this point I
> can no longer ping my vxWorks box nor can I ping out from my vxWorks
> box. All connection is lost. Note that my vxWorks box has not crashed
> because I have a serial connection to it and my tShell is alive an
> well. No task appears to have crashed (ie. tNetTask is still alive
> along with my tasks). My only choice at this point is to re-boot.
>
> Do you have any idea what might be happening to cause my vxWorks box
> to totally lose ethernet connectivity? Am I not doing something right
> with the packets I recieve or not passing back the correct return
> codes someplace? Any help would be greatly appreciated as I have been
> unable to find a working example of Mux code anywhere

I'm guessing your driver has run out of buffers from it's pool. In the hook
routine, if you've sent the packet to your other task, you return TRUE.
This tells the Mux that the hook routine has "swallowed" the packet, and no
other processing needs to be done. Thus you either need to free the packet
in your hook routine with netMblkChainFree(), or return FALSE so that the
packet will still get sent up the stack and thus freed by the Mux. I guess
it depends if you want your other task to get the official packet, or just a
copy of it.

What about if you have your hook installed but never send any packets from
the machine you're interested in ? Then your interface should not get
hosed.

The fact that you can't ping out could still be due to the driver not having
any buffers. Normally those Tx packets come from the system data pool, but
if the driver does a copy to it's own buffers (due to caching, not wanting
any chains, etc...) you'll fail because all the buffers will still be gone.
Do you have source to the driver ? Are there any stats you can look at ?
What version of vxWorks, platform, driver, etc... are you using ?

Also, you don't have to use the Mux and bind a SNARF protocol. It still
works fine if you just use EtherInputHookAdd. That's how it's done on SENS
under T101 for DHCP. I think they changed it under T2, but it still works
(who knows for how long though).

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: What's the Expected errno from msgQReceive(...,NO_WAIT)
Date: Wed, 13 Mar 2002 12:18:48 -0800
From: Joe Durusau <joseph.a.durusau@lmco.com>
Organization: Lockheed Martin Corporation
Message-ID: <3C8FB428.A9F17904@lmco.com>
References: <3C8E660E.FD7E63E0@bitworkssystemsDELETETHIS.com>

Jon Newbill wrote:
>
> I'm trying to determine what the expected errno response is when reading
> a msg queue using no wait and the queue is empty. I expected to get a
> S_objLib_OBJ_TIMEOUT error but am instead getting
> S_objLib_OBJ_UNAVAILABLE. The reference manual gives no description of
> any of these errors that I can find (is there someplace I've missed?)
> and the msgQReceive() entry in the the reference manual only lists the
> expected errno responses but not the conditions when each would occur.
>
> In particular the section on NO_WAIT says
>
> "return immediately, even if the message has not been sent"
>
> which appears to be a cut and past error in the manual since msgQReceive
> doesn't send a message at all.
>
> Here's the call I'm using.
>
> rc = msgQReceive(dc2000_queue, (char *)profile_packet, 16, NO_WAIT);
>
> Thanks in advance
>
> Jon Newbill
> jonUN@bitworkssystemsREMOVTHIS.com

The man page on my system says

S_objLib_OBJ_UNAVAILABLE
 - <timeout> is set to NO_WAIT, and no messages are
 available.

Mine's a bit old, yours might be different.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: VxWork RPC
Date: Wed, 13 Mar 2002 09:59:55 -0800
From: "Tisson Mathew" <tisson.k.mathew@intel.com>
Organization: Intel Corporation
Message-ID: <a6o409$418@news.or.intel.com>

Hello All ,

Does anyone know why xdr_free could fail and cause a segmentation fault when
freeing a union that's composed of a structure and an interger ? The
structure contains variable length strings , intergers and double.

Thanks in advance
- -Tisson

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

Newsgroups: comp.os.vxworks
Subject: Need help with Technobox 2901 serial PMC on an MVME2100.
Date: Wed, 13 Mar 2002 13:12:50 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <AGMj8.94$Sk3.3994@llslave.llan.ll.mit.edu>
References: <a6o409$418@news.or.intel.com>

I have an MVME2100 and I am using vxWorks 5.4. Yesterday I received a
Technobox 2901 rs232 PMC. I expected it to come with drivers and/or
directions. I got neither. From what I can gather I should use the ns16550
driver that came with my BSP. My MVME2100 board has an Intel 8250 onboard
that provides one com port ( /tyCo/0 ). I want the PMC to provide /tyCo/1
and /tyCo/2. Anyone know of a set of directions or at least where to look?
- -Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: [Help Me] vxworks Simulator
Date: 13 Mar 2002 10:16:48 -0800
From: saint_p@yahoo.com (Brian St. Pierre)
Organization: http://groups.google.com/
Message-ID: <7363e2a5.0203131016.b997be2@posting.google.com>
References: <WCmj8.2679$PC3.1215790@news.bora.net> <88c8dc81.0203130006.759238fb@posting.google.com>

tut_pharoh@yahoo.com wrote:
> <KimJeongHwan@lge.com> wrote:
> > In solaris, vxworks simulator cannot load application program.
> > How can i solve this problem?
> >
> > The problem is as follows :
> >
> > -> ls
> > ppp_test.out
 [ ... ]

> > -> ld < ppp.out
> > can't open input 'ppp.out'
> > errno = 0x1c0001
> > ->

Of course it can't open "ppp.out", this file doesn't exist! Try:

- -> ld < ppp_test.out

- -Brian

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

Newsgroups: comp.os.vxworks
Subject: Re: What causes this message?
Date: Wed, 13 Mar 2002 13:21:20 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <MKMj8.3662$T_.67200@iad-read.news.verio.net>
References: <cutj8.3585$T_.64097@iad-read.news.verio.net> <e55797e4.0203130840.7c97ef25@posting.google.com>

I'll double check that, thanks.

"david howard" <davidh@sncorp.com> wrote in message
news:e55797e4.0203130840.7c97ef25@posting.google.com...
> "doug dotson" <ddotson@digidata.com> wrote in message
news:<cutj8.3585$T_.64097@iad-read.news.verio.net>...
> > Greetings!
> >
> > When bringing up a shell using the "Launch Shell" button (->i), the
> > shell starts up and then we get the following message:
> >
> > "Invalid C++ Constructor/Destructor strategy ...."
> >
> > or something similar (the developer decided to reinstall Tornado so
> > I can't reproduce it now). Then the shell just keeps restarting over and
> > over. Everything works fine on other hosts, just this problem on one.
> > All Target Servers are identcal and the boot images are the exact
> > same as well. And we are all pointing to the same target machine.
> > I know I saw this once before months ago but I can't remember what
> > the solution was.
> >
> > Thanks,
> > Doug
>
> This happens to us if there is a mismatch between the downloaded image
> and the image file that the target server is referencing. make sure
> the target server is pointing at the same file.

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Wed, 13 Mar 2002 18:27:44 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C8F9A96.4050203@spamm.me.l8s.co.uk>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net> <3C850A5B.3040106@spamm.me.l8s.co.uk> <A2wh8.2902$J3.1067@nwrddc01.gnilink.net> <a67e76$a3o$1@snoopy.bndlg.de> <0iTh8.7396$J3.1346@nwrddc01.gnilink.net>

Matt Schuckmann wrote:

> I tried his example but it doesn't work, I get a mesage "A host function
> cannot be used as an argument"
>

Try running the 'ld' on the target?

	David

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

Newsgroups: comp.os.vxworks
Subject: Need help with Technobox 2901 serial PMC on an MVME2100.
Date: Wed, 13 Mar 2002 14:04:27 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <_qNj8.97$Sk3.4010@llslave.llan.ll.mit.edu>

I have an MVME2100 and I am using vxWorks 5.4. Yesterday I received a
Technobox 2901 rs232 PMC. I expected it to come with drivers and/or
directions. I got neither. From what I can gather I should use the ns16550
driver that came with my BSP. My MVME2100 board has an Intel 8250 onboard
that provides one com port ( /tyCo/0 ). I want the PMC to provide /tyCo/1
and /tyCo/2. Anyone know of a set of directions or at least where to look?
- -Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: 13 Mar 2002 11:19:05 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpsbsds2s46.fsf@nospam.invalid>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net> <rps7koi9350.fsf@nospam.invalid> <Smtj8.3584$T_.64162@iad-read.news.verio.net> <rpselip7aml.fsf@nospam.invalid> <qzKj8.3642$T_.66125@iad-read.news.verio.net>

"doug dotson" <ddotson@digidata.com> writes:

> "Joe Chung" <nospam@nospam.invalid> wrote in message
> > Let's just agree that we disagree on where to draw the line.
>
> Agreed. But I contend there should be no line in the first
> place. Either offer useful advise or be quiet.

Like I said. I feel my advice was more useful, and that yours
was not (but I didn't, then go charging and swinging at you).
You may not like my style, and it's a judgement call as you
pointed out, but offering useful advice is what I did in my post.

You should also follow your own advice, "Either offer useful
advise or be quiet." Your initial message to me was not germane
to the newsgroup nor to the original subject of this thread.
Furthermore, we could've carried on the conversation privately,
but you chose, initially, to post it publicly.

> > I mean, holy cow, a project won't be finished on time cuz someone
> > is waiting for an answer on Usenet, on the code to print 64 bit
> > integers!
>
> That's his judgement call. I don't recall any part of his
> request indicating that this was the case.

Doug, it's your point I'm addressing. You're the one who said
basically that many of us are seeking answers for work and that
time is more important than impressing others.

Carry that statement to a logical conclusion and you end up with
an absurd situation which I describe above, of someone waiting on
Usenet for a crucial work-related answer to a silly problem.

> It's not my place to call their skill into question. My
> background is of the "no such thing as a stupid question"
> mantra. Incidently, I taught Computer Science at a university
> for many years. We gave up on teaching bubble sort years
> ago. So it wouldn't suprise me at all if someone wouldn't know
> how to do it, but then again it would surprise me that someone
> would actually use it. Ancient relic.

Then you do appreciate how more and more lazy people are using
Usenet (Internet in general) to do their homework right? I'm
sure you'll see a lot questions posed in certain groups, like
comp.lang.c, where a questioner is met with answers of "do your
own homework". Yes, people are passing judgement everywhere.
But I know better than to harrangue the answerers.

I have a lot of respect for good teachers. They're the ones who
teach that how to arrive at an answer is more important than the
answer itself.

> > Oh, the fact that your 3 liner is neither efficient nor safe
> > in a small stack environment points to your willingness to
> > help,
>
> Depends upon your definition of a small stack environment. If
> you are operating that close to the limits then you have bigger
> worries than how to print a number. Efficiency and safeness is
> a matter of requirements.

I agree with that statement in general. But efficiency and stack
size is much more of a concern to the VxWorks, especially for a
commonly used routine.

There are many algorithms for doing things that are "cute" in
recursive form but not practical in real life, especially in an
RTOS situation.

> > rather than to impress, right?
>
> Not sure where "impressing" someone enters the picture. And I

You brought it in, in your previous post. Isn't it great that
this silly debate is on public record in the archives of
deja/google (maybe forever)?

> have trouble seeing a function to print an integer as somehow
> impressive. Now tell me that that little snippet of LISP at the
> bottom of your post isn't there to impress us.

Please reread your previous post. I'm just throwing your own word
"impress" back at you. I never brought that word into my
discussion. You did. By passing judgement on my intent.

I state again and again that this code is trivial, but you said I
was trying to impress. If you're going to start an argument with
me (recall I didn't start this), then please keep your own
argument straight!

That little snipet of Elisp in my sig is designed to get around
the spammers. It is also clear enough, so that people who don't
understand [E]lisp can assemble my address correctly. And if
they can't figure it out, then I don't want to talk to them in
private. If you find that impressive, then thank you. It's more
functional, to me.

> Now get back to work before you get in trouble with your boss :)

I don't know you and have no axe to grind with you. Please don't
pass judgement on people, who don't have a quarrel with you.
It's hypocrisy to pass judgement on my intention (saying that I'm
trying to impress) while accusing me of passing judgement on
others.

By the way, how much respect do you show for that person, that
you feel compelled to defend him, completely unasked?

This whole thread has gone completely OT. It now has nothing to
do with its subject heading, because you came in swinging at me,
who was only trying to help. I'm sure you have better things to
do with your time. I know I do.

We've already agreed to disagree, and that's a rare achievement
in Usenet. Maybe we can carry further discussions in private?

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Wed, 13 Mar 2002 14:43:24 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <MXNj8.3670$T_.67548@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <rpsadteuafh.fsf@nospam.invalid> <vq8j8.3473$T_.61176@iad-read.news.verio.net> <rps7koi9350.fsf@nospam.invalid> <Smtj8.3584$T_.64162@iad-read.news.verio.net> <rpselip7aml.fsf@nospam.invalid> <qzKj8.3642$T_.66125@iad-read.news.verio.net> <rpsbsds2s46.fsf@nospam.invalid>

Get a life, Joe.

"Joe Chung" <nospam@nospam.invalid> wrote in message
news:rpsbsds2s46.fsf@nospam.invalid...
> "doug dotson" <ddotson@digidata.com> writes:
>
> > "Joe Chung" <nospam@nospam.invalid> wrote in message
> > > Let's just agree that we disagree on where to draw the line.
> >
> > Agreed. But I contend there should be no line in the first
> > place. Either offer useful advise or be quiet.
>
> Like I said. I feel my advice was more useful, and that yours
> was not (but I didn't, then go charging and swinging at you).
> You may not like my style, and it's a judgement call as you
> pointed out, but offering useful advice is what I did in my post.
>
> You should also follow your own advice, "Either offer useful
> advise or be quiet." Your initial message to me was not germane
> to the newsgroup nor to the original subject of this thread.
> Furthermore, we could've carried on the conversation privately,
> but you chose, initially, to post it publicly.
>
> > > I mean, holy cow, a project won't be finished on time cuz someone
> > > is waiting for an answer on Usenet, on the code to print 64 bit
> > > integers!
> >
> > That's his judgement call. I don't recall any part of his
> > request indicating that this was the case.
>
> Doug, it's your point I'm addressing. You're the one who said
> basically that many of us are seeking answers for work and that
> time is more important than impressing others.
>
> Carry that statement to a logical conclusion and you end up with
> an absurd situation which I describe above, of someone waiting on
> Usenet for a crucial work-related answer to a silly problem.
>
> > It's not my place to call their skill into question. My
> > background is of the "no such thing as a stupid question"
> > mantra. Incidently, I taught Computer Science at a university
> > for many years. We gave up on teaching bubble sort years
> > ago. So it wouldn't suprise me at all if someone wouldn't know
> > how to do it, but then again it would surprise me that someone
> > would actually use it. Ancient relic.
>
> Then you do appreciate how more and more lazy people are using
> Usenet (Internet in general) to do their homework right? I'm
> sure you'll see a lot questions posed in certain groups, like
> comp.lang.c, where a questioner is met with answers of "do your
> own homework". Yes, people are passing judgement everywhere.
> But I know better than to harrangue the answerers.
>
> I have a lot of respect for good teachers. They're the ones who
> teach that how to arrive at an answer is more important than the
> answer itself.
>
>
> > > Oh, the fact that your 3 liner is neither efficient nor safe
> > > in a small stack environment points to your willingness to
> > > help,
> >
> > Depends upon your definition of a small stack environment. If
> > you are operating that close to the limits then you have bigger
> > worries than how to print a number. Efficiency and safeness is
> > a matter of requirements.
>
> I agree with that statement in general. But efficiency and stack
> size is much more of a concern to the VxWorks, especially for a
> commonly used routine.
>
> There are many algorithms for doing things that are "cute" in
> recursive form but not practical in real life, especially in an
> RTOS situation.
>
> > > rather than to impress, right?
> >
> > Not sure where "impressing" someone enters the picture. And I
>
> You brought it in, in your previous post. Isn't it great that
> this silly debate is on public record in the archives of
> deja/google (maybe forever)?
>
> > have trouble seeing a function to print an integer as somehow
> > impressive. Now tell me that that little snippet of LISP at the
> > bottom of your post isn't there to impress us.
>
> Please reread your previous post. I'm just throwing your own word
> "impress" back at you. I never brought that word into my
> discussion. You did. By passing judgement on my intent.
>
> I state again and again that this code is trivial, but you said I
> was trying to impress. If you're going to start an argument with
> me (recall I didn't start this), then please keep your own
> argument straight!
>
> That little snipet of Elisp in my sig is designed to get around
> the spammers. It is also clear enough, so that people who don't
> understand [E]lisp can assemble my address correctly. And if
> they can't figure it out, then I don't want to talk to them in
> private. If you find that impressive, then thank you. It's more
> functional, to me.
>
> > Now get back to work before you get in trouble with your boss :)
>
> I don't know you and have no axe to grind with you. Please don't
> pass judgement on people, who don't have a quarrel with you.
> It's hypocrisy to pass judgement on my intention (saying that I'm
> trying to impress) while accusing me of passing judgement on
> others.
>
> By the way, how much respect do you show for that person, that
> you feel compelled to defend him, completely unasked?
>
> This whole thread has gone completely OT. It now has nothing to
> do with its subject heading, because you came in swinging at me,
> who was only trying to help. I'm sure you have better things to
> do with your time. I know I do.
>
> We've already agreed to disagree, and that's a rare achievement
> in Usenet. Maybe we can carry further discussions in private?
>
> -jc
> --
> (apply 'concat (reverse (list "com"
> (char-to-string 46) "yahoo"
> (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 11:56:14 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8vbpk12lln4cf@corp.supernews.com>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA> <RlKj8.4736$f5.272880@news> <3C8F757A.6050403@spamm.me.l8s.co.uk>

When you are building a ROM version of code your start point is romInit, not
sysInit. Remember there are two usrInit() in VxWorks target/config
directory. One is in bootConfig.c. The other in usrConfig.c. The
bootConfig.c usrInit gets called by romStart which is called by romInit.
The usrConfig usrInit gets called by sysInit.

The story behind all this a little too complex and involved. But there you
have it.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: Wed, 13 Mar 2002 12:10:59 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8vcl1ci2b6dbc@corp.supernews.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk>

The portability rule is that VxWorks IP layer will expect the beginning of
IP header to be 4 byte aligned. It is not just efficiency issue. It has to
do with alignment problems that can happen on many RISC architecture CPUs.
If beginning of IP header is not properly aligned, you will get alignment
exceptions on RISC CPUs such as MIPS, SPARC, etc. Largely this is because
BSD stack likes to cast a mbuf to a struct ip pointer and access the data.

This is a rather messy problem when you are doing PPPoA or PPPoE or worse
yet PPPoE over ATM. Or L2TP over PPPoE over ATM. :-) I am not kidding.
Even just with PPPoA you have several incompatible ways of doing PPPoA
(VC-multiplexed, LLC encapsulated, HDLC + LLC, etc.).

Handling all of these cases becomes a challenge in terms of alignment,
especially since we want to avoid copying. The trick is to avoid copying
for all these cases where extra bytes get used for encapsulating packets,
thereby throwing off your nice alignments. How do you do that without
copying? There are methods for dealing with all of these cases but it
ain't pretty.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd - ring buffer size
Date: Wed, 13 Mar 2002 12:18:04 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8vd2b6pnk1s39@corp.supernews.com>
References: <9d082700.0203120647.5b0439aa@posting.google.com> <3C8E2177.D0B3BA2A@varndellengineering.com>

If this device driver is based on LANCE driver, then probably 128 limit is
derived from the fact that original LANCE had 128 limit on the descriptors.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: Wed, 13 Mar 2002 12:21:06 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8vd80oh5vhh65@corp.supernews.com>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com> <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org> <8cd11808.0203121841.70cd9f8d@posting.google.com> <6ab3109fcd959d946780d1e4a7c60845.77030@mygate.mailgate.org>

There is a global pointer variable called ifnet (of type struct ifnet *).

You can do: for (ifp = ifnet; ifp; ifp = ifp->if_next) to get the whole
list of devices. The first one is pointed by ifnet.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Wed, 13 Mar 2002 12:26:32 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u8vdi6b8nqtgd2@corp.supernews.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk> <6847c39a.0203122047.16035284@posting.google.com> <3C8F404D.7C2C7538@varndellengineering.com>

The number 1 is a good observation. It illustrates the latency vs.
throughput issue. Depending on your hard realtime requirements you should
tune the behavior of your driver in that area.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Posix semaphore question
Date: 13 Mar 2002 20:28:55 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna8vdk7.74n.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <3C8F7FE7.4DD956E1@spider.com>

 * Christopher Davidson-Rose <chris@spider.com> [03-Wed-02 08:35 -0800]:
 [...]
 > Are the posix semaphore functions (sem_***) callable from
 > interrupt context.

I am not sure if you're asking about taking or giving a
semaphore. If taking, then you can not take a semaphore when
you are inside of an interrupt... You can, however, give
semaphores...

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks,comp.sys.powerpc.tech
Subject: ATM PCR (Peak Cell Rate) limit exceeded when PPC cache enabled?
Date: Wed, 13 Mar 2002 22:07:42 +0100
From: "Mads Bligaard Nielsen \(M@H\)" <mads.b.nielsen@dxd.NOJUNK.ericsson.se>
Organization: Ericsson Diax (DXD), Mobile@Home
Message-ID: <a6of1j$9gq$1@newstoo.ericsson.se>

Hi,

We are using the MPC8255A (200/133/66Mhz) to support both ATM (FCC1) and
FastEthernet (FCC2).
We use VxWorks 5.4 but have fixed some bugs in the supplied MOTFCCEND &
ATM-SAR Drivers.
The UTOPIA-2 bus is clocked at 16 Mhz and we use multi-PHY (8).

We currently have (at least:-) three problems:

1) When we enable the PPC instruction and data cache, we have problems when
we use AAL5/UBR
 to send approx. 300 kbytes on AAL5.
 It seems like the PCR is exceeded (UBR traffic). The AAL5 download speed
 changes from around 8 Mbit/s to 73 Mbit/s, but PCR is configured to allow
max. 8192000 BPS.
- -TRC sarPQIIChChipInit: pCh->TctStatus=0x2 (before
update)(sar_pqiichci.c#177,xxxDriver#0xd00678)
- -TRC sarPQIIChChipInit: pCh->TctStatus=0x13050002 (after
update)(sar_pqiichci.c#186,xxxDriver#0xd00678)
- -TRC sarPQIITctInit: PcrInSlots=1.000000, PcrFraction=0.000000,
LineRate=8.192000, Pcr=8.192000(sar_pqiitct.h#247,xxxDriver#0xd00678)
- -TRC sarPQIITctInit: PriSlots=195,
Cps=1(sar_pqiitct.h#248,xxxDriver#0xd00678)
- -TRC InBandManagement: using
atmChannel=0xe87a88(ibm.cpp#558,xxxDriver#0xd00678)
- -TRC fwImage Installed: loadTime=0.04 [s] (dT=4), sizeInBytes=365908,
kbitsSec=73181(xxxxDriver.cpp#408,xxxxDriver#0xd00678)

2) When we configure AAL5/UBR channels for data traffic we cannot utilise
the bandwidth (2 Mbit/s) unless
 we change the PCR for these channels as follows:
 //TODO: Here it seems like the PCR should be in BPS??
 //Aal5ChannelParam.AtmChannelParam.Pcr = (double)LineRate /
(double)1000000;
 Aal5ChannelParam.AtmChannelParam.Pcr = LineRate; // Should be
in BPS - i.e. not "((double)LineRate / (double)1000000)"

3) It seems like the ATM FCC can "disturb" the Ethernet transmitter -
 without any underrun or other error detected.
 When ATM is idle we can easily run a TCP based test on Ethernet at e.g.
 2*10Mbit/s (duplex) without any errors.
 However when we starts using one ATM-channel (1 PHY) then the contents
 of some of the packets transmitted via Ethernet starts to become
 crappy (but length ok).
 This occurs before we really starts to "heat up" the ATM (after all
 the Idle Cells are still the most frequent cells - and we only run
 UTOPIA at 16 Mhz).

Any ideas?

Thanks,
Mads Bligaard Nielsen
System Engineer, Core Software Development
Ericsson Diax, http://dxd.ericsson.se
strip "NOJUNK." to reply via email...

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Wed, 13 Mar 2002 15:54:38 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3C8FCA9E.849D1DC2@fnal.gov>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov>

Well,

> Refreshing: We had a strange problem of tNetTask taking around 4.5 ms each
> 5 sec. It turns out that each 5 sec the miiLib adds a job to tNetTask for
> checking if the PHY is connected or not. It turns out that it is during
> this reading there is an abnormal delay. The MII driver is the std miiLib
> from vxworks.

Technical service at Windriver is not too excited to solve the issue
inspite of the fact they too were able to replicate the problem. Am
interested in knowing if anyone of you out there has this problem too.
It is observed in VxWorks 5.4.2 kernels on MV2400 and MV2301 (at least).

I arote a small test snip that will attach a hook to the task switch and
in that hook calaulate time spent in each task. If it is unusually long,
rememeber the time.

If possible run this code on your test setup with just VxWorks standards
tasks running (of course the tNetTask too), not telnet session open and
send me the dump. I am particularly interested in difference observed in
vxWorks 5.4 and vxWorks 5.4.2. If you want can explain the information
conveyed by the dump too. Do send output of sysGetBusSpd too.

Thanks for you help,

Dinker

- -> sysGetBusSpd
value = 67 = 0x43 = 'C'

#include <vxWorks.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <taskLib.h>

#define maxArray 8000 /* size of array of dummy data */
#define maxHist 100 /* size of histogram array */
#define maxLog 10 /* size of anomaly log */
#define binThresh 20 /* anomalously long time (2 ms) in
bin units */

typedef struct LogEntry_s
{ /* entry structure for anomaly log */
 int delt;
 int tick;
} LogEntry;

int hist[maxHist]; /* histogram array */

LogEntry logRec[maxLog];

typedef struct _IdStruct
{
 unsigned long int TaskId;
 unsigned long int ElapsedTime;
} id_Dump;

id_Dump idDump[64];

unsigned int total_records;

void switchHook(WIND_TCB *pOld, WIND_TCB *pNew)
{
 static int counter=0;
 unsigned long int id = 0, start = 0;

 start = sysTimeBaseLGet();
 total_records++;

 idDump[counter].TaskId = (unsigned long int)(pOld->pStackBase);
 idDump[counter].ElapsedTime = start - idDump[counter].ElapsedTime;

 counter++;

 if (counter >= 64)
 counter=0;

 idDump[counter].ElapsedTime = start;
}

/*
The following command should make this run as a task, after it hgas been
ld'ed.
- -> taskSpawn("tDummy",130,0,32768,dummy,60000,0,0,0,0,0,0)
*/

void dummy(int nTimes)
/* Keep CPU busy, watching for variations in execution time of dummy
work */
/* maxArray should be sized to cause dummy work to last about 1 ms */
 {
 int i, j, elapsed, bin;
 volatile int start, end, ticks, baseticks;
 int iLog = 0, logTotal = 0;
 int c[maxArray];
 volatile int r[maxArray]; /* support for
dummy work */

 taskSwitchHookAdd(switchHook);

 for (j = 0; j < maxHist; j++)
 hist[j] = 0; /* clear histogram
array */

 for (j = 0; j < maxArray; j++)
 c[j] = j; /* fill array of
dummy data */

 baseticks = tickGet();

 for (i = 0; i < nTimes; i++) /* perform dummy
work many times */
 {
 start = sysTimeBaseLGet(); /* PowerPC Time
Base register */

 for (j = 1; j < maxArray; j++)
 r[j] = c[j]*c[j-1] + i; /* dummy work */

 end = sysTimeBaseLGet();
 elapsed = end - start; /* elapsed time in
16.666 MHz units */

 bin = elapsed / 1666; /* convert to 100
us bin size */

 j = bin;

 if (j < 0)
 j = 0;

 if (j >= maxHist)
 j = maxHist - 1;

 hist[j]++; /* add to
histogram */

 if (bin > binThresh)
 { /* large enough to
be considered an anomaly */
 ticks = tickGet(); /* log time as
tick counter from kernel */
 logRec[iLog].delt = bin; /* elapsed time in
100 us units */
 logRec[iLog].tick = ticks - baseticks; /* kernel
ticks in 60 Hz units */
 iLog++;

 if (iLog >= maxLog)
 iLog = 0; /* logRec is
circular buffer */

 logTotal++; /* count total
entries ever logged */
 }
 }

 printf("\n");

 for (i = 0; i < maxHist; i = j)
 {
 for (j = i; j < i + 10; j++)
 {
 (void)printf("%06d ", hist[j]);
 }
 printf("\n");
 }

 for (i = 0; i < maxLog; i++)
 printf("%010d %010d\n", logRec[i].delt, logRec[i].tick);

 printf("\n");
 for (i = 0; i < 64; i++)
 {
 printf("%x : %lu\n", idDump[i].TaskId,
idDump[i].ElapsedTime);
 /* printf("%x : %lu\n", idDump[i].TaskId,
idDump[i].ElapsedTime); */
 }

 printf("%lu\n", total_records);
 taskDeleteHookDelete(switchHook);
 return;
}

Dinker Charak wrote:
>
> Hi All,
>
> Refreshing: We had a strange problem of tNetTask taking around 4.5 ms each
> 5 sec. It turns out that each 5 sec the miiLib adds a job to tNetTask for
> checking if the PHY is connected or not.
>
> It turns out that it is during this reading there is an abnormal delay.
>
> Anyone any pointer or suggestion what could be wrong?
>
> The WRS support person's system does not show the delay. But two of our
> systems on different sub-nets show the problem (one is a MV2301 and another
> MV2400).
>
> We are running vxWorks 5.4.2 with June 2001 driver update installed.
>
> Thanks,
> Dinker

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP about sysAuxClkRateSet() and BSP !
Date: 14 Mar 2002 00:12:06 GMT
From: merleebene@aol.com (MerleEbene)
Organization: AOL http://www.aol.com
Message-ID: <20020313191206.24447.00000981@mb-df.aol.com>
References: <5c074538.0203111923.534ff9d2@posting.google.com>

Allen,

In theory you could go up to 1000 Hz without any noticeable impairment. We were
able to run at 400 Hz on a PPC 603e. We used the system clk not the aux; It
should work at the rates you specified.

On a second thought go with PPC just in case you need any help in the future. I
am not an employee of Motorola. Good luck!!

Lazare

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 19:13:12 -0500
From: "David Masse" <dmasse@ele.etsmtl.ca>
Organization: Universite du Quebec
Message-ID: <a6oq4v$ov0$1@Tropolix.UQSS.UQuebec.CA>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA> <RlKj8.4736$f5.272880@news> <3C8F757A.6050403@spamm.me.l8s.co.uk> <u8vbpk12lln4cf@corp.supernews.com>

> When you are building a ROM version of code your start point is romInit,
not
> sysInit. Remember there are two usrInit() in VxWorks target/config
> directory. One is in bootConfig.c. The other in usrConfig.c. The
> bootConfig.c usrInit gets called by romStart which is called by romInit.
> The usrConfig usrInit gets called by sysInit.

There are no bootConfig.c and usrConfig.c anymore in VxWorks AE. usrInit
has been moved to prjConfig.c. When I talked about a ROM version, I talked
about a full VxWorks AE system ROM image that contains the boot loader and a
VxWorks image that will be copied in RAM, not a ROM image that executes in
ROM. In fact, my question was what is executed after romStart(). Is it
different for a bootApp and a VxWorks AE ROM system image? I used the nm
and objdump tools on my image (bootApp_romCopy) but they gave me only the
boot objects symbols and not the vxWorks boot kernels image.

- -- David

> The story behind all this a little too complex and involved. But there
you
> have it.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: OPENDIR Help
Date: 13 Mar 2002 16:23:33 -0800
From: mpalone@gotuit.com (Mike Palone)
Organization: http://groups.google.com/
Message-ID: <971e6b8f.0203131623.3cf32e91@posting.google.com>
References: <971e6b8f.0203092108.3d502241@posting.google.com> <newscache$5xursg$qfh$1@lnews.actcom.co.il> <971e6b8f.0203101438.300fe42c@posting.google.com> <newscache$pfxssg$mgj$1@lnews.actcom.co.il> <971e6b8f.0203110612.f95dd7d@posting.google.com> <3C8CC14E.3E10877D@notifier-is.net> <971e6b8f.0203111150.156e92e5@posting.google.com> <3C8D11DE.A3F336BE@notifier-is.net> <971e6b8f.0203121115.738db6a6@posting.google.com> <u8sougiasbt887@corp.supernews.com>

Hi. Thanks for your response. We are using opendir for determining if
certain directories exist, and if so, enumerating files and
directories within a given directory. The number of files and
directories is variable and we do not know the names of the files and
directories...this is why we need readdir to do the enumeration for
us. I suppose there is a way to manage this using ramdisks, but it
feels like a chicken and egg problem unless we copy *.* to ramdsk and
then do the opendir and readdir.

Mike

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u8sougiasbt887@corp.supernews.com>...
> Mike, creating a RAM Disk and DOS FS on it is simple. For example, from
> VxWorks shell...
>
> -> ramDrv()
> -> xyz1 = ramDevCreate(0, 256, 128, 128, 0)
> -> xyz2 = dosFsMkFs("/tmp, xyz1)
>
> Then you can copy stuff into it from your NT pass FS.
>
> -> chdir ("your_nt_passfs:/some/directory/")
> -> copy ( "somefile.txt", "/tmp/somefile.txt")
>
> etc.
>
> By the way, the issue with dirLib and netDrv vs. other file systems in
> VxWorks (DOS, NFS, etc.):
>
> 1. netDrv is a kind of emulation of filesystem over FTP or RSH. To
> accomplish directory listing over this, protocol specific packets sent to
> the server. For FTP, NLST packet is sent to server, for example. netDrv
> does not support concepts like file system stat and various ioctl's required
> by something like dirLib. Actually, it is possible to implement all the
> necessary ioctl's and make netDrv compatible with other filesystems, but it
> was never done.
>
> 2. other filesystems do support generic ioctls to allow dirLib and other
> things to work.
>
> 3. The reason for above is historical, and it is not a desirable situation
> as you can see. The real problem stems from the fact that VxWorks really
> does not have properly layered design for implementing filesystems. The
> filesystems in VxWorks are just I/O drivers masquerading as filesystems.
>
> Leonid probably has more details on all of the above.

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

Newsgroups: comp.os.vxworks
Subject: VxWorks WebServer for ARM can not work correctly?
Date: 13 Mar 2002 16:35:00 -0800
From: xiaohua.zhang@163.com (xiaohua)
Organization: http://groups.google.com/
Message-ID: <dc50cd74.0203131634.514d9e2@posting.google.com>

I add the WebServer in the Bootable Application.
Then I download it to the target board.
It can work well in the Intel X86.
But it cannot work in the ARM target board.
It display the following error information:
- --------------------------------------------
Data abort

Exception address: 0x0005c930

Current Processor Status Register: 0x20000013

Task: 0x353a50 "tHTTPd"
- ---------------------------------------------

Can anybody help me?

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: 13 Mar 2002 16:37:30 -0800
From: lihuapeng@21cn.com (DragonSpring)
Organization: http://groups.google.com/
Message-ID: <1d411918.0203131637.2dd9ebc1@posting.google.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk>

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C8F42DB.8050601@spamm.me.l8s.co.uk>...
> Leonid Rosenboim wrote:
>
> > Dragon Dear,
> >
> > Your observation are very true with respect to the existing drivers.
> > The alignment is not mandatory, but would typically improve performance of
> > the IP layer processing. The significance of this performance improvement
> > depends
> > on the hardware architecture and packet rate. At times, pureposeful
> > alignment could actually decrease performance if the "byte shift" operation
> > costs more then the
> > subsequent performance gain.
>
> If possible get the ethernet hardware to place the rx packets onto
> a 4n+2 boundary. Then no extra copy is required.
>
> 	David

No, I can't make 4n+2 boundary. The HDLC controller requires 4n
boundary. And we also use MPC860 FEC as Ethernet controller. This
ethernet hardware also requires 4n boundary.

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: 13 Mar 2002 16:40:07 -0800
From: lihuapeng@21cn.com (DragonSpring)
Organization: http://groups.google.com/
Message-ID: <1d411918.0203131640.5619bf@posting.google.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il>

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$0wpwsg$qro$1@lnews.actcom.co.il>...
> Dragon Dear,
>
> Your observation are very true with respect to the existing drivers.
> The alignment is not mandatory, but would typically improve performance of
> the IP layer processing. The significance of this performance improvement
> depends
> on the hardware architecture and packet rate. At times, pureposeful
> alignment could actually decrease performance if the "byte shift" operation
> costs more then the
> subsequent performance gain.
> So make the thing work first, and then try both methods under heavy
> simulated traffic load, and see which gets you best packet rate.
>
> Leonid

Why would alignment typically improve preformance of the IP layer
processing? Is it the case of using hardware cache?

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 13 Mar 2002 16:43:25 -0800
From: allencyl@my-deja.com (Allen Chang)
Organization: http://groups.google.com/
Message-ID: <5c074538.0203131643.765b42c2@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il>

Hello Leonid,

The reason I ask is because the freuqency I want to set is not
all supported by sysAuxClk. So far as I know in the x86 platform,
the auxClk only support 2**1, 2**2, 2**3 ~ 2**13 Hz, if I set
the frequency as 240 Hz, it will NOT give me the 240Hz timer.

The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
And I know that the 320, 80, 160, 240 Hz will not execute accurately,
that is what my question.

Regards,

Allen Chang

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$fopwsg$pro$1@lnews.actcom.co.il>...
> There are basically these methods for periodical processing,
> each is a tradeoff between timing accuracy (jitter) and processing
> time, and wakeup freqnecy.
>
> Suppose you create a function, WakeMeUp(), which would be invoked
> with the frequency required for processing.
> If processing time is long (e.g. >200 microsec), there should be a dedicated
> task tperforming the proessing, and WakeMeUp would only Give a semaphore on
> which the task is Pending. If the processing is short, it can be done within
> WakeMeUp. The deditated task's priority is too a tradeoff of the same sort -
> the higher priority would give less jitter and lower priority is more
> appropriate for longer processing time (See about Rate Monolithic
> Scheduling)
>
> As to the method to invoke WakeMeUp (which could run in ISR) is one of
> these:
> + Use the system clock via wdLib, if period is multiple (or can be made
> multiple) of the system clock rate
> + Use sysAuxClk if dependency of processing frequency and system clock can
> not be acheived.
>
> I could provide you with specific advise, but you omitted the frequency of
> processing you require.
>
> Leonid

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

Newsgroups: comp.os.vxworks
Subject: Re: Using STL map type
Date: 14 Mar 2002 01:37:54 GMT
From: merleebene@aol.com (MerleEbene)
Organization: AOL http://www.aol.com
Message-ID: <20020313203754.24447.00000994@mb-df.aol.com>
References: <Pine.LNX.4.21.0203071201570.3046-100000@ulmlx023.egnetz>

Hi!!!

Try the following:
add the following directive after the #include <map>
//
#pragma warning

This might just eliminate the error. Good luck

Lazare

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

Newsgroups: comp.os.vxworks
Subject: how do I program device driver on vxworks
Date: 13 Mar 2002 17:40:34 -0800
From: tang-xiao-ming@263.net (xmtang)
Organization: http://groups.google.com/
Message-ID: <6fe967ba.0203131740.7cda7c64@posting.google.com>

hi,all
 I'm just the beginner(outsider somewhat).I want to know how to
program the specific device driver on vxworks.Who can give me some
advice or related resouces. Generally but sincerely.
 Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: Wed, 13 Mar 2002 17:50:17 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u900h3ajm64t46@corp.supernews.com>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA> <RlKj8.4736$f5.272880@news> <3C8F757A.6050403@spamm.me.l8s.co.uk> <u8vbpk12lln4cf@corp.supernews.com> <a6oq4v$ov0$1@Tropolix.UQSS.UQuebec.CA>

I should have clarified before, but objdump and nm won't show you the
information about the code in binArray. That stuff is just hex code
extracted via binToAsm utility, then compiled. No symbol info in there but
the binArray name.

The prjConfig stuff is essentially the same kind of stuff as bootConfig and
usrConfig stuff. The same is true as before. usrInit is the one that will
be called. But before that happens BSS will be cleared. If you have errors
in memory configuration (RAM_HIGH_ADRS, etc.) then you won't be successful
in reaching your BSP. Make sure your sysHwInit() is being called and
correctly executed in your BSP. And before even that happens, you should
make sure usrInit itself is being called.

If you want to debug this in a systematic way, you should examine your
Makefile generated by the Tornado project. You will see lines like
"include $(TGT_DIR)/h/make/rules.something" in the Makefile. You should
read the rules files in the target/h/make directory to see exactly how the
binArray stuff is generated (via binToAsm) and what the entry point is for
the final output. Right before binToAsm is called to extract the code from
temporary objects (something like tmp.bin) you should use that object (tmp.o
or tmp.bin) to disassemble. Better yet, just look at how tmp.o was built in
the first place. You will see that it is built do call romInit ->
romStart -> usrInit.

That is, unless things have changed so much since the last time I looked at
all this stuff.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Read on serial does not block
Date: 13 Mar 2002 17:59:00 -0800
From: bhorowit@cs.berkeley.edu (Benjamin Horowitz)
Organization: http://groups.google.com/
Message-ID: <ab1f8a59.0203131759.5fd1b5c5@posting.google.com>

Hi,

We are having a difficulty with doing a read() on a serial port. Once
per second, computer 1 writes "hello hello\n" to /tyCo/0. This serial
port is cabled to /tyCo/0 on computer 2 using a null modem cable.
Computer 2 does the following:

1. open /tyCo/0
2. flush /tyCo/0
 ( using ioctl(serialfd, FIOFLUSH, 0) )
3. check the number of unread bytes in /tyCo/0
 ( using ioctl(serialfd, FIONREAD, &nbytes) )
4. read 12 bytes from /tyCo/0
 ( using read(serialfd, data_in, 12) )
5. check the number of unread bytes in /tyCo/0
 ( using ioctl(serialfd, FIONREAD, &nbytes) )

In steps 3 and 5, the number of bytes available is always 0. However,
in step 4, the number of bytes read is always 1! Obviously, read()
can return less than 12 -- but why should it return 1 when no bytes
are available? A return of 0 would indicate end-of-file, but why
doesn't read() just block?

Does anyone have an idea about what's causing this? Before we read(),
should we be doing a select() to block until some input is available?

Thanks,
Ben

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: 13 Mar 2002 18:04:04 -0800
From: kang.yonghong@mail.zte.com.cn (K.YH)
Organization: http://groups.google.com/
Message-ID: <d29c2180.0203131804.4177b213@posting.google.com>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk> <d29c2180.0203121645.4507dc63@posting.google.com> <3C8F422D.30607@spamm.me.l8s.co.uk> <a6ngmj$uuq$1@snoopy.bndlg.de> <3C8F5F9B.6070605@spamm.me.l8s.co.uk>

Maybe i don't describe my problem in detail,i will supply more .
Firstly, the target is a pc386 with NE2000 netcard,and its RAM is
64MB.
I boot vxworks from DOS OS,that is DOS firt starts up ,and then it
boot the vxworks.If i don't include the application project in vworks
image,the vxworks image works successfully.The way that the bootable
project is created is as follows:
a. An application project is build a archive as *.a;
b. A bootable vxworks image is created ,with a main function of the
application project is referenced is its usrAppInit.c. And then in the
Build MACRO LIBS includes the application lib *.a;
I simulated successfully in vxsim in this way. But it didn't work,when
i ported to the target pc386.
Why?
Thanks.
David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C8F5F9B.6070605@spamm.me.l8s.co.uk>...
> Michael Lawnick wrote:
>
> > Stop, stop, hooooooooo David !
> >
> >>>I originally think that vxworks image is overwriting RAM_HIGH_ADDR and
> >>>hence the boot loader code,so i change the RAM_LOW_ADRS to 00358000
>
> >>>and the RAM_HIGH_ADRS is 00008000(not changed).
>
>
> >> vxworks image size is 1.65MB,
>
>
> >>What was RAM_HIGH_ADRS before?
>
> > He's got a X86 arch (see above), where all is the other way round.
>
> > On X86 RAM_HIGH_ADRS points into low mem i.e. the lower 640kb that
>
> > BIOS can access. RAM_LOW_ADRS points to the region higher than 1Mb.
> > So X86 never has the (over-)loading problem of 68k and PPC.
>
> (ok some conjecure)
>
> Lets see, that (probably) means you have RAM from 0 to 640k and
> 1Mb upwards.
>
> If the 'bootrom' code is small enough it could be loaded between
> 32k and 640k - probably ok unless you try to rebuild it on a system
> with lots of stuff included - the boot rom doesn't have it's own
> list of features :-(
>
> The main image could be loaded anywhere above 1Mb (say 0x101000)
> giving plenty of space. The area to the top of free memory
> would be the heap space. I guess a big chunk of 1k..640k could
> be added with memPartAddToPartition().
>
> In which case RAM_LOW_ADRS of 0x358000 (3.5Mb) doesn't seem
> right at all! Places the vxWorks image right in the middle
> of DRAM. Certainly hopeless if you have 4Mb!
>
> FWIW my system was ARM, I used a compressed rom image.
> So the uncompress code was linked to RAM_HIGH_ADRS and
> the vxWorks image to RAM_LOW_ADRS.
>
> 	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: Wed, 13 Mar 2002 18:11:42 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u901p9q632s99d@corp.supernews.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk> <1d411918.0203131637.2dd9ebc1@posting.google.com>

A lot of recent hardware designs seem to insist on 4 byte aligned pointers
for receive DMA buffer pointers. TX side is less stringent (if that were
the case, software will have to employ even more tricks) typically.

However, my recollection of MPC860 style Ethernet using one of the SCC's is
that RX buffer pointers can be 16bit aligned (not 32bit). That means it is
possible to do 4n+2.

But it is useful to consider general cases where the RISC host CPU must
interface with network interfaces that require 32bit alignment in buffer
pointers (RX side). It helps for cases where you have single byte
encapsulation as well.

How does one solve this?

One way (less desirable) is to do some copying. You don't have to copy the
whole IP packet. You can just copy first 20 bytes typically (IP header)
into a seperate small mbuf and create a mbuf chain containing the complete
IP packet and send upwards. The stack will not complain, since you met the
requirements.

Another way (better) is to use multiple descriptors per packet. This
doesn't always work well, but when it works it works wonders. The idea is
to allocate 2 buffers and assocate with 2 descriptors in the RX DMA ring.
For every ethernet frame, controller will fill two descriptors. The first
will have the MAC header. The second will have IP packet. You can extend
this concept to handle almost all kinds of encapsulations.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: [AE] BSP and Device Driver Development
Date: 13 Mar 2002 18:14:42 -0800
From: strick@hiwaay.net (BS)
Organization: http://groups.google.com/
Message-ID: <d64227b2.0203131814.52deef6b@posting.google.com>

Hello,

Has anyone had luck building a VxWorks AE BSP from scratch?

I am trying to intergrate several device drivers into a new BSP and I
am having lots of problems using these drivers from a user Protection
Domain. Would anyone be willing to share experiences with device
driver integration into the AE BSP's?

Thanks

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

Newsgroups: comp.os.vxworks
Subject: try(void)
Date: 13 Mar 2002 18:29:32 -0800
From: shuiziliu@sina.com (lily)
Organization: http://groups.google.com/
Message-ID: <a1c6e5dc.0203131829.1696cfb9@posting.google.com>

void

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Wed, 13 Mar 2002 18:46:29 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u903qhdlinsg5d@corp.supernews.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com>

You can use TSC.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: select() with General Protection Fault
Date: 13 Mar 2002 18:56:46 -0800
From: shuiziliu@sina.com (lily)
Organization: http://groups.google.com/
Message-ID: <a1c6e5dc.0203131856.7be4a0bf@posting.google.com>

Hi all,

I am doing porting from Linux to VxWorks. I use select to listen
multiple socket fds. The program is running normal when my sockets are
sending and receiving messages. But at the end of the program, when
one of the socket is not sending just receiving, a General Protection
Fault are produced in the select. And the parameters are list below:

before the select:
fd_limit=12;
fd_select_list.fds_bits[0]=2304;
num_fd=1;
select_timeout.tv_sec=2;
select_timeout.tv_usec=0;

num_fds = select(fd_limit,
		&fd_select_list,
		(fd_set *)0,
		(fd_set *)0,
		(select_timeout.tv_sec== 0 && select_timeout.tv_usec == 0)?(struct
timeval *)0:&select_timeout);

after the select:
fd_select_list.fds_bits[0]=2048;
num_fd=1;
.....(no socket fds are be opened and closed through the process)
the program is waiting for other socket fds.

I have print out select parameter status when these soecket fds
running before.But it is the same as what I have listed. So it seems
nothing is wrong. But why a GPF occur when select excute?

This is the GPF info:
Exception number 0: Task: 0x4bbecd0 (t3)

General Protection Fault
Program Counter: 0x00000000
Status Register: 0x00010246

I am using Tornado Prototyper in Window 2000.
Could anybody help me? Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: help for hard disk
Date: 13 Mar 2002 19:15:20 -0800
From: winter_lin2000@yahoo.com.cn (winter)
Organization: http://groups.google.com/
Message-ID: <7863b471.0203131915.2439e089@posting.google.com>

hi vxworks,
I want use hard disk in my embedded system,and my cpu is mpc860.
my question is:
1.How should I connect hard disk to my mpc860 and what circuit is need
in my system? Which port may I use?(bus interface , parallel i/o port or
other ports)

2.If i want my disk is compliant with win98/win2000,what should I do?

3.My Os use Vxworks,what job need to do&#65292;can you give me some reference?

I am a newer,and need your help.
Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Binary Serial Communications
Date: Thu, 14 Mar 2002 04:32:06 GMT
From: "George Ross" <gkross3@tampabay.rr.com>
Organization: RoadRunner - TampaBay
Message-ID: <aJVj8.121772$Dl4.13731509@typhoon.tampabay.rr.com>

I am trying to open a serial connection between two ppcs so that I can send
8bit binary messages between them. Since I'm using 8bit binary I figure I
can't use SW handshaking. The HW handshaking seems not to be implemented
i.e. the data was sent without the control lines being hooked up just Tx,
Rx, gnd. I can get data across the serial connection but can't seem to
control it. I am also trying to put a few other things in the serial stream
(modem, phone, etc) so I need handshaking to talk to them.

Any ideas? Anyone know a good way to send 8bit binary with software
handshaking?

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd - ring buffer size
Date: 13 Mar 2002 22:14:01 -0800
From: fillmore2@arcor.de (Achim)
Organization: http://groups.google.com/
Message-ID: <9d082700.0203132214.4b5f6089@posting.google.com>
References: <9d082700.0203120647.5b0439aa@posting.google.com> <3C8E2177.D0B3BA2A@varndellengineering.com> <u8vd2b6pnk1s39@corp.supernews.com>

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u8vd2b6pnk1s39@corp.supernews.com>...
> If this device driver is based on LANCE driver, then probably 128 limit is
> derived from the fact that original LANCE had 128 limit on the descriptors.

That's probably the reason where the restrictions in the driver code
come from.

But: The controller itself supports up to 512 descriptors - we have it
working with 512/128 rx/tx descriptors in a non-vxworks environment.

I've tried to change the obvious driver settings, but it doesn't
work... - so I suspected that there are more restrictions in somwhere
in the driver code than the rmt_max/tmd_max from ln97xEnd.h

Achim.

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: Thu, 14 Mar 2002 06:22:20 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <42687eb21d35f68d6655b8afc6e6d759.77030@mygate.mailgate.org>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com> <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org> <8cd11808.0203121841.70cd9f8d@posting.google.com> <6ab3109fcd959d946780d1e4a7c60845.77030@mygate.mailgate.org> <u8vd80oh5vhh65@corp.supernews.com>

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u8vd80oh5vhh65@corp.supernews.com...
Hi Hwa,

Thanks for the response. It worked.

Thanks,
Ramesh

> There is a global pointer variable called ifnet (of type struct ifnet *).
>
> You can do: for (ifp = ifnet; ifp; ifp = ifp->if_next) to get the whole
> list of devices. The first one is pointed by ifnet.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: 13 Mar 2002 22:24:32 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203132224.15b9c86f@posting.google.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk> <6847c39a.0203122047.16035284@posting.google.com> <3C8F404D.7C2C7538@varndellengineering.com> <u8vdi6b8nqtgd2@corp.supernews.com>

Hi GV / HJB,

Thanks for the Info and I shall try out all the 4 suggestions. Here is
some details about the device I am using.

The network controller is the SMS FEAST controller (91C100FD). It sits
on an IP module LAN-100 manufactured by ACTIS computer and this IP
module is part of an IP carrier (VIPC-400) which sits on a VME bus.

Thanks and Regards,
Vittal.

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u8vdi6b8nqtgd2@corp.supernews.com>...
> The number 1 is a good observation. It illustrates the latency vs.
> throughput issue. Depending on your hard realtime requirements you should
> tune the behavior of your driver in that area.

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

Newsgroups: comp.os.vxworks
Subject: Re: Page Fault for help
Date: Thu, 14 Mar 2002 08:49:55 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6pkn4$7ge$1@snoopy.bndlg.de>
References: <d29c2180.0203120358.77d22de5@posting.google.com> <3C8E07F7.4050609@spamm.me.l8s.co.uk> <d29c2180.0203121645.4507dc63@posting.google.com> <3C8F422D.30607@spamm.me.l8s.co.uk> <a6ngmj$uuq$1@snoopy.bndlg.de> <3C8F5F9B.6070605@spamm.me.l8s.co.uk> <d29c2180.0203131804.4177b213@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e655ba.dip.t-dialin.net

Hi,
"K.YH" <kang.yonghong@mail.zte.com.cn> schrieb im Newsbeitrag
news:d29c2180.0203131804.4177b213@posting.google.com...
> Maybe i don't describe my problem in detail,i will supply more .
> Firstly, the target is a pc386 with NE2000 netcard,and its RAM is
> 64MB.
> I boot vxworks from DOS OS,that is DOS firt starts up ,and then it
> boot the vxworks.If i don't include the application project in vworks
> image,the vxworks image works successfully.The way that the bootable
> project is created is as follows:
> a. An application project is build a archive as *.a;
> b. A bootable vxworks image is created ,with a main function of the
> application project is referenced is its usrAppInit.c. And then in the
> Build MACRO LIBS includes the application lib *.a;
> I simulated successfully in vxsim in this way. But it didn't work,when
> i ported to the target pc386.
> Why?
> Thanks.
If your vxWorks builds successfully and you don't do a symFindByName() to
find dynamically a functions address, the only thing I can imagine is a
missing initialisation of a library that works with function tables (e.g.
cacheLib and others).

Away from your line: you say you are building a 'bootable vxworks image' and
'boot vxworks from DOS OS'. How do you do that ? I am asking, because I
always thought, this wouldn't be possible on X86. I thought on X86 you
always have to go trough a bootrom.sys (loaded instead of io.sys or from
boot menu in autoexec.bat) that will then load the VxWorks Image.
Can you tell me the trick? How can BIOS load the image directly to hi-mem
(>1MB)?
What are your workspace settings to achieve that ?
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

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

Newsgroups: comp.os.vxworks
Subject: Re: Binary Serial Communications
Date: Thu, 14 Mar 2002 08:21:33 -0000
From: "Thomas Horsten" <nospam-thomas.horsten@newport-networks-nospam.com>
Organization: Newport Networks Ltd.
Message-ID: <1016094101.74523@azores.network-i.net>
References: <aJVj8.121772$Dl4.13731509@typhoon.tampabay.rr.com>

George Ross wrote:

> I am trying to open a serial connection between two ppcs so that I can
send

> 8bit binary messages between them. Since I'm using 8bit binary I figure I

> can't use SW handshaking. The HW handshaking seems not to be implemented

> i.e. the data was sent without the control lines being hooked up just Tx,

> Rx, gnd. I can get data across the serial connection but can't seem to

> control it. I am also trying to put a few other things in the serial
stream

> (modem, phone, etc) so I need handshaking to talk to them.

>

> Any ideas? Anyone know a good way to send 8bit binary with software

> handshaking?

You need some sort of encapsulation of your binary data if you want to use
software handshaking (it uses the ASCII XON/XOFF characters).

For example you could base64 encode your binary data for sending over the
link. See http://www.scripting.com/midas/base64/source.html for this. You
could also use a file transfer protocol designed for non-8bit clean
connections such as Kermit or Xmodem, but while these provide error checking
and correction they are far from optimal in performance.

If you only need the basic software handshaking and you don't need to follow
any standards, the above is probably overkill, and you should probably just
do your own encoding. Define an escape character (eg. 0x7f, or another
character that occurs infrequently in your data). When you want to transmit
the XON/XOFF characters as part of your binary stream you simply send 0x7f
followed by eg. 0x01 for XON and 0x02 for the XOFF character. To send the
escape character literally just repeat it twice. Do this at the lowest layer
possible (ie. in the functions actually receiving/sending characters from/to
the device) to make this encoding as transparant as possible.

Hope that helps.

// Thomas

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Thu, 14 Mar 2002 10:40:26 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$b7iysg$313$1@lnews.actcom.co.il>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com>

Allen,

you can get the frequencies you need on a x86 BSP,
but you may need to slightly change to BSP to do that.
Simply, do not use the RTC for the AuxClk, use the Counter/Timer chip.

"Allen Chang" <allencyl@my-deja.com> wrote in message
news:5c074538.0203131643.765b42c2@posting.google.com...
> Hello Leonid,
>
> The reason I ask is because the freuqency I want to set is not
> all supported by sysAuxClk. So far as I know in the x86 platform,
> the auxClk only support 2**1, 2**2, 2**3 ~ 2**13 Hz, if I set
> the frequency as 240 Hz, it will NOT give me the 240Hz timer.
>
> The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
> And I know that the 320, 80, 160, 240 Hz will not execute accurately,
> that is what my question.
>
> Regards,
>
> Allen Chang
>
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$fopwsg$pro$1@lnews.actcom.co.il>...
> > There are basically these methods for periodical processing,
> > each is a tradeoff between timing accuracy (jitter) and processing
> > time, and wakeup freqnecy.
> >
> > Suppose you create a function, WakeMeUp(), which would be invoked
> > with the frequency required for processing.
> > If processing time is long (e.g. >200 microsec), there should be a
dedicated
> > task tperforming the proessing, and WakeMeUp would only Give a semaphore
on
> > which the task is Pending. If the processing is short, it can be done
within
> > WakeMeUp. The deditated task's priority is too a tradeoff of the same
sort -
> > the higher priority would give less jitter and lower priority is more
> > appropriate for longer processing time (See about Rate Monolithic
> > Scheduling)
> >
> > As to the method to invoke WakeMeUp (which could run in ISR) is one of
> > these:
> > + Use the system clock via wdLib, if period is multiple (or can be made
> > multiple) of the system clock rate
> > + Use sysAuxClk if dependency of processing frequency and system clock
can
> > not be acheived.
> >
> > I could provide you with specific advise, but you omitted the frequency
of
> > processing you require.
> >
> > Leonid

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

Newsgroups: comp.os.vxworks
Subject: Re: help for hard disk
Date: Thu, 14 Mar 2002 10:44:44 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$heiysg$713$1@lnews.actcom.co.il>
References: <7863b471.0203131915.2439e089@posting.google.com>

One way to do this, is use the 860's PCMCIA interface
to connec to a CompactFlash disk, and then use dosFs
on top of that.
CF is a subset of PCMCIA signals, and you can also use
a mechanical adapter to connect CF cards onto the ADS860 eval board.

Leonid

"winter" <winter_lin2000@yahoo.com.cn> wrote in message
news:7863b471.0203131915.2439e089@posting.google.com...
> hi vxworks,
> I want use hard disk in my embedded system,and my cpu is mpc860.
> my question is:
> 1.How should I connect hard disk to my mpc860 and what circuit is need
> in my system? Which port may I use?(bus interface , parallel i/o port or
> other ports)
>
> 2.If i want my disk is compliant with win98/win2000,what should I do?
>
> 3.My Os use Vxworks,what job need to do&#65292;can you give me some
reference?
>
> I am a newer,and need your help.
> Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Reception of broadacted UDP messages on the same host
Date: Thu, 14 Mar 2002 10:54:29 +0200
From: "Vassilis Panagiotopoulos" <bpan@intracom.gr>
Organization: Intracom S.A., GREECE
Message-ID: <a6pp4r$j8b$1@newsserv.intranet.gr>

I'm trying unsuccessfully to receive broadcasted UDP messages send by

a task located on the SAME host with the receiver.

The following scenario is based on a demo app,

found in ..\Tornado\target\src\demo\dg\dgTesc.c:

I'm running a sender/receiver pair of tasks on a PPC860 board,

with IP address 191.191.191.1 and broadcast address 191.191.255.255.

I'm using two sockets, socket A which is able to broadcast(

(SO_BROADCAST flag set with setsockopt()), and socket B, which is able

to receive broadcasts. Both have been verified with an external application

hosted on a Win2000 PC to work as intended, regarding broadcasted UDP
messages.

The problem is that socket B is not able to receive the broadcasts send by
A,

ie the VxWorks network stack seems to exclude reception of a broadcast
message

when the sender is located on the same host with the receiver. This is not

the case for the Win2000 application though, where a broadcasted message

from there is received by both socket B AND another receiver hosted on the
PC.

I suspect that there might be a way to enable this feature on the VxWorks
also,

if anybody knows how, please tell me so.

- --
Bill Panos

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

Newsgroups: comp.os.vxworks
Subject: Re: PCI memory space
Date: 14 Mar 2002 01:13:06 -0800
From: burst_slick@cmmail.com (slick)
Organization: http://groups.google.com/
Message-ID: <f2dc201b.0203140113.13f2b4e6@posting.google.com>
References: <2b0ae335.0203070425.4ca35b57@posting.google.com>

emycall@dreamx.net (Ahn Jung Hoon) wrote in message news:<2b0ae335.0203070425.4ca35b57@posting.google.com>...
> Hi, all
>
> I have a problem in accessing pci memory space
>
> Previously,
> My work space is..
>
> VxWorks version 5.4
> KERNEL: WIND version 2.5
> CPU: Motorola Unknown - MPC 750. Processor #0.
> Memory Size: 0x10000000. BSP version 1.2/0.
> WDB: Ready.
>
> well..
> I have PCI memory card, and it's size is 256MB..
>
> By default, it was written in MV2600.h
> #define CPU_PCI_MEM_SIZE	0x01000000	/* 16 meg */
>
> so, I modified it as following..
> #define CPU_PCI_MEM_SIZE	0x20000000	/* 256 meg */
>
> Then I met data access error as following..
>
> -------------------------------------------------------
> -> pciHeaderShow(0, 0x10, 0)
> vendor ID = 0x11b0
> device ID = 0x0200
> command register = 0x0002
> status register = 0x0000
> revision ID = 0x00
> class code = 0x05
> sub class code = 0x00
> programming interface = 0x00
> cache line = 0x00
> latency time = 0xf8
> header type = 0x00
> BIST = 0x00
> base address 0 = 0x10000000
> base address 1 = 0x00000000
> base address 2 = 0x00000000
> base address 3 = 0x00000000
> base address 4 = 0x00000000
> base address 5 = 0x00000000
> cardBus CIS pointer = 0x00000000
> sub system vendor ID = 0x4754
> sub system ID = 0x0005
> expansion ROM base address = 0x00000000
> interrupt line = 0x03
> interrupt pin = 0x00
> min Grant = 0x00
> max Latency = 0x00
> value = 0 = 0x0
> -> d 0x10000000
> 10000000:
> data access
> Exception current instruction address: 0x0015c070
> Machine Status Register: 0x0000b030
> Data Access Register: 0x10000000
> Condition Register: 0x48200080
> Data storage interrupt Register: 0x40000000
>
> 1812e0 vxTaskEntry +60 : shell ()
> 177118 shell +18c: 177144 ()
> 177368 shell +3dc: execute ()
> 1774ec execute +d8 : yyparse ()
> 1a96ec yyparse +7a8: 1a7634 ()
> 1a77ac yystart +8f8: d ()
> shell restarted.
> --------------------------------------------------------------
>
> But When I modified it as following, I could success to display and modified
> at PCI_BASE_ADDR(0x08000000)..
> #define CPU_PCI_MEM_SIZE	0x10000000	/* 128 meg */
>
> ..
>
> I think that only what I had to do is to modify CPU_PCI_MEM_SIZE
> for memory access more than 16MB..
>
> But.. Maybe, it seems to be incorrect..
>
> Please..
> Can anybody let me understand in the easiest way what is problem.

Hi, All
 I don't know the download the S-record files to system from
keyboard ( SCC) in Dink32 PMC8245. and how to specify the address by
what and ways, etc.
the usage :
 dl -k -o 90000 (ok?)
 thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: Read on serial does not block
Date: 14 Mar 2002 10:20:09 +0100
From: Reinhold Wirth <wirth@softec.de>
Organization: WEB.DE
Message-ID: <3c906b49$1@netnews.web.de>
References: <ab1f8a59.0203131759.5fd1b5c5@posting.google.com>

Hi Benjamin,

bhorowit@cs.berkeley.edu (Benjamin Horowitz) wrote:
>Hi,
>
>We are having a difficulty with doing a read() on a serial port. Once
>per second, computer 1 writes "hello hello\n" to /tyCo/0. This serial
>port is cabled to /tyCo/0 on computer 2 using a null modem cable.
>Computer 2 does the following:
>
>1. open /tyCo/0
>2. flush /tyCo/0
> ( using ioctl(serialfd, FIOFLUSH, 0) )
>3. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
>4. read 12 bytes from /tyCo/0
> ( using read(serialfd, data_in, 12) )
>5. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
>
>In steps 3 and 5, the number of bytes available is always 0. However,
>in step 4, the number of bytes read is always 1! Obviously, read()
>can return less than 12 -- but why should it return 1 when no bytes
>are available? A return of 0 would indicate end-of-file, but why
>doesn't read() just block?
>
>Does anyone have an idea about what's causing this? Before we read(),
>should we be doing a select() to block until some input is available?
>

I think your read() is blocked until the first char is received. The following
ioctl (FIONREAD) returns 0 (not byte is received between the function call read
and ioctl).

If you expect a blocking until "\n" is received, try it with ioctl (serialfd,
FIOSETOPTIONS, OPT_TERMINAL).

- --
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] What is the bootApp entry point in RAM?
Date: 14 Mar 2002 01:51:54 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203140151.456ada86@posting.google.com>
References: <a6nqo9$i60$1@Tropolix.UQSS.UQuebec.CA> <RlKj8.4736$f5.272880@news> <3C8F757A.6050403@spamm.me.l8s.co.uk> <u8vbpk12lln4cf@corp.supernews.com> <a6oq4v$ov0$1@Tropolix.UQSS.UQuebec.CA>

Hello,

> There are no bootConfig.c and usrConfig.c anymore in VxWorks AE. usrInit
> has been moved to prjConfig.c. When I talked about a ROM version, I talked
> about a full VxWorks AE system ROM image that contains the boot loader and a
> VxWorks image that will be copied in RAM, not a ROM image that executes in
> ROM. In fact, my question was what is executed after romStart(). Is it
> different for a bootApp and a VxWorks AE ROM system image? I used the nm
> and objdump tools on my image (bootApp_romCopy) but they gave me only the
> boot objects symbols and not the vxWorks boot kernels image.

OK, this is confusing... first you say you are talking about a full
VxWorks AE image copied from ROM, the you are saying that you looked
in bootApp_romCopy, which is a bootloader project...

If you haven't already found it, there is an app note on WindSurf
about creating ROM based systems (i.e. full VxWorks AE images, not
just the bootApp images). From your description, it sounds as though
you are trying to create a full system (perhaps multi-domain?) from a
bootApp project. This will not work. Instead, you just need to select
a different build type for your system project. That will get you a
ROMable image. How to do this is described in the app note which can
be read here:

http://web1.windriver.com/windsurf/appnotes/ide/tae/APN69/romming.html

Now, as for the addresses that things start executing at...

The address that is jumped to is ABS_ENTRY_ADRS. This is defined in
h/make/make.<ARCH> as (basically) RAM_ENTRY_ADRS. That macro changes
value according to whether a bootApp or a full system is being built.
In the bootApp case, it is RAM_HIGH_ADRS; for the full system
RAM_LOW_ADRS.

So, that gets you an address. Now, to verify the code that is being
executed, take a look in the <ARCH>gnu.debug_romCopy subdirectory of
your system project. You should find a file called vxKernel.sm. This
is the image of your kernel prior to conversion into a payload for the
ROM installer. You can use objdump etc on this to get the information
you need.

In the case of the system I have here, when I build for an
ARMARCH4gnu.debug_romCopy build, I get a vxKernel.sm file that starts
at 0x1000 (the value of RAM_LOW_ADRS) with the _sysInit routine from
sysALib.s in my BSP.

HTH.

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] BSP and Device Driver Development
Date: 14 Mar 2002 01:59:47 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203140159.172eb9a0@posting.google.com>
References: <d64227b2.0203131814.52deef6b@posting.google.com>

Hello,

> Has anyone had luck building a VxWorks AE BSP from scratch?

Yes.

> I am trying to intergrate several device drivers into a new BSP and I
> am having lots of problems using these drivers from a user Protection
> Domain. Would anyone be willing to share experiences with device
> driver integration into the AE BSP's?

OK, well, you need to provide a lot more information about what you
are doing. Here's a good set of questions to start with:

1) How is your driver built? Pre-compiled and included as a binary
component, built using the configlette mechanism, or built as a
source/component project?

2) Is your driver an I/O system one, or just a library that exports a
number of routines for users to call?

3) Does it do any asynchronous or DMA transfers? Does it copy data
directly between user space and the device somehow, or does it buffer
the data first?

4) Does it create any kernel objects (e.g. semaphores) or
allocate/free any memory (e.g. call malloc())

Finally, tell us more about the sorts of problems you are seeing...
does it crash, or just not work correctly?

Rgds,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: Read on serial does not block
Date: 14 Mar 2002 02:15:15 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203140215.7c84ba53@posting.google.com>
References: <ab1f8a59.0203131759.5fd1b5c5@posting.google.com>

Hello,

Most likely is that the read is blocking until your first byte
arrives. As soon as a byte is available, read will return it. That
will leave the buffer clear again when next checked in step 5.

You don't say the speed of your serial line, but think about this...
Assume a 9600 bits per second line (the default for VxWorks). That
means you get around 1000 bytes every second (round up for easeof
estimation and remember that there are 10 bits per character on the
wire when you include start and stop bits in 8n1). That's one every
millisecond or so.

Now, I suspect that the time between your read returning the first
character and you checking for more is less that a millisecond, so
there are no more characters available.

HTH,

John...

bhorowit@cs.berkeley.edu (Benjamin Horowitz) wrote in message news:<ab1f8a59.0203131759.5fd1b5c5@posting.google.com>...
> Hi,
>
> We are having a difficulty with doing a read() on a serial port. Once
> per second, computer 1 writes "hello hello\n" to /tyCo/0. This serial
> port is cabled to /tyCo/0 on computer 2 using a null modem cable.
> Computer 2 does the following:
>
> 1. open /tyCo/0
> 2. flush /tyCo/0
> ( using ioctl(serialfd, FIOFLUSH, 0) )
> 3. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
> 4. read 12 bytes from /tyCo/0
> ( using read(serialfd, data_in, 12) )
> 5. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
>
> In steps 3 and 5, the number of bytes available is always 0. However,
> in step 4, the number of bytes read is always 1! Obviously, read()
> can return less than 12 -- but why should it return 1 when no bytes
> are available? A return of 0 would indicate end-of-file, but why
> doesn't read() just block?
>
> Does anyone have an idea about what's causing this? Before we read(),
> should we be doing a select() to block until some input is available?
>
> Thanks,
> Ben

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

Newsgroups: comp.os.vxworks
Subject: question about END driver's unload function......
Date: 14 Mar 2002 02:46:06 -0800
From: lig@catt.ac.cn (bjlig)
Organization: http://groups.google.com/
Message-ID: <73a87e9d.0203140246.b1c5627@posting.google.com>

hi,all:

 cpu: 8260

 turnado 2, vxworks 5.4

 i write an END driver, but when i try to unload it by call
muxDevUnload(END_OBJ),the unload routine suspended in
muxDevUnload(),but my endUnload has been loaded and finished. (i
traced it with debug)

 at first , i only call the END_OBJECT_UNLOAD(pEnd) routine in my
endUnload(), the routine is suspended. then i add some code to free
the clusternetpool and ClDescTbl.memarea and
MclBlkConfig.memArea,but it does not help anything.

 if anyone could tell me what i need to do to unload my end driver?

thanx in advance!

roman

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

Newsgroups: comp.os.vxworks
Subject: trgEvent user event triggering
Date: 14 Mar 2002 03:22:31 -0800
From: rcheshmehdoost@t-modus.nec.co.uk (Ray. Cheshmehdoost)
Organization: http://groups.google.com/
Message-ID: <96369127.0203140322.27098932@posting.google.com>

Hi all

I am having problem with WindView capturing the user instrumented
triggering events. I need to use user triggering events, these will
allow me to carry out some timing analysis on my application
performance.

Here is a summery:

 Under VxWorks development tools components triggering library is
included. (e.g trgLib.h private/trgLibP.h trgLib.o, and trgInit () is
called when traget powers up)

 Application code initialization for user triggering events:

 trgLibInit();
 trgOff();
 trgAdd(40010,TRG_ENABLE,FROM_ANY_WHERE..........., ETC);
 trgAdd(40020,TRG_ENABLE,..........., ETC);
 ....
 ....
 trgOn();

 Actual embedded triggering is simple call to:
 trgEvent(40010);
 or
 Even e(event_t X, 0, 0, 0); does not work

 Run application, code runs through placed triggering event points,
but WindView doesn't seem to see these events.

Many thanks
Ray

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 06:29:00 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C90897C.3008AF07@varndellengineering.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov>

Dinker Charak wrote:
[snip]
> Technical service at Windriver is not too excited to solve the issue
> inspite of the fact they too were able to replicate the problem. Am
> interested in knowing if anyone of you out there has this problem too.
> It is observed in VxWorks 5.4.2 kernels on MV2400 and MV2301 (at least).

I recently attended a seminar, held by one of WR partners, in which we
were shown a profiling tool -- I'm not going to name names.
The live-target demo of this profiling tool clearly showed that the
greatest amount of CPU time was being spent in this polling of the PHY.
While it stood out like a sore thumb to me, I don't know that any other
attendees really picked up on it. I just had to laugh inside because
there were, of course, WR sales people there who had no clue that their
fly was open.

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD.
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

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

From vxwexplo-errs@csg.lbl.gov Thu Mar 14 14:42:53 2002
From: "Venkat" <venkat@peribit.com>
Date: Thu Mar 14 14:42:55 PST 2002
Subject: VxWwroks equilavent of Linux outb, inb commands

Can someone point to me the equivalent of 'outb' and 'inb' commands in
VxWorks?
Your response will be appreciated.

Thanks, Venkat

Linux code
========
int siocgfport 0x2e, val;
outb ( 0x55, siocfgport);
outb (0x20, siocfgport);
val = inb (siocfgport+1);

Equivalent VxWorks code ?????
========================
int siocgfport 0x2e, val;
?????

From vxwexplo-errs@csg.lbl.gov Fri Mar 15 01:27:59 2002
From: Rainer Stelzer <r.stelzer@stoye.de>
Date: Fri Mar 15 01:28:01 PST 2002
Subject: Re: VxWwroks equilavent of Linux outb, inb commands

Hi,

>
> Can someone point to me the equivalent of 'outb' and 'inb' commands in
> VxWorks?
> Your response will be appreciated.
>
> Thanks, Venkat
>
> Linux code
> ========
> int siocgfport 0x2e, val;
> outb ( 0x55, siocfgport);
> outb (0x20, siocfgport);
> val = inb (siocfgport+1);
>
> Equivalent VxWorks code ?????
> ========================
> int siocgfport 0x2e, val;

the vxworks equivalent is
sysOutByte (siocfgport,0x20);
and
val = sysInByte (siocfgport+1);

rgds

R.Stelzer

=====================================================
 Gebrder Stoye GmbH
department: traffic control systems
 name: Rainer Stelzer
 adr: Longericher Strasse 177
 city: Cologne, Germany
 zip: 50739
 mobil: 0173/7266090
 phone: ++49/221/285301-11
 fax: ++49/221/285301-10
 mailto: r.stelzer@stoye.de
 www: http://www.stoye.de
=====================================================

From vxwexplo-errs@csg.lbl.gov Fri Mar 15 04:03:25 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Mar 15 04:03:27 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Fri Mar 15 04:03:20 PST 2002

 Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
 Subject: Setting an ethernet port to full duplex
 Subject: Problem in attaching cpm
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: end driver: number of buffers & ipAttach problem (ln97xEnd)
 Subject: Re: how do I program device driver on vxworks
 Subject: Re: Task ID & Task name
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: question about END driver's unload function......
 Subject: Re: Task ID & Task name
 Subject: Re: Setting an ethernet port to full duplex
 Subject: Re: BSD Ethernet Driver
 Subject: [AE] BSP and drivers
 Subject: Re: Task ID & Task name
 Subject: Re: Binary Serial Communications
 Subject: Re: tNetTask takes too long?
 Subject: Re: how do I program device driver on vxworks
 Subject: Re: tNetTask takes too long?
 Subject: Re: BSD Ethernet Driver
 Subject: Re: try(void)
 Subject: Re: Read on serial does not block
 Subject: Re: help for hard disk
 Subject: VxWorks and Diamond's Prometheus
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: tNetTask takes too long?
 Subject: Re: tNetTask takes too long?
 Subject: Re: tNetTask takes too long?
 Subject: Re: question about END driver's unload function......
 Subject: Re: ln97xEnd - ring buffer size
 Subject: Re: tNetTask takes too long?
 Subject: Re: Setting an ethernet port to full duplex
 Subject: Re: tNetTask takes too long?
 Subject: Re: Reception of broadacted UDP messages on the same host
 Subject: dosFs2 cluster sizes
 Subject: Re: [AE] BSP and Device Driver Development
 Subject: Re: [AE] BSP and drivers
 Subject: Re: tNetTask takes too long?
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: question about END driver's unload function......
 Subject: Re: Reception of broadacted UDP messages on the same host
 Subject: Re: Setting an ethernet port to full duplex
 Subject: Re: question about END driver's unload function......
 Subject: Sandpoint3 system
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: help for hard disk
 Subject: muxDevStart function failed.
 Subject: Re: [AE] BSP and drivers
 Subject: Re: help for hard disk
 Subject: Virtual keyboard in PJWorks
 Subject: Re: dosFs2 cluster sizes
 Subject: Re: [AE] BSP and drivers
 Subject: problem about RapidControl
 Subject: Re: how do I program device driver on vxworks
 Subject: Wanted SupportFreaks.com Scouts
 Subject: What cause my USB driver error, .o or .a?
 Subject: Looking for a Fortran compiler
 Subject: Re: What cause my USB driver error, .o or .a?

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

Newsgroups: comp.os.vxworks
Subject: Re: A question about ifunit( ) && extern struct ifnet *ifnet?
Date: 14 Mar 2002 05:01:46 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203140501.15cd0658@posting.google.com>
References: <8cd11808.0203111953.52ac6949@posting.google.com> <4a7f0d21.0203120006.3d87515c@posting.google.com> <b5e4934ecc7257268b264cc275faf150.77030@mygate.mailgate.org> <8cd11808.0203121841.70cd9f8d@posting.google.com> <6ab3109fcd959d946780d1e4a7c60845.77030@mygate.mailgate.org>

hi,
do you read the book? In the TCP/IP Illustrated vol 2(Implented) :the
chapter about interface layer. Perhaps i made a mistake last time.
I havn't do the thing you do.
perhaps you can make use of the value "if_index"? The interface whose
if_index =1 is the first interface in the system.

And you also can try the way Hwa Jin Bae told.Use the global varible:
extern struct ifnet *ifnet;
the poiner ifnet is the fist element of list.

Wish you good lucky!!

"Ramesh Krishnan" <rashanmu@npd.hcltech.com> wrote in message news:<6ab3109fcd959d946780d1e4a7c60845.77030@mygate.mailgate.org>...
> >
> > Ramesh ,I think you can get.
> > first you must get one interface name in your system. perhaps you
> > can do this by ioctl func. and you also can use the global
> > value:"extern struct ifnet *ifnet;".then your get the ifnet of one
> > interface.
> > every interface have an ifnet struct ,and all ifnet struct
> > constructed a list.you can look into "net/if.h" in vxworks.Use the
> > pointer:struct	ifnet *if_next you can view all the ifnet struct.that
> > mean you can view all the interfaces info.
> > Do you catch my mean?Wish those word can help you! You can also read
> > the book"
> > TCP/IP Illustrated volume 3" to see the details!!Suggest you read the
> > book!!
>
> HI Zhang,
>
> Yeah i have gone through the Vol 3 TCP/IP. But as you mentioned how to
> get the "first" interface name of the target. Because the ifnet
> structure is for every interface and it is a singly linked list where
> *next pointer points to the next itnerface. But how do we ensure that
> the interface name we are getting with the ioctl is the first ( Also how
> to get a interface name alone with ioctl. Is it SIOGIFCONF? for this
> request ifreq structure is the arguement, the ifreq structure contains a
> name of a interface, but will it be the first ? have you tried this
> thing? will it also have a pointer to the localhost "l0" interface also?
> ). Yeah nice to have discussions in future too, since sharing is the
> better way of learning.
>
> Thanks,
> Ramesh

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

Newsgroups: comp.os.vxworks
Subject: Setting an ethernet port to full duplex
Date: 14 Mar 2002 05:05:40 -0800
From: sandeep@eventhelix.com (Sandeep)
Organization: http://groups.google.com/
Message-ID: <9d8984ab.0203140505.3529a3ba@posting.google.com>

Hi,

How can I set an ethernet port to operate in full duplex? What command/
configuration changes are required to accomplish this in VxWorks?

Thanks in advance,

Sandeep
- --
www.EventHelix.com
Distributed, Realtime and Embedded Software Development

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

Newsgroups: comp.os.vxworks
Subject: Problem in attaching cpm
Date: Thu, 14 Mar 2002 22:06:23 +0900
From: =?EUC-KR?B?wMzA58jG?= <jhoonlee@neowave.co.kr>
Organization: Neowave, Inc.
Message-ID: <3C90A04F.3060102@neowave.co.kr>

Hi,

I am developing MPC860 board with ethernet interface.

I found that rommed application counldn't attach cpm.
Messages are shown like this:
- ---------------------------- begin of message
Failed to attach to device Network interface unknwon

Attaching interface lo0 ... done

... <-- WDB related messages are in here.
0x1ffdf8: task deadCan't attach unknwon device (unit 0)
- ---------------------------- end of message

In BSP rom, network interface was normally functioned wid WDB agent.

What was wrong?

Thanks in advance.

- --
===--------------------------------------------------===
Jaehoon Lee Engineer, NeoWave Inc.
Tel: +82-31-380-4922 FAX: +82-31-380-4747
mailto:jhoonlee@neowave.co.kr http://www.neowave.co.kr
===--------------------------------------------------===

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Thu, 14 Mar 2002 14:21:53 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c90a3ec@brateggebdc5.br-automation.co.at>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com>

Hi,

Do you need them alternatively, or all of them at once?

If you need all of them, you might try to have some master timer that
triggers the slower ones.

Given your numbers, you'd need a 3840 Hz clock to derive all your clocks.

You'd run a routine that counts the ticks and triggers that action every n
ticks, where n is:

12 for 320 Hz (3840 / 12)
16 for 240 Hz
24 for 160 Hz
48 for 80 Hz

15 for 256 Hz
30 for 128 Hz
...

In case you need only one, of course you should adapt the clock rate.

hth
Werner

"Allen Chang" <allencyl@my-deja.com> wrote in message
news:5c074538.0203131643.765b42c2@posting.google.com...
> Hello Leonid,
>
> The reason I ask is because the freuqency I want to set is not
> all supported by sysAuxClk. So far as I know in the x86 platform,
> the auxClk only support 2**1, 2**2, 2**3 ~ 2**13 Hz, if I set
> the frequency as 240 Hz, it will NOT give me the 240Hz timer.
>
> The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
> And I know that the 320, 80, 160, 240 Hz will not execute accurately,
> that is what my question.
>
> Regards,
>
> Allen Chang
>
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$fopwsg$pro$1@lnews.actcom.co.il>...
> > There are basically these methods for periodical processing,
> > each is a tradeoff between timing accuracy (jitter) and processing
> > time, and wakeup freqnecy.
> >
> > Suppose you create a function, WakeMeUp(), which would be invoked
> > with the frequency required for processing.
> > If processing time is long (e.g. >200 microsec), there should be a
dedicated
> > task tperforming the proessing, and WakeMeUp would only Give a semaphore
on
> > which the task is Pending. If the processing is short, it can be done
within
> > WakeMeUp. The deditated task's priority is too a tradeoff of the same
sort -
> > the higher priority would give less jitter and lower priority is more
> > appropriate for longer processing time (See about Rate Monolithic
> > Scheduling)
> >
> > As to the method to invoke WakeMeUp (which could run in ISR) is one of
> > these:
> > + Use the system clock via wdLib, if period is multiple (or can be made
> > multiple) of the system clock rate
> > + Use sysAuxClk if dependency of processing frequency and system clock
can
> > not be acheived.
> >
> > I could provide you with specific advise, but you omitted the frequency
of
> > processing you require.
> >
> > Leonid

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

Newsgroups: comp.os.vxworks
Subject: end driver: number of buffers & ipAttach problem (ln97xEnd)
Date: 14 Mar 2002 05:36:32 -0800
From: fillmore2@arcor.de (Achim)
Organization: http://groups.google.com/
Message-ID: <9d082700.0203140536.767087ca@posting.google.com>

Hi,

I've got problems with increasing the number of buffers for the lnPci
ethernet driver:

After adapting some settings and restrictions in ln97xEnd I can set
the number of RMDs & TMDs to 128. For more buffers (up to 512
supported by the controller) the mux init seems ok, but the ipAttach
no longer works.

I'm doing muxDevLoad(...) & muxDevStart(), - and after that, I get the
same result with muxShow for 128 and 256 buffers:
- -> muxShow
Device: ln Unit: 0 [the driver has been renamed from lnPci to ln]
Description: AMD 79C970 Lance PCI Enhanced Network Driver
value = 0 = 0x0

If I call ipAttach(0,"ln")(and ifMaskSet(), ifAddrSet()), all works
fine for 128 buffers. But with 256 buffers, I get the following error
display after calling ipAttach:
0x1cd994d0 (tShell): Can't attach unknown device ln (unit 0).

This seems kind of strange to me, for it works with 128 buffers and
mux seems to know the device with more than 128 buffers, too... And
there should also be enough memory.

Has anyone made a similar experience or has an idea why this happens?

Thanks in advance,
Achim

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

Newsgroups: comp.os.vxworks
Subject: Re: how do I program device driver on vxworks
Date: 14 Mar 2002 05:45:41 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203140545.294d2fae@posting.google.com>
References: <6fe967ba.0203131740.7cda7c64@posting.google.com>

Hi,
WRS provides BSP developer's kit which contains useful information on
how to write device drivers with VxWorks. Also, the programming
manuals will be useful.

tang-xiao-ming@263.net (xmtang) wrote in message news:<6fe967ba.0203131740.7cda7c64@posting.google.com>...
> hi,all
> I'm just the beginner(outsider somewhat).I want to know how to
> program the specific device driver on vxworks.Who can give me some
> advice or related resouces. Generally but sincerely.
> Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: Task ID & Task name
Date: Thu, 14 Mar 2002 09:04:41 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <342k8.3728$T_.69299@iad-read.news.verio.net>
References: <3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk>

You can use the "i" commands in the shell to see what taksId corresponds
to a name. Findin out the currently executing task is hard because if you
use the "i" command to display it, then the shell is the currently executing
task while the lask list is being displayed.

doug

":-)" <.@.dk> wrote in message
news:3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk...
> Hi,
>
> I'm new in VxWorks and have some problems.
>
> My first problem is that I need to know which Task ID currently is
> executing.
>
> The second problem is how to translate the Task ID to the name given as
> parameter to the taskSpawn() function.
>
> Please reply to group.
>
> BR
> Lars
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Thu, 14 Mar 2002 14:04:37 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C90AE69.10201@spamm.me.l8s.co.uk>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at>

>>The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
>>And I know that the 320, 80, 160, 240 Hz will not execute accurately,
>>that is what my question.

How accurate do you need these?
Is 'long term' or 'short term' most important?

Don't set the normal clock much above 2k - things start
breaking if you do (select() fails above 2147Hz)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: question about END driver's unload function......
Date: Thu, 14 Mar 2002 14:05:14 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C90AE8E.10003@spamm.me.l8s.co.uk>
References: <73a87e9d.0203140246.b1c5627@posting.google.com>

> if anyone could tell me what i need to do to unload my end driver?

reboot

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Task ID & Task name
Date: Thu, 14 Mar 2002 15:06:12 +0100
From: ":-\)" <.@.dk>
Organization: TDC Internet
Message-ID: <3c90ae56$0$92566$edfadb0f@dspool01.news.tele.dk>
References: <3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk>

Use taskIdSelf() & taskName()

Thanks to myself ;-)

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting an ethernet port to full duplex
Date: Thu, 14 Mar 2002 09:07:24 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <C62k8.3729$T_.69254@iad-read.news.verio.net>
References: <9d8984ab.0203140505.3529a3ba@posting.google.com>

I'm pretty sure that is either BSP specific or you have to go
right to the controller to do it. On our platform the ethernet
controllers are on a Galileo chip and we have to go right to
a register to set a bit.

doug

"Sandeep" <sandeep@eventhelix.com> wrote in message
news:9d8984ab.0203140505.3529a3ba@posting.google.com...
> Hi,
>
> How can I set an ethernet port to operate in full duplex? What command/
> configuration changes are required to accomplish this in VxWorks?
>
> Thanks in advance,
>
> Sandeep
> --
> www.EventHelix.com
> Distributed, Realtime and Embedded Software Development

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Thu, 14 Mar 2002 09:33:27 -0500
From: George Varndell <george@varndellengineering.com>
Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net
Message-ID: <3C90B4B7.F209AC42@varndellengineering.com>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk> <6847c39a.0203122047.16035284@posting.google.com> <3C8F404D.7C2C7538@varndellengineering.com> <u8vdi6b8nqtgd2@corp.supernews.com> <6847c39a.0203132224.15b9c86f@posting.google.com>

Vittal wrote:
>
> Hi GV / HJB,
>
> Thanks for the Info and I shall try out all the 4 suggestions. Here is
> some details about the device I am using.
>
> The network controller is the SMS FEAST controller (91C100FD). It sits
> on an IP module LAN-100 manufactured by ACTIS computer and this IP
> module is part of an IP carrier (VIPC-400) which sits on a VME bus.

I thought so. I get several jobs a year from the 91C... chips.
The problem is not the chips, they're screwy but they can made to
perform well. It just takes a rework of whatever driver the customer
dug up from Wind or wherever. When you start seeing the performance
gains you're looking for, then you'll have fun finding all the race
conditions and unprotected critical regions that make the driver
lock up. Good luck.

Regards,
George Varndell
- --
Embedded Systems Expertise Varndell Engineering, LLC.
http://www.varndellengineering.com Cumberland MD.
______________________________________________________________________________
Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net

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

Newsgroups: comp.os.vxworks
Subject: [AE] BSP and drivers
Date: 14 Mar 2002 08:30:49 -0800
From: strick@hiwaay.net (BS)
Organization: http://groups.google.com/
Message-ID: <d64227b2.0203140830.769abf2a@posting.google.com>

Does anyone have any experience integrating device drivers into the
base x86 Tornado AE BSP's? I need to know exactly what I need to do to
make the driver accessible to the users in other PD's. I am assuming
that all the driver we add to the BSP must also be given an IOCTL
interface in order to call the driver from the user space. I have this
interface for both of the driver mentioned below, but when I try to
access the Universe II windows from within my xxIoctl function I get a
page fault?

In previous Tornado BSP's we would provide drivers where the user
would be able to attach their own ISR's if they wish to handle the
interrupt, however, in the AE environment, how are we supposed to
provide user ISR's from a PD if all ISR are supposed to be in the
Kernel domain?

I am currently trying to integrate a Universe II device driver and a
local timer device driver.

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

Newsgroups: comp.os.vxworks
Subject: Re: Task ID & Task name
Date: Thu, 14 Mar 2002 10:36:00 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3C90D170.A31B47A5@fnal.gov>
References: <3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk> <342k8.3728$T_.69299@iad-read.news.verio.net>

- -> printf("%lx\n", taskIdSelf())
3662d0
value = 7 = 0x7

- -> printf("%lx\n", taskIdCurrent)
3662d0
value = 7 = 0x7

taskIdSelf() is not ISR safe ... you can use taskIdCurrent too

hth

dinker

doug dotson wrote:
>
> You can use the "i" commands in the shell to see what taksId corresponds
> to a name. Findin out the currently executing task is hard because if you
> use the "i" command to display it, then the shell is the currently executing
> task while the lask list is being displayed.
>
> doug
>
> ":-)" <.@.dk> wrote in message
> news:3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk...
> > Hi,
> >
> > I'm new in VxWorks and have some problems.
> >
> > My first problem is that I need to know which Task ID currently is
> > executing.
> >
> > The second problem is how to translate the Task ID to the name given as
> > parameter to the taskSpawn() function.
> >
> > Please reply to group.
> >
> > BR
> > Lars
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Binary Serial Communications
Date: Thu, 14 Mar 2002 09:16:58 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u91mqjafj9tvd1@corp.supernews.com>
References: <aJVj8.121772$Dl4.13731509@typhoon.tampabay.rr.com> <1016094101.74523@azores.network-i.net>

In the past I have ported a freeware xmodem code to VxWorks to accomplish it
and it worked fine. Code size was very small too.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 09:32:50 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u91nob6ifihi3c@corp.supernews.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com>

The polling of PHY is actually not that unusual. Linux does it. So does
BSD. It is rare that cheap MII PHYs and MACs thesedays allow for asynch
notification (interrupt) for PHY mode change. Most of them do not. There
are some that do, but they are not as common as the ones that do not.

Without proper HW support, OS must poll. And when SW polls and HW is
designed to take certain amount of time for each poll, there is little SW
can do to avoid this pitfall.

Since most of these things are done by shifting bits in and out over serial
connections between MAC and PHY, it is easily solvable in a small PLD. Not
much SW can do other than doing it less frequently.

So I would not laugh at WRS on this one personally.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: how do I program device driver on vxworks
Date: Thu, 14 Mar 2002 18:35:41 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c90df67$1@brateggebdc5.br-automation.co.at>
References: <6fe967ba.0203131740.7cda7c64@posting.google.com>

Hi,

to write a character device driver, you just implement the 'magic' seven
functions (or a subset thereof).

Namely create() delete() open() close() read() write() and ioctl().

You add this to the VxWorks IO system with iosDrvInstall() API.

This is the responsibility of the <driverName>Drv() function you write for
your driver (by convention).

To create an actual device, you use your drivers <driverName>DevCreate(your
args go here) function.

This function creates the device data structure and adds the device to the
VxWorks device table with iosDevAdd() API.

Voila, ready is your device.

(This is for 'normal' VxWorks 5.4, VxWorks AE may be different to some
extent)

hth
Werner

P. S. This is thoroughly explained in the VxWorks Programmer's Manual.
Further, the unsupported source code of your distribution is your friend to
find samples.

"xmtang" <tang-xiao-ming@263.net> wrote in message
news:6fe967ba.0203131740.7cda7c64@posting.google.com...
> hi,all
> I'm just the beginner(outsider somewhat).I want to know how to
> program the specific device driver on vxworks.Who can give me some
> advice or related resouces. Generally but sincerely.
> Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 17:42:43 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C90E187.6050409@spamm.me.l8s.co.uk>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com>

Hwa Jin Bae wrote:

> The polling of PHY is actually not that unusual. Linux does it. So does
> BSD. It is rare that cheap MII PHYs and MACs thesedays allow for asynch
> notification (interrupt) for PHY mode change. Most of them do not. There
> are some that do, but they are not as common as the ones that do not.
>
> Without proper HW support, OS must poll. And when SW polls and HW is
> designed to take certain amount of time for each poll, there is little SW
> can do to avoid this pitfall.

You need to shift about 64 bits, you could do 1 every other clock tick!
That would give you an answer often enough to tell when the PHY
has changed from FDX to HDX - which is all you need to know.

>
> Since most of these things are done by shifting bits in and out over serial
> connections between MAC and PHY, it is easily solvable in a small PLD. Not
> much SW can do other than doing it less frequently.
>
> So I would not laugh at WRS on this one personally.

Why? we alawys do:-)

Presumably you have escaped their prison and can now talk to us?

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: BSD Ethernet Driver
Date: Thu, 14 Mar 2002 17:44:09 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C90E1DE.30801@spamm.me.l8s.co.uk>
References: <6847c39a.0203072126.4cc28aaf@posting.google.com> <u8gkj6c619njcc@corp.supernews.com> <6847c39a.0203080206.2515b5ff@posting.google.com> <u8hr4acknq0ec5@corp.supernews.com> <3C890057.E551DBDA@varndellengineering.com> <3c891c2c$1@brateggebdc5.br-automation.co.at> <3C8DE54A.50807@spamm.me.l8s.co.uk> <6847c39a.0203122047.16035284@posting.google.com> <3C8F404D.7C2C7538@varndellengineering.com> <u8vdi6b8nqtgd2@corp.supernews.com> <6847c39a.0203132224.15b9c86f@posting.google.com> <3C90B4B7.F209AC42@va

George Varndell wrote:

> Vittal wrote:
>
>>Hi GV / HJB,
>>
>>Thanks for the Info and I shall try out all the 4 suggestions. Here is
>>some details about the device I am using.
>>
>>The network controller is the SMS FEAST controller (91C100FD). It sits
>>on an IP module LAN-100 manufactured by ACTIS computer and this IP
>>module is part of an IP carrier (VIPC-400) which sits on a VME bus.
>>
>
> I thought so. I get several jobs a year from the 91C... chips.
> The problem is not the chips, they're screwy but they can made to
> perform well. It just takes a rework of whatever driver the customer
> dug up from Wind or wherever. When you start seeing the performance
> gains you're looking for, then you'll have fun finding all the race
> conditions and unprotected critical regions that make the driver
> lock up. Good luck.

If the network driver I had the source for from WRS is anything to
go by, you might be better ignoring it and writing one from scratch!

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: try(void)
Date: Thu, 14 Mar 2002 17:04:42 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <5p5k8.3200$5o.2714376@newsr2.u-net.net>
References: <a1c6e5dc.0203131829.1696cfb9@posting.google.com>

"lily" <shuiziliu@sina.com> wrote in message
news:a1c6e5dc.0203131829.1696cfb9@posting.google.com...
> void

Caught exception!

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

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

Newsgroups: comp.os.vxworks
Subject: Re: Read on serial does not block
Date: Thu, 14 Mar 2002 18:43:21 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c90e133$1@brateggebdc5.br-automation.co.at>
References: <ab1f8a59.0203131759.5fd1b5c5@posting.google.com>

Hi,

read(), by convention, may read any number from 1 to the maximum you
specify.

This does always signal success.

Only if it is 0, then you are at the end of file or stream.

If you need to read a fixed amount of bytes, you must do this in a loop
until all bytes are there.
This is not specific to VxWorks.

hth
Werner

"Benjamin Horowitz" <bhorowit@cs.berkeley.edu> wrote in message
news:ab1f8a59.0203131759.5fd1b5c5@posting.google.com...
> Hi,
>
> We are having a difficulty with doing a read() on a serial port. Once
> per second, computer 1 writes "hello hello\n" to /tyCo/0. This serial
> port is cabled to /tyCo/0 on computer 2 using a null modem cable.
> Computer 2 does the following:
>
> 1. open /tyCo/0
> 2. flush /tyCo/0
> ( using ioctl(serialfd, FIOFLUSH, 0) )
> 3. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
> 4. read 12 bytes from /tyCo/0
> ( using read(serialfd, data_in, 12) )
> 5. check the number of unread bytes in /tyCo/0
> ( using ioctl(serialfd, FIONREAD, &nbytes) )
>
> In steps 3 and 5, the number of bytes available is always 0. However,
> in step 4, the number of bytes read is always 1! Obviously, read()
> can return less than 12 -- but why should it return 1 when no bytes
> are available? A return of 0 would indicate end-of-file, but why
> doesn't read() just block?
>
> Does anyone have an idea about what's causing this? Before we read(),
> should we be doing a select() to block until some input is available?
>
> Thanks,
> Ben

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

Newsgroups: comp.os.vxworks
Subject: Re: help for hard disk
Date: Thu, 14 Mar 2002 18:52:27 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c90e355$1@brateggebdc5.br-automation.co.at>
References: <7863b471.0203131915.2439e089@posting.google.com>

Hi,

see inline replies...

"winter" <winter_lin2000@yahoo.com.cn> wrote in message
news:7863b471.0203131915.2439e089@posting.google.com...
> hi vxworks,
> I want use hard disk in my embedded system,and my cpu is mpc860.
> my question is:
> 1.How should I connect hard disk to my mpc860 and what circuit is need
> in my system? Which port may I use?(bus interface , parallel i/o port or
> other ports)

No idea, sorry.

>
> 2.If i want my disk is compliant with win98/win2000,what should I do?
>

Format the disk using the proper FAT format of your choice (FAT-32 is only
supported, if you use DosFs 2.0) from DOS (maybe Windows works as well, but
just firing up a DOS boot disk is much easier, in my opinion).

> 3.My Os use Vxworks,what job need to do&#65292;can you give me some
reference?
>

What do you mean with that?

DosFs and DosFs 2.0 produce something that is not compatible with DOS and/or
Windows machines - if you use it to format or partition the disk.
At least on x86 - I think this is not platform dependent.
You need to either use DOS to format the disk, or rewrite the formatting,
partitioning stuff for that.
After that, the two can perfectly co-exist on a single disk and access the
same data.

In particular, you need to use the proper LBA settings and store this values
correctly in the MBR.

hth
Werner

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

Newsgroups: comp.os.vxworks
Subject: VxWorks and Diamond's Prometheus
Date: Thu, 14 Mar 2002 13:09:18 -0500
From: "Steve Wortley" <Steve.Wortley@millenium-biologix.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <u91pqci5poo129@corp.supernews.com>

Has anyone put Vxworks onto the Prometheus?

Steve Wortley

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Thu, 14 Mar 2002 19:04:19 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c90e61d@brateggebdc5.br-automation.co.at>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk>

Hi,

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C90AE69.10201@spamm.me.l8s.co.uk...
> >>The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
> >>And I know that the 320, 80, 160, 240 Hz will not execute accurately,
> >>that is what my question.
>
>
> How accurate do you need these?
> Is 'long term' or 'short term' most important?
>
> Don't set the normal clock much above 2k - things start
> breaking if you do (select() fails above 2147Hz)
>

I guess this depends on the actual performance of the CPU??
To which CPU / clock frequency does this apply?

Or is it something 'strange' in WRS' handling (calculation) of timeout
values?

Of course using a high system clock rate eats up some performance.
On the other hand, the number of timers in most systems is severly limited.

In the case of the original poster, it may be better to have one 256 Hz
clock for the 2**n clocks.
An other clock would be used for the 320, 240, 160 and 80 Hz -> needs 960 Hz
to be exact.

regards
Werner

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 20:20:53 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$h39zsg$994$1@lnews.actcom.co.il>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com>

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u91nob6ifihi3c@corp.supernews.com...
[snip]
> Since most of these things are done by shifting bits in and out over
serial
> connections between MAC and PHY, it is easily solvable in a small PLD.
Not
> much SW can do other than doing it less frequently.
>

I disagree, H. J. The driver writer could spawn a dedicated task to poll the
PHY at low priority, as a last resort. This new task could also me modelled
after the tNetTask so
it could poll many PHY's one after the other, avoiding sapwning of a
separate task
per interface.
Spawning a task by a driver is much lesser moral offence then spending 4.5
milisec in tNetTask which would have serious impact on network performance.

Leonid

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 10:50:51 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u91saq6o5u1ke4@corp.supernews.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com> <3C90E187.6050409@spamm.me.l8s.co.uk>

You shift out 64 bits on MDIO, but you can't do it every other clock tick.
MDIO and MDC (clock) has to be synchronized. This really is a problem
better solved in HW. MDC can clock up to 2.5mhz and if your MAC is not able
to supply this frequency, it may be worth using a oscillator.

Also, it is not just full and half duplex. It can be more complicated
negotiation or PHY management work that needs to happen in polled fashion.

By the way, I left WRS over ten years ago. I'm semi-retired and I am under
no gag rule as far as I know. :-) However, I see little sense in bashing
a company. After all, we all make use of their product for useful work. It
is never the case anyone makes perfect product. But the world is better
when there are varieties of products. I favor BSD and Linux, but VxWorks
(and others) should thrive as well.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 10:56:44 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u91slodo72dl32@corp.supernews.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com> <newscache$h39zsg$994$1@lnews.actcom.co.il>

Yes I agree with having seperate task to do this work. But that is not the
point. The point is the work is still done by SW and CPU spends that time.
If you don't want SW overhead (in any task) then HW solution is better.
That is the point I was making.

Regarding seperating some work out of netTask, it is a good idea in general.
In fact I discuss that extensive in my write up for PSO Stack, which makes
liberal use of tasks per driver instantiation to preserve priority of the
network traffic (depending on the type of interface) as well as avoid single
point of failure in netTask. The file that describes all that is located
at:

http://www.xs4all.nl/~borkhuis/vxworks/ftp/vxhacks/pso_stack/README

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: question about END driver's unload function......
Date: Thu, 14 Mar 2002 11:11:13 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a6qskp$htg$1@newsreader.mailgate.org>
References: <73a87e9d.0203140246.b1c5627@posting.google.com> <3C90AE8E.10003@spamm.me.l8s.co.uk>
Sender: gold@ensemble.com

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C90AE8E.10003@spamm.me.l8s.co.uk...
> > if anyone could tell me what i need to do to unload my end driver?
>
> reboot

:-) :-) :-)
Alas, this has the undesirable side-affect of (after unloading) then loading
the driver again ;-)

Back to the OP's question: How are you allocating the driver control
structure in the EndLoad() function ? If you're statically allocating it
(as I've seen before), you're in trouble. The END_OBJ_UNLOAD(pEnd) will
attempt to free the pDrvCtrl pointer. Make sure you've dynamically
allocated the driver control structure in xxxEndLoad().

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: ln97xEnd - ring buffer size
Date: Thu, 14 Mar 2002 11:11:09 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u91tgmr9kebad7@corp.supernews.com>
References: <9d082700.0203120647.5b0439aa@posting.google.com> <3C8E2177.D0B3BA2A@varndellengineering.com> <u8vd2b6pnk1s39@corp.supernews.com> <9d082700.0203132214.4b5f6089@posting.google.com>

Did you also change the freeRtn and freeData sizes accordingly in the
drvCtrl?

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 14:24:04 -0600
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3C9106E4.12CB0C58@fnal.gov>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com> <newscache$h39zsg$994$1@lnews.actcom.co.il> <u91slodo72dl32@corp.supernews.com>

So what is recommended? Drop the WRS miiLib? Or drop the PHY check or
make it check after longer intervals?

Also am waiting for any response from people on 5.4 amd 5.4.2 kernel.
The observation that it is only in 5.4.2 kernel needs to be confirmed.

Is anyone else also worried about such long delay?

Thanks for you help,

Dinker

Hwa Jin Bae wrote:
>
> Yes I agree with having seperate task to do this work. But that is not the
> point. The point is the work is still done by SW and CPU spends that time.
> If you don't want SW overhead (in any task) then HW solution is better.
> That is the point I was making.
>
> Regarding seperating some work out of netTask, it is a good idea in general.
> In fact I discuss that extensive in my write up for PSO Stack, which makes
> liberal use of tasks per driver instantiation to preserve priority of the
> network traffic (depending on the type of interface) as well as avoid single
> point of failure in netTask. The file that describes all that is located
> at:
>
> http://www.xs4all.nl/~borkhuis/vxworks/ftp/vxhacks/pso_stack/README
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting an ethernet port to full duplex
Date: 14 Mar 2002 13:02:08 -0800
From: fillmore2@arcor.de (Achim)
Organization: http://groups.google.com/
Message-ID: <9d082700.0203141302.a4fddfd@posting.google.com>
References: <9d8984ab.0203140505.3529a3ba@posting.google.com> <C62k8.3729$T_.69254@iad-read.news.verio.net>

You'll probably have to adapt the driver code (BSP) where it does the
initialization of the controller. I would guess that you have to look
in the driver documentation for the right register setting, too.
Some controllers may offer "auto-negotiation" for the port's operation
mode, and it probably would make sense to be the default setting
chosen by the driver - with this, the operation mode of the port may
also be caused by a connected device.

Achim.

"doug dotson" <ddotson@digidata.com> wrote in message news:<C62k8.3729$T_.69254@iad-read.news.verio.net>...
> I'm pretty sure that is either BSP specific or you have to go
> right to the controller to do it. On our platform the ethernet
> controllers are on a Galileo chip and we have to go right to
> a register to set a bit.
>
> doug
>
> "Sandeep" <sandeep@eventhelix.com> wrote in message
> news:9d8984ab.0203140505.3529a3ba@posting.google.com...
> > Hi,
> >
> > How can I set an ethernet port to operate in full duplex? What command/
> > configuration changes are required to accomplish this in VxWorks?
> >
> > Thanks in advance,
> >
> > Sandeep
> > --
> > www.EventHelix.com
> > Distributed, Realtime and Embedded Software Development

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Thu, 14 Mar 2002 14:11:56 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9283o3j73ia26@corp.supernews.com>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com> <newscache$h39zsg$994$1@lnews.actcom.co.il> <u91slodo72dl32@corp.supernews.com> <3C9106E4.12CB0C58@fnal.gov>

Typically, it depends on what you want. For me, I care less about period
checks of PHY so much as being aware of it and having up to date info as I
need.

So I would reduce the frequency of calls to check PHY. I would recode the
driver so that PHY check will happen upon request. The SNMP agent should
simply use the API to get the latest PHY info as needed. You should not
incur periodic overhead just so that you can have SNMP agent be ready to
give answers. That is lower priority than having an efficient system.
Typically, BSD and Linux systems will run code to recheck PHY status either
after Carrier Sense error interrupt and / or after sending a packet a timer
is triggered. If timer runs out and TX is not complete, then you should
check PHY.

The PHY speed does not change for no reason. Typically it happens because
someone unplugs the cable from one port (100mbps) and insert it into another
(10mbps), for example. That will generate an error interrupt in most
MAC -> driver will then check the carrier sense error bit and recheck the
PHY as needed.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Reception of broadacted UDP messages on the same host
Date: Fri, 15 Mar 2002 08:52:48 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C9122B7.25CA38F4@dsto.defence.gov.au>
References: <a6pp4r$j8b$1@newsserv.intranet.gr>

We overcame this problem with the dc family of ethernet devices by setting
IFF_SIMPLEX. Unfortunately, you have to do this in the driver (you can't set
IFF_SIMPLEX after the device is up) so you may need the source code from WRS,
or whoever provided your driver. The broadcast should then come back over the
loopback interface.

Vassilis Panagiotopoulos wrote:

> I'm trying unsuccessfully to receive broadcasted UDP messages send by
>
> a task located on the SAME host with the receiver.
>
> The following scenario is based on a demo app,
>
> found in ..\Tornado\target\src\demo\dg\dgTesc.c:
>
> I'm running a sender/receiver pair of tasks on a PPC860 board,
>
> with IP address 191.191.191.1 and broadcast address 191.191.255.255.
>
> I'm using two sockets, socket A which is able to broadcast(
>
> (SO_BROADCAST flag set with setsockopt()), and socket B, which is able
>
> to receive broadcasts. Both have been verified with an external application
>
> hosted on a Win2000 PC to work as intended, regarding broadcasted UDP
> messages.
>
> The problem is that socket B is not able to receive the broadcasts send by
> A,
>
> ie the VxWorks network stack seems to exclude reception of a broadcast
> message
>
> when the sender is located on the same host with the receiver. This is not
>
> the case for the Win2000 application though, where a broadcasted message
>
> from there is received by both socket B AND another receiver hosted on the
> PC.
>
> I suspect that there might be a way to enable this feature on the VxWorks
> also,
>
> if anybody knows how, please tell me so.
>
> --
> Bill Panos

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

Newsgroups: comp.os.vxworks
Subject: dosFs2 cluster sizes
Date: 14 Mar 2002 14:36:55 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0203141436.5bf2035d@posting.google.com>

Could someone enlighten me on the subject of changing cluster sizes
for hard disk drives using dosFs 2.0? There aren't really any
configuration methods that involve cluster sizes anywhere in the API's
(that I can find). dosFsVolFormat takes 3 parameters, but I only
understand one of them.

The first parameter is a void* but in all the examples and
documentation I've seen, it's a string representing the device name.
The second parameter is more self-explanatory. I have no idea what
the 3rd parameter does, except I guess it probably lets you interrupt
and ask the user the obligatory question. None of these allow you to
specify any configuration parameters...

So how do I change the cluster size?

Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] BSP and Device Driver Development
Date: 14 Mar 2002 14:52:32 -0800
From: strick@hiwaay.net (BS)
Organization: http://groups.google.com/
Message-ID: <d64227b2.0203141452.bfa3feb@posting.google.com>
References: <d64227b2.0203131814.52deef6b@posting.google.com> <488e459a.0203140159.172eb9a0@posting.google.com>

- ------------------------------------------------------------------
Sorry about the lack of information on the first post.
Here are answers to the questions below. I hope this will help.

 1) How is your driver built? Pre-compiled and included as a binary
 component, built using the configlette mechanism, or built as a
 source/component project?

 [---->] The driver is built using the configlette mechanism. I have a *.cdf
 file in my BSP directory that describes the driver and location of the
 source. This particular driver is for a universe II PCI to VME bus bridge.
 Inside the 00region.sdf file I have 4 region pools defined that will be
 used to access the config registers, A16, A24, and A32 space of the VME bus.
 These are areas of memory that were previously defined inside the
 sysPhysMemDesc[] table for T2. The driver source that I am using is for the
 most part the same code that was used with previous T2 BSP's, however I have
 added some code to install the driver into the I/O system. I am using IOCTL
 calls through the I/O system to call the driver functions.

 2) Is your driver an I/O system one, or just a library that exports a
 number of routines for users to call?

 [---->] I have the driver installed into the I/O system so that I am able to
 use IOCTL calls to the driver. I was under the impression that all drivers
 had to be installed into the I/O system. Are we able to build drivers into
 the kernel and have functions within that driver callable from every user PD?

 3) Does it do any asynchronous or DMA transfers? Does it copy data
 directly between user space and the device somehow, or does it buffer
 the data first?

 [---->] Currently I am not performing any transfers of any kind. All I am
 trying to do at first is to make driver calls that read and/or write to the
 configuration registers of the Universe II device.

 4) Does it create any kernel objects (e.g. semaphores) or
 allocate/free any memory (e.g. call malloc())

 [---->] Not currently.

 Finally, tell us more about the sorts of problems you are seeing...
 does it crash, or just not work correctly?

 [---->] As mentioned above I have 4 memory regions allocated inside
 00region.sdf. From the kernel space I am able to read and write to these
 regions with no problem. However, from my user PD when I make a IOCTL call to
 the device driver and try to perform the same register accesses I get a page
 fault. In my case all I am currently trying to do is access the configuration
 registers and toggle a bit to disable and enable the VME windows of the
 Universe II chip.

 [---->] Here is another question : Are we able to pass structures through the
 IOCTL calls? Basically have an IOCTL structure defined in the driver, and
 have all users create a local copy of the structure and fill in the data
 fields before the call?

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

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] BSP and drivers
Date: 14 Mar 2002 14:54:38 -0800
From: strick@hiwaay.net (BS)
Organization: http://groups.google.com/
Message-ID: <d64227b2.0203141454.793d540a@posting.google.com>
References: <d64227b2.0203140830.769abf2a@posting.google.com>

- -------------------------------------------------------------
Here is some clarification to my first question.

 1) How is your driver built? Pre-compiled and included as a binary
 component, built using the configlette mechanism, or built as a
 source/component project?

 [---->] The driver is built using the configlette mechanism. I have a *.cdf
 file in my BSP directory that describes the driver and location of the
 source. This particular driver is for a universe II PCI to VME bus bridge.
 Inside the 00region.sdf file I have 4 region pools defined that will be
 used to access the config registers, A16, A24, and A32 space of the VME bus.
 These are areas of memory that were previously defined inside the
 sysPhysMemDesc[] table for T2. The driver source that I am using is for the
 most part the same code that was used with previous T2 BSP's, however I have
 added some code to install the driver into the I/O system. I am using IOCTL
 calls through the I/O system to call the driver functions.

 2) Is your driver an I/O system one, or just a library that exports a
 number of routines for users to call?

 [---->] I have the driver installed into the I/O system so that I am able to
 use IOCTL calls to the driver. I was under the impression that all drivers
 had to be installed into the I/O system. Are we able to build drivers into
 the kernel and have functions within that driver callable from every user PD?

 3) Does it do any asynchronous or DMA transfers? Does it copy data
 directly between user space and the device somehow, or does it buffer
 the data first?

 [---->] Currently I am not performing any transfers of any kind. All I am
 trying to do at first is to make driver calls that read and/or write to the
 configuration registers of the Universe II device.

 4) Does it create any kernel objects (e.g. semaphores) or
 allocate/free any memory (e.g. call malloc())

 [---->] Not currently.

 Finally, tell us more about the sorts of problems you are seeing...
 does it crash, or just not work correctly?

 [---->] As mentioned above I have 4 memory regions allocated inside
 00region.sdf. From the kernel space I am able to read and write to these
 regions with no problem. However, from my user PD when I make a IOCTL call to
 the device driver and try to perform the same register accesses I get a page
 fault. In my case all I am currently trying to do is access the configuration
 registers and toggle a bit to disable and enable the VME windows of the
 Universe II chip.

 [---->] Here is another question : Are we able to pass structures through the
 IOCTL calls? Basically have an IOCTL structure defined in the driver, and
 have all users create a local copy of the structure and fill in the data
 fields before the call?

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

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

Newsgroups: comp.os.vxworks
Subject: Re: tNetTask takes too long?
Date: Fri, 15 Mar 2002 00:14:37 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C913D61.90603@spamm.me.l8s.co.uk>
References: <a3v19m$17o$1@info4.fnal.gov> <newscache$1ch7rg$fvi$1@lnews.actcom.co.il> <a40r1b$f5l$1@info4.fnal.gov> <a612lk$prf$1@info4.fnal.gov> <3C8FCA9E.849D1DC2@fnal.gov> <3C90897C.3008AF07@varndellengineering.com> <u91nob6ifihi3c@corp.supernews.com> <newscache$h39zsg$994$1@lnews.actcom.co.il> <u91slodo72dl32@corp.supernews.com> <3C9106E4.12CB0C58@fnal.gov> <u9283o3j73ia26@corp.supernews.com>

> The PHY speed does not change for no reason. Typically it happens because
> someone unplugs the cable from one port (100mbps) and insert it into another
> (10mbps), for example. That will generate an error interrupt in most
> MAC -> driver will then check the carrier sense error bit and recheck the
> PHY as needed.

No other error is likely to be generated.

ok 64 bits @ 25MHz is 25 micro secs - not loads of millsecs...

Anyway, provided nothing else uses the MII you can change/sample the
data on one clock tick and change the clock on the next.
All the timeout (wd) calls are quite expensive per bit, but
not that expensive overall.

Who knows how WRS managed to take 0.5 ms clocking out 64 bits.

Clearly if a process desparately wants to know the status
it must suffer the time penalty. But no whay is this
required every 5ms.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Fri, 15 Mar 2002 00:22:23 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C913F32.4050007@spamm.me.l8s.co.uk>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <3c90e61d@brateggebdc5.br-automation.co.at>

>>Don't set the normal clock much above 2k - things start
>>breaking if you do (select() fails above 2147Hz)

> I guess this depends on the actual performance of the CPU??
> To which CPU / clock frequency does this apply?
>
> Or is it something 'strange' in WRS' handling (calculation) of timeout
> values?

select() has to change a time is seconds and microseconds
to clock ticks. To do this it multiples the number of us
by the clock rate then divides by 1000000. If the number of us
is high, and the clock rate exceeds 2147 then the product
exceeds 2^31. Since the division is signed this generates
a very large timeout value (quite likely to zap vxTicks).
Certainly enough to cause the task to wait forever is the
timeout is 'expected'.

Were the division unsigned, then select would just return
early......

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: question about END driver's unload function......
Date: Fri, 15 Mar 2002 00:26:18 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C91401F.70005@spamm.me.l8s.co.uk>
References: <73a87e9d.0203140246.b1c5627@posting.google.com> <3C90AE8E.10003@spamm.me.l8s.co.uk> <a6qskp$htg$1@newsreader.mailgate.org>

> Back to the OP's question: How are you allocating the driver control
> structure in the EndLoad() function ? If you're statically allocating it
> (as I've seen before), you're in trouble. The END_OBJ_UNLOAD(pEnd) will
> attempt to free the pDrvCtrl pointer. Make sure you've dynamically
> allocated the driver control structure in xxxEndLoad().

I couldn't convince myself that there were no race conditions
when removing an ethernet driver.
(ISTR you can't even safely delete a route!)

My pcmcia driver left the interface present (but marked it down
and discarded any tx requests) when the card was removed.
Just seemed safer.

After all, will your final customer system require you to
support removing the interface?

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Reception of broadacted UDP messages on the same host
Date: Fri, 15 Mar 2002 00:29:40 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9140E7.4070001@spamm.me.l8s.co.uk>
References: <a6pp4r$j8b$1@newsserv.intranet.gr> <3C9122B7.25CA38F4@dsto.defence.gov.au>

Well, the usual (non WRS) standards for ethernet drivers require
them to receive transmitted broadcasts/multicasts if they would
have received them if someone else had sent them.

The BSD derived TCP/UDP stack may be expecting that behaviour.....

No idea what your drivers does, I saw no hint of the requirement to
loop back tx broadcasts in the WRS END driver we had...

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting an ethernet port to full duplex
Date: Fri, 15 Mar 2002 00:34:46 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C914219.4090009@spamm.me.l8s.co.uk>
References: <9d8984ab.0203140505.3529a3ba@posting.google.com> <C62k8.3729$T_.69254@iad-read.news.verio.net> <9d082700.0203141302.a4fddfd@posting.google.com>

Achim wrote:

> You'll probably have to adapt the driver code (BSP) where it does the
> initialization of the controller. I would guess that you have to look
> in the driver documentation for the right register setting, too.
> Some controllers may offer "auto-negotiation" for the port's operation
> mode, and it probably would make sense to be the default setting
> chosen by the driver - with this, the operation mode of the port may
> also be caused by a connected device.

You definitely need to ensure that the PHY (hiding behind the MII
interface) and the MAC agree on the use of full duplex.
Getting a mismatch will destroy your throughput.

You will need the PHY spec to find out which (phy dependant)
register to read in order to find the current mode.
This will (almost certainly) have to be polled in s/w.
(If you use the WRS MII library, be prepared for your system
to stop for 5ms).

You might find it easier to just disable FDX on the PHY
(clear the bits from the ANAR register) and set the MAC
to HDX.

Look at FDX if you actually determine that LAN latency
if your performance bottleneck.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: question about END driver's unload function......
Date: Thu, 14 Mar 2002 17:04:17 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u92i6urtaj4701@corp.supernews.com>
References: <73a87e9d.0203140246.b1c5627@posting.google.com> <3C90AE8E.10003@spamm.me.l8s.co.uk> <a6qskp$htg$1@newsreader.mailgate.org> <3C91401F.70005@spamm.me.l8s.co.uk>

Some drivers are virtual and can be instantiated or deleted as needed. For
example, PPPoE.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Sandpoint3 system
Date: 14 Mar 2002 17:22:32 -0800
From: burst_slick@cmmail.com (slick)
Organization: http://groups.google.com/
Message-ID: <f2dc201b.0203141722.18d18bd4@posting.google.com>

Hi, all:
 I have a MPPMC8245 board on the SandPoint 3 . but the default
settings on SW3,4 don't match the Unity X4(MPPMC824X) Configuration
Guide,
 1. what can I do it to the test the board?
 2. select the develop tools :what, and how to execute programe on it
step by step?
 3.the system if provide me some documents or not? but it doesn't give
me anthing (about the specified tails to the board) except the common
document for the Unity X4, is it ok ?
 Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 14 Mar 2002 17:26:24 -0800
From: allencyl@my-deja.com (Allen Chang)
Organization: http://groups.google.com/
Message-ID: <5c074538.0203141726.537eb8e1@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <3c90e61d@brateggebdc5.br-automation.co.at>

"Werner Schiendl" <ws-news@gmx.at> wrote in message news:<3c90e61d@brateggebdc5.br-automation.co.at>...
> Hi,
>
> "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> news:3C90AE69.10201@spamm.me.l8s.co.uk...
> > >>The frequency I want is 64Hz, 256hz, 320Hz, and 80*n(n=1~3) Hz.
> > >>And I know that the 320, 80, 160, 240 Hz will not execute accurately,
> > >>that is what my question.
> >
> >
> > How accurate do you need these?
> > Is 'long term' or 'short term' most important?
> >
> > Don't set the normal clock much above 2k - things start
> > breaking if you do (select() fails above 2147Hz)
> >
>
> I guess this depends on the actual performance of the CPU??
> To which CPU / clock frequency does this apply?
>
> Or is it something 'strange' in WRS' handling (calculation) of timeout
> values?
>
> Of course using a high system clock rate eats up some performance.
> On the other hand, the number of timers in most systems is severly limited.
>
> In the case of the original poster, it may be better to have one 256 Hz
> clock for the 2**n clocks.
> An other clock would be used for the 320, 240, 160 and 80 Hz -> needs 960 Hz
> to be exact.
>
> regards
> Werner

Hello All,

In general, My task will execute at (64*n)Hz, but when being set,
the whole task needs to execute at (80*n)Hz.
For the 64*nHz task I can use sysAuxClkRateSet(), but for 80*nHz one...
that is the problem.

Regards,

Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: Re: help for hard disk
Date: 14 Mar 2002 17:30:33 -0800
From: winter_lin2000@yahoo.com.cn (winter)
Organization: http://groups.google.com/
Message-ID: <7863b471.0203141730.4934b9d9@posting.google.com>
References: <7863b471.0203131915.2439e089@posting.google.com> <newscache$heiysg$713$1@lnews.actcom.co.il>

thank you Leonid,
In your means,I only can use CompactFlash disk or cf card,is that right?
If I want use hard disk which is used in PC,may I use PCMCIA interface?
There are many diferent signals,what should I do?
Can you give me some advice?
Thanks again!
 Winter

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$heiysg$713$1@lnews.actcom.co.il>...
> One way to do this, is use the 860's PCMCIA interface
> to connec to a CompactFlash disk, and then use dosFs
> on top of that.
> CF is a subset of PCMCIA signals, and you can also use
> a mechanical adapter to connect CF cards onto the ADS860 eval board.
>
> Leonid
>

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

Newsgroups: comp.os.vxworks
Subject: muxDevStart function failed.
Date: 14 Mar 2002 21:48:22 -0800
From: jychoi@cisl.snu.ac.kr (Jae Young Choi)
Organization: http://groups.google.com/
Message-ID: <220aeb02.0203142148.7b873564@posting.google.com>

Hello everyone.

I'm developing MPC8260 BSP.
I want to boot my hardware board using FCC.
But, my BSP says "Failed to start device motfcc"
I find the source code in bootConfig.c like below.

- ---------------------------------------------------------------------
	pEnd = endFindByName (bootDev, params.unitNum);

	if (!attached && (pEnd != NULL))
	 {

 if (muxDevStart (pEnd) != OK)
 {
 printf("Failed to start device %s\n", bootDev);
 return (ERROR);
 }
- -----------------------------------------------------------------------
I checked muxDevLoad function and it works well. However muxDevStart
function returns ERROR.
What causes muxDevStart function failed?
Please let me know any idea.

Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] BSP and drivers
Date: 14 Mar 2002 23:17:26 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203142317.114b12be@posting.google.com>
References: <d64227b2.0203140830.769abf2a@posting.google.com> <d64227b2.0203141454.793d540a@posting.google.com>

Hello,

I've deleted the stuff that had no questions or followups...

> 2) Is your driver an I/O system one, or just a library that exports a
> number of routines for users to call?
>
> [---->] I have the driver installed into the I/O system so that I am able to
> use IOCTL calls to the driver. I was under the impression that all drivers
> had to be installed into the I/O system. Are we able to build drivers into
> the kernel and have functions within that driver callable from every user PD?

Yes, you can add routines to the kernel and make them entry points.
Simply define the functions you want called in the component's
ENTRY_POINTS section in the CDF.

> Finally, tell us more about the sorts of problems you are seeing...
> does it crash, or just not work correctly?
>
> [---->] As mentioned above I have 4 memory regions allocated inside
> 00region.sdf. From the kernel space I am able to read and write to these
> regions with no problem. However, from my user PD when I make a IOCTL call to
> the device driver and try to perform the same register accesses I get a page
> fault.

There should be no difference here since your driver code is executed
in supervisor mode in both cases, and the context information should
be in all contexts. You can check on this easily using
vxContextShow()...

I would install the target tools and core show routine bundles into
your kernel, then boot a kernel-only system. Once you have the shell
prompt on the console, use vmContextShow() to verify the mappings for
your four regions. If all is OK here, create a user domain at the
shell.

Switch the shell to the user domain, and repeat the vmContextShow().
The addresses should still be mapped and have the same attributes
(probably supervisor only RWX).

Next experiment is to make the actual ioctl routine for your driver
visible to the user domain using the ENTRY_POINTS keyword in the CDF.
Rebuild and reboot, then try calling the routine first from the
kernel, then from a user domain via the shell.

If that gets you nowhere, post the sections from your 00region.sdf
file and the point in the ioctl routine that fails along with the
register dump (ti output) for the task.

> In my case all I am currently trying to do is access the configuration
> registers and toggle a bit to disable and enable the VME windows of the
> Universe II chip.
>
>
> [---->] Here is another question : Are we able to pass structures through the
> IOCTL calls? Basically have an IOCTL structure defined in the driver, and
> have all users create a local copy of the structure and fill in the data
> fields before the call?

You can pass pointers to structures, but data can only be transferred
across the boundary by the driver code. When you call the kernel from
user space all that happens is the CPU mode is changed. That change
enables the mappings for the kernel that were already a part of the
user domain's context, and leaves all the others in place too. So,
while a user domain task is executing in the kernel space, it can see
everything that was available to it in user mode *and* the kernel's
address space too.

Now, if you are doing this, remember that the driver cannot see that
memory when called from a different domain, so if you need the data
passed from one of the user level copies to be maintained in the state
information for the driver you'll need to copy it into a kernel memory
structure.

HTH,

John...

PS Feel free to email if you think the info is too long to post.

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

Newsgroups: comp.os.vxworks
Subject: Re: help for hard disk
Date: Fri, 15 Mar 2002 09:22:20 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$6a90tg$m36$1@lnews.actcom.co.il>
References: <7863b471.0203131915.2439e089@posting.google.com> <newscache$heiysg$713$1@lnews.actcom.co.il> <7863b471.0203141730.4934b9d9@posting.google.com>

CF is not your only choise by all means, but its the easiest,
because the CF hardware interface is quite close to PCMCIA.

Standard PC disk drives all use IDE interface, and you would
need an PCI/IDE chip to handle them properly. This will cost
more but will yield greater performance, worse reliability.

Depende on what you really need.

"winter" <winter_lin2000@yahoo.com.cn> wrote in message
news:7863b471.0203141730.4934b9d9@posting.google.com...
> thank you Leonid,
> In your means,I only can use CompactFlash disk or cf card,is that right?
> If I want use hard disk which is used in PC,may I use PCMCIA interface?
> There are many diferent signals,what should I do?
> Can you give me some advice?
> Thanks again!
> Winter
>
> "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message
news:<newscache$heiysg$713$1@lnews.actcom.co.il>...
> > One way to do this, is use the 860's PCMCIA interface
> > to connec to a CompactFlash disk, and then use dosFs
> > on top of that.
> > CF is a subset of PCMCIA signals, and you can also use
> > a mechanical adapter to connect CF cards onto the ADS860 eval board.
> >
> > Leonid
> >

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

Newsgroups: comp.os.vxworks
Subject: Virtual keyboard in PJWorks
Date: Fri, 15 Mar 2002 08:19:54 +0100
From: "Romano Signorelli" <removeunderlines-s_i_g_n_o_r_e_l_l_i@gefran.com>
Organization: Centro Servizi Interbusiness
Message-ID: <a6s7b0$2gl$1@fe1.cs.interbusiness.it>

Hello.

I would send virtual keystrokes to the JVM.
The keystrokes codes are read from a stream.

The must: use the standard (PC) keyboard and this virtual keyboard,
simultaneously.

How can I send arbitrary keystrokes to the JVM?
Note: keystrokes must be sent to the entire application, not only to a
particolar component. Like standard keyboard does.

Final result: I must simulate the standard keyboard that can be not present
in the system (embedded application).

Note: I don't want to use onscreen virtual keyboard. I haven't mouse and I
haven't PC keyboard. I have only a few keys, read from I/O and sent to a
stream.

Any ideas?

Thanks in advance, bye.
Romano Signorelli

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2 cluster sizes
Date: Fri, 15 Mar 2002 09:35:57 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$ax90tg$v36$1@lnews.actcom.co.il>
References: <95ebbe31.0203141436.5bf2035d@posting.google.com>

Aaron,

the cluster size is only set during formatting, so that if you
format the disk drive under a different OS, then dosFs will
use the file system in that particular format, to make sure
the other OS will accept the file system sunsequently.

The volId parameter is documented to be either the volume
ID as returned from the dosFsVolCreate() function, or a
device name string which will be automatically converted to a valid
volId, this is to make things easier for Shell experimentations etc.

I will skip the explanation of the second argument <opt> as you have
understood it already.

The third argument, is a callback function that can be used to display
various details about the format and parameters, require user confirmation,
and <this is where it gets useful for you> gives the user a chanse
to CHANGE any of the format parameters.

So if you hook your own callback to dosFsVolFormat(), it will get a pointer
to a DOS_VOL_CONFIG structure, and within that callback you can change
any of the fields in this structure, which will take effect when your
callback
returns and format commences.
Note that these params will be checked for sanity once again after your
callback,
but changing the cluster size toa reasinable value should be pretty straight
forward.

Please note that other implementations of FAT32 are rather picky about
the size of clusters, so data interchange can be an issue if needed.

hope this helps,
 Leonid

"Aaron Graham" <agraham@openglobe.net> wrote in message
news:95ebbe31.0203141436.5bf2035d@posting.google.com...
> Could someone enlighten me on the subject of changing cluster sizes
> for hard disk drives using dosFs 2.0? There aren't really any
> configuration methods that involve cluster sizes anywhere in the API's
> (that I can find). dosFsVolFormat takes 3 parameters, but I only
> understand one of them.
>
> The first parameter is a void* but in all the examples and
> documentation I've seen, it's a string representing the device name.
> The second parameter is more self-explanatory. I have no idea what
> the 3rd parameter does, except I guess it probably lets you interrupt
> and ask the user the obligatory question. None of these allow you to
> specify any configuration parameters...
>
> So how do I change the cluster size?
>
> Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: [AE] BSP and drivers
Date: 15 Mar 2002 00:36:03 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203150036.58e0f452@posting.google.com>
References: <d64227b2.0203140830.769abf2a@posting.google.com>

Hello again,

> In previous Tornado BSP's we would provide drivers where the user
> would be able to attach their own ISR's if they wish to handle the
> interrupt, however, in the AE environment, how are we supposed to
> provide user ISR's from a PD if all ISR are supposed to be in the
> Kernel domain?

If you need to notify user level code of events there are really only
two mechanisms available:

1) Have the user code execute as a task that makes a blocking call.
This could be a semaphore, a message queue or even a call to read say
on a file descriptor owned by the driver.

2) Send a signal to a tasks in the user space that can handle the
interrupt.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: problem about RapidControl
Date: 15 Mar 2002 00:43:06 -0800
From: yatc@21cn.com (lyman)
Organization: http://groups.google.com/
Message-ID: <c0819f26.0203150043.4197ad59@posting.google.com>

Now, I encounter a problem when using CLI. That is my typing from
HyperTerminal is alway echo again on srceen ,especially my password
,which can also be displayed . You know that is terrible. Any comments
are welcome and grateful!

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

Newsgroups: comp.os.vxworks
Subject: Re: how do I program device driver on vxworks
Date: 15 Mar 2002 01:27:17 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203150127.6a57fc51@posting.google.com>
References: <6fe967ba.0203131740.7cda7c64@posting.google.com> <3c90df67$1@brateggebdc5.br-automation.co.at>

Hello,

> (This is for 'normal' VxWorks 5.4, VxWorks AE may be different to some
> extent)

No, AE works the same way... all just as simple.

Rgds,

John...

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

Newsgroups: comp.os.vxworks
Subject: Wanted SupportFreaks.com Scouts
Date: Friday, 15 Mar 2002 03:48:30 -0600
From: no.email.address.entered@none444.yet
Organization: <no organization>
Message-ID: <15030203.4830@none444.yet>
Reply-To: sloar51@hotmail.com

Marketing Computer and Internet Support, Programming, and Web Development

The Scout position is an opportunity that allows you to work from home, set your own hours, doesn't require travel or time away from your loved ones, allows you to build residual commissions while helping you work towards financial security. The Scout position is about marketing computer and Internet support, programming, web development and consulting services to businesses, partners, and individuals. This is a full-time or part-time contract position. For full details and application, see
http://thedellgod.supportfreaks.com/scout.cgi

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

Newsgroups: comp.os.vxworks
Subject: What cause my USB driver error, .o or .a?
Date: 15 Mar 2002 02:30:53 -0800
From: thatbird@263.net (thatbird)
Organization: http://groups.google.com/
Message-ID: <c330243e.0203150230.6aa1aeee@posting.google.com>

I have develop a USB driver under vxworks. The device is used to read
some data from smart card. But I found that there is a problem. the
driver works well, when it is comple to .o file. But when it is
comple to .a file, the driver will lead the device to error state.

What is differece between .o and .a? Can it cause this prolem?

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

Newsgroups: comp.os.vxworks
Subject: Looking for a Fortran compiler
Date: Fri, 15 Mar 2002 10:57:33 +0100
From: Quenot Helene - GRE <hquenot@grenoble.sema.slb.com>
Organization: SchlumbergerSema Grenoble
Message-ID: <3C91C58C.8623A08B@grenoble.sema.slb.com>

Target System : pentium III PCI, with VxWorks OS

I need to run existing Fortran software on a new target system, based on
Pentium PC/VxWorks.

How can I manage that problem :

Do I need to convert my programs from Fortran to C++ or does anybody
know about a compiler or cross-compiler that I could use to generate
FORTRAN code for PC/VxWorks ?

Thanks for your help.

Helene Quenot
e-mail : hquenot@grenoble.sema.slb.com

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

Newsgroups: comp.os.vxworks
Subject: Re: What cause my USB driver error, .o or .a?
Date: Fri, 15 Mar 2002 06:40:20 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3C91DDA4.DE0BE48A@bellsouth.net>
References: <c330243e.0203150230.6aa1aeee@posting.google.com>

thatbird wrote:

> I have develop a USB driver under vxworks. The device is used to read
> some data from smart card. But I found that there is a problem. the
> driver works well, when it is comple to .o file. But when it is
> comple to .a file, the driver will lead the device to error state.
>
> What is differece between .o and .a? Can it cause this prolem?

Well, you really can't _compile_ to a .a file. .a files are generated
by ar or some similar utility, as they are supposed to be archives of
.o files. You would have to show what you ar trying to do in order
for someone to spot the error.

Speaking only for myself,

Joe Durusau

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

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

From vxwexplo-errs@csg.lbl.gov Fri Mar 15 10:39:56 2002
From: Satish Narayan Karat <SatishNK@netbrahma.com>
Date: Fri Mar 15 10:39:58 PST 2002
Subject: ip stack question

Hi,
 I'm a user of the VxWorks RTOS. I have the following question regarding
IP stack in VxWorks.

 I have a switch that has a network processor and a controlling processor
MPPC860. I'm running vxworks on the MPPC860. The network
 processor is runnig a propritary os.The vxworks processor has a dedicated
ethernet port (called the admin port) that it used to download image
 from the network and other things. My switch interfaces are associated
with the network processor and the vxworks processor has no idea about
 this interfaces. Now when a ip packet arrives on one of the switch
interfaces and is destined to the switch, the network hands over then to the
 MPPC860. It expected that ip processing be done on these packtes on the
vxworks processor. But I cannot insert these packtes in the the
 vxworksIP stack.

 question: Can you please tell how I can insert these packtes into the
vxworks ip stack (at the bottom). Note the special thing about this packtes
 is that they have not arrived at a interface known to vxworks.

From vxwexplo-errs@csg.lbl.gov Fri Mar 15 14:36:20 2002
From: "Venkat" <venkat@peribit.com>
Date: Fri Mar 15 14:36:22 PST 2002
Subject: software to monitor fan speed with Intel 815 or D845BG motherboard (VxWorks OS)?

I want to findout if you are able to monitor fan speed with Intel
D845BG motherboard on VxWorks.

I am able to get the code to work with Linux but not on VxWorks?
The code is pretty striaght forward. Linux to Vxworks conversion
did not work.

Linux based code is at
http://www.lsc-group.phys.uwm.edu/~ballen/driver/fan-1.2/fan.txt
This is a simple fan-monitor and control module for the SMSC LPC47M1xx
family of Super I/O Controllers. These allow two system fans to have their
speeds monitored and controlled. The supported chips are LPC47M10x,
LPC47M120, LPC47M13x, and LPC47M14x. This chip is used on a number of Intel
Pentium Motherboards, including the D815EEA, D815EEA2, D815EFV, and others.
I just want to find out if anyone has written code to dump system
information such as fan speed,
CPU temperature, power supply voltage etc. Your response will be highly
appreiated.
Thanks, Venkat

From vxwexplo-errs@csg.lbl.gov Fri Mar 15 15:10:49 2002
From: "Venkat" <venkat@peribit.com>
Date: Fri Mar 15 15:10:52 PST 2002
Subject: software to monitor fan speed with Intel 815 or D845BG motherboard (VxWorks OS)?

vxwexplo@lbl.gov, inquiries@windriver.com
I want to findout if you are able to monitor fan speed with Intel
D845BG motherboard on VxWorks.

I am able to get the code to work with Linux but not on VxWorks?
The code is pretty striaght forward. Linux to Vxworks conversion
did not work.

Linux based code is at
http://www.lsc-group.phys.uwm.edu/~ballen/driver/fan-1.2/fan.txt
This is a simple fan-monitor and control module for the SMSC LPC47M1xx
family of Super I/O Controllers. These allow two system fans to have their
speeds monitored and controlled. The supported chips are LPC47M10x,
LPC47M120, LPC47M13x, and LPC47M14x. This chip is used on a number of Intel
Pentium Motherboards, including the D815EEA, D815EEA2, D815EFV, and others.
I just want to find out if anyone has written code to dump system
information such as fan speed,
CPU temperature, power supply voltage etc. Your response will be highly
appreiated.
Thanks, Venkat

From vxwexplo-errs@csg.lbl.gov Sat Mar 16 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Mar 16 04:03:18 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sat Mar 16 04:03:10 PST 2002

 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: ipAttach - c vs c++
 Subject: Re: Strange ccarm error message.
 Subject: A question about TIMER design in vxworks
 Subject: Re: Looking for a Fortran compiler
 Subject: Re: Machine Check Exception
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: VxWorks image & headers
 Subject: Re: Strange ccarm error message.
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: vxWorks: using time & date package
 Subject: VX_FP_TASK taskSpawn option
 Subject: Re: vxWorks: using time & date package
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Re: Should the IP header be 4 bytes(long word) align?
 Subject: Can I associate a destination with a specific interface in the routing table?
 Subject: MAC address gets flipped after boot??
 Subject: loadModule: Relocation value does not fit in 24 bits
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: Read on serial does not block
 Subject: Re: help for hard disk
 Subject: Re: Machine Check Exception
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: Re: loadModule: Relocation value does not fit in 24 bits

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Fri, 15 Mar 2002 13:47:50 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3c91ed7c$1@brateggebdc5.br-automation.co.at>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <3c90e61d@brateggebdc5.br-automation.co.at> <5c074538.0203141726.537eb8e1@posting.google.com>

Hi,

Maybe you can exchange the system clock with the auxilary clock if you
change the BSP sources.
I'm not sure, but I think the appropriate stuff should be in sysLib.c and
friends (the files included from within sysLib.c)

Be advised, that the sysClk on x86 is not 'freely' programmable in
real-world units either (e. g. usec, or Hz) - it uses some odd clock rate
internally that I don't know where to look it up right now (maybe its stated
in the BSP docs or sources....). So you'll be off a little bit using this
clock, but you can certainly set it to whatever clock rate (from 1 Hz to the
clock rate of the chip) you like.

Another option would probably be to change the auxilary clock code as
described in an other post in this thread.

hth
Werner

"Allen Chang" <allencyl@my-deja.com> wrote in message
news:5c074538.0203141726.537eb8e1@posting.google.com...
- -- snip --
>
> Hello All,
>
> In general, My task will execute at (64*n)Hz, but when being set,
> the whole task needs to execute at (80*n)Hz.
> For the 64*nHz task I can use sysAuxClkRateSet(), but for 80*nHz one...
> that is the problem.
>
> Regards,
>
> Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: ipAttach - c vs c++
Date: 15 Mar 2002 05:23:51 -0800
From: dwh8@yahoo.com (David)
Organization: http://groups.google.com/
Message-ID: <8fe86b76.0203150523.37bcf451@posting.google.com>

This is probably a basic c vs c++ question, but I ran into it when
using ipAttach so here goes:

I have a c++ program that uses ipAttach. When I try to build it into
a vxworks image I get an undefined reference error on ipAttach if I
include "ipProto.h"

 #include "ipProto.h"

I don't get the error if I dont include "ipProto" and instead use

 extern "C"
 {
 int ipAttach (int unit,char *pDevice);
 }

What gives?

Secondary question (of less importance):
While I'm on the subject of c vs c++, I was tasked with the conversion
of an application from PSOS (using a Diab C compiler) to vxworks
(using the included gnu based compiler). The original files had the
.cc suffix and made extensive use of the "//" comment delimeters.
When I tried to compile the files in vxworks (Tornado) I of course got
numerous parse errors. Instead of converting all of the "// XXX" to
"/* XXX */", I opted to convert all the files to .cpp.

I just curious why a later version of a c compiler (vxworks) make such
a fuss about the "//" comments while the prior version worked fine?

Thanks for any help on these begginer C/C++ questions.

David

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

Newsgroups: comp.os.vxworks
Subject: Re: Strange ccarm error message.
Date: 15 Mar 2002 05:42:39 -0800
From: wzhliang@postmaster.co.uk (lang2)
Organization: http://groups.google.com/
Message-ID: <aaf37c34.0203150542.46f7436e@posting.google.com>
References: <a6kpsk$sut$1@kermit.esat.net> <u1yep4x5e.fsf@yahoo.com>

Bill Pringlemeir <bpringlemeir@yahoo.com> wrote in message news:<u1yep4x5e.fsf@yahoo.com>...
> lang2> Could anyone tell me what the following message mean?
> lang2> initializer element for `_localExceptionContext_.next' is not
> lang2> computable at load time.
>
> It helps immensely if you can give more details, like the C++ code
> that has localExceptionContext in some sort of array context. "is not
> computable at load time" means that you have made something static and
> attempted to use some sort of dynamic quantity to initialize it or to
> describe the size of an array [at least those are my guesses].
>
> Does "localExceptionContext" exist within your source code? Which
> processor and compiler are you using? This might be a special C++
> label for an exception, so you might be doing something wrong with an
> exception object.

The code is actually in C. And it compiles fine with gcc.
It is actaully a exception handeller emulator if you check the following link out:

http://ldeniau.home.cern.ch/ldeniau/html/exception/exception.html

The following is the code where ccarm is complainning about:

/*---------------------------------------------------------*/
#define try \
 do { \
 struct _exceptionContext_ *const _returnExceptionContext0_ = \
 _returnExceptionContext_; \
 struct _exceptionContext_ *const volatile _returnExceptionContext_ = \
 _returnExceptionContext0_ ? _returnExceptionContext0_: \
 _currentExceptionContext_; \
 struct _exceptionContext_ _localExceptionContext_ = \
 { _currentExceptionContext_ }; \
/* ^^^^^^^^^^^^^^^^
 here */
 _currentExceptionContext_ = &_localExceptionContext_; \
 (void)_returnExceptionContext_; \
 do { \
 int const exception = \
 _save_context_buffer_(_currentExceptionContext_->context); \
 if (!exception) {

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

Newsgroups: comp.os.vxworks
Subject: A question about TIMER design in vxworks
Date: 15 Mar 2002 05:44:43 -0800
From: zjh_future@263.net (zjh)
Organization: http://groups.google.com/
Message-ID: <8cd11808.0203150544.550ad069@posting.google.com>

hi,all
I have to design a timer in vxworks use tickLib.h .This need myself
maintain a timer list and broke them once a tick.
I want to know the detail of timer API about Vxworks:SUCH AS
timer_create( )
timer_start( );timer_stop( );timer_del( ) . Then I can use the API
vxworks provied.Have anyone done this thing?Can you share your
experience with me?

I also have another question on the difference of "exit( ) " between
Linux and Vxworks?Do the exit( ) close all the file have been opened?

All thanks!!

your sincerely :zhang jianhui

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

Newsgroups: comp.os.vxworks
Subject: Re: Looking for a Fortran compiler
Date: Fri, 15 Mar 2002 14:28:56 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C92059D.2090203@spamm.me.l8s.co.uk>
References: <3C91C58C.8623A08B@grenoble.sema.slb.com>

Quenot Helene - GRE wrote:

> Target System : pentium III PCI, with VxWorks OS
>
> I need to run existing Fortran software on a new target system, based on
> Pentium PC/VxWorks.
>
> How can I manage that problem :
>
> Do I need to convert my programs from Fortran to C++ or does anybody
> know about a compiler or cross-compiler that I could use to generate
> FORTRAN code for PC/VxWorks ?

I believe that the later versions of gcc will compile fortran 77.

You might have to write ASM hooks to call C from fortran and v.v.

The Fortran I wrote was for a pdp11 :-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Machine Check Exception
Date: Fri, 15 Mar 2002 14:41:05 +0000
From: David Machin <david.machin@baesystems.removethis-nospam.com>
Message-ID: <3C920801.37DAA692@baesystems.removethis-nospam.com>
References: <a27pcp$pv8$1@knossos.btinternet.com> <488e459a.0201180048.23f0ed9d@posting.google.com> <3C4B7627.B304755F@sympatico.ca> <2ede7703.0201210625.666f9918@posting.google.com>

I apologise for replying so long after the original post.

My client had similar problems with a PPC 750 processor running Tornado
2 - the main symptom being a Machine Check exception where the code and
register set appeared to be fine
We investigated this with the assistance of the hardware vendor and
could find no obvious underlying cause (such as a transfer abort to a
peripheral etc.) It is worth noting that a posted write to a peripheral
(especially over PCI) is often the cause of this kind of behaviour, as
the resulting exception is asynchronous with the instruction sequence
and could occur hundreds of cycles after the instruction that caused it.

We found that the rate of failure was affected by where the executable
was located in memory (i.e. moving the same executable to a different
place would change the behaviour) - but extensive RAM tests and testing
on other boards seemed to rule out any memory problems.
We also found that code which performed intensive operations on large
complex data structures was particularly badly affected.

Based on what we observed, we suspected some form of caching problem was
to blame, and thus disabled the level 2 cache. Since doing this we have
not seen the problem again.

The board vendor has a TSR with windriver to investigate this problem as
we suspect it may involve swapping of Page Table Entries (PTEs) - I
would be very interested to hear from anyone else who has had problems
with the PPC750 running T2 with level 2 cache enabled.

HTH

Dave Machin
Machin Consultants Ltd. working on behalf of BAE SYSTEMS

kannan wrote:
>
> Hi Yves,
>
> > we are having a similar problem with our system. A machine check
> > exception is happening ... in a streaming method. It runs through the
> > code on a number of occasion, than one time it produces an exception.
> > This problem comes and goes with re-compiles... We have created a ring
> > buffer with which all tasks check in on a task switch, to try and
> > identify the task causing the problem, but have yet to succeed...
>
> The contents that are printed in the console after getting the
> exception are:
>
> 1).Exception current instruction address
> 2).Machine Status Register
> 3).Condition Register
> 4).TaskId
> 5).TaskName
>
> so probably you will get that particular taskName and taskId which
> causes the
> Exception .Suppose if you are going a hanged state then probably you
> can write your own handler to logMsg the taskName and taskId in the
> console.
> So you will isolate the code which creates those exception.Check
> whether
> your default handler(VxWorks) makes that particular task which creates
> exception to suspended state? If so you can only check the task which
> goes to the suspended state.
>
> > the machine check exception can be caused by parity, invalid instruction
> > and some bus errors (I don't have my PPC manual with me).
> >
> > Any suggestions on finding (what I assumed to be) the stray pointer
> > would be welcomed at this point.
> >
> > PPC 750, Tornado II (with TCP2) on NT. We are using watchdogs.
>
> check whether your code has any invalid memory access.
>
> check this code :
>
> void machineChecktest (void)
> {
> printf("\n Test Task");
> d (0xffffffff); /*some Invalid address*/
> printf("\n Machine check exception test code over\n");
> }
>
> ->sp machineChecktest
>
> test this code and see whether the machine check exception
> is happening ... in a streaming method or you are able
> to get the machine check exception only once and also check
> whether you get that task machineChecktest to suspended state
> and the taskName and taskId are printed in your console.
>
> Rgds,
> kannan
>
> Yves <yves.boudreault2@sympatico.ca> wrote in message news:<3C4B7627.B304755F@sympatico.ca>...
> > John wrote:
> > >
> > > Hello,
> > >
> > > Which type of PPC are you using, and what version of VxWorks? Also,
> > > what else is running on your target at the time, or is it just the
> > > serial output? In particular, are you using things like watchdogs or
> > > POSIX timers?
> > >
> > > Rgds,
> > >
> > > John...
> > >
> > > "martin brook" <vgrade@btinternet.com> wrote in message news:<a27pcp$pv8$1@knossos.btinternet.com>...
> > > > Hi,
> > > >
> > > > I'm having problems with my application getting random machine check
> > > > exceptions (0x200). The exception address reported does not correspond to
> > > > any code which may cause a machine check. I understand that the exception
> > > > reporting can be delayed so giving no clue as to where the exception is
> > > > occuring.
> > > >
> > > > Has anyone got a method of debugging these exceptions ? or a way of turning
> > > > the machine check off ?
> > > >
> > > > My app is doing a lot of serial I/O on ports 0/1 which are set to
> > > > 115200baud.
> > > >
> > > > TIA martin
> > > >
> > > >
> > > >
> > > > ---
> > > > Outgoing mail is certified Virus Free.
> > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > Version: 6.0.313 / Virus Database: 174 - Release Date: 1/3/02
> >
> > Hi,
> >
> > we are having a similar problem with our system. A machine check
> > exception is happening ... in a streaming method. It runs through the
> > code on a number of occasion, than one time it produces an exception.
> > This problem comes and goes with re-compiles... We have created a ring
> > buffer with which all tasks check in on a task switch, to try and
> > identify the task causing the problem, but have yet to succeed...
> >
> > the machine check exception can be caused by parity, invalid instruction
> > and some bus errors (I don't have my PPC manual with me).
> >
> > Any suggestions on finding (what I assumed to be) the stray pointer
> > would be welcomed at this point.
> >
> > PPC 750, Tornado II (with TCP2) on NT. We are using watchdogs.
> >
> > thanks
> >
> > Yves

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Fri, 15 Mar 2002 14:52:00 +0000
From: David Machin <david.machin@baesystems.removethis-nospam.com>
Message-ID: <3C920A90.A9B8CB02@baesystems.removethis-nospam.com>
References: <5c074538.0203122254.56279c06@posting.google.com>

Use the watchdog timer (or better still an alarm timer) to trigger and
ISR that will:

- - Reprogram the watchdog timer for the next event (if required).
- - Signal a semaphore.

Then provide a task which loops, waiting on this semaphore to run.

If you use a watchdog timer which requires reprogramming you may get
some drift due to the latency between timer expiry and the ISR running.

HTH

Dave Machin
Machin Consultants Ltd. working on behalf of BAE SYSTEMS

Allen Chang wrote:
>
> Hello All,
>
> I am surveying how to use VxWorks to write a real-time
> simulator in cooperate with x86 single board computer.
> During reading the documents of VxWorks, there is a question
> that need some help here.
>
> If you need to perform a periodical task, and the
> frequency is an invaild value for sysAuxClkRateSet().
> Since it's periodical and the task really takes some time
> to execute (at least 3ms in PII 350), the watchdog
> timer and ISR may not be a solution.
>
> Is there any alternative to perform the task accurately,
> without increase the system overhead by using sysClkRateSet()?
>
> Best Regards,
>
> Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: VxWorks image & headers
Date: Fri, 15 Mar 2002 10:14:57 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3C920FEF.BFB40EA0@notifier-is.net>
References: <3c90a2db$0$92532$edfadb0f@dspool01.news.tele.dk> <342k8.3728$T_.69299@iad-read.news.verio.net> <3C90D170.A31B47A5@fnal.gov>

hi,

 I noticed that the bootimage (bootrom_uncmp) has some type of image header on
it, and you would use e.g. vxcopy to strip the header and create a bootable
version of the boot code. Does the vxworks image itself have such a header? I
want to put my own header on the vxworks image (to synchronize downloads of the
image) and am wondering if I can just replace an existing header, or if things are
more complex than that?

Thanks,

David

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

Newsgroups: comp.os.vxworks
Subject: Re: Strange ccarm error message.
Date: 15 Mar 2002 12:52:16 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <uhenh1zxr.fsf@yahoo.com>
References: <a6kpsk$sut$1@kermit.esat.net> <u1yep4x5e.fsf@yahoo.com> <aaf37c34.0203150542.46f7436e@posting.google.com>
Sender: bpringlemeir@DeadDuck

 >>> Could anyone tell me what the following message mean?
 >>> initializer element for `_localExceptionContext_.next' is not
 >>> computable at load time.

 >> It helps immensely if you can give more details, like the C++
 >> code that has localExceptionContext in some sort of array
 >> context. "is not computable at load time" means that you have made
 >> something static and attempted to use some sort of dynamic
 >> quantity to initialize it or to describe the size of an array [at
 >> least those are my guesses].
 >>
 >> Does "localExceptionContext" exist within your source code? Which
 >> processor and compiler are you using? This might be a special C++
 >> label for an exception, so you might be doing something wrong with
 >> an exception object.

 lang2> The code is actually in C. And it compiles fine with gcc. It
 lang2> is actaully a exception handeller emulator if you check the
 lang2> following link out:

 lang2> http://ldeniau.home.cern.ch/ldeniau/html/exception/exception.html

 struct _exceptionContext_ _localExceptionContext_ = \
 { _currentExceptionContext_ }; \

Why are there braces around currentExceptionContext? Something is
messed up here. I assume that the first or second element of the
`_??```~~exceptionContext' is called `next'. In the rest of the code, it is
using `currentExceptionContext' as a pointer. This would make more
sense, but I am unsure as I haven't looked at the code.

 struct _exceptionContext_ _localExceptionContext_ = \
 *currentExceptionContext_; \

The code is bad, it is not a gcc error.

hth,
Bill Pringlemeir.

- --
NORAD spy cryptographic radar Serbian jihad Semtex quiche DES PLO
Saddam Hussein Delta Force Albanian Nazi Soviet

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: 15 Mar 2002 12:57:33 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <ud6y51zoy.fsf@yahoo.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk> <1d411918.0203131637.2dd9ebc1@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "DragonSpring" == DragonSpring <lihuapeng@21cn.com> writes:

 DragonSpring> No, I can't make 4n+2 boundary. The HDLC controller
 DragonSpring> requires 4n boundary. And we also use MPC860 FEC as
 DragonSpring> Ethernet controller. This ethernet hardware also
 DragonSpring> requires 4n boundary.

Use two buffer descriptors. One for the MAC header and another for
the IP packet. I an not sure how this will convert to the
mbuf/network blocks. However, the MPC860 is pretty cool in that it
can chain the receive buffers just like an mbuf. So, I think that you
can make things very efficient. You may only sacrifice one BD to do
the MAC decoding as you could copy the header after the receive. You
can also mark only some of the BD with an interrupt bit.

hth,
Bill Pringlemeir.

- --
$400 million in gold bullion Legion of Doom Delta Force domestic
disruption South Africa cryptographic kibo colonel terrorist CIA Nazi
SEAL Team 6 strategic Ft. Bragg plutonium

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: vxWorks: using time & date package
Date: 15 Mar 2002 10:23:33 -0800
From: vlad_falcon@srtelecom.com (vlad)
Organization: http://groups.google.com/
Message-ID: <f9c7cae2.0203151023.1206f180@posting.google.com>

The "time & date" package consists of a few libraries (ansiTime, clockLib,
...). I am in need of using local time zones and daylight saving time. In
the documentation there is a simple remark

"... The local time zone and Daylight Saving Time are
implementation-defined. ..."

What does it mean?? Then:

"...If the environment variable TIMEZONE is set, the information is
retrieved from this variable, otherwise from the locale information...."

I tried defining a TIMEZONE variable as suggested and seeing if there is any
difference between gmtime and local time; NONE whatsoever.

TIMEZONE="EST::300:040102:100102"

I looked in the "locale.h" for different services offered and there are none
time&date related.
There is only one simbol defined but not used (directly):

#define LC_TIME 6

I made some simple tests that showed:
- - no difference between GMT and LOCAL time
- - no impact of DST

Here you have my test program and the output:

How can I use time zones? How daylight saving time (could) affect timers in
the system?? Is there any documentation on these issues?

Our Configuration:
Tornado 2.0(.x), PPC860, host Win-NT 4.0 (SP6, build 1381),

Thanx,

Vlad.

>>>>>>>>>>>>>>>>>> timeutils.cpp

// Interface Dependencies ------------------------------------------------------

#include <stdio.h>
//#include <iostream.h>
#include <time.h>
#include "TimeUtils.Hpp"

// End Interface Dependencies --------------------------------------------------

// Global Variables Area -------------------------------------------------------

const char* TIMEZONE= "EST::300:040102:100102";
time_t calendarTime;
struct tm gmTime, localTime;

// Local Variables Area --------------------------------------------------------

// Local Variables Area End ----------------------------------------------------

// Functions Area --------------------------------------------------------------

void srxTimeDateShow(const char* msgShow, struct tm * bufTime)
{
#define ASC_TIME_BUF_LEN 100
 char ascTimeBuf[ASC_TIME_BUF_LEN];
 size_t bufLen= ASC_TIME_BUF_LEN;

 asctime_r(bufTime, ascTimeBuf, &bufLen);
 printf("%s: %s\n", msgShow, ascTimeBuf);
}

void srxTimeDateCompare()
{

 // get current calendar time
 calendarTime= time(0);

 // breakdown GMT
 gmtime_r(&calendarTime, &gmTime);

 // breakdown LOCAL
 localtime_r(&calendarTime, &localTime);

 // show GMT
 srxTimeDateShow("GMT time ", &gmTime);

 // show LOCAL
 srxTimeDateShow("LOCAL time", &localTime);
}

void srxTimeTests()
{
 // set initial date (no DST)
 printf("\n\n >>> Initial date <<<\n");
 srxDateSet ( 2002, 2, 15);
 srxTimeDateCompare();

 // change date in DST
 printf("\n\n >>> Change date in DST <<<\n");
 srxDateSet ( 1990, 6, 1);

 srxTimeDateCompare();

 // reset DST flag
 printf("\n\n >>> Reset DST flag <<<\n");
 gmTime.tm_isdst= 0;
 localTime.tm_isdst= 0;

 // show GMT
 srxTimeDateShow("GMT time ", &gmTime);

 // show LOCAL
 srxTimeDateShow("LOCAL time", &localTime);

 // set DST flag
 printf("\n\n >>> Set DST flag <<<\n");
 gmTime.tm_isdst= 1;
 localTime.tm_isdst= 1;

 // show GMT
 srxTimeDateShow("GMT time ", &gmTime);

 // show LOCAL
 srxTimeDateShow("LOCAL time", &localTime);
}

// End-of-file

>>>>>>>>>>>>>>>>>>>>>>>>> timeutils.log

- ->
- -> ld < g:\tests\obj\timeutils.o
Loading g:\tests\obj\timeutils.o |
value = 3231408 = 0x314eb0
- -> srxTimeTests()

 >>> Initial date <<<
GMT time : FRI MAR 15 13:57:07 2002

LOCAL time: FRI MAR 15 13:57:07 2002

 >>> Change date in DST <<<
GMT time : SUN JUL 01 13:57:07 1990

LOCAL time: SUN JUL 01 13:57:07 1990

 >>> Reset DST flag <<<
GMT time : SUN JUL 01 13:57:07 1990

LOCAL time: SUN JUL 01 13:57:07 1990

 >>> Set DST flag <<<
GMT time : SUN JUL 01 13:57:07 1990

LOCAL time: SUN JUL 01 13:57:07 1990

value = 39 = 0x27 = '''
- -> lkup "TIME"
TIMEZONE 0x003397cc data (timeutils.o)
value = 0 = 0x0
- ->
- -> d 0x003397cc
003397c0: 0033971c * .3..*
003397d0: 268e0133 00000007 00000039 0000000d *&..3.......9....*
003397e0: 00000001 00000006 0000005a 00000000 *...........Z....*
003397f0: 000000b5 00000001 00000007 00000039 *...............9*
00339800: 0000000d 00000001 00000006 0000005a *...............Z*
00339810: 00000000 000000b5 00000001 *............ *
value = 0 = 0x0
- -> d 0x0033971c
00339710: 4553543a * EST:*
00339720: 3a333030 3a303430 3130323a 31303031 *:300:040102:1001*
00339730: 30320000 25733a20 2025730a 00000000 *02..%s: %s.....*
00339740: 474d5420 74696d65 20200000 4c4f4341 *GMT time ..LOCA*
00339750: 4c207469 6d650000 0a0a203e 3e3e2049 *L time.... >>> I*
00339760: 6e697469 616c2064 61746520 *nitial date *
value = 0 = 0x0
- ->

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

Newsgroups: comp.os.vxworks
Subject: VX_FP_TASK taskSpawn option
Date: 15 Mar 2002 10:32:11 -0800
From: hschultz98@yahoo.com (Harold Schultz)
Organization: http://groups.google.com/
Message-ID: <56a1997f.0203151032.986081d@posting.google.com>

Does anyone know how to have all spawned tasks automatically set the
option VX_FP_TASK?
The problem is that we are using some COTS software that doesn't set
this option, but is doing floating point computations. The vendor for
the COTS software doesn't provide support anymore and the only thing
we have is a library module.
Thank you in advance for any help.
- ---------------------
Harold Schultz
hschultz98@yahoo.com

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks: using time & date package
Date: Fri, 15 Mar 2002 14:24:05 -0500
From: "Vlad Falcon" <vlad_falcon@srtelecom.com>
Organization: Bell Sympatico
Message-ID: <7Urk8.5497$PS5.683583@news20.bellglobal.com>
References: <f9c7cae2.0203151023.1206f180@posting.google.com>

The answer is in vxWorks library "envLib"

as soon as i defined the TIMEZONE variable and added to the environment
using

putenv "TIMEZONE EST::300:040102:100102"

everything started working properly.

thanks,

vlad.

vlad wrote in message ...
>The "time & date" package consists of a few libraries (ansiTime, clockLib,
>...). I am in need of using local time zones and daylight saving time. In
>the documentation there is a simple remark
>
........

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: Fri, 15 Mar 2002 19:48:11 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C92506D.4030601@spamm.me.l8s.co.uk>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk> <1d411918.0203131637.2dd9ebc1@posting.google.com> <ud6y51zoy.fsf@yahoo.com>

Bill Pringlemeir wrote:

>>>>>>"DragonSpring" == DragonSpring <lihuapeng@21cn.com> writes:
>>>>>>
>
> DragonSpring> No, I can't make 4n+2 boundary. The HDLC controller
> DragonSpring> requires 4n boundary. And we also use MPC860 FEC as
> DragonSpring> Ethernet controller. This ethernet hardware also
> DragonSpring> requires 4n boundary.
>
> Use two buffer descriptors. One for the MAC header and another for
> the IP packet. I an not sure how this will convert to the
> mbuf/network blocks. However, the MPC860 is pretty cool in that it
> can chain the receive buffers just like an mbuf. So, I think that you
> can make things very efficient. You may only sacrifice one BD to do
> the MAC decoding as you could copy the header after the receive. You
> can also mark only some of the BD with an interrupt bit.

Does it allow lengths that are 4n+2?

What happens to runt and overlong packets?
You don't want to have to undo the mess generated if it gets
misaligned!

Given half a chance (ie being told which MAC chip a board was
going to use, and being able to get and read its datasheet
before the decision was completely finalised) I would
recommend buying a MAC chip that can rx onto 4n+2 boundaries.
The performance benefit is almost certainly measurable - even
if your cpu can do misaligned reads - which many embedded
system style cpus cannot.

If you are stuck with an rx frame on a 4n boundary and
you are expecting IP frames then there is quite possibly a
win realigning the entire frame by copying in in the MAC
driver. Almost all the frame will either be looked with
32 bit transfers, or copied into an aligned buffer at
a later date.

Cpus that have a string move instruction and an embedded
data cache could quite easily have the hardware added to
do fast unaligned block moves - cache line aligned block
moves can be done by reading memory into the 'wrong'
cache line (ie read src address to tgt addr cache line).
A big barrel shifter will do all the other alignments.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Should the IP header be 4 bytes(long word) align?
Date: 15 Mar 2002 15:11:56 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <uzo19zj3n.fsf@yahoo.com>
References: <1d411918.0203130023.5d5db610@posting.google.com> <newscache$0wpwsg$qro$1@lnews.actcom.co.il> <3C8F42DB.8050601@spamm.me.l8s.co.uk> <1d411918.0203131637.2dd9ebc1@posting.google.com> <ud6y51zoy.fsf@yahoo.com> <3C92506D.4030601@spamm.me.l8s.co.uk>
Sender: bpringlemeir@DeadDuck

 DragonSpring> No, I can't make 4n+2 boundary. The HDLC controller
 DragonSpring> requires 4n boundary. And we also use MPC860 FEC as
 DragonSpring> Ethernet controller. This ethernet hardware also
 DragonSpring> requires 4n boundary.

 >> Use two buffer descriptors. One for the MAC header and another
 >> for the IP packet. I an not sure how this will convert to the
 >> mbuf/network blocks. However, the MPC860 is pretty cool in that
 >> it can chain the receive buffers just like an mbuf. So, I think
 >> that you can make things very efficient. You may only sacrifice
 >> one BD to do the MAC decoding as you could copy the header after
 >> the receive. You can also mark only some of the BD with an
 >> interrupt bit.

 David> Does it allow lengths that are 4n+2?

 David> What happens to runt and overlong packets? You don't want to
 David> have to undo the mess generated if it gets misaligned!

You can specify to ignore these packets in the controller if you like.

 David> Given half a chance (ie being told which MAC chip a board was
 David> going to use, and being able to get and read its datasheet
 David> before the decision was completely finalised) I would
 David> recommend buying a MAC chip that can rx onto 4n+2 boundaries.
 David> The performance benefit is almost certainly measurable - even
 David> if your cpu can do misaligned reads - which many embedded
 David> system style cpus cannot.

Ah, put the MPC860 has an integrated MAC. That is part of the point
of the beast. It has a sort of co-processor called the CPM. This
thing does DMA from the MAC controller on board (you do need front-end
stuff like MII, RJ45, 10Base-T, 10Base-2, AUI, etc).

I think the BD's on an MPC860 can use size like `14' to grab a DIX
header [if it cann't, my point is useless]. The CRC is normally
discarded. Since you must have a frame that is at least 64 bytes if
it is non-runt I think this method might work well. However, I
haven't tried it! It is only a suggestion, given that the OP is
working with this specific controller. [the FEC was `brand new' when I
stopped with the CPM. I have used the 68360 version as well as the
MPC without FEC].

Regards,
Bill Pringlemeir.

- --
Minutes from now making love may seem worthless. Discuss life with
RMS with the help of God. This week will be a good time for staying
where you are. Someone you know will eventually reveal itself to be
your child. You'll never be shrunk. Your lucky numbers are 20, 30,
and 40.

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Can I associate a destination with a specific interface in the routing table?
Date: 15 Mar 2002 12:16:53 -0800
From: lliao@opvista.com (Liang)
Organization: http://groups.google.com/
Message-ID: <e9720ff6.0203151216.2eb010eb@posting.google.com>

Hi, I have the following system configuration with 3 nodes (could be
more). This is a proprietary network and you can assume it has no
interaction with the outside public network.

 ------------
 | A |
 | |
 ------------
 A1| |A2
 | |
 | |
 B1| |C1
 ------------ ------------
 | B |B2 C2| C |
 | |-------| |
 ------------ ------------

Each node (A, B, C) has two Ethernet interfaces, and each interface is
connected only to an interface on the adjacent nodes, so I want to
treat them as point to point interfaces. I am trying to set up a
routing table in each node to send traffic to the other nodes. One
way to do that is to treat each point to point segment as a network,
e.g. interface A1 has IP address 1.1.1.1, B1 is 1.1.1.2, A2 is
1.1.2.1, C1 is 1.1.2.2, etc. The problem with this is that it would
be a configuration nightmare since I need to treat each network
segment as a subnet (imagine that there are a few more nodes in the
ring, or a even a tree). I would like to assign all the nodes to the
same subnet, e.g. A is 1.1.1.1, B is 1.1.1.2, C is 1.1.1.3, and not
assign any IP address to the interface. By doing so, I want to set up
my routing table such that I can specify in Node A's routing table,
for example, to send traffic to destination B(1.1.1.2) using interface
A1, and C using interface A2. With this approach, however, I need a
way to associate a destination with an interface. That means I can't
use routeAdd or mRouteAdd. Is there a way for me to accomplish what I
want under vxworks, or do I have to set up my own routing table and do
the routing myself by intercepting all incoming frames and route them
according to my own routing table? Thanks for any comments.

Liang

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

Newsgroups: comp.os.vxworks
Subject: MAC address gets flipped after boot??
Date: Fri, 15 Mar 2002 17:55:17 -0500
From: "James Perkins" <jperkins@ll.mit.edu>
Message-ID: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu>

I have a strange ethernet problem that I have been trying to figure out. I
had two identical MVME2700 boards. One of these boards would execute my
system image without a problem. The other board had problems with ethernet
(TCP to be exact). I was stumped since I was using identical hardware, the
same boot rom, and the same system image. I returned the "bad" and got a
replacement. It has the same problem. On the suggestion of someone on the
list I decided to use Ethereal on a PC to sniff the network and try to
pinpoint my problem. I discovered something that I do not understand. The
MAC address gets flipped after the system images boots. So it goes like
this:

power up board
boot rom loads and executes
MVME2700 MAC address seen on the network is 08-00-3e-2a-49-4c
system image is retrieved via ftp
system image loads and boots
MVME2700 MAC address seen on the network is 00-08-2a-3e-4c-49

This is my "good" MVME2700.

The "new bad" one shows up on the network as
00-01-af-03-f7-7e and then changes to
01-00-03-af-7e-f7

What is going on here?

- -Jim

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

Newsgroups: comp.os.vxworks
Subject: loadModule: Relocation value does not fit in 24 bits
Date: Sat, 16 Mar 2002 01:03:57 +0200
From: "Zvika Vered" <zvivered@zahav.net.il>
Organization: Internet Gold, ISRAEL
Message-ID: <a6tuis$460$1@news.inter.net.il>

Hello All,

When I load an object file by calling LoadModule() or ld (1)
<object_filename,the console show this information :

Relocation value does not fit in 24 bits.
Relocation value does not fit in 24 bits
......

But if I download this file by Tornado II,it is ok.
Who can help me?

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Fri, 15 Mar 2002 15:39:56 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u951l3guedct40@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu>

The bootrom seems correct. Motorola vendor address is 08-00-3e. Your
VxWorks driver must be swapping bytes when programming mac address in.
00-08-2a is invalid vendor. The VxWorks driver should be fixed.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Read on serial does not block
Date: 15 Mar 2002 17:01:13 -0800
From: bhorowit@cs.berkeley.edu (Benjamin Horowitz)
Organization: http://groups.google.com/
Message-ID: <ab1f8a59.0203151701.23e38208@posting.google.com>
References: <ab1f8a59.0203131759.5fd1b5c5@posting.google.com>

Reinhold, John, Werner,

Thanks very much for your suggestions, which enabled us to solve our problem.

Ben

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

Newsgroups: comp.os.vxworks
Subject: Re: help for hard disk
Date: 15 Mar 2002 18:00:44 -0800
From: winter_lin2000@yahoo.com.cn (winter)
Organization: http://groups.google.com/
Message-ID: <7863b471.0203151800.3d644e4b@posting.google.com>
References: <7863b471.0203131915.2439e089@posting.google.com> <newscache$heiysg$713$1@lnews.actcom.co.il> <7863b471.0203141730.4934b9d9@posting.google.com> <newscache$6a90tg$m36$1@lnews.actcom.co.il>

I find an article about PCMCIA ATA specification in which it is
mention that we can use pcmcia signal as true ide signal.
 I am not sure if it is right.Maybe I do not need pci/ide chip.
I will try it.
 If I use pic/ide chip,I have to use PCI bridge to connect with my
CPU.It may be too trouble.
 ok,wait for my good news!
 Thanks!

"Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com> wrote in message news:<newscache$6a90tg$m36$1@lnews.actcom.co.il>...
> CF is not your only choise by all means, but its the easiest,
> because the CF hardware interface is quite close to PCMCIA.
>
> Standard PC disk drives all use IDE interface, and you would
> need an PCI/IDE chip to handle them properly. This will cost
> more but will yield greater performance, worse reliability.
>
> Depende on what you really need.
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Machine Check Exception
Date: Fri, 15 Mar 2002 21:33:44 -0500
From: Yves <yves.boudreault2@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <3C92AF08.32D10089@sympatico.ca>
References: <a27pcp$pv8$1@knossos.btinternet.com> <488e459a.0201180048.23f0ed9d@posting.google.com> <3C4B7627.B304755F@sympatico.ca> <2ede7703.0201210625.666f9918@posting.google.com> <3C920801.37DAA692@baesystems.removethis-nospam.com>

David Machin wrote:
>
> I apologise for replying so long after the original post.
>
> My client had similar problems with a PPC 750 processor running Tornado
> 2 - the main symptom being a Machine Check exception where the code and
> register set appeared to be fine
> We investigated this with the assistance of the hardware vendor and
> could find no obvious underlying cause (such as a transfer abort to a
> peripheral etc.) It is worth noting that a posted write to a peripheral
> (especially over PCI) is often the cause of this kind of behaviour, as
> the resulting exception is asynchronous with the instruction sequence
> and could occur hundreds of cycles after the instruction that caused it.
>
> We found that the rate of failure was affected by where the executable
> was located in memory (i.e. moving the same executable to a different
> place would change the behaviour) - but extensive RAM tests and testing
> on other boards seemed to rule out any memory problems.
> We also found that code which performed intensive operations on large
> complex data structures was particularly badly affected.
>
> Based on what we observed, we suspected some form of caching problem was
> to blame, and thus disabled the level 2 cache. Since doing this we have
> not seen the problem again.
>
> The board vendor has a TSR with windriver to investigate this problem as
> we suspect it may involve swapping of Page Table Entries (PTEs) - I
> would be very interested to hear from anyone else who has had problems
> with the PPC750 running T2 with level 2 cache enabled.
>
> HTH
>
> Dave Machin
> Machin Consultants Ltd. working on behalf of BAE SYSTEMS
>
> kannan wrote:
> >
> > Hi Yves,
> >
> > > we are having a similar problem with our system. A machine check
> > > exception is happening ... in a streaming method. It runs through the
> > > code on a number of occasion, than one time it produces an exception.
> > > This problem comes and goes with re-compiles... We have created a ring
> > > buffer with which all tasks check in on a task switch, to try and
> > > identify the task causing the problem, but have yet to succeed...
> >
> > The contents that are printed in the console after getting the
> > exception are:
> >
> > 1).Exception current instruction address
> > 2).Machine Status Register
> > 3).Condition Register
> > 4).TaskId
> > 5).TaskName
> >
> > so probably you will get that particular taskName and taskId which
> > causes the
> > Exception .Suppose if you are going a hanged state then probably you
> > can write your own handler to logMsg the taskName and taskId in the
> > console.
> > So you will isolate the code which creates those exception.Check
> > whether
> > your default handler(VxWorks) makes that particular task which creates
> > exception to suspended state? If so you can only check the task which
> > goes to the suspended state.
> >
> > > the machine check exception can be caused by parity, invalid instruction
> > > and some bus errors (I don't have my PPC manual with me).
> > >
> > > Any suggestions on finding (what I assumed to be) the stray pointer
> > > would be welcomed at this point.
> > >
> > > PPC 750, Tornado II (with TCP2) on NT. We are using watchdogs.
> >
> > check whether your code has any invalid memory access.
> >
> > check this code :
> >
> > void machineChecktest (void)
> > {
> > printf("\n Test Task");
> > d (0xffffffff); /*some Invalid address*/
> > printf("\n Machine check exception test code over\n");
> > }
> >
> > ->sp machineChecktest
> >
> > test this code and see whether the machine check exception
> > is happening ... in a streaming method or you are able
> > to get the machine check exception only once and also check
> > whether you get that task machineChecktest to suspended state
> > and the taskName and taskId are printed in your console.
> >
> > Rgds,
> > kannan
> >
> > Yves <yves.boudreault2@sympatico.ca> wrote in message news:<3C4B7627.B304755F@sympatico.ca>...
> > > John wrote:
> > > >
> > > > Hello,
> > > >
> > > > Which type of PPC are you using, and what version of VxWorks? Also,
> > > > what else is running on your target at the time, or is it just the
> > > > serial output? In particular, are you using things like watchdogs or
> > > > POSIX timers?
> > > >
> > > > Rgds,
> > > >
> > > > John...
> > > >
> > > > "martin brook" <vgrade@btinternet.com> wrote in message news:<a27pcp$pv8$1@knossos.btinternet.com>...
> > > > > Hi,
> > > > >
> > > > > I'm having problems with my application getting random machine check
> > > > > exceptions (0x200). The exception address reported does not correspond to
> > > > > any code which may cause a machine check. I understand that the exception
> > > > > reporting can be delayed so giving no clue as to where the exception is
> > > > > occuring.
> > > > >
> > > > > Has anyone got a method of debugging these exceptions ? or a way of turning
> > > > > the machine check off ?
> > > > >
> > > > > My app is doing a lot of serial I/O on ports 0/1 which are set to
> > > > > 115200baud.
> > > > >
> > > > > TIA martin
> > > > >
> > > > >
> > > > >
> > > > > ---
> > > > > Outgoing mail is certified Virus Free.
> > > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > > Version: 6.0.313 / Virus Database: 174 - Release Date: 1/3/02
> > >
> > > Hi,
> > >
> > > we are having a similar problem with our system. A machine check
> > > exception is happening ... in a streaming method. It runs through the
> > > code on a number of occasion, than one time it produces an exception.
> > > This problem comes and goes with re-compiles... We have created a ring
> > > buffer with which all tasks check in on a task switch, to try and
> > > identify the task causing the problem, but have yet to succeed...
> > >
> > > the machine check exception can be caused by parity, invalid instruction
> > > and some bus errors (I don't have my PPC manual with me).
> > >
> > > Any suggestions on finding (what I assumed to be) the stray pointer
> > > would be welcomed at this point.
> > >
> > > PPC 750, Tornado II (with TCP2) on NT. We are using watchdogs.
> > >
> > > thanks
> > >
> > > Yves

Hi,

thanks for the input.

We successfully tracked the problem down ... gcc problem. A register
(exception context?) was being reused as a general purpose register that
should not have been. A SPR is logged at WRS.

Yves

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: 16 Mar 2002 00:11:52 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203160011.728d304e@posting.google.com>
References: <a6tuis$460$1@news.inter.net.il>

Hello,

This is a very well known issue. Please try searching in the group
archives and/or on Windsurf in future. You can search previous
postings at a number of places, including http://groups.google.com/
and in WindSurf's search facility.

The cause of the error you are seeing relates to the relative
addressing used in the branch instructions. There are two common
solutions:

1) Define LOCAL_MEM_SIZE to be 32MB (for PPC; other architectures
might need other sizes), boot your system and load the code, then use
memAddToPool() to add the remainder of the RAM to the heap.

2) Compile your code with the -mlongcall option (might be -mlong-call
- - check the compiler docs).

The reason that the host loader works is due to the way the host tools
allocate memory on the target.

Also, when posting here you should also include at least the
architecture/CPU you are using, and which host OS.

HTH,

John...

"Zvika Vered" <zvivered@zahav.net.il> wrote in message news:<a6tuis$460$1@news.inter.net.il>...
> Hello All,
>
> When I load an object file by calling LoadModule() or ld (1)
> <object_filename,the console show this information :
>
> Relocation value does not fit in 24 bits.
> Relocation value does not fit in 24 bits
> ......
>
> But if I download this file by Tornado II,it is ok.
> Who can help me?

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Sat, 16 Mar 2002 08:17:41 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <FcDk8.50948$uA5.55208@rwcrnsc51.ops.asp.att.net>
References: <a6tuis$460$1@news.inter.net.il>

Hello Zvika,

 If you have more than 32MB of ram and you didn't compile your app
with -mlongcall, since
the target shell will allocate from the system memory pool (starts from the
top of physical memory)
, which could be more than 24 bits of addressing away from the kernel
routines it needs to link
with, this causes problems for PPC and MIPS(?). Not sure about other
architectures. The reason
you don't see this when loading from the Host shell is due to the fact that
the application will be loaded into the WDB memory pool which is usually
carved out right after the memory containing the kernel routines. Therefore
you usually wouldn't see this error (keyword usually). HTH

"Zvika Vered" <zvivered@zahav.net.il> wrote in message
news:a6tuis$460$1@news.inter.net.il...
> Hello All,
>
> When I load an object file by calling LoadModule() or ld (1)
> <object_filename,the console show this information :
>
> Relocation value does not fit in 24 bits.
> Relocation value does not fit in 24 bits
> ......
>
> But if I download this file by Tornado II,it is ok.
> Who can help me?
>
>

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

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

From vxwexplo-errs@csg.lbl.gov Sun Mar 17 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Mar 17 04:03:18 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sun Mar 17 04:03:12 PST 2002

 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: VX_FP_TASK taskSpawn option
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: VX_FP_TASK taskSpawn option
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: VX_FP_TASK taskSpawn option
 Subject: Re: VX_FP_TASK taskSpawn option
 Subject: Re: muxDevStart function failed.
 Subject: Re: Reception of broadacted UDP messages on the same host
 Subject: Re: Reception of broadacted UDP messages on the same host
 Subject: Re: MAC address gets flipped after boot??
 Subject: DY4 X Libraries for vxworks
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: MAC address gets flipped after boot??
 Subject: Re: How do I debug freezes?
 Subject: ATA driver for compact flash with memory mode
 Subject: Help:Toronda Prototyper two simulated targets in Windows XP?
 Subject: Re: DY4 X Libraries for vxworks
 Subject: Re: How do I debug freezes?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 13:02:53 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9342ED.6010803@spamm.me.l8s.co.uk>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com>

Hwa Jin Bae wrote:

> The bootrom seems correct. Motorola vendor address is 08-00-3e. Your
> VxWorks driver must be swapping bytes when programming mac address in.
> 00-08-2a is invalid vendor. The VxWorks driver should be fixed.

No: 00-08-2a-xx-xx-xx is a valid MAC address,
but: 01-00-03-xx-xx-xx is a broadcast address and thus invalid.

The vxWorks driver is definitely hosed ;-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Sat, 16 Mar 2002 08:34:25 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u96t2pjg1il778@corp.supernews.com>
References: <a6tuis$460$1@news.inter.net.il> <FcDk8.50948$uA5.55208@rwcrnsc51.ops.asp.att.net>

No such problem for MIPS. It is PPC specific issue.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 08:35:23 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u96t4o290uq089@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk>

Valid in what sense? Who owns 00-08-2a?

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Sat, 16 Mar 2002 18:49:56 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$7ky2tg$ll9$1@lnews.actcom.co.il>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com>

I have nver tried this, but here is a suggestion:

1. You can change the interface flags with ifFlagSet() to turn off
IFF_BROADCAST, and set IFF_POINTTOPOINT
2. Set the destination IP address with ifDestAddrSet(), as if this was a
true P2P link.
3. At this point, the MAC address could become a headache, so you would need
to use a sniffer of some sort to see what is going on. If ARP does not work,
you could use arpAdd() to add the needed ARP tables manually.

"Liang" <lliao@opvista.com> wrote in message
news:e9720ff6.0203151216.2eb010eb@posting.google.com...
> Hi, I have the following system configuration with 3 nodes (could be
> more). This is a proprietary network and you can assume it has no
> interaction with the outside public network.
>
> ------------
> | A |
> | |
> ------------
> A1| |A2
> | |
> | |
> B1| |C1
> ------------ ------------
> | B |B2 C2| C |
> | |-------| |
> ------------ ------------
>
> Each node (A, B, C) has two Ethernet interfaces, and each interface is
> connected only to an interface on the adjacent nodes, so I want to
> treat them as point to point interfaces. I am trying to set up a
> routing table in each node to send traffic to the other nodes. One
> way to do that is to treat each point to point segment as a network,
> e.g. interface A1 has IP address 1.1.1.1, B1 is 1.1.1.2, A2 is
> 1.1.2.1, C1 is 1.1.2.2, etc. The problem with this is that it would
> be a configuration nightmare since I need to treat each network
> segment as a subnet (imagine that there are a few more nodes in the
> ring, or a even a tree). I would like to assign all the nodes to the
> same subnet, e.g. A is 1.1.1.1, B is 1.1.1.2, C is 1.1.1.3, and not
> assign any IP address to the interface. By doing so, I want to set up
> my routing table such that I can specify in Node A's routing table,
> for example, to send traffic to destination B(1.1.1.2) using interface
> A1, and C using interface A2. With this approach, however, I need a
> way to associate a destination with an interface. That means I can't
> use routeAdd or mRouteAdd. Is there a way for me to accomplish what I
> want under vxworks, or do I have to set up my own routing table and do
> the routing myself by intercepting all incoming frames and route them
> according to my own routing table? Thanks for any comments.
>
> Liang

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

Newsgroups: comp.os.vxworks
Subject: Re: VX_FP_TASK taskSpawn option
Date: Sat, 16 Mar 2002 18:57:31 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$aky2tg$ll9$1@lnews.actcom.co.il>
References: <56a1997f.0203151032.986081d@posting.google.com>

When tasks are spawned with the "sp()" function, there are global
variables that control the new tasks default stack size and options.
When tasks are spawned with "taskSpawn()", all these options
are controlled by the arguments explicitly, and there is no way
to force them into anything, unless the taskSpawn() use a certain
global variable for the options, which is a common practice.

In other words, you need to look into the source code of every
task created.

"Harold Schultz" <hschultz98@yahoo.com> wrote in message
news:56a1997f.0203151032.986081d@posting.google.com...
> Does anyone know how to have all spawned tasks automatically set the
> option VX_FP_TASK?
> The problem is that we are using some COTS software that doesn't set
> this option, but is doing floating point computations. The vendor for
> the COTS software doesn't provide support anymore and the only thing
> we have is a library module.
> Thank you in advance for any help.
> ---------------------
> Harold Schultz
> hschultz98@yahoo.com

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Sat, 16 Mar 2002 18:36:11 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C93910B.6090003@spamm.me.l8s.co.uk>
References: <a6tuis$460$1@news.inter.net.il> <FcDk8.50948$uA5.55208@rwcrnsc51.ops.asp.att.net> <u96t2pjg1il778@corp.supernews.com>

Hwa Jin Bae wrote:

> No such problem for MIPS. It is PPC specific issue.

and ARM...

Really the vxWorks loader ought to created the relevant code
fragment. It shouldn't be that hard (unless your module is
over 64Mb and the problem branch is near the middle)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 18:45:46 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C939348.70605@spamm.me.l8s.co.uk>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com>

Hwa Jin Bae wrote:

> Valid in what sense? Who owns 00-08-2a?

It doesn't matter! It is a valid address.
It might be unallocated, but it is valid.

I don't know if it is better these days, but in the old days
some card manufacturers (including some big ones) just put a
random 'manufacturer id' onto their cards. Certainly is
was quite common so see cards with 'locally administered'
addresses (eg 02-cf-1f-xx-xx-xx, 02-07-08-xx-xx-xx)

Some of the lists of manufacturer ids contain these values.

Other confusion arises with token ring cards - where the address
should be bit - reversed (ie broadcast is 80-xx-xx-xx-xx-xx).

Addresses only need to be unique on the same LAN segment or
bridged network.

(Actually I suspect that IP will work even if the MAC address
isn't unique - provided you aren't running such a systemn as
a gateway)

OTOH using a broadcast address as your local address is definitely
frowned upon - and may be policed by some drivers and/or hardware.
Indeed the 'broadcast' bit of the source address is used on token
ring networks to indicate the presence of the source routing field.
(I've certainly done it in the past - sent packets that go:
	ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-e3
which, due to a bug we had turning around test packets ought to
still be being reflected to this day)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: VX_FP_TASK taskSpawn option
Date: Sat, 16 Mar 2002 19:02:58 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C939750.6050209@spamm.me.l8s.co.uk>
References: <56a1997f.0203151032.986081d@posting.google.com> <newscache$aky2tg$ll9$1@lnews.actcom.co.il>

Leonid Rosenboim wrote:

> When tasks are spawned with the "sp()" function, there are global
> variables that control the new tasks default stack size and options.
> When tasks are spawned with "taskSpawn()", all these options
> are controlled by the arguments explicitly, and there is no way
> to force them into anything, unless the taskSpawn() use a certain
> global variable for the options, which is a common practice.
>
> In other words, you need to look into the source code of every
> task created.

Or do a bit of hacking!

taskSpawn seems to call taskCreat then taskActivate
taskCreat allocates stuff then calls taskInit.
It will 'or' VX_DEALLOC_STACK (=4) onto the flags
passed to it when passing them onto taskInit.

It may be possible to modify that piece of code
(eg in any early initialiation code) so that both
4 and 8 are set at that time.

If you are stuck with a 'bit set' instruction, you
could modify the call to taskInit to call a
bit of assembler that modifies the relevant argument
then jumps to taskInit.

Good hacking :-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 10:53:58 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9758e3rhv0a44@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com> <3C939348.70605@spamm.me.l8s.co.uk>

If you read my comment, I said "invalid vendor".

James' problem has to do with some code in sysLib which reads the MAC
address and incorrectly swaps bytes.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Sat, 16 Mar 2002 10:56:36 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u975dl5ar8a277@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il>

A, B, C all can reside in same subnet and still have host specific routes.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: VX_FP_TASK taskSpawn option
Date: Sat, 16 Mar 2002 11:07:23 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9761jbqt92c0e@corp.supernews.com>
References: <56a1997f.0203151032.986081d@posting.google.com> <newscache$aky2tg$ll9$1@lnews.actcom.co.il>

You can use taskOptionsSet().

But the VX_FP_TASK is used at task creation time to set up FP context and
hook routines to save/restore FP context for each task switch.

Setting the option after task has been created will not have desired
behavior.

You add another task creation hook, to force the tasks to have VX_FP_TASK
on. If you do that it must be done before your fppInit() is called. The
idea is to have a hook at creation time which runs before fppLib's own
creation hook (which does the FP context allocation, etc.).

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: VX_FP_TASK taskSpawn option
Date: 16 Mar 2002 11:11:35 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203161111.1381474d@posting.google.com>
References: <56a1997f.0203151032.986081d@posting.google.com>

Hello,

There is one way you can do this, and it is relatively simple: Write
yourself a task create hook routine that sets the bit in the task
options. The only thing you must make sure of is that your hook is
installed before the floating point one. The floating point hooks are
added when fppInit() is called, so simply make sure that your call to
taskCreateHookAdd() occurs before that.

As long as the VX_FP_TASK bit is set when the fppLib task creat hook
is executed, your task will have all the necessary storage for FP
register save & restore.

HTH,

John...

hschultz98@yahoo.com (Harold Schultz) wrote in message news:<56a1997f.0203151032.986081d@posting.google.com>...
> Does anyone know how to have all spawned tasks automatically set the
> option VX_FP_TASK?
> The problem is that we are using some COTS software that doesn't set
> this option, but is doing floating point computations. The vendor for
> the COTS software doesn't provide support anymore and the only thing
> we have is a library module.
> Thank you in advance for any help.
> ---------------------
> Harold Schultz
> hschultz98@yahoo.com

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

Newsgroups: comp.os.vxworks
Subject: Re: muxDevStart function failed.
Date: Sat, 16 Mar 2002 11:14:39 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u976fnr4g02u6e@corp.supernews.com>
References: <220aeb02.0203142148.7b873564@posting.google.com>

Usually it means your END driver's start routine has returned some error.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Reception of broadacted UDP messages on the same host
Date: Sat, 16 Mar 2002 11:23:02 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u976va4b30u0d9@corp.supernews.com>
References: <a6pp4r$j8b$1@newsserv.intranet.gr> <3C9122B7.25CA38F4@dsto.defence.gov.au>

IFF_SIMPLEX and other IFF_ flags can be set any time. Use ifFlagSet().

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Reception of broadacted UDP messages on the same host
Date: Sat, 16 Mar 2002 11:27:01 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9776ea5rhum0f@corp.supernews.com>
References: <a6pp4r$j8b$1@newsserv.intranet.gr> <3C9122B7.25CA38F4@dsto.defence.gov.au> <3C9140E7.4070001@spamm.me.l8s.co.uk>

Looping packets back for simplex devices is done at driver level. It is
right place to do so since the behavior of whether you can get your own
broadcast from your HW is HW dependent.

IFF_SIMPLEX flag controls this. This is the same as BSD behavior (it is
BSD code).

You don't see examples in specific ethernet drivers because this is done in
common subroutines. For Ethernet devices they are in common routines like
ether_output() (For BSD style drivers), or ipOutput( for END style
drivers). If IFF_SIMPLEX is set, a copy is sent to looutput() which loops
back to IP.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 11:32:15 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u977g7o5jrjm53@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com> <3C939348.70605@spamm.me.l8s.co.uk> <u9758e3rhv0a44@corp.supernews.com>

Apparently, someone does own it.

00-08-2A (hex) Powerwallz Network Security

Thanks to Gerry Belanger for pointing it out to me.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: DY4 X Libraries for vxworks
Date: Sat, 16 Mar 2002 20:15:10 +0000 (UTC)
From: "David Mccorkindale" <David.Mccorkindale@btopenworld.com>
Organization: BT Openworld
Message-ID: <a7094d$mvb$1@knossos.btinternet.com>

We are currently trying to build an application to put it into flash. To do
that, we must link our application code with vxworks and appropriate dy4
opengl and X libraries. To do this, we have a project building a
downloadable vxworks with the libraries either in LIBS or EXTRA MODULES. The
build gets so far and then fails.

The problem is there are conflicts between the library libx11.a and the
xserver xpmc700. We've tried the old trick of varying the link order, but to
no avail.

Has anyone ever managed to get this to work? There is no problem if you link
for dynamic loading. In fact, if you do that and then lkup, you can see, for
example, that gethostbyaddr has indeed been loaded twice. Unfortunately we
must do all linking at build time.

Thanks.

- --
Regards,

 David McCorkindale

dmc@btopenworld.com

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 20:25:57 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C93AAC5.70605@spamm.me.l8s.co.uk>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com> <3C939348.70605@spamm.me.l8s.co.uk> <u9758e3rhv0a44@corp.supernews.com>

Hwa Jin Bae wrote:

> If you read my comment, I said "invalid vendor".

'Incorrect' and/or 'Unassigned', but not 'Invalid'

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 14:25:47 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u97hlvkotr7c6@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com> <3C939348.70605@spamm.me.l8s.co.uk> <u9758e3rhv0a44@corp.supernews.com> <3C93AAC5.70605@spamm.me.l8s.co.uk>

OK, sorry for being stupid.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: MAC address gets flipped after boot??
Date: Sat, 16 Mar 2002 16:15:32 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u97o3f6v186279@corp.supernews.com>
References: <f%uk8.102$Sk3.4100@llslave.llan.ll.mit.edu> <u951l3guedct40@corp.supernews.com> <3C9342ED.6010803@spamm.me.l8s.co.uk> <u96t4o290uq089@corp.supernews.com> <3C939348.70605@spamm.me.l8s.co.uk> <u9758e3rhv0a44@corp.supernews.com> <3C93AAC5.70605@spamm.me.l8s.co.uk> <u97hlvkotr7c6@corp.supernews.com>

James, I looked at the manual for MVME2X00. It has SROM which has MAC
address. Reading from it is a bit like EEROM. But with this SROM you get
16bit at a time. Depending on host CPU byte order you may or may not need
to swap to get the right byte. It seems the ethernet driver in your bootrom
is doing the opposite of the driver in VxWorks. Since behavior of bootrom
is correct and behavior of VxWorks driver seems incorrect, you should look
into the part of the driver which reads from the SROM. Typically macros are
used for these things, like LSB() and MSB(). Maybe they are compiled
differently for bootrom and vxWorks.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: How do I debug freezes?
Date: Sat, 16 Mar 2002 16:21:09 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u97oduoph0bl2f@corp.supernews.com>
References: <3c93ca60_3@nopics.sjc>

Here are some things I do:

1. Use logic analyser to see the last batch of PC and memory data.
2. Use ICE, or PromICE
3. Use WindView and Stethoscope
4. If your system is VME based, you can write your own post mortem debugger.
Another CPU on the bus can copy the memory of the dead board and analyze it
later. The way I did before, I had to modify GDB (write a new backend) so
that it can understand flat memory dump of the target board. There is some
code I wrote that does something like this in the VxHacks repository.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: ATA driver for compact flash with memory mode
Date: 16 Mar 2002 17:32:33 -0800
From: goldwave@cmmail.com (Gold Wave)
Organization: http://groups.google.com/
Message-ID: <44fe2a7b.0203161732.71cc5f14@posting.google.com>

Hi, guys

Now I need to create a ATA driver for compact flash which works in
memory mode. I got an ATA driver from Windriver support, but it's for
PIO mode, so does anyone tell me any experience?

Hope for help!
Thanks

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

Newsgroups: comp.os.vxworks
Subject: Help:Toronda Prototyper two simulated targets in Windows XP?
Date: Sat, 16 Mar 2002 21:05:27 -0800
From: "david" <tiejun.yang@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <7SSk8.63012$hb6.3809907@news20.bellglobal.com>

Hi All:
who have successed in configure Toronda Prototyper ULIP driver in Windows
XP.
I inquire if two simulated targets can communication in Windows XP?
Can it work in Windows 2K?
I would like to study VXwork network programming at home, and I would like
to update my home OS from Windows 98 to Windows 2K or XP?
Thanks in advance
David

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

Newsgroups: comp.os.vxworks
Subject: Re: DY4 X Libraries for vxworks
Date: 16 Mar 2002 21:03:43 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203162103.66d07e3a@posting.google.com>
References: <a7094d$mvb$1@knossos.btinternet.com>

Hello,

Well, as long as all your .a files are at the end of your link line
(check in the build output to get the exact order things are appearing
in), then you should only ever get conflicts between the .a files, and
then only if there are partial overlaps between .o files contained in
the .a files.

So, you need to do some work to diagnose the problem a little more...

1) Make sure that all the .a files are after the .o files in the link
line

2) Determine which .o files contained in the archive are the cause of
the problem, and from there which symbols are causing the second .o to
be needed even though the first is present. The linker's map file can
be useful for this since it will list the reason why a module was
extracted from the archive.

3) Once you have the symbols that are causing the second .o file to be
extracted from one of the archives, you can determine whether the
second is a superset of the first (i.e. could replace it), or whether
there are symbols in both .o files that you need. If you are lucky it
will be the former. In that case, make a copy of the .a for backup
purposes, then delete the sub-set .o from its archive using ar<arch>
- -d.

Since you've tried changing the order of the archives, I suspect that
you might be unlucky. Have you tried asking DY-4 how this is meant to
be done?

If all else fails, you could try using objcopy<arch> -L to downgrade
the instances of the offending symbols in the server to locals. That
will prevent them from being an issue during the build, but obviously
will leave you with two copies of the overlapping routines since there
is something in the X11 lib that needs them too.

HTH,

John...

"David Mccorkindale" <David.Mccorkindale@btopenworld.com> wrote in message news:<a7094d$mvb$1@knossos.btinternet.com>...
> We are currently trying to build an application to put it into flash. To do
> that, we must link our application code with vxworks and appropriate dy4
> opengl and X libraries. To do this, we have a project building a
> downloadable vxworks with the libraries either in LIBS or EXTRA MODULES. The
> build gets so far and then fails.
>
> The problem is there are conflicts between the library libx11.a and the
> xserver xpmc700. We've tried the old trick of varying the link order, but to
> no avail.
>
> Has anyone ever managed to get this to work? There is no problem if you link
> for dynamic loading. In fact, if you do that and then lkup, you can see, for
> example, that gethostbyaddr has indeed been loaded twice. Unfortunately we
> must do all linking at build time.
>
> Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: How do I debug freezes?
Date: 16 Mar 2002 21:17:30 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203162117.f67c45@posting.google.com>
References: <3c93ca60_3@nopics.sjc>

Hello,

There are some general hints and tips I can share about debugging
freezes for PPC... I've seen enough of them! I cannot give much of a
clue about your current problem though, sorry...

1) The ICE/Probe should be able to tell you the current location of
the PC, irrespective of the current task. Freezes are not often caused
by a task (though they can be). More often they are an ISR or similar
"invisible" code. So, check the PC, but don't be fooled by the current
task ID. BTW, the shell waiting on the semaphore is not unusual, it is
just trying to display a message.

2) When using the 'printf' debug strategy there are a couple of tips:
(a) consider using logMsg() instead of printf() - handy in case of
stack problems in the current task; (b) add a taskDelay() call after
the printf/logMsg call to allow the output to be sent to the
(relatively) slow serial port.

3) If you suspect interrupt handlers, or the quantity of debug output
is so high that the timing is changing, try writing a position
indicator to a special location. Now, since the bootrom will be
running after the freeze, you need a safe location. I use locations
going down from 0xfc under VxWorks 5.4, and locations starting at
0x3000 for VxWorks AE 1.1. Why the difference? Well, the pages below
0x3000 are "invisible" under AE, even to ISRs.

4) Once you have it narrowed down a little, you can use the memory
trick in (3) to store variable values too so you get an idea of the
state just before the crash.

5) When starting your task from the shell, spawn it as its own task
rather than executing it directly from the shell. Also, use
taskSpawn() so you can set the stack size to be very large (I tend to
favour 1MB in these cases, but then I have plenty of memory, usually
;-).

6) Final tip, and it may be less useful for your case but is handy
when debugging initial board start up, use calls to reboot() with a
parameter of 1 (i.e. no auto-boot), to track down the exact location
of the failure. First place I start when looking at boot problems,
using a binary search strategy, is to determine if execution reaches
usrRoot().

Hope something there helps with your problem,

John...

"Vladimir Vysotsky" <trivee@noir.crocodile.org> wrote in message news:<3c93ca60_3@nopics.sjc>...
> Hi,
>
> I'm pretty new to vxWorks and embedded programming (about two
> months :), so, when something strange happens, I often don't
> know what to do.
>
> The particular problem I'm stuck with right now is the following.
> I have an MPC8260, a 60x to PCI bridge (Tundra Powerspan) and
> several DSPs on the PCI bus. The code I'm trying to debug initializes
> one of the DSPs, loads some software into it and tries to run it.
> It also prints a lot of debug output using printf, which goes to
> the console. I run it from the shell on the same console.
> Sometimes the code executes fine, but sometimes it causes global
> freeze - shell, network, everything. Of course, wdb doesn't help
> in such cases. Using visionICE I've been able to look at the
> stacks of the tasks. Strangely, tShell is blocked on something like
> dsp_init_function->printf->...->tyWrite->semTake->semBtake.
>
> So, my question is not really "what happens" (although I'd be happy
> if somebody could give a clue), but rather "how do I find out what
> happens". Are there any vxWorks- or Motorola/PowerPC-specific
> debugging tips and techniques applicable to my problem?
>
> Vladimir

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Sun, 17 Mar 2002 08:14:18 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com>

Hi Hwa,

I have a question?

can you kindly tell me how the routing table will be for host specific
routes for the network drawn earlier. To reach node 1.1.1.2 through
interface A1, what will be the gateway ( A1 has to have some local IP
address right ).

Are the interfaces of all the three nodes are ethernet interfaces? Are
they back to back connected? If this is the case and interfaces having
some private address means we can send data. Without interfaces having
IP addresses how data can be sent through socket ( How it is done in
Point to Point links? Asking out of curiosity ).

Thanks,
Ramesh

===========================================
"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u975dl5ar8a277@corp.supernews.com...

> A, B, C all can reside in same subnet and still have host specific routes.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

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

From vxwexplo-errs@csg.lbl.gov Mon Mar 18 04:03:12 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Mar 18 04:03:14 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Mon Mar 18 04:03:08 PST 2002

 Subject: Re: Problem in attaching cpm
 Subject: Re: problem about RapidControl
 Subject: Re: Help:Toronda Prototyper two simulated targets in Windows XP?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Xerces XML parser
 Subject: VxWorks faq archives ??
 Subject: MPC860 Ethernet Driver
 Subject: Re: HELP about sysAuxClkRateSet() and BSP !
 Subject: Re: MPC860 Ethernet Driver
 Subject: Re: bootroms not building...
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: How do I debug freezes?
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: A problem about ppc860 QMC
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: arpresolve problem

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem in attaching cpm
Date: Fri, 15 Mar 2002 15:46:02 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a6t1fc$9a6$1@snoopy.bndlg.de>
References: <3C90A04F.3060102@neowave.co.kr>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088ebb6.dip.t-dialin.net

Hi ,

type help on boot line. This will list you the known ethernet drives.
HTH

- --
Mit freundlichen Gruen,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"" <jhoonlee@neowave.co.kr> schrieb im Newsbeitrag
news:3C90A04F.3060102@neowave.co.kr...
> Hi,
>
> I am developing MPC860 board with ethernet interface.
>
> I found that rommed application counldn't attach cpm.
> Messages are shown like this:
> ---------------------------- begin of message
> Failed to attach to device Network interface unknwon
>
> Attaching interface lo0 ... done
>
> ... <-- WDB related messages are in here.
> 0x1ffdf8: task deadCan't attach unknwon device (unit 0)
> ---------------------------- end of message
>
>
> In BSP rom, network interface was normally functioned wid WDB agent.
>
>
> What was wrong?
>
> Thanks in advance.
>
> --
> ===--------------------------------------------------===
> Jaehoon Lee Engineer, NeoWave Inc.
> Tel: +82-31-380-4922 FAX: +82-31-380-4747
> mailto:jhoonlee@neowave.co.kr http://www.neowave.co.kr
> ===--------------------------------------------------===
>

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

Newsgroups: comp.os.vxworks
Subject: Re: problem about RapidControl
Date: 17 Mar 2002 07:09:01 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203170709.4322f42f@posting.google.com>
References: <c0819f26.0203150043.4197ad59@posting.google.com>

Replace your RCC_EXT_LocalEcho() defined in rcc_ext.c with the
following:

extern void
RCC_EXT_LocalEcho(cli_env *pCliEnv, Boolean enable)
{

#ifdef __POSIX_OS__
 struct termios TermIO;

 tcgetattr ( STDIN, &TermIO );

 if (enable)
 TermIO.c_lflag |= ECHO;
 else
 TermIO.c_lflag &= ~ECHO;

 tcsetattr ( STDIN, TCSANOW, &TermIO );
#endif /* __POSIX_OS__ */

#ifdef __VXWORKS_OS__
 static int opt = OPT_ECHO;

 if (enable)
 ioctl(STD_IN, FIOSETOPTIONS, OPT_RAW);
 else
 {
 opt = ioctl(STD_IN, FIOGETOPTIONS, opt);
 ioctl(STD_IN, FIOSETOPTIONS, OPT_RAW);
 }

#endif /* __VXWORKS_OS__ */

 if (enable)
 RCC_EnableFeature(pCliEnv, kRCC_FLAG_ECHO);
 else
 RCC_DisableFeature(pCliEnv, kRCC_FLAG_ECHO);
}

Should fix your problem. This function sets the serial port console to
OPT_RAW by which your program will have full control over the console.

Hope this helps,
tut

yatc@21cn.com (lyman) wrote in message news:<c0819f26.0203150043.4197ad59@posting.google.com>...
> Now, I encounter a problem when using CLI. That is my typing from
> HyperTerminal is alway echo again on srceen ,especially my password
> ,which can also be displayed . You know that is terrible. Any comments
> are welcome and grateful!

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

Newsgroups: comp.os.vxworks
Subject: Re: Help:Toronda Prototyper two simulated targets in Windows XP?
Date: 17 Mar 2002 07:20:13 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203170720.6208585b@posting.google.com>
References: <7SSk8.63012$hb6.3809907@news20.bellglobal.com>

David,

As far as I know, the ULIP driver works only with WinNT 4.0/Win2k. I
presume WindRiver has not yet released the ULIP driver for XP (I'm
sure they must be working on it). I've seen a couple of posts to this
effect, of late. So till they release it I suggest you hold off your
upgrade; or if you're pressed for time, upgrade to win2k as ULIP
driver is known to work on Win2k.

regards,
tut

"david" <tiejun.yang@sympatico.ca> wrote in message news:<7SSk8.63012$hb6.3809907@news20.bellglobal.com>...
> Hi All:
> who have successed in configure Toronda Prototyper ULIP driver in Windows
> XP.
> I inquire if two simulated targets can communication in Windows XP?
> Can it work in Windows 2K?
> I would like to study VXwork network programming at home, and I would like
> to update my home OS from Windows 98 to Windows 2K or XP?
> Thanks in advance
> David

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Sun, 17 Mar 2002 08:31:09 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u99h8oj0nuj884@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org>

Each point to point interface must have an associated destination address.
That is what makes it a point to point interface, along with
IFF_POINTOPOINT. In vxWorks you use ifDstAddrSet on interface.

From socket layer you can choose to use SO_DONTROUTE option. When you use
this option the routing table is bypassed and route is chosen based on
destination address or network address.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 17 Mar 2002 16:39:01 -0800
From: allencyl@my-deja.com (Allen Chang)
Organization: http://groups.google.com/
Message-ID: <5c074538.0203171639.7c988ef1@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <3C920A90.A9B8CB02@baesystems.removethis-nospam.com>

David Machin <david.machin@baesystems.removethis-nospam.com> wrote in message news:<3C920A90.A9B8CB02@baesystems.removethis-nospam.com>...
> Use the watchdog timer (or better still an alarm timer) to trigger and
> ISR that will:
>
> - Reprogram the watchdog timer for the next event (if required).
> - Signal a semaphore.
>
> Then provide a task which loops, waiting on this semaphore to run.
>
> If you use a watchdog timer which requires reprogramming you may get
> some drift due to the latency between timer expiry and the ISR running.
>
>
> HTH
>
> Dave Machin
> Machin Consultants Ltd. working on behalf of BAE SYSTEMS
>

Thanks EveryBody,

I recently revice a message,

"For example, if you use a 8253 Timer for getting 256Hz frequency, and use
the channel 0/1/2/3/? as an auxClock. The base clock for 8253 Timer is
1193180 hz, the counter value should be 1193180/256 = 4660.85 (4661). Is
this good enough for you application? The other choice is using APIC timer
in P2/P3/P4 architecture."

I'm using P3, how to use APIC timer?

Regards,

Allen Chang

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

Newsgroups: comp.os.vxworks
Subject: Xerces XML parser
Date: Sun, 17 Mar 2002 19:25:33 -0600
From: Arthur Gold <agold@tippingpoint.com>
Organization: TippingPoint
Message-ID: <3C95420D.D1138BEA@tippingpoint.com>

Hey all:

Has anyone had any success porting the Xerces-C XML parsing library to
vxWorks?

I found what purported to be a port (from the XDAQ distribution) but,
alas, many problems have ensued (primarily due to the semantics of the
`wide, flat, persistent address space' as exists on vxWorks).

Many, many thanks,

- --ag
- --

Artie Gold -- TippingPoint Technologies

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

Newsgroups: comp.os.vxworks
Subject: VxWorks faq archives ??
Date: Sun, 17 Mar 2002 17:55:41 +0000
From: Binish Parangodath <binishp@nortelnetworks.com>
Organization: Nortel
Message-ID: <3C94D89D.96A5B45F@nortelnetworks.com>
Reply-To: binishp@nortelnetworks.com

Hi ,

I am looking for vxWorks FAQ archives.
Any pointers ???

Regards,
Binish

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

Newsgroups: comp.os.vxworks
Subject: MPC860 Ethernet Driver
Date: 17 Mar 2002 19:27:45 -0800
From: brightpolestar@yahoo.com (Daniel Haines)
Organization: http://groups.google.com/
Message-ID: <28ee7c97.0203171927.2418d5ec@posting.google.com>

Hi,

I wonder if Windriver provides ethernet device driver for Motorola PPC860?
Is it in the BSP of evaluation board? where can I get it?

Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP about sysAuxClkRateSet() and BSP !
Date: Mon, 18 Mar 2002 03:44:47 GMT
From: nunya@damn.business.com (Bruce)
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3c9562ef.33310267@news.dallas.sbcglobal.net>
References: <5c074538.0203111923.534ff9d2@posting.google.com>

In comp.os.vxworks
allencyl@my-deja.com (Allen Chang) wrote:

> In our application, we have some periodical task, and the VxWorks
>Reference Manual, about sysAuxClkRateSet() the return value is
>ERROR if the tick rate is invalid.
>
> I'm now planning to use VxWork with x86 or PPC platform,
>and I need to set the sysAuxClkRateSet() with 64Hz, 80Hz,
>256Hz, 320 Hz. I need to make sure that the board/BSP will
>support that frequences before I buy it.

Allen,

I'm almost certain I recall that the auxilliary clock on the X86 is limited
to power of two frequencies. This would leave you unable to set 80 and 320
Hz. I don't know about PPC since this is a BSP item.

Bruce

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

Newsgroups: comp.os.vxworks
Subject: Re: MPC860 Ethernet Driver
Date: Sun, 17 Mar 2002 20:35:38 -0800
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3C956E9A.E43D1ED9@gv.net>
References: <28ee7c97.0203171927.2418d5ec@posting.google.com>
Reply-To: mkesti@gv.net

Daniel Haines wrote:

>I wonder if Windriver provides ethernet device driver for Motorola PPC860?

Yes, for both the CPM and FEC/MII interfaces.

>Is it in the BSP of evaluation board?

I believe that they're included in the ADS860 BSP.

> where can I get it?

You purchase the BSP from Wind River, I think.

- --
========================================================================
 Michael Kesti | "And like, one and one don't make
 | two, one and one make one."
 mkesti@gv.net | - The Who, Bargain

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

Newsgroups: comp.os.vxworks
Subject: Re: bootroms not building...
Date: Sun, 17 Mar 2002 23:51:39 -0500
From: "BruceL" <bruceandjoan@ultranet.nospam.com>
Message-ID: <a73rmd$1sa$1@bob.news.rcn.net>
References: <b305b5bd.0203122344.269d9c1@posting.google.com>

Not sure about the first. When building for rom residency, you must use the
macro $(CC_ROM_RES_FLAGS) to get the RAM_ADRS thing. Grep for this in the
target\h\make directory.

Bruce

"Ali" <alimohd@logiceastern.com> wrote in message
news:b305b5bd.0203122344.269d9c1@posting.google.com...
> hi everyone
> Im trying to build a ootroms for my project bsp but the problem is
> that when i build the bootrom_uncmp,bootrom_uncmp.hex it builds well
> and ok.
> when i am building bootrom.st,bootrom.hex it shows following errors..
> l/version.c
> ldppc -X -N -e _romInit -Ttext 0x00010000 \
> -o bootrom romInit.o bootInit.o version.o \
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
> /home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a bootrom.Z.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> function `miiBasicCheck':
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b14):
> undefined reference to `sysClkRateGet'
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b34):
> undefined reference to `sysClkRateGet'
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> function `miiPhyMonitor':
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x2e54):
> undefined reference to `sysClkRateGet'
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> function `miiPhyListAdd':
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x30c8):
> undefined reference to `sysClkRateGet'
> make: *** [bootrom] Error 1
>
> when i build bootrom_res and bootrom_res.hex it shows following
> errors..
>
> cd /home/alimohd/tornado/target/config/ep8260/
> make bootrom_res
> ccppc -B/home/alimohd/tornado/host/sun4-solaris2/lib/gcc-lib/ -c
> -mstrict-align -ansi -nostdinc -O2 -fvolatile -fno-builtin
> -fno-for-scope -Wall -I/h -I.
> -I/home/alimohd/tornado/target/config/all
> -I/home/alimohd/tornado/target/h
> -I/home/alimohd/tornado/target/src/config
> -I/home/alimohd/tornado/target/src/drv -DCPU=PPCEC603 -g -O0
> -msoft-float -o version.o
> /home/alimohd/tornado/target/config/all/version.c
> ldppc -X -N -e _romInit \
> -Ttext 0xFF000100 -Tdata 0x00200000 -o bootrom_res romInit_res.o
> bootInit_res.o \
> version.o bootConfig.o sysALib.o sysLib.o sysTffs.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
> /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
> /home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a
> romInit_res.o(.text+0x416): undefined reference to `RAM_DST_ADRS'
> romInit_res.o(.text+0x41a): undefined reference to `RAM_DST_ADRS'
> make: *** [bootrom_res] Error 1
> hit ENTER to exit
>
> can anyone tell me why it happens and what actually is the
> problem..Note that the files miiLib.o,motFccend.o and fatLite.o i have
> attached as LIB_EXTRA in make file as these source files were not
> available with me ..
> Im using tornado2.0 IDE to do all this stuff on sun machine.
> thanx in advance
> ali

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Fri, 15 Mar 2002 12:08:49 +0100
From: "Mario Semo" <mario.semo@kirchnersoft.com>
Organization: Nextra Telekom GmbH
Message-ID: <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk>

Hello,

on which HW?
we use 4K timer.
up to now (2 years) we didnt encounter a problem (x86 and ppc).
but maybe we are doing just things which does not break.

>
> Don't set the normal clock much above 2k - things start
> breaking if you do (select() fails above 2147Hz)
>
> David
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: How do I debug freezes?
Date: Sun, 17 Mar 2002 22:49:00 -0800
From: "Vladimir Vysotsky" <org.crocodile.noir@trivee>
Message-ID: <3c95926d_3@nopics.sjc>
References: <3c93ca60_3@nopics.sjc> <488e459a.0203162117.f67c45@posting.google.com>

"John" <john_94501@yahoo.com> wrote:
> There are some general hints and tips I can share about debugging
> freezes for PPC... I've seen enough of them! I cannot give much of a
> clue about your current problem though, sorry...
[...]

John,

thanks a lot - all your suggestions may be very helpful in future.
I didn't realize that task stacks in PPC/vxWorks are normally that
small - something I'll definitely need to take into account.

By the way - after three days I've finally debugged the problem,
and it appeared to be caused by hardware, not by software.
PCI controller generated a signal (ARTRY~) during PCI
configuration cycles, which, according to Motorola errata
document, "confused" the comm processor in 8260 to the point of
completely stopping console and Ethernet I/O. Go figure...

Vladimir.

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Mon, 18 Mar 2002 09:03:54 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7471c$fe6$1@snoopy.bndlg.de>
References: <a6tuis$460$1@news.inter.net.il>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088edae.dip.t-dialin.net

Hi Zvika,

AFAIK this has been discussed several times in the last half year:
Your memory is more than 32MB on a PPC, right ?
So, when your code resides in upper memory and wants to call system
functions, it's branch address-width exceeds the standard coding width in
PPC mnemonic. This is detected on locating your object on end of dynamic
load. It will not occur on small code loaded via target-agent, as code will
now lay in target agent's local buffer,near kernel.

4 of ? workarounds:
a) use -mlongcall in compiler directive. Result has larger and slower code,
but may be located anywhere.
b) set USER_RESERVED_MEM in your BSP to an amount, you only have 32MB left.
Load your image after boot and call memAddToPool(USER_RESERVED_MEM).This
will only work, if you don't need to download later on.
c) set USER_RESERVED_MEM in your BSP to an amount, you only have 32MB left.
Create a secondary memory partition with memPartCreate() for your
USER_RESERVED_MEM. All calls of malloc in your code should now be replaced
by memPartAlloc() to this new partition.
d) Write your own memory allocator, where you can allocate memory from lower
(32MB) region if available. Now do a loadModuleAt().

HTH
- --
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Zvika Vered" <zvivered@zahav.net.il> schrieb im Newsbeitrag
news:a6tuis$460$1@news.inter.net.il...
> Hello All,
>
> When I load an object file by calling LoadModule() or ld (1)
> <object_filename,the console show this information :
>
> Relocation value does not fit in 24 bits.
> Relocation value does not fit in 24 bits
> ......
>
> But if I download this file by Tornado II,it is ok.
> Who can help me?
>
>

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

Newsgroups: comp.os.vxworks
Subject: A problem about ppc860 QMC
Date: 18 Mar 2002 03:27:33 -0800
From: li.jingchi@mail.zte.com.cn (Networker)
Organization: http://groups.google.com/
Message-ID: <18fe3c2d.0203180327.3e3a5bfc@posting.google.com>

I am do some working about PPC860 in QMC, but now I found a strange
thing: when the SCCx has been asinged with QMC parameters "qmcstate =
0x8000", after initalize, make SCCx TXB and RXB interupt enabled, I
found the parameter of this SCC QMC "qmcstate = 0x0", WHY?

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Mon, 18 Mar 2002 06:44:33 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: Bellsouth.Net
Message-ID: <3C95D321.D0B01F0F@bellsouth.net>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <3c90e61d@brateggebdc5.br-automation.co.at> <5c074538.0203141726.537eb8e1@posting.google.com> <3c91ed7c$1@brateggebdc5.br-automation.co.at>

Werner Schiendl wrote:

> Hi,
>
> Maybe you can exchange the system clock with the auxilary clock if you
> change the BSP sources.
> <<SNIP>>
> hth
> Werner
>
> "Allen Chang" <allencyl@my-deja.com> wrote in message
> news:5c074538.0203141726.537eb8e1@posting.google.com...
> -- snip --
> >
> > Hello All,
> >
> > In general, My task will execute at (64*n)Hz, but when being set,
> > the whole task needs to execute at (80*n)Hz.
> > For the 64*nHz task I can use sysAuxClkRateSet(), but for 80*nHz one...
> > that is the problem.
> >
> > Regards,
> >
> > Allen Chang

The speeds the OP is suggesting sound like he needs to add a hardware device
to interrupt at a periodic rate. There are many such devices on the market.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: arpresolve problem
Date: Mon, 18 Mar 2002 11:51:58 GMT
From: brede.thurmann@kongsberg-simrad.com (BT)
Message-ID: <3c95d448.2800306@news.eunet.no>
References: <97b1f722.0203130602.6f27d94b@posting.google.com>

I guess you are out of network stack memory.

From the ENS/TORNADO 2.0 NETWORK STACK CONFIGURATION/PERFORMANCE
ISSUES:

4.1.1 NETWORK STACK MEMORY POOLS
 --------------------------

Increase the default values as follows:

 1. INCREASE NUM_FILES

 The socket library uses NUM_FILES to configure the size of
 the socket file descriptor table. The default value for
 NUM_FILES is 50 sockets.

 2. TCP SOCKETS

 For every TCP socket, the system allocates 3 clusters
 (1 128 byte, 1 256 byte, and 1 512 byte clusters) used for
 the generic protocol control block (inpcb), TCP protocol
 control block, and the socket structure respectively.

 3. UDP SOCKETS

 For every UDP socket, the system allocates 2 clusters
 (1 128 byte, 1 512 byte) used for the inpcb and socket
 structures respectively.

 4. ROUTES

 For every link layer route (ARP), 3 clusters (2 64 byte,
 and 1 256 byte) clusters are allocated.

BT

On 13 Mar 2002 06:02:35 -0800, edenkannan@hotmail.com (kannan) wrote:

>Hi,
>
>I have a problem in connecting my SMTP client which runs in my target
>board .When i communicate with our mail server it just throws
>
>0xfb7490 (tNetTask): arptnew failed on 876f7a92
>0xf84638 (tPingTx4): arpresolve: can't allocate llinfo0xfb7490
>(tNetTask): arptn
>ew failed on 876f7a92
>0xf84638 (tPingTx4): arpresolve: can't allocate llinfo0xfb7490
>(tNetTask): arptn
>ew failed on 876f7a92
>
>I have added all components related with arp say INCLUDE_ARP_API and
>INCLUDE_ARP.But the error comes again and again whenever the SMTP
>client program
>is called from our target board.
>
>Note:My mail server is in the same subnet.
>
>Another strange thing i found out is arpShow works in the shell.But
>arpAdd doesn't works in the shell.I tried checking the
>target\lib\objPPC860gnuvx there the arpLib.o is missing .But arpShow
>and arpAdd works in the simulator i tried checking the
>target\lib\objSIMNTgnuvx which contains arpLib.o.
>
>I don't know how to proceed pls help me..
>
>
>Thanks and Regards,
>Kannan

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

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

From vxwexplo-errs@csg.lbl.gov Mon Mar 18 07:18:58 2002
From: Shlomo Katz <shlomok@rit.co.il>
Date: Mon Mar 18 07:19:00 PST 2002
Subject: using scanf under vxworks

hi
i am trying to use scanf under vxworks, i have connected a hyper teminal to
my board and
printf seems to work fine.
do not they should work on the same channel

katz shlomi

From vxwexplo-errs@csg.lbl.gov Mon Mar 18 21:27:58 2002
From: vinayak kore <vinayakkore@yahoo.com>
Date: Mon Mar 18 21:28:01 PST 2002
Subject: Re: using scanf under vxworks

Hi,
Have you enabled shell? If yes, you need to delete it
so that the scanf will work.Give command - td tShell
form the shell. U will stop receiving shell prompt
after this command. Then give the input value which
you are trying to receive using scanf().

Vinayak Kore
--- the vxWorks Users Group Exploder
<vxwexplo@lbl.gov> wrote:
> Submitted-by vxwexplo-errs@csg.lbl.gov Mon Mar 18
> 07:18:58 2002
> Submitted-by: Shlomo Katz <shlomok@rit.co.il>
>
> hi
> i am trying to use scanf under vxworks, i have
> connected a hyper teminal to
> my board and
> printf seems to work fine.
> do not they should work on the same channel
>
> katz shlomi
>
> **********
>
> This is a user group mailing list for vxWorks
> related topics
> see http://www-vxw.lbl.gov/vxworks for posting
> and subscription info

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - live college hoops coverage
http://sports.yahoo.com/

From vxwexplo-errs@csg.lbl.gov Tue Mar 19 04:03:21 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Mar 19 04:03:24 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Tue Mar 19 04:03:17 PST 2002

 Subject: Re: VxWorks faq archives ??
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: How do I debug freezes?
 Subject: Proxy Arp Client Fails (Error 0x4c0009)
 Subject: Bootprom
 Subject: Re: MPC860 Ethernet Driver
 Subject: Re: SCSI request sense failed with a phasemismatch
 Subject: Re: muxDevStart function failed.
 Subject: Time Counter on MVME2400
 Subject: Re: Is it possible to change the priortiy of windsh
 Subject: Re: Tornado 2.0.2 With gcc 2.96
 Subject: SCSI Speed Limit, have you been faster?
 Subject: Disable java mode (Altivec)
 Subject: Getting the Mac Address
 Subject: Re: Time Counter on MVME2400
 Subject: How to access LPC47M14x fan control (intel 845 motherboard)?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Getting the Mac Address
 Subject: Vxworks stack trace
 Subject: Re: Vxworks stack trace
 Subject: Test
 Subject: Source code for password encryption
 Subject: DHCP servers for VxWorks
 Subject: Re: Xerces XML parser
 Subject: Senior Embedded Systems developer looking for contract work ...
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Vxworks stack trace
 Subject: Re: bootroms not building...
 Subject: changes in object file
 Subject: mpc8260 scc ethernet driver
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: SCSI Speed Limit, have you been faster?
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: I2C interface driver writing on MPC107
 Subject: Re: Source code for password encryption
 Subject: Re: Time Counter on MVME2400
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: How do device driver run on vxworks!
 Subject: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
 Subject: Re: Source code for password encryption
 Subject: Re: Printing 64bit values
 Subject: VxWorks 5.2.1

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks faq archives ??
Date: 18 Mar 2002 05:17:30 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203180517.21a85846@posting.google.com>
References: <3C94D89D.96A5B45F@nortelnetworks.com>

Tyr these:

http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
http://www.faqs.org/faqs/vxworks-faq/

hth,
tut

Binish Parangodath <binishp@nortelnetworks.com> wrote in message news:<3C94D89D.96A5B45F@nortelnetworks.com>...
> Hi ,
>
> I am looking for vxWorks FAQ archives.
> Any pointers ???
>
> Regards,
> Binish

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Mon, 18 Mar 2002 13:19:46 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C95E9E3.6070207@spamm.me.l8s.co.uk>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at>

>>Don't set the normal clock much above 2k - things start
>>breaking if you do (select() fails above 2147Hz)

> on which HW?
> we use 4K timer.
> up to now (2 years) we didnt encounter a problem (x86 and ppc).
> but maybe we are doing just things which does not break.

All hardware, since it is a bug in the generic 'kernel' code.

You are probably 'lucky' because you dont ever call select()
for timeouts that are fractions of a second - and require it
to timeout.

Try the following:

- -> tv = malloc(8)
- -> tv[0] = 5
- -> tv[1] = 0
- -> sp timex,select,0,0,0,0,tv
timex: time of execution = 5000 +/- 10 (0%) milliseconds

- -> tv[0]=0
- -> tv[1]=600000
- -> sp timex,select,0,0,0,0,tv
timex: time of execution = 600 +/- 10 (1%) milliseconds

I think you will find that the second one sleeps more or
less forever - and may kill the system time in the process.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Mon, 18 Mar 2002 13:22:34 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C95EA8D.4070003@spamm.me.l8s.co.uk>
References: <a6tuis$460$1@news.inter.net.il> <a7471c$fe6$1@snoopy.bndlg.de>

> 4 of ? workarounds:

e) link your application into the vxWorks image

	David

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

Newsgroups: comp.os.vxworks
Subject: How do I debug freezes?
Date: Sat, 16 Mar 2002 14:22:58 -0800
From: "Vladimir Vysotsky" <trivee@noir.crocodile.org>
Message-ID: <3c93ca60_3@nopics.sjc>

Hi,

I'm pretty new to vxWorks and embedded programming (about two
months :), so, when something strange happens, I often don't
know what to do.

The particular problem I'm stuck with right now is the following.
I have an MPC8260, a 60x to PCI bridge (Tundra Powerspan) and
several DSPs on the PCI bus. The code I'm trying to debug initializes
one of the DSPs, loads some software into it and tries to run it.
It also prints a lot of debug output using printf, which goes to
the console. I run it from the shell on the same console.
Sometimes the code executes fine, but sometimes it causes global
freeze - shell, network, everything. Of course, wdb doesn't help
in such cases. Using visionICE I've been able to look at the
stacks of the tasks. Strangely, tShell is blocked on something like
dsp_init_function->printf->...->tyWrite->semTake->semBtake.

So, my question is not really "what happens" (although I'd be happy
if somebody could give a clue), but rather "how do I find out what
happens". Are there any vxWorks- or Motorola/PowerPC-specific
debugging tips and techniques applicable to my problem?

Vladimir

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

Newsgroups: comp.os.vxworks
Subject: Proxy Arp Client Fails (Error 0x4c0009)
Date: 18 Mar 2002 06:36:23 -0800
From: rob.coombs@lmco.com (Rob Coombs)
Organization: http://groups.google.com/
Message-ID: <70a3b51c.0203180636.4e932b28@posting.google.com>

I'm kind of stumped and hoping someone can help me. I have a PowerPC
(mv2604) and a 68k (mv162) in a VME chassis. The PowerPC boots from
the ethernet, and I'm attempting to setup a shared memory network to
boot the 68k. We want to use the same subnet for the sm network, so
we're using proxy arp. The PPC seems to be setup correctly. Upon
boot, it initializes and attaches the sm network, and creates the
proxy network. smNetShow shows the shared memory network, and
proxyNetShow and proxyPortShow display the expected values. I can
ping the the proxy master address from our main network (although I'm
not sure if this really means anything?). When I boot the 68k, it
attaches the sm interface (and smNetShow on the PowerPC shows it as
'poll'). It then attempts to register as a proxy client, and it fails
with an error 0x4c0009 (this is a proxy lib timeout). We have the
Tornado 2.0.2 patch and the Network patch installed. From what I see
everything seems to be setup correctly, but I'm relatively new to
Tornado/vxWorks, so I might be missing something. I've been talking
with Tech Support, but they seem to be having a tough time coming up
with suggestions.

Here are the boot parameters for each card:

PowerPC (proxy master):

boot device		: dc
unit number		: 0
processor number	: 0
host name		: neptune
file name		: /auto_opt/tornado2.0/ppc/target/config/mv2604/vxWorks
inet on ethernet (e)	: xxx.xxx.11.35:ffffff00
inet on backplane (b)	: xxx.xxx.11.36:ffffffff
host inet (h)		: xxx.xxx.10.18
gateway inet (g)	: xxx.xxx.11.1
user (u)		: <insert user name here>
ftp password (pw)	: <insert password here>
flags (f)		: 0x0
target name (tn)	: ts2p
startup script (s)	: /projects/run/vxworks/ssde/PPC/links/ts2p/etc/rc

(I've tried using a subnet mask of ffffff00 on the backplace inet too,
and also using a host that is on the xxx.xxx.11.xxx subnet, but
neither of these seemed to make any difference).

68k (proxy slave):

boot device		: sm=0x8004100
unit number		: 0
processor number	: 1
host name		: neptune
file name		: /projects/run/vxworks/ssde/68K/kernel/vxWorks
inet on ethernet (e)	:
inet on backplane (b)	: xxx.xxx.11.37:ffffffff
host inet (h)		: xxx.xxx.10.18
gateway inet (g)	: xxx.xxx.11.36
user (u)		: <insert user name here>
ftp password (pw)	: <insert password here>
flags (f)		: 0x100
target name (tn)	: ts2s
startup script (s)	:

(Again, here I have tried a subnet mask of ffffff00 on the backplace
address and tried a host on the 11 subnet).

Any ideas would be greatly appreciated!

- --
Rob Coombs
Lockheed Martin
Halifax, NS
rob.coombs@lmco.com

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

Newsgroups: comp.os.vxworks
Subject: Bootprom
Date: Mon, 18 Mar 2002 15:23:39 -0000
From: "DMC" <david.mccorkindale@nospam.com>
Message-ID: <3c96064b$1@pull.gecm.com>

when I build a bootprom image of my application/vxworks, am I right in
thinking the way to tell the board its ip address (and other information) is
through the DEFAULT_BOOT_LINE macro in config.h, with the STANDALONE macro
defined?

If so, what do I put in for the boot device?

Thanks,

 David.

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

Newsgroups: comp.os.vxworks
Subject: Re: MPC860 Ethernet Driver
Date: 18 Mar 2002 11:12:33 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <usn6xq2ha.fsf@yahoo.com>
References: <28ee7c97.0203171927.2418d5ec@posting.google.com> <3C956E9A.E43D1ED9@gv.net>
Sender: bpringlemeir@DeadDuck

>>>>> Daniel Haines wrote:

 Daniel> I wonder if Windriver provides ethernet device driver for
 Daniel> Motorola PPC860? Is it in the BSP of evaluation board?
 Daniel> where can I get it?

>>>>> "Michael" == Michael R Kesti <mkesti@gv.net> writes:

 Michael> Yes, for both the CPM and FEC/MII interfaces.
 Michael> I believe that they're included in the ADS860 BSP.
 Michael> You purchase the BSP from Wind River, I think.

I think that Aisys (maybe another company from France or Germany)
makes a package that is suppose to generate drivers for the PPP860.
One problem was that several serial channels have to share different
clock sources, so it is not possible to use a different baud rate on
every SCC channel. Anyways, I looked at an evaluation copy of the
software about three years ago. The software may have improved
significantly. "http://www.aisysinc.com/"

I think that Michael probably gave you the best advice. But a second
source is always nice. Web searches also find several consultants who
have MPC860 packages, although I can not comment on them.

 "http://www.google.ca/search?q=MPC860+device+drivers"

hth,
Bill Pringlemeir.

- --
ANNOYED BY SALESMEN. CAPTAIN INTOXICATED. LEAVE BOAT. U-70.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: SCSI request sense failed with a phasemismatch
Date: Mon, 18 Mar 2002 17:41:44 +0000
From: Mark Armstrong <msa@kaon.co.uk>
Organization: Kaon Ltd
Message-ID: <3C9626D8.EC93CA9D@kaon.co.uk>
References: <8fd52479.0202260519.7f89d892@posting.google.com>

Hans,

I'm suffering similar type problems with SCSI under VxWorks. Life is not
as simple
under VxWorks as when using Solaris for example, plug in a SCSI device
and
provided you don't mix up your HVDs and your LVDs it works. Shame.

We've been in the situation with an 895 controller, where a Seagate disk
and one tape drive type works fine and another similar tape drive type
suffers
a phase mismatch during scsiPhysDevCreate() caused by some idyosyncratic
responses
by the tape drive. After a bus analyser and the help of a "man in the
know "
from WindRiver it was decided that it should be possible to patch the
WindRiver
part of the driver to cope with our wayward device.

If HP can produce a wayward tape drive then there must be loads of
SCSI targets that can trick the VxWorks driver into failing.

Having said that, try talking to you RAID asynchronously and narrow to
start
with. I.e do the following before calling scsiPhysDevCreate():
{
 SCSI_OPTIONS options;
 uint32_t which;

 if (scsiTargetOptionsGet (pSysScsiCtrl, scsiId, &options) == ERROR)
 {
 printf(" scsiTargetOptionsGet failed for TAPE DRIVE\n\a");
 }

 which = SCSI_SET_OPT_XFER_PARAMS | SCSI_SET_OPT_WIDE_PARAMS;

 options.maxOffset = SCSI_SYNC_XFER_ASYNC_OFFSET;
 options.minPeriod = SCSI_SYNC_XFER_ASYNC_PERIOD;
 options.xferWidth = SCSI_WIDE_XFER_SIZE_NARROW;

 if (scsiTargetOptionsSet (pSysScsiCtrl, scsiId, &options, which) ==
ERROR)
 {
 printf(" scsiTargetOptionSet failed for TAPE DRIVE\n");
 }
}

If that works but is too slow, try slowly increasing the synchronous
transfer rate by
decreasing the minPeriod. E.g

{
 SCSI_OPTIONS options;
 uint32_t which;

 if (scsiTargetOptionsGet (pSysScsiCtrl, scsiId, &options) == ERROR)
 {
 printf(" scsiTargetOptionsGet failed for TAPE DRIVE\n\a");
 }

 which = SCSI_SET_OPT_XFER_PARAMS;
 options.minPeriod = 25; /* 10MHz */
 /* options.minPeriod = 12; */ /* 20MHz */
 /* options.minPeriod = 6; */ /* 40MHz */

 if (scsiTargetOptionsSet (pSysScsiCtrl, scsiId, &options, which) ==
ERROR)
 {
 printf (" scsiTargetOptionSet failed for TAPE DRIVE\n");
 return (ERROR);
 }
}

If you still can't get any life or the speed you need, you may require
serious
SCSI debugging, or maybe you should try another RAID!

Regards,

	Mark Armstrong

>
> I am using a VME board with a PPC750 and a SYM53C875 SCSI controller.
> When I use the board with a SEAGATE harddisk everthing is fine. But when
> I connect the board to a RAID controller it hangs in the routine
> scsiPhysDevCreate(0,0,0,0,-1,0,0,0), the debug output shows like attached
> below.
>
> Does anybody knows when went wrong and how I can solve this problem???
>
>
> 0x1683158 (t1): scsiReqSense:
> 0x1683158 (t1): scsi2Transact:
> 0x17d8af8 (tScsiTask): scsiMgrRequestProc: client request: 0
> 0x17d8af8 (tScsiTask): scsiMgrActivateRequest: thread 0x01ffe470
> 0x17d8af8 (tScsiTask): ncr810ThreadActivate: thread 0x01ffe470: activating
> 0x17d8af8 (tScsiTask): ncr810XferParamsCvt: converted to: offset = 0, period
> = 0
> xferParams = 0, clockDivide = 133
> 0x17d8af8 (tScsiTask): ncr810ThreadStateSet: thread 0x01ffe470: 1 -> 6
> 0x17d8af8 (tScsiTask): ncr810Event: received event 50 (thread = 0x01ffe470)
> 0x17d8af8 (tScsiTask): ncr810ThreadEvent: thread 0x01ffe470: received event 50
> 0x17d8af8 (tScsiTask): ncr810PhaseMismatch: message out aborted (4 of 1 bytes se
> nt).
> 0x17d8af8 (tScsiTask): ncr810Event: received event 11 (thread = 0x01ffe470)
> 0x17d8af8 (tScsiTask): ncr810ThreadEvent: thread 0x01ffe470: received event 11
> 0x17d8af8 (tScsiTask): MESSAGE REJECT message in
> 0x17d8af8 (tScsiTask): WIDE DATA TRANSFER REQUEST rejected
> 0x17d8af8 (tScsiTask): ncr810Event: received event 13 (thread = 0x01ffe470)
> 0x17d8af8 (tScsiTask): ncr810ThreadEvent: thread 0x01ffe470: received event 13
> :
> : repeats indefinitly
> :
> 0x17d8af8 (tScsiTask): ncr810Event: received event 13 (thread = 0x01ffe470)
> 0x17d8af8 (tScsiTask): ncr810ThreadEvent: thread 0x01ffe470: received event 13

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

Newsgroups: comp.os.vxworks
Subject: Re: muxDevStart function failed.
Date: Mon, 18 Mar 2002 10:16:06 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a75auj$3o2$1@newsreader.mailgate.org>
References: <220aeb02.0203142148.7b873564@posting.google.com>
Sender: gold@ensemble.com

"Jae Young Choi" <jychoi@cisl.snu.ac.kr> wrote in message
news:220aeb02.0203142148.7b873564@posting.google.com...
> I'm developing MPC8260 BSP.
> I want to boot my hardware board using FCC.
> But, my BSP says "Failed to start device motfcc"
> What causes muxDevStart function failed?

I guess you don't have the source to the driver, or you could look at it
there...
Try setting the global variable motFccEndDbg before calling your routines.
If you can't find this variable, it means the driver wasn't compiled with
debug enabled. Then you can either ask WRS for the source, or a .o that has
been compiled with debug enabled. Also double check your bootline and make
sure all the parameters there are correct.

 hth,
 Dan Gold gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Time Counter on MVME2400
Date: 18 Mar 2002 18:27:28 GMT
From: Juergen Naumann <naumann@physik.uni-dortmund.de>
Organization: Uni Dortmund, Physik
Message-ID: <a75big$hdh$1@nx6.HRZ.Uni-Dortmund.DE>
Reply-To: naumann@Physik.Uni-Dortmund.DE

Dear vxWorkers

We have MVME2400 Motorola PowerPC and vxWorks 5.4. For Trigger Purposes
in High Energy Physics some short routines are running on these boards.
The time available for 1 run is less then 100 mus. For timing checks
and to monitor the boards I want to retrieve the time it takes between
the first data entering the board and the routine ending.

The BSP gives a maximum of 5000 for SYS_CLK_RATE_MAX which is by far not
enough for my purposes. For some tests I succeed to use values for
SYS_CLK_RATE as high as 100000, but this for sure limits the system
performance.

In Google I read the possibility to use the aux-Clock with a rather low
Clock-rate and get the necessary precision by reading out the counter
in-between the clock interrupts. Unfortunately the aux-Clock (provided
by a timer counter in the Hawk-Chip) is not supported in the BSP,
therefore e.g. sysAuxClkConnect does not exist.

Therefore I have the question if it is possible to read out a counter
of the "normal" system clock in the same way as was proposed for the
aux-clock?

Thanks and best regards,
- --
 Jrgen Naumann
e----------------------------->H1<---------------------------p

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

Newsgroups: comp.os.vxworks
Subject: Re: Is it possible to change the priortiy of windsh
Date: Mon, 18 Mar 2002 19:37:53 +0100
From: "Doedel" <tjanssen@xs4all.nl>
Organization: @Home Network
Message-ID: <Kgql8.48719$58.2539363@zwoll1.home.nl>
References: <H%ag8.7148$fI6.5756@nwrddc01.gnilink.net> <%n7h8.2999$5o.2232656@newsr2.u-net.net> <3C850A5B.3040106@spamm.me.l8s.co.uk> <A2wh8.2902$J3.1067@nwrddc01.gnilink.net> <a67e76$a3o$1@snoopy.bndlg.de> <0iTh8.7396$J3.1346@nwrddc01.gnilink.net>

You can do this by adding the following code
(or calling it from the shell):
E.g. when you want to change the prio to 150 (0 = default).

- -> taskPrioritySet( taskNameToId("tShell"), 150)

We also did that to enable us to do a lkup, i etc.. shell command
when your hard realtime system is already running.

Hope this helps.

"Matt Schuckmann" <matt.schuckman@verizon.net> wrote in message
news:0iTh8.7396$J3.1346@nwrddc01.gnilink.net...
> I tried his example but it doesn't work, I get a mesage "A host function
> cannot be used as an argument"
>
> Any other ideas?
>
> Thanks
> Matt S.
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message
> news:a67e76$a3o$1@snoopy.bndlg.de...
> > Hi Matt,
> >
> > just read a nd do how David said:
> > on all critical commands use
> > -> sp <cmd>,<par1>,<par2>,.....
> > This seems the only way to get around your problems. All commands
entered
> > without 'sp' will be executed at the same priority as the shell you
invoke
> > it from.
> >
> > --
> > Mit freundlichen Gren,
> > Michael Lawnick
> > ==============================================
> > SOFTEC GmbH Tel +49-731-96600-0
> > Promenade 17 Fax +49-731-96600-23
> > D-89073 Ulm Michael Lawnick
> > Germany lawnick@softec.de
> > ==============================================
> >
> > "Matt Schuckmann" <matt.schuckman@verizon.net> schrieb im Newsbeitrag
> > news:A2wh8.2902$J3.1067@nwrddc01.gnilink.net...
> > > All good ideas guys but want if I want to use the ld() shell command
to
> > > dynamically load a module.
> > >
> > > The behaviour I've observed is that when I give the shell a command,
> like
> > > ld() or even one of my own functions, it spawns a very high proiorty
> task,
> > > priorty 3 I think and it's usually called t01, t02, t03, etc) to run
the
> > > function. Now if it's one of my own functions I can explicitly change
> the
> > > priorty right off and I'm good. But what I can't figure out is how to
> make
> > > the ld(), or other shell commands, to run at a lower priority so that
> they
> > > don't preempt my real time task.
> > >
> > > Any ideas would be great
> > > Thanks
> > > Matt Schuckmann
> > >
> > > matthew_schuckmann@amat.com
> > >
> > > "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> > > news:3C850A5B.3040106@spamm.me.l8s.co.uk...
> > > > >>Does anybody know if there is a way to change the priorty at which
> > > > >>function and commands run from windsh run at?
> > > > >>
> > > > >>The problem I'm having is that I've got a significant part of my
> code
> > > > >>loaded and running and I'm dynamically loading and unloading
another
> > > >
> > > > >>part of the code to make it easier and quicker to debug it.
> > > > >>When I use the ld() command to dynamicaly load and unload the
> > > > >>module I'm debugging the loader runs in the windsh task and that
> > > > >>task appears to run at such a high priority that it prevents my
> > > > >>hard real time task from running for long enough that I end up
> > > >
> > > > >>having to reset my hardware after loading or unloading my test
> module.
> > > >
> > > >
> > > > Just ask the shell to spawn a task to do the work....
> > > >
> > > > sp ld,"filename"
> > > >
> > > > will run at a reasonable priority
> > > >
> > > > David
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2.0.2 With gcc 2.96
Date: Mon, 18 Mar 2002 19:42:02 +0100
From: "Dan Janssen" <dpc.janssen@home.nl>
Organization: @Home Network
Message-ID: <Dkql8.48731$58.2540911@zwoll1.home.nl>
References: <d2eae3bd.0203032300.12e7301a@posting.google.com> <9ec53d11.0203042356.73d7b673@posting.google.com>

I heard that that version will be delivered with Tornado 2.2.
However you could request a Beta version now....

The 2.7.2. version from 1996 seems to have problems
with C++ exception handling and more...

"Ignacio Gonzlez" <igtorque@eliop.es> wrote in message
news:9ec53d11.0203042356.73d7b673@posting.google.com...
> shoz@elbit.co.il (shoz) wrote in message
news:<d2eae3bd.0203032300.12e7301a@posting.google.com>...
> > Hi
> > Did any body use T2 update for gcc 2.96 on x86 ?
> > Did any body use gcc 2.96 with Tornado on x86 ?
> > thanks oz
>
> No. I wish I did, if it existed. I need C++ namespaces (to use CORBA
> without nasty classes inside classes to simulate namespaces.)

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

Newsgroups: comp.os.vxworks
Subject: SCSI Speed Limit, have you been faster?
Date: Mon, 18 Mar 2002 18:44:11 +0000
From: Mark Armstrong <msa@kaon.co.uk>
Organization: Kaon Ltd
Message-ID: <3C96357B.31BF6A2A@kaon.co.uk>

I am using a VME board with a PPC750 and a PMC that uses
a SYM53C875 SCSI controller. We brought the device to life
thanks to the VxWorks standard ncr810 driver, (remembering obviously
to endian swap the ncr810 script or it won't work...)

With the minPeriod set to 25 (* 4 ns = 100ns, i.e. 10MHz). This works
fine
but our maximum speed is 10MByte/s to our tape drive that is capable of
33MB/s when connected to a Solaris machine.
Even with wide transfers negotiated which should double
our bandwidth we only see 10 MByte/s. It's almost as if there is a
hidden
parameter that forbids transfers faster than 10MB/s for sequential
devices.

Does anyone know of such a parameter?

This driver was written when 10MHz was the known SCSI-2 limit,
the Reference Manual even comments on this limit.
These days SCSI should be capable of 40MB/s, 80MB/s even 160MB/s
and beyond before long.

When we negotiate 10MHz the following is seen when debug enabled:

 0xf7f2b10 (tScsiTask): ncr810ThreadActivate: thread 0x0e54c568:
activating
0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: requested: offset = 8,
period = 25
0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: converted to: offset =
8, period = 25
xferParams = 8, clockDivide = 19

etc...

When we try to negotiate a higher speed (minPeriod = 12) the
scsiPhysDevCreate()
fails, hanging the bus with the activity light on and printing the
following:

0xf7f2b10 (tScsiTask): SYNCHRONOUS TRANSFER REQUEST message in
 offset = 8, period = 12
0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: requested: offset = 8,
period = 12
0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: converted to: offset =
8, period = 12
xferParams = 8, clockDivide = 19
0xf7f2b10 (tScsiTask): ncr810Resume: thread: 0x0e54c3e8: state 0 -> 2
0xf7f2b10 (tScsiTask): scsiMgrTimeoutProc: thread 0x0e54c3e8 (state = 6)
timed out
0xf7f2b10 (tScsiTask): ncr810ThreadAbort: thread 0x0e54c3e8 (state = 6)
aborting
interrupt: ncr810EventTypeGet:Interrupt status istat = 0x89, SCSI
status0 = 0x00, SCSI status1 = 0x00DMA status = 0x10
interrupt: ncr810EventTypeGet: script aborted.
interrupt: ncr810Intr: DSA = 0x0f7f3d30, DSP = 0x0033cdf8, type = 1.
interrupt: ncr810Intr: state 2 -> 0
0xf7f2b10 (tScsiTask): ncr810ThreadStateSet: thread 0x0e54c3e8: 6 -> 9
0xf7f2b10 (tScsiTask): ncr810Event: received event 1 (thread =
0x0e54c3e8)
0xf7f2b10 (tScsiTask): ncr810ThreadEvent: thread 0x0e54c3e8: received
event 1
0xf7f2b10 (tScsiTask): ncr810InitEvent: thread 0x0e54c3e8: aborted
0xf7f2b10 (tScsiTask): ncr810Resume: thread: 0x0e54c3e8: state 0 -> 2

Its almost as if the tape drive accepts a faster speed but the VxWorks
driver
is still set in it's default with no hope of changing.

I find it suspicious that the clockDivide = 19 does not change. Anyone
know what this means?

Has anyone found a fix or seen the NCR810 driver go faster than 10MB/s
fast and wide to a sequential device?

We've had an 895 device going at over 30MB/s to a disk which is why we
are
so confused at this speed limit.

Yours hopefully

	Mark Armstrong

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

Newsgroups: comp.os.vxworks
Subject: Disable java mode (Altivec)
Date: 18 Mar 2002 18:53:22 GMT
From: bte@tog.arl.psu.edu (Bruce T. Einfalt)
Organization: Applied Research Laboratory
Keywords: altivec vxworks java mode
Message-ID: <a75d32$1lgq@r02n01.cac.psu.edu>
Reply-To: bte@tog.arl.psu.edu

Hi,
 I have a Motorola MVME5100 board (Altivec G4) with VxWorks 5.4 kernel using a Tornado 2.1 compiler. Could someone please tell me how I determine whether Java mode (IEEE mode) is enabled on the Altivec chip? I know it is in the VSCR register but how do I access it and set/disable the bit? I could not find any information on this in the VxWorks or 5100 manuals. Anu ideas? Thanks!

- --
Bruce Einfalt
ARL - Penn State
814-863-4142
beinfalt@psu.edu

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

Newsgroups: comp.os.vxworks
Subject: Getting the Mac Address
Date: Mon, 18 Mar 2002 13:15:23 -0600
From: "Chris Richards" <cjr@netpliance.net>
Message-ID: <3c963bfb$0$3038$39cecf19@news.twtelecom.net>

Howdy.

From a higher level application, how do you get the mac
address of an interface? The standard Unix ioctl methods
aren't working. I attempted to use EIOCGADDR and failed
miserably.

The other tack I took was to use endFindByName and then
muxIoctl. Unfortunately, the pCookie that muxIoctl
accepts isn't the same as the END_OBJ returned by endFindByName
(though pCookie is returned from muxBind and contains the
END_OBJ; but that is too low a level).

I couldn't find endIoctl which muxIoctl documentation references.

Since this would (seemingly) be a standard operation and
wouldn't be a problem. I can only assume user error.

Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: Time Counter on MVME2400
Date: 18 Mar 2002 11:29:18 -0800
From: Joe Chung <nospam@nospam.invalid>
Message-ID: <rpsd6y1oesx.fsf@nospam.invalid>
References: <a75big$hdh$1@nx6.HRZ.Uni-Dortmund.DE>

Try the undocumented function vxTimeBaseGet() which samples the 64 bit
time-base register on the CPU itself. This timer has a 60ns period.

Also search around deja for "vxTimeBaseGet"

- -jc
- --
(apply 'concat (reverse (list "com"
 (char-to-string 46) "yahoo"
 (char-to-string 64) "joechung")))

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

Newsgroups: comp.os.vxworks
Subject: How to access LPC47M14x fan control (intel 845 motherboard)?
Date: 18 Mar 2002 11:30:42 -0800
From: venkat@peribit.com (V. R. Venkataramana)
Organization: http://groups.google.com/
Message-ID: <9f1c83d3.0203181130.785c9aae@posting.google.com>

Mother Board: Intel Desktop Board D845WN
Fan Control : via SMSC chip LPC47M142-NC
OS : vxWorks

I need to know:
================
1. How to access FANx registers?

 The FAN1 and FAN2 registers are located 0x56 and 0x57 from base I/O in
 logical Device A.

 I tried to follow linux version of code:

 /* Device ID of SMSC47M14x super io chip */
 #define DEVID 0x5F

 /* Configuration port address of the SMSC47M1xx Super I/O chip
 * Could also be 0x4e; on Intel D815* motherboards it is 0x2e
 * MODULE_PARM(siocfgport,"i");
 * MODULE_PARM_DESC(siocfgport,"Configuration port: 0x2e or 0x4e
 */
 int siocfgport=0x4e;

 /* send 0x55 to set up for configuration */
 sysOutByte(0x55,siocfgport);

 /* now check the device type */
 smscdevid=getregsio(0x20);

 /* check that chip is really there */
 if (smscdevid!=DEVID)
 {
 /* prepare a helpful suggestion */
 printf("<1>fan: No SMSC LPC47M1xx SuperI/O chip at address 0x%x\n",
	 siocfgport);
 printk("<1>fan: Chip at this address has device ID 0x%x not 0x%x.\n",
	 smscdevid,DEVID);
 printk("<1>fan: Try insmod fan.o siocfgport=0x%x. Exiting...\n",
	 siocfgport==0x2e?0x4e:0x2e);
 }

I cannot retrieve DEVID information at all. Before I access
FANx register, I want to make sure that DEVID is valid.

I cannot access DEVID information and FANx control registers.

Any pointers on how to access DEVID anbd FANx registers will be
greatly appreciated.

Thanks, Venkat
(408) 330-5628

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: 18 Mar 2002 11:36:50 -0800
From: lliao@opvista.com (Liang)
Organization: http://groups.google.com/
Message-ID: <e9720ff6.0203181136.4ff586a1@posting.google.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com>

Consider the following configuration:

1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4
A <---------------> B <---------------> C <------------------> D

If I want to send a packet from A to D, can I use your suggesting
below?
(Assume the interface from left to right is motfec0, right to left is
motfec1)
In node A:
1. ifFlagSet( "motfec0", IFF_POINTTOPOINT )
2. ifDstAddrSet( "motfec0", "1.1.1.2")
3. routeAdd( "1.1.1.4", "1.1.1.2" )

In node B:
1. ifFlagSet( "motfec0", IFF_POINTTOPOINT )
2. ifDstAddrSet( "motfec0", "1.1.1.3")
3. routeAdd( "1.1.1.4", "1.1.1.3" )

In node C:
1. ifFlagSet( "motfec0", IFF_POINTTOPOINT )
2. ifDstAddrSet( "motfec0", "1.1.1.4")

So if I send a udp packet in node A using the DONTROUTE flag, the
packet destined for 1.1.1.4 will be sent to B using motfec0, and will
be routed automatically to C, and then D?

Do you think this will work? Also the documentation for
IFF_POINTTOPOINT states that this flag can only be set at interface
initialization time, so when/where do I set this? One more thing, how
do I resolve the MAC addr? does ARP still work if the interface is
IFF_POINTTOPOINT?

Thanks.

Liang

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u99h8oj0nuj884@corp.supernews.com>...
> Each point to point interface must have an associated destination address.
> That is what makes it a point to point interface, along with
> IFF_POINTOPOINT. In vxWorks you use ifDstAddrSet on interface.
>
> From socket layer you can choose to use SO_DONTROUTE option. When you use
> this option the routing table is bypassed and route is chosen based on
> destination address or network address.

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Mon, 18 Mar 2002 11:55:13 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9chj98o625743@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com>

First of all, if you set IFF_POINTOPOINT, ARP will not be generated. You
can further disable ARP by setting IFF_NOARP.

IFF_POINTOPOINT is not strictly initialization time flag. It can be set any
time. There might be some drivers that abuse the condition for init time
setting, but that would be not consistent with the rest of BSD code , at
least in spirit.

I cannot recommend you use IFF_POINTOPOINT because it gives me weird
feelings associating Ethernet with point to point. If you must do so, then
there might be a way to get it all working.

Your solution won't work though. At least if you use SO_DONTROUTE. You
can't ask stack to bypass the routing table, and attempt to use route table
at the same time (as in your routeAdd).

You drew different picture this time. A <-> B <-> C <-> D.

If that is what you want to accomplish, it would be better to just use proxy
ARP.

B should proxy ARP respond for C, D. C would do it for D, etc.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Getting the Mac Address
Date: Mon, 18 Mar 2002 12:05:33 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9ci6l1ntnt17c@corp.supernews.com>
References: <3c963bfb$0$3038$39cecf19@news.twtelecom.net>

Use ifunit() to get interface pointer (struct ifnet *).
Cast this to (struct arpcom *).
Access ac_enaddr, which will contain your ethernet address.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Vxworks stack trace
Date: 18 Mar 2002 13:16:19 -0800
From: harixxxx@yahoo.com (T. Hariharan)
Organization: http://groups.google.com/
Message-ID: <919a9583.0203181316.34beac93@posting.google.com>

Hello,

In the stack trace below, why are the arguments for some
functions in square brackets and some not? What is the
difference?

Thanks,
Hari

41454b i +53 : show ([53dc3bbc, 2, 53dc2ac4, 53dc3b8c, 1669aa])
414693 show +9b : objShow (53dc3bbc, 2)
41f519 objShow +69 : taskShow ([53dc3bbc, 2, 53dc3bbc, 53dc2a84, 53dc2a88])
3dfae6 taskShow +1be: 3dfb48 (53dc2a10)
3dfb7e taskShow +256: printf (3dfb02, 5ddc11cc)
3b3d96 printf +12 : fioFormatV ([3dfb0a, 53dc1fe4, 3b4c34, 1, 53dc2128])
3b4b1c fioFormatV +a58: 3b4c34 (5ddc11cc, 6, 1)
3b4c44 fioFormatV +b80: write ([1, 5ddc11cc, 6, fffffffa, 53dc1fbc])
3c0dd7 write +f : iosWrite ([1, 5ddc11cc, 6, 53dc1dd0, 3b4c49])
3ec1c8 iosWrite +70 : 3bc0b8 ([5fff59ec, 5ddc11cc, 6, 6, 5ddc11cc])
3bc0c9 dosFsChkDsk +2451: 3bb998 ([5fff59ec, 5ddc11cc, 6, 2, 53dc1da4])
3bba5e dosFsChkDsk +1de6: semMTake (5fff59ec, ffffffff)

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

Newsgroups: comp.os.vxworks
Subject: Re: Vxworks stack trace
Date: Mon, 18 Mar 2002 21:25:17 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C965BB0.6030803@spamm.me.l8s.co.uk>
References: <919a9583.0203181316.34beac93@posting.google.com>

> In the stack trace below, why are the arguments for some
> functions in square brackets and some not? What is the
> difference?

By the look of it the [] are used when the number of arguments
isn't know and 4 arguments are given.

(Actually it may even be giving the cuurent values of the
registers that the arguments were passed in anyway....)

	David

> 41454b i +53 : show ([53dc3bbc, 2, 53dc2ac4, 53dc3b8c, 1669aa])
> 414693 show +9b : objShow (53dc3bbc, 2)
> 41f519 objShow +69 : taskShow ([53dc3bbc, 2, 53dc3bbc, 53dc2a84, 53dc2a88])
> 3dfae6 taskShow +1be: 3dfb48 (53dc2a10)
> 3dfb7e taskShow +256: printf (3dfb02, 5ddc11cc)
> 3b3d96 printf +12 : fioFormatV ([3dfb0a, 53dc1fe4, 3b4c34, 1, 53dc2128])
> 3b4b1c fioFormatV +a58: 3b4c34 (5ddc11cc, 6, 1)
> 3b4c44 fioFormatV +b80: write ([1, 5ddc11cc, 6, fffffffa, 53dc1fbc])
> 3c0dd7 write +f : iosWrite ([1, 5ddc11cc, 6, 53dc1dd0, 3b4c49])
> 3ec1c8 iosWrite +70 : 3bc0b8 ([5fff59ec, 5ddc11cc, 6, 6, 5ddc11cc])
> 3bc0c9 dosFsChkDsk +2451: 3bb998 ([5fff59ec, 5ddc11cc, 6, 2, 53dc1da4])
> 3bba5e dosFsChkDsk +1de6: semMTake (5fff59ec, ffffffff)
>

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

Newsgroups: comp.os.vxworks
Subject: Test
Date: 18 Mar 2002 14:46:06 -0800
From: venkat@peribit.com (V. R. Venkataramana)
Organization: http://groups.google.com/
Message-ID: <9f1c83d3.0203181446.456a1dbf@posting.google.com>

Please ignore this

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

Newsgroups: comp.os.vxworks
Subject: Source code for password encryption
Date: Mon, 18 Mar 2002 19:46:28 -0000
From: "cecil" <cecil@hunmanby.demon.co.uk>
Message-ID: <1016492581.2843.0.nnrp-07.d4e4b8d1@news.demon.co.uk>

Does anybody know the algorithim to create the passwords for UserAdd?
Nigel

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

Newsgroups: comp.os.vxworks
Subject: DHCP servers for VxWorks
Date: 18 Mar 2002 23:11:00 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrna9ct03.l05.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Hello,

in addition to the DHCP server supplied by WRS folks, are
there any good alternatives that work for thousands of
subscribers, and are really well-tested and supported? We'd
prefer something we did not have to port, but if there are
things easily-portable to VxWorks, we'd appreciate
suggestions as well.

Another, somewhat related question, is whether anyone around
here knows/have used some tool for testing a DHCP server
against heavy loads of possibly-not-very-well-behaving dhcp
clients (whatever the definition of this may be)? We have
some home-grown things that simulate this sort of traffic,
but is there something that is known to work well, that's
commercially available?

thank you,

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: Xerces XML parser
Date: Mon, 18 Mar 2002 23:55:58 +0000
From: molochai <molochai@vapour-trail.demon.co.uk>
Message-ID: <squ57a.q8c.ln@vapour-trail.demon.co.uk>
References: <3C95420D.D1138BEA@tippingpoint.com>
Reply-To: molochai@vapour-trail.demon.co.uk

Arthur Gold wrote:

> Hey all:
>
> Has anyone had any success porting the Xerces-C XML parsing library to
> vxWorks?

We've ported the Xerces C++ parser. It was in fact very easy to do (all
platform specifics bare abstracted into one class) - It took me about 1/2
hour to write a VxWorks implementation of it.

There are some areas of difficulty such as the lack of wide-character
support in VxWorks. We build Xerces as a library and have found the
binaries to be huge, although much of this might be the symbol table rather
than code. I also seem to recall the stack usage to be somewhat high due to
profligate use of automatic objects built on it.

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

Newsgroups: comp.os.qnx,comp.os.unix,comp.os.vxworks,comp.sys.arm,comp.sys.m68k
Subject: Senior Embedded Systems developer looking for contract work ...
Date: Tue, 19 Mar 2002 00:15:22 GMT
From: "Mark Lane" <marklane5@attbi.com>
Organization: AT&T Broadband
Message-ID: <uqvl8.64269$702.19025@sccrnsc02>

Senior Embedded Systems developer looking for contract work ...

- - pSOS, VxWorks, VRTX, Nucleus, QNX, OSE, INTEGRITY
- - C/C++, Assembly, Microcode
- - Object-Oriented, UML, Rational Rose, SASD
- - PowerPC, PowerQuicc, 683XX, 68K, ColdFire, 68HCXX
- - Pentium, 80X86, ARM7/9, TI OMAP, 805X
- - ClearCase, PVCS, CVS, RCS, SEI/ISO process
- - NT, Unix, GNU, Perl, ShellScripting
- - TCP/IP, ATM, SAR, CAC, QOS, GSM/GPRS, SNMP
- - USB, PCI, VME, ISA, DSL, JTAG, I2C, SPI, DS1, DS3
- - BSP Development, Debug GREEN hardware
- - Complex software design at any level
- - Commercial or Military

Mark Lane
Time Domain Systems, Inc.
214-232-4091
marklane5@attbi.com

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

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Tue, 19 Mar 2002 00:32:55 GMT
From: Andray Kaganovsky <andraykNOSPAM@primus.ca>
Organization: Primus Canada
Message-ID: <Xns91D5C74A7B7D2andrayk@216.254.136.26>
References: <a6tuis$460$1@news.inter.net.il>

"Zvika Vered" <zvivered@zahav.net.il> wrote in news:a6tuis$460$1
@news.inter.net.il:

> Hello All,
>
> When I load an object file by calling LoadModule() or ld (1)
><object_filename,the console show this information :
>
> Relocation value does not fit in 24 bits.
> Relocation value does not fit in 24 bits
> ......
>
> But if I download this file by Tornado II,it is ok.
> Who can help me?
>
>

[AndrayK]. I belive you can solve your problem by recompiling
your module with "-mlongcall" switch.

Andray

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: 18 Mar 2002 17:48:50 -0800
From: lliao@opvista.com (Liang)
Organization: http://groups.google.com/
Message-ID: <e9720ff6.0203181748.8250ae8@posting.google.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com>

Thanks HJB, your information is very useful.

I think you are right about the fact that IFF_POINTOPOINT may not be
the right approach to solve my problem. My true configuration, which
I had previously left out for simplification, is

A <-> B <-> C <-> D <-> E <-> F <-> ... <-> A. ( a ring )

In fact, in the future the configuration may be extended to include
trees. My task is to design a solution so all the nodes can
communicate with each other. I am planning to port OSPF into VxWorks
to establish the routing table. I was thinking about using the
routing table already provided in the IP layer (routeLib). But all my
links are Ethernet point to point, and from our discussion there
doesn't seem to be an easy way to add p2p links to the routing table.
I believe OSPF already provides support for establishing routes over
p2p links, and for routing I think I will create my own routing table
in each node. For example, A knows from its routing table that to
send traffic to D, it will send the packet over motfec0 to B. When B
receives the packet, (MUX_PROTO_SNARF), my protocol service routine
will consult my routing table and forward the traffic to C
(etherOutput). I will bypass the VxWorks IP layer completely. There
are still some details to be worked out but so far I think this will
work.

Thanks again for your help. Further recommendations(if any) is much
appreciated.

Liang

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u9chj98o625743@corp.supernews.com>...
> First of all, if you set IFF_POINTOPOINT, ARP will not be generated. You
> can further disable ARP by setting IFF_NOARP.
>
> IFF_POINTOPOINT is not strictly initialization time flag. It can be set any
> time. There might be some drivers that abuse the condition for init time
> setting, but that would be not consistent with the rest of BSD code , at
> least in spirit.
>
> I cannot recommend you use IFF_POINTOPOINT because it gives me weird
> feelings associating Ethernet with point to point. If you must do so, then
> there might be a way to get it all working.
>
> Your solution won't work though. At least if you use SO_DONTROUTE. You
> can't ask stack to bypass the routing table, and attempt to use route table
> at the same time (as in your routeAdd).
>
> You drew different picture this time. A <-> B <-> C <-> D.
>
> If that is what you want to accomplish, it would be better to just use proxy
> ARP.
>
> B should proxy ARP respond for C, D. C would do it for D, etc.

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Mon, 18 Mar 2002 18:57:43 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9dabffjfns4b7@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com>

You know, it is possible to use routeAdd() to add host specific routing
table entries. Like, for example, routeAdd("1.1.1.4", "1.1.1.2") and
routeAdd("1.1.1.4","1.1.1.3").

Why would it not work in your case?

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Vxworks stack trace
Date: Mon, 18 Mar 2002 19:54:42 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9ddmaar0r0ca6@corp.supernews.com>
References: <919a9583.0203181316.34beac93@posting.google.com> <3C965BB0.6030803@spamm.me.l8s.co.uk>

The number of arguments for each function call in the call stack is derived
from a simple algorithm that is CPU architecture specific. In most cases,
the return address is examined. If the instruction in the return address
(that is the instruction that gets executed after function call return)
looks like instructions that are used to pop the stack of arguments, that is
used to calculate how many arguments are passed. However, modern compilers
optimize this out frequently, storing arguments in registers and doing other
things.

In those cases, the arguments for each function is printed inside brackets
([ ]). Since number of arguments is unknown, a default number of values
are printed. The default is usually set to 5.

Another thing to note is that arguments printed are approximate and not 100%
accurate.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: bootroms not building...
Date: 18 Mar 2002 21:18:33 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203182118.81cf208@posting.google.com>
References: <b305b5bd.0203122344.269d9c1@posting.google.com> <a73rmd$1sa$1@bob.news.rcn.net>

hi bruce
thanx for ur reply but i am not getting wat u saying where should i
set this flag i don't see it any where in target/h/make what actually
i have to do .
can u pls tell me clearly.
thanx in advance
ali

"BruceL" <bruceandjoan@ultranet.nospam.com> wrote in message news:<a73rmd$1sa$1@bob.news.rcn.net>...
> Not sure about the first. When building for rom residency, you must use the
> macro $(CC_ROM_RES_FLAGS) to get the RAM_ADRS thing. Grep for this in the
> target\h\make directory.
>
> Bruce
>
> "Ali" <alimohd@logiceastern.com> wrote in message
> news:b305b5bd.0203122344.269d9c1@posting.google.com...
> > hi everyone
> > Im trying to build a ootroms for my project bsp but the problem is
> > that when i build the bootrom_uncmp,bootrom_uncmp.hex it builds well
> > and ok.
> > when i am building bootrom.st,bootrom.hex it shows following errors..
> > l/version.c
> > ldppc -X -N -e _romInit -Ttext 0x00010000 \
> > -o bootrom romInit.o bootInit.o version.o \
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
> > /home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a bootrom.Z.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> > function `miiBasicCheck':
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b14):
> > undefined reference to `sysClkRateGet'
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x1b34):
> > undefined reference to `sysClkRateGet'
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> > function `miiPhyMonitor':
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x2e54):
> > undefined reference to `sysClkRateGet'
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o: In
> > function `miiPhyListAdd':
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o(.text+0x30c8):
> > undefined reference to `sysClkRateGet'
> > make: *** [bootrom] Error 1
> >
> > when i build bootrom_res and bootrom_res.hex it shows following
> > errors..
> >
> > cd /home/alimohd/tornado/target/config/ep8260/
> > make bootrom_res
> > ccppc -B/home/alimohd/tornado/host/sun4-solaris2/lib/gcc-lib/ -c
> > -mstrict-align -ansi -nostdinc -O2 -fvolatile -fno-builtin
> > -fno-for-scope -Wall -I/h -I.
> > -I/home/alimohd/tornado/target/config/all
> > -I/home/alimohd/tornado/target/h
> > -I/home/alimohd/tornado/target/src/config
> > -I/home/alimohd/tornado/target/src/drv -DCPU=PPCEC603 -g -O0
> > -msoft-float -o version.o
> > /home/alimohd/tornado/target/config/all/version.c
> > ldppc -X -N -e _romInit \
> > -Ttext 0xFF000100 -Tdata 0x00200000 -o bootrom_res romInit_res.o
> > bootInit_res.o \
> > version.o bootConfig.o sysALib.o sysLib.o sysTffs.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/miiLib.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/motFccEnd.o
> > /home/alimohd/tornado/target/lib/objPPCEC603gnuvx/fatlite.o
> > /home/alimohd/tornado/target/lib/libPPCEC603gnuvx.a
> > romInit_res.o(.text+0x416): undefined reference to `RAM_DST_ADRS'
> > romInit_res.o(.text+0x41a): undefined reference to `RAM_DST_ADRS'
> > make: *** [bootrom_res] Error 1
> > hit ENTER to exit
> >
> > can anyone tell me why it happens and what actually is the
> > problem..Note that the files miiLib.o,motFccend.o and fatLite.o i have
> > attached as LIB_EXTRA in make file as these source files were not
> > available with me ..
> > Im using tornado2.0 IDE to do all this stuff on sun machine.
> > thanx in advance
> > ali

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

Newsgroups: comp.os.vxworks
Subject: changes in object file
Date: 18 Mar 2002 21:40:03 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203182140.594537c9@posting.google.com>

hi
 Can any body answer my simple question. I have the driver object
file for FCC ethernet driver as it calls some functions from the BSP
if i made the changes in the BSP will those changes be reflect in the
object file .for instance if i change m8260InumToIvec in IntrCtl.h to
m8255InumToIvec will this be reflected in driver file or not.This
driver is provided by WRS with ads8260.
 thanx in advance
ali

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

Newsgroups: comp.os.vxworks
Subject: mpc8260 scc ethernet driver
Date: 18 Mar 2002 21:47:08 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203182147.5ced69f4@posting.google.com>

hi all
 Has anybody written the driver code for SCC as ethernet in either
mpc8260/mpc8255. I wonder i did not find any clue for that till now. I
have to support ethernet on my scc interface on mpc8255 board. Has
anybody written such driver so far.
 Pls give me thensuggestion where will i find such information or
where can i find i scratch to start with.I do not have the bsp for
either 8260/8255 .I know that number of guys would have done this
before. so can anybody help me in this ..
 thanx in advance
ali

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Tue, 19 Mar 2002 06:18:33 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <4b03f983597b7be1d8be2f119be0e622.77030@mygate.mailgate.org>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com> <u9dabffjfns4b7@corp.supernews.com>

Hi Hwa,

In a ethernet medium, if you use host specific routes also, you are not
assured of data is going through the particular interface. If you use
SO_DONTROUTE option also, you may be able to receive the packet, not
assured of whether data is going through a particular interface.

Thanks,
Ramesh

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u9dabffjfns4b7@corp.supernews.com...

> You know, it is possible to use routeAdd() to add host specific routing
> table entries. Like, for example, routeAdd("1.1.1.4", "1.1.1.2") and
> routeAdd("1.1.1.4","1.1.1.3").
>
> Why would it not work in your case?
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: SCSI Speed Limit, have you been faster?
Date: Mon, 18 Mar 2002 22:23:58 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9dmeapgessj03@corp.supernews.com>
References: <3C96357B.31BF6A2A@kaon.co.uk>

The clockDivide is the number that gets written to SCNTL3 register. There
is a good description of what this register is used for in the 53c895
manual. Basically the clockDivide value 19 in this case (hex 0x13) means
SCF[2:0]=1 and CCF[2:0]=3. They are probably hard-coded in the driver to
depend on the SCLK.

The values printed for XFER params does not make sense to me. I think the
driver needs some work to support Ultra and Ultra2. It may not be handling
multiplier at all and also calculating period and divisors incorrectly.

You are probably lucky that it works at 10MB at all.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Mon, 18 Mar 2002 22:38:05 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9dn8mcj232d48@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com> <u9dabffjfns4b7@corp.supernews.com> <4b03f983597b7be1d8be2f119be0e622.77030@mygate.mailgate.org>

Ramesh,

The way routing code works, host specific routes bound to an interface will
be used properly. Just try it. I should work. If you still doubt it, go
read BSD Unix code route.c.

If you use SO_DONTROUTE, things will work as I said before. Routing is used
for output, not input. So I don't understand your remark about receving OK
but not OK sending.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: I2C interface driver writing on MPC107
Date: Tue, 19 Mar 2002 15:42:03 +0900
From: "" <emycall@dreamx.net>
Organization: Korea Telecom
Message-ID: <a76lke$55t$1@news1.kornet.net>

Hi, all.

I meet new project, but I am new at vxworks.

So I don't know how I start to solve the problem..

Simply, My project is "I2C interface driver writing on MPC107"..

Namely, I want to initialize board(MPC107) through the EEPROM.

Can anyboy let me understand in most easiest way what and how I do..??

so I want to receive some manual, open source, html link and so on

please help me...!!!

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

Newsgroups: comp.os.vxworks
Subject: Re: Source code for password encryption
Date: Mon, 18 Mar 2002 22:56:32 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9dob9ad88lm6f@corp.supernews.com>
References: <1016492581.2843.0.nnrp-07.d4e4b8d1@news.demon.co.uk>

You can use vxencrypt that comes with Tornado to create passwords.

You can also install your own encryption routine using
loginEncryptInstall().

The algorithm used by vxencrypt is pretty weak. It is essentially just
adding bytes in the password with some XOR of index ... or something like
that. Not much better than rot13.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Time Counter on MVME2400
Date: Tue, 19 Mar 2002 08:55:37 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a76qtq$2s3$1@snoopy.bndlg.de>
References: <a75big$hdh$1@nx6.HRZ.Uni-Dortmund.DE>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65dc3.dip.t-dialin.net

Hi Juergen,

besides there *is* an auxClk on your board (just include it in your
workspace), and there are three more identical (unsupported) timers on the
board (on MPIC), I wouldn't recommend to use an interrupt driven source just
for getting time marks.
Your fifth timer is a fixed micro second timer(CTR32 on SMC) , and if this
isn't enough, include timestamping into your BSP and use sysTimestamp() to
get a 60ns timestamp that will wrap every tick (its the lower count of
sysClock).
Just take a look into "MVME2400-Series VME Processor Module Programmer's
Reference Guide"

HTH
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

"Juergen Naumann" <naumann@physik.uni-dortmund.de> schrieb im Newsbeitrag
news:a75big$hdh$1@nx6.HRZ.Uni-Dortmund.DE...
> Dear vxWorkers
>
> We have MVME2400 Motorola PowerPC and vxWorks 5.4. For Trigger Purposes
> in High Energy Physics some short routines are running on these boards.
> The time available for 1 run is less then 100 mus. For timing checks
> and to monitor the boards I want to retrieve the time it takes between
> the first data entering the board and the routine ending.
>
> The BSP gives a maximum of 5000 for SYS_CLK_RATE_MAX which is by far not
> enough for my purposes. For some tests I succeed to use values for
> SYS_CLK_RATE as high as 100000, but this for sure limits the system
> performance.
>
> In Google I read the possibility to use the aux-Clock with a rather low
> Clock-rate and get the necessary precision by reading out the counter
> in-between the clock interrupts. Unfortunately the aux-Clock (provided
> by a timer counter in the Hawk-Chip) is not supported in the BSP,
> therefore e.g. sysAuxClkConnect does not exist.
>
> Therefore I have the question if it is possible to read out a counter
> of the "normal" system clock in the same way as was proposed for the
> aux-clock?
>
>
> Thanks and best regards,
> --
> Jrgen Naumann
> e----------------------------->H1<---------------------------p
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Tue, 19 Mar 2002 08:39:25 +0000 (UTC)
From: "Ramesh Krishnan" <rashanmu@npd.hcltech.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <37574f915d187852dcdba6f0e510ab8c.77030@mygate.mailgate.org>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com> <u9dabffjfns4b7@corp.supernews.com> <4b03f983597b7be1d8be2f119be0e622.77030@mygate.mailgate.org> <u9dn8mcj232d48@corp.supernews.com>

Hi Hwa,

Sorry for that previous reply. It is a buggy one. Actually i forgot of
the case that the Network diagram containing node's interfaces are back
to back connected. In mentioning SO_DONTROUTE option also instead of
typing sending i mistyped as receiving. Forgive me. But what i thought
is like

In the network drawn,

 ------------
 | A |
 | |
 ------------
 A1| |A2
 | |
 | |
 B1| |C1
 ------------ ------------
 | B |B2 C2| C |
 | |-------| |
 ------------ ------------

if A, B, C are given IP address like they are in the same subnet e.g. A
is 1.1.1.1, B is 1.1.1.2, C is 1.1.1.3, and want to get assured of data
is sent from A1 to B1 right. Suppose if we add host specific routes, how
do we get assured of data is going through A1 to B1. If link between A1
and B1 goes down and hence the routing protocol will remove this route
right, and the net longest match prefix is through A2 and still the
packet can reach B. Oh.. now only am getting it, he is talking only
about the static routes right. In dyanmic routing protocol is updating
means, we cannot add a static route. Oh sorry, bit confused. Sorry for
the post Hwa.

Thanks,
Ramesh

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:u9dn8mcj232d48@corp.supernews.com...

> Ramesh,
>
> The way routing code works, host specific routes bound to an interface will
> be used properly. Just try it. I should work. If you still doubt it, go
> read BSD Unix code route.c.
>
> If you use SO_DONTROUTE, things will work as I said before. Routing is used
> for output, not input. So I don't understand your remark about receving OK
> but not OK sending.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: How do device driver run on vxworks!
Date: 19 Mar 2002 00:58:27 -0800
From: tang-xiao-ming@263.net (xmtang)
Organization: http://groups.google.com/
Message-ID: <6fe967ba.0203190058.70af0f38@posting.google.com>

When I read Vxwork programmer's grude,something confuse me very
much.Could you tell me how do device driver run on vxworks. Such as
who invokes xxDrv() and xxDevCreate(),and what does xxDevCreate()
implement generally. In addition,how do the xxInterrupt() run using
Select Facillity.

 thanks in advance
 Sincerely,xmtang

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

Newsgroups: comp.os.vxworks
Subject: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
Date: 19 Mar 2002 01:36:42 -0800
From: sai_dattathrani@infy.com (sai)
Organization: http://groups.google.com/
Message-ID: <8dff11cd.0203190136.7c7786fd@posting.google.com>

Hi,
 When I try to create a routing socket using the function call socket
as below, I get 0x23 error

sockfd = socket(AF_ROUTE,SOCK_RAW,0);

Please let me know if anything else needs to be done.

Rgds
sai

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

Newsgroups: comp.os.vxworks
Subject: Re: Source code for password encryption
Date: Tue, 19 Mar 2002 10:44:46 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C971710.2050009@spamm.me.l8s.co.uk>
References: <1016492581.2843.0.nnrp-07.d4e4b8d1@news.demon.co.uk> <u9dob9ad88lm6f@corp.supernews.com>

> The algorithm used by vxencrypt is pretty weak. It is essentially just
> adding bytes in the password with some XOR of index ... or something like
> that. Not much better than rot13.

I think it is sum( p[i] * i ^ i )) * 0x1e3a1d5 converted to ascii with
a munged hex character set (presumably to make you think there are
more than 2^32 encrypted passwords).
I think I could reverse that using pen and paper,

For a strong password [1], encrypt known plaintext using the password
as the key. Unix traditionally uses DES - but that requires a
moderate amount of code. I used 'TEA' - see vader.brad.ac.uk,
since it is unencumbered.

[1] problematical since you have difficulty protecting the password
file as none of the vxWorks filesystems support user-ids.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: 19 Mar 2002 11:58:46 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: XS4ALL Internet BV
Message-ID: <a7795m$l6$1@news1.xs4all.nl>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <cf8j8.3466$T_.61350@iad-read.news.verio.net>
Sender: Johan Borkhuis <borkhuis@xs4.xs4all.nl>

doug dotson <ddotson@digidata.com> wrote:
: This works:

: void printULong (unsigned long val)
: {
: if (val > 0) {
: printULong (val / 10);
: printf ("%d", val %10);
: }
: }

One remark on this piece of code: do not use recursive calls in an
embedded system. This can cause some very difficult to track problems,
when stack overflows occur, and that is something that can happen with
recursive calls. I have seen some very nasty examples of that.

Groeten,
	Johan

- --
 o o o o o o o . . . ______________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|___________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

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

Newsgroups: comp.os.vxworks
Subject: VxWorks 5.2.1
Date: Tue, 19 Mar 2002 13:28:17 -0800
From: Retro John <usenet-2002-01@dW.co.za>
Organization: Organization? This is usenet, good grief!
Message-ID: <3C97AD71.20B9@dW.co.za>

Hi all

I need a copy of vxWorks 5.2.1 so that I can
compile a driver for that platform -- I'm
using both 5.3.1 and 5.4 but 5.2 goes back
a long time.

I have contacted VxWorks tech support and
(1) they are not prepared to support 5.2
 since it's pre-Tornado and
(2) they don't even have an old CD lying
 around that they can ship me.

So, can anyone help? If you have this CD,
and you can mount it on some box on the
net that also runs an ftp daemon, that
would be great :-)

This is for the x86 platform, BTW.

Thanks

Wouter

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

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

From vxwexplo-errs@csg.lbl.gov Tue Mar 19 05:01:44 2002
From: "prasanna denkanikota seshadri" <prasanna.seshadri@wipro.com>
Date: Tue Mar 19 05:01:46 PST 2002
Subject: vxworks:Problem in debugging.

This is a multi-part message in MIME format.

------=_NextPartTM-000-7213bed1-3b19-11d6-a219-0000e22173f5
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi,

We are facing one problem as stated below.

we are using VxWorks 5.4,tornado 2

Complile the files without debug information.
Now remove the reqd .o of the file to be debugged .
Include the -g options in the compiler options and build the .out

Download and start the debugger. I am able to put a breakpoint in the source
code.When the execution comes to that point I can see the task breaking at
that point in the shell.
When I try to attach the debugger to the task. I get the following message.

"
Attach 0xae0cf30
Failed:WTX Error 0x100d1 Agent_GOPHER_FAULT
"

Can anyone comment on this.

Thanks in advance.
Prasanna.

------=_NextPartTM-000-7213bed1-3b19-11d6-a219-0000e22173f5
Content-Type: text/plain;
	name="InterScan_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="InterScan_Disclaimer.txt"

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 'privileged' and 'confidential' and intended for use only by the
individual or entity to which it is addressed. You are notified that any
use, copying or dissemination of the information contained in the E-MAIL
in any manner whatsoever is strictly prohibited.

 ********************************************************************

------=_NextPartTM-000-7213bed1-3b19-11d6-a219-0000e22173f5--

From vxwexplo-errs@csg.lbl.gov Wed Mar 20 04:03:21 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Mar 20 04:03:24 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Wed Mar 20 04:03:16 PST 2002

 Subject: Re: PING johan! [was Re: Newbie question, please help!]
 Subject: Ping Toooo Slow
 Subject: Signal handlers parent and child
 Subject: Re: Vxworks stack trace
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Printing 64bit values
 Subject: Re: Printing 64bit values
 Subject: 100% Free Porn!\n
 Subject: Re: Printing 64bit values
 Subject: Re: Printing 64bit values
 Subject: Are sockets thread safe?
 Subject: Partitioning RAM space for DosFs2.0
 Subject: Error building standalone vxWorks image with templates - makeSymTbl
 Subject: Anyone using tiny file system?
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: Anyone using tiny file system?
 Subject: Re: Partitioning RAM space for DosFs2.0
 Subject: Re: Anyone using tiny file system?
 Subject: Re: mpc8260 scc ethernet driver
 Subject: Re: Anyone using tiny file system?
 Subject: Anybody ported openssh to vxworks ? Any issues ?
 Subject: Re: SCSI Speed Limit, have you been faster?
 Subject: Re: Vxworks stack trace
 Subject: Re: DHCP servers for VxWorks
 Subject: Re: How do device driver run on vxworks!
 Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
 Subject: Re: Error building standalone vxWorks image with templates - makeSymTbl
 Subject: Re: Are sockets thread safe?
 Subject: Re: VxWorks Timer
 Subject: Re: Error building standalone vxWorks image with templates - makeSymTbl
 Subject: Re: VxWorks 5.2.1
 Subject: NFS Client compatible with VxWorks NFS Server
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: Ping Toooo Slow
 Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
 Subject: Debugging a C++ Project
 Subject: lxt9763 driver
 Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
 Subject: Re: mpc8260 scc ethernet driver

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

Newsgroups: comp.os.vxworks
Subject: Re: PING johan! [was Re: Newbie question, please help!]
Date: 19 Mar 2002 05:41:31 -0800
From: johan@borksoft.xs4all.nl (Johan Borkhuis)
Organization: http://groups.google.com/
Message-ID: <171ae16.0203190541.28670475@posting.google.com>
References: <28f07413.0202221001.180f9405@posting.google.com> <newscache$t38yrg$4we$1@lnews.actcom.co.il> <28f07413.0202221556.4736f3ba@posting.google.com> <bRve8.2774$5o.1751567@newsr2.u-net.net> <oJwe8.2377$T_.23199@iad-read.news.verio.net> <28f07413.0202251349.73780fe7@posting.google.com> <NVKf8.2915$5o.1993745@newsr2.u-net.net>

"Dave Korn" <no.spam@my.mailbox.invalid> wrote in message news:<NVKf8.2915$5o.1993745@newsr2.u-net.net>...
> Johan? You listening?

Yep, I am listening again. I was an holiday (honeymoon actually) but I am back
again and working through the newsgroup archives.

> The FAQ needs to say at least something about
> interference between existing cygwin (or as in this case djgpp)
> installations and Tornado. It can get quite complicated, but at least to
> mention there must never be two cygwin.dll's in the path at the same time,
> and that you can run cygwin's command "cygcheck -s -v -r -h" to find out if
> you do have dll clash.

OK, I will add this to the FAQ.

Groeten,
 Johan

- --
 o o o o o o o . . . _____J_o_h_a_n___B_o_r_k_h_u_i_s___
 o _____ || http://www.xs4all.nl/~borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|________________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
 ==== VxWorks-FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ====

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

Newsgroups: comp.os.vxworks
Subject: Ping Toooo Slow
Date: 19 Mar 2002 07:02:17 -0800
From: hemant_passi@satyam.com (Hemant Passi)
Organization: http://groups.google.com/
Message-ID: <1a938d02.0203190702.3ef3e7ea@posting.google.com>

Hi,

I have a setup where a PowerPC 8260 board running VxWorks is
configured to perform the functionality of an internet gateway. The
gateway connects a private LAN to an Internet Service Provider. The
connection between the powerpc board and the ISP is a dial-up one
running PPP. The connection between the powerpc board and the private
LAN is Ethernet.

I've implemented NAT protocol layer on the gateway for the setup to
function normally. However, I observe that the response to a PING
request is way too slow (usually it is 1000-1200 ms) wheras I feel it
should be somewhere close to 50-100 ms.

In the NAT implementation code, I'm performing Forward and Reverse
Address Translations by intercepting IP packets using ipFilterHook
routine.

Also, I find a similar situation for http responses, becoz of which
the pages are not being displayed properly.

Please suggest if there is a way to speed up things.

Thanks.
Regards
Hemant Passi

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

Newsgroups: comp.os.vxworks
Subject: Signal handlers parent and child
Date: Tue, 19 Mar 2002 15:30:48 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <IQIl8.5951$f5.392695@news>

Hello,
I am just wondering if signal handlers of the parent are given to the child
...

It seems this may not be the case ...

Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Vxworks stack trace
Date: 19 Mar 2002 11:24:32 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <usn6wcypr.fsf@yahoo.com>
References: <919a9583.0203181316.34beac93@posting.google.com> <3C965BB0.6030803@spamm.me.l8s.co.uk> <u9ddmaar0r0ca6@corp.supernews.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Hwa" == Hwa Jin Bae <hjb@pso.com> writes:

 Hwa> Another thing to note is that arguments printed are approximate
 Hwa> and not 100% accurate.

I wondered about that. Most RISC processors have calling conventions
that cache the arguments in registers. The compiler might decide to
trash a parameter register in a leaf function, or store some of them
in the stack frame. I guess that this is what you are talking about.

I was kind of aghast thinking there was some vxWorks (compiler) option
that was causing function calls to dump all arguments to memory just
to get a good stack trace.

Regards,
Bill Pringlemeir.

- --
You must be a CUB SCOUT!! Have you made your MONEY-DROP today??
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Tue, 19 Mar 2002 08:26:41 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9epo7aiqasoa1@corp.supernews.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <newscache$7ky2tg$ll9$1@lnews.actcom.co.il> <u975dl5ar8a277@corp.supernews.com> <cebf876ba7089a32ebbadd1b2e841e44.77030@mygate.mailgate.org> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com> <u9dabffjfns4b7@corp.supernews.com> <4b03f983597b7be1d8be2f119be0e622.77030@mygate.mailgate.org> <u9dn8mcj232d48@corp.supernews.com> <375

Ramesh,

I am quite confused about what Liang wants to do actually. So I don't know
what the issues are. So better stop guessing. Thanks.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Tue, 19 Mar 2002 12:14:07 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <HjKl8.4230$T_.81116@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <cf8j8.3466$T_.61350@iad-read.news.verio.net> <a7795m$l6$1@news1.xs4all.nl>

You don't usually use recursion in stack-limited envionments.

doug

"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:a7795m$l6$1@news1.xs4all.nl...
> doug dotson <ddotson@digidata.com> wrote:
> : This works:
>
> : void printULong (unsigned long val)
> : {
> : if (val > 0) {
> : printULong (val / 10);
> : printf ("%d", val %10);
> : }
> : }
>
> One remark on this piece of code: do not use recursive calls in an
> embedded system. This can cause some very difficult to track problems,
> when stack overflows occur, and that is something that can happen with
> recursive calls. I have seen some very nasty examples of that.
>
> Groeten,
> Johan
>
> --
> o o o o o o o . . . ______________________________
> o _____ || Johan Borkhuis |
> .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
> >(________|__|_[_________]_|___________________________|
> _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Tue, 19 Mar 2002 12:17:40 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <_mKl8.4232$T_.81120@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <cf8j8.3466$T_.61350@iad-read.news.verio.net> <a7795m$l6$1@news1.xs4all.nl>

One last note. This use of recursion is bounded in both time and
space and its behavour is deterministic. Perfectly acceptable in
an embedded environment if resources are carefully planned.
In a tiny microcontroller it might not be a good thing to use
but the embedded system I'm working in has 256M of memory
so I'm not too concerned.

doug

"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:a7795m$l6$1@news1.xs4all.nl...
> doug dotson <ddotson@digidata.com> wrote:
> : This works:
>
> : void printULong (unsigned long val)
> : {
> : if (val > 0) {
> : printULong (val / 10);
> : printf ("%d", val %10);
> : }
> : }
>
> One remark on this piece of code: do not use recursive calls in an
> embedded system. This can cause some very difficult to track problems,
> when stack overflows occur, and that is something that can happen with
> recursive calls. I have seen some very nasty examples of that.
>
> Groeten,
> Johan
>
> --
> o o o o o o o . . . ______________________________
> o _____ || Johan Borkhuis |
> .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
> >(________|__|_[_________]_|___________________________|
> _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
> === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

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

Newsgroups: comp.os.vxworks
Subject: 100% Free Porn!\n
Date: Sun, 17 Mar 2002 13:32:55 +0000 (UTC)
From: adverts@ludost.net
Organization: Telefonica Data Espagna
Message-ID: <a725u7$sr2$1@nsnmpen2-gest.nuria.telefonica-data.net>

Are you intrested in some high quallity porn and adult artwork all
neatly sorted for your viewing pleasure we have all types neatly sorted
and well kept im fairly sure we will have something you like if not let us
know and we will see if we can find some
http://kork.ludost.net/adult/ Try it now!

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Tue, 19 Mar 2002 17:54:13 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C977BB6.6010009@spamm.me.l8s.co.uk>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <cf8j8.3466$T_.61350@iad-read.news.verio.net> <a7795m$l6$1@news1.xs4all.nl>

Johan Borkhuis wrote:

> doug dotson <ddotson@digidata.com> wrote:
> : This works:
>
> : void printULong (unsigned long val)
> : {
> : if (val > 0) {
> : printULong (val / 10);
> : printf ("%d", val %10);
> : }
> : }
>
> One remark on this piece of code: do not use recursive calls in an
> embedded system. This can cause some very difficult to track problems,
> when stack overflows occur, and that is something that can happen with
> recursive calls. I have seen some very nasty examples of that.

Agreed, don't use recursion...
Especially in embedded systems, and especially 'tail' recursion.

(now tell WRS - the dosfs (v1) does a recursive walk of the filesystem
directory structure :-( )

What is wrong with:

void
print_ulong( unsigned long long v )
{
	char b[ 20 ];
	char *p;
	if (!v) {
		printf( "0" );
		return;
	}
	p = b + sizeof( b );
	*--p = 0;
	do {
		unsigned long long v1 = v / 10u;
		*--p = '0' + (v1 - v * 10);
	} while (v = v1);
	printf( "%s", p );
}

Under the assumption that gcc will compile long long multiply

and divide for you.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing 64bit values
Date: Tue, 19 Mar 2002 13:20:23 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <NhLl8.4237$T_.81182@iad-read.news.verio.net>
References: <900e9637.0203060746.2d1c1bda@posting.google.com> <a69n3j$637$1@at-vie-newsmaster01.nextra.at> <newscache$xrftsg$l2k$1@lnews.actcom.co.il> <cf8j8.3466$T_.61350@iad-read.news.verio.net> <a7795m$l6$1@news1.xs4all.nl> <3C977BB6.6010009@spamm.me.l8s.co.uk>

Nothing wrong with it if it pleases you. Nothing wrong
with using recursive algorithms in embedded environments
either as long as their behavour is bounded and understood so
that resources can be appropriately allocated. If either the
behavour of the algorithm cannot be predicted or resources
cannot be reliably allocated then recursive algorithms would
be risky and should be avoided. It just depends upon the
situation. Tail recursion should be avoided in any case
regardless of the environment, and recursive traversing a
file system is totally legitimat as long as the max nesting of
directories is known.

doug

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3C977BB6.6010009@spamm.me.l8s.co.uk...
> Johan Borkhuis wrote:
>
> > doug dotson <ddotson@digidata.com> wrote:
> > : This works:
> >
> > : void printULong (unsigned long val)
> > : {
> > : if (val > 0) {
> > : printULong (val / 10);
> > : printf ("%d", val %10);
> > : }
> > : }
> >
> > One remark on this piece of code: do not use recursive calls in an
> > embedded system. This can cause some very difficult to track problems,
> > when stack overflows occur, and that is something that can happen with
> > recursive calls. I have seen some very nasty examples of that.
>
> Agreed, don't use recursion...
> Especially in embedded systems, and especially 'tail' recursion.
>
> (now tell WRS - the dosfs (v1) does a recursive walk of the filesystem
> directory structure :-( )
>
> What is wrong with:
>
> void
> print_ulong( unsigned long long v )
> {
> char b[ 20 ];
> char *p;
> if (!v) {
> printf( "0" );
> return;
> }
> p = b + sizeof( b );
> *--p = 0;
> do {
> unsigned long long v1 = v / 10u;
> *--p = '0' + (v1 - v * 10);
> } while (v = v1);
> printf( "%s", p );
> }
>
> Under the assumption that gcc will compile long long multiply
>
> and divide for you.
>
> David
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Are sockets thread safe?
Date: Tue, 19 Mar 2002 13:57:34 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <zQLl8.4242$T_.81432@iad-read.news.verio.net>

I have a situation where one thread is periodically sending out
status messages, and another thread is receiving messages and
also asynchronously sending messages on a demand basis. All
this is via a single interface using UDP. Are there any known
problems with doing this?

thanks in advance,
doug

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

Newsgroups: comp.os.vxworks
Subject: Partitioning RAM space for DosFs2.0
Date: 19 Mar 2002 11:30:13 -0800
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0203191130.5073be71@posting.google.com>

Hi all,
 I have completed DosFs2.0 and ramDrv configuration to my system, as
follows:

 address = 0;
 pBlkDev = RamDevCreate( (char *)address, 512, 400, 400, 0 );
 pVolDesc = dosFsMkfs( "/ram0", pBlkDev );

 Since our system have 128Mb of RAM, i would like to make 'address'
to a fixed location in our RAM space.

 address = sysMemTop();

 This seems to causes illegal access. I would like to know if any one
have try to do this, or any suggestion is welcome.

Thank you,
Vinh Lam

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

Newsgroups: comp.os.vxworks
Subject: Error building standalone vxWorks image with templates - makeSymTbl
Date: 19 Mar 2002 11:40:29 -0800
From: ma56027@yahoo.com (M A)
Organization: http://groups.google.com/
Message-ID: <a5f65b3.0203191140.6049520@posting.google.com>

I am trying to build a standalone vxWorks image by doing a 'make
vxWorks.st'

My application code has templates in it. The interim module tmp.o has
symbols of the following form (note the period towards the end)

00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.192
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.238
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.252
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.254
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.278
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.284
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.286
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.335
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.394
00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.490

When makeSymTbl creates symTbl.c, it creates integers with a period
(.) in the name. This gives errors when symTbl.c is compiled.
I am building the image from command-line for PPC8260.
Has anybody encountered similar problems ?
Can somebody explain what is happening here ?

TIA
- -M A

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

Newsgroups: comp.os.vxworks
Subject: Anyone using tiny file system?
Date: Tue, 19 Mar 2002 19:41:03 -0000
From: "cecil" <cecil@hunmanby.demon.co.uk>
Message-ID: <1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk>

Is there anyone out there using tiny file system?
See http://www.embedded.com/internet/0012/0012ia2.htm
I wondered if it is possible to hook it into DOSFS
Any thoughts?
Nigel

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

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 19 Mar 2002 09:56:45 -1000
From: Jim Thomas <thomas@atlas.cfht.hawaii.edu>
Organization: Canada France Hawai`i Telescope
Message-ID: <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk>

>>>>> "David" == David Laight <david@spamm.me.l8s.co.uk> writes:

 David> Try the following:

 David> -> tv = malloc(8)
 David> -> tv[0] = 5
 David> -> tv[1] = 0
 David> -> sp timex,select,0,0,0,0,tv
 David> timex: time of execution = 5000 +/- 10 (0%) milliseconds

 David> -> tv[0]=0
 David> -> tv[1]=600000
 David> -> sp timex,select,0,0,0,0,tv
 David> timex: time of execution = 600 +/- 10 (1%) milliseconds

Ummm... :-)

 -> tv = malloc(8)
 new symbol "tv" added to symbol table.
 tv = 0x1a8f3d8: value = 27849704 = 0x1a8f3e8 = tv + 0x10
 -> tv[0]=0
 tv + 0x10 = 0x1a8f3e8: value = 0 = 0x0
 -> tv[1]=500000
 tv + 0x11 = 0x1a8f3e9: value = 500000 = 0x7a120
 -> printf("%d %d\n",tv[0],tv[1])
 1953 500000
 value = 12 = 0xc
 -> *tv=0
 tv + 0x10 = 0x1a8f3e8: value = 0 = 0x0
 -> tv[4]=500000
 tv + 0x14 = 0x1a8f3ec: value = 500000 = 0x7a120
 -> printf("%d %d\n",tv[0],tv[4])
 0 500000
 value = 9 = 0x9
 -> sp timex,select,0,0,0,0,tv
 task spawned: id = 0x1a8c378, name = t1
 value = 27837304 = 0x1a8c378
 -> timex: time of execution = 500 +/- 16 (3%) millisecs

But, while we're on the subject ..... :-)

In August, 2000, there was a sequence which included:

 Paul> From the code you have below, it looks like the select timeout is
 Paul> set to 10000nS, ie 10 mS, which is less than the granularity of the
 Paul> system clock (1/60 sec by default on MVME2700). Perhaps Vxworks is
 Paul> seeing this value as '0', and thereby returning straight away?

 Paul> Paul Roberts.

I'm running 5.4.2 on a PPC MVME2700 with the default 60Hz system clock.

 tv[4]=26000
 tv + 0x14 = 0x1a8f3ec: value = 26000 = 0x6590
 -> sp timexN,select,0,0,0,0,tv
 task spawned: id = 0x1a8c378, name = t3
 value = 27837304 = 0x1a8c378
 -> timex: 50 reps, time per rep = 16666 +/- 333 (1%) microsecs

In actual code, I've seen the select return in as few as 41 microseconds
(based on the PPC TBR). This seems broken to me. I tried the same code on
HP-UX, Solaris, and linux. All of them waited until the specified time was
met or exceeded. All have a 10ms "resolution". All waited 30ms for my
26ms request. That's how I read the man pages. Does WRS think a "real
time system" is better if it is faster???

Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Anyone using tiny file system?
Date: Tue, 19 Mar 2002 15:06:41 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <lRMl8.4248$T_.81788@iad-read.news.verio.net>
References: <1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk>

Yes. We were using it for a while and switched to TFFS.

doug

"cecil" <cecil@hunmanby.demon.co.uk> wrote in message
news:1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk...
> Is there anyone out there using tiny file system?
> See http://www.embedded.com/internet/0012/0012ia2.htm
> I wondered if it is possible to hook it into DOSFS
> Any thoughts?
> Nigel
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Partitioning RAM space for DosFs2.0
Date: Tue, 19 Mar 2002 22:07:45 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$agn8tg$c8m$1@lnews.actcom.co.il>
References: <c129947c.0203191130.5073be71@posting.google.com>

This statement:
> address = sysMemTop();
creates a collision of memory usage by the RAM disk and your standard heap
manager. There is a BSP parameter that allows you to reserve a fixed amount
of memory, at the end of memory, e.g. for WindView event buffer. You can use
the same parameter to reserve RAM for RAMdisk.

Also there is another mistake in this same stamement:
> address = sysMemTop();
it would cause <address> to point to one byte AFTER the end of your RAM
memory, which would indeed cause an illegal access or another exception.
This is what you want to do:
*** address = sysMemTop() - SYS_MEM_RESERVED_SIZE ;

"Vinh" <vloscomp@yahoo.com> wrote in message
news:c129947c.0203191130.5073be71@posting.google.com...
> Hi all,
> I have completed DosFs2.0 and ramDrv configuration to my system, as
> follows:
>
> address = 0;
> pBlkDev = RamDevCreate( (char *)address, 512, 400, 400, 0 );
> pVolDesc = dosFsMkfs( "/ram0", pBlkDev );
>
>
> Since our system have 128Mb of RAM, i would like to make 'address'
> to a fixed location in our RAM space.
>
> address = sysMemTop();
>
>
> This seems to causes illegal access. I would like to know if any one
> have try to do this, or any suggestion is welcome.
>
>
> Thank you,
> Vinh Lam

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Anyone using tiny file system?
Date: Tue, 19 Mar 2002 20:09:41 -0000
From: "cecil" <cecil@hunmanby.demon.co.uk>
Message-ID: <1016568597.7081.0.nnrp-12.d4e4b8d1@news.demon.co.uk>
References: <1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk> <lRMl8.4248$T_.81788@iad-read.news.verio.net>

why did you switch? were you just using the api function or did you write a
driver for vxworks?
Nigel
doug dotson wrote in message ...
>Yes. We were using it for a while and switched to TFFS.
>
>doug
>
>
>"cecil" <cecil@hunmanby.demon.co.uk> wrote in message
>news:1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk...
>> Is there anyone out there using tiny file system?
>> See http://www.embedded.com/internet/0012/0012ia2.htm
>> I wondered if it is possible to hook it into DOSFS
>> Any thoughts?
>> Nigel
>>
>>
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: mpc8260 scc ethernet driver
Date: Tue, 19 Mar 2002 12:20:44 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a786kl$8md$1@newsreader.mailgate.org>
References: <b305b5bd.0203182147.5ced69f4@posting.google.com>
Sender: gold@ensemble.com

"Ali" <alimohd@logiceastern.com> wrote in message
news:b305b5bd.0203182147.5ced69f4@posting.google.com...
> hi all
> Has anybody written the driver code for SCC as ethernet in either
> mpc8260/mpc8255. I wonder i did not find any clue for that till now. I
> have to support ethernet on my scc interface on mpc8255 board. Has
> anybody written such driver so far.

Yes, it's not difficult to adapt it from an existing 860 SCC ethernet
driver.

> Pls give me thensuggestion where will i find such information or
> where can i find i scratch to start with.I do not have the bsp for
> either 8260/8255 .

I'm confused. You don't have the bsp for the 8260/8255, but you're running
vxWorks on an 8260 ? How is this possible ? What BSP are you running on
your board ? I would think WRS would have an 8260 SCC driver, but I haven't
looked at their 8260 BSP in quite a while. You could ask them for the 860
SCC driver and make the necessary mods. I thought the Mot website in the
8260 drivers.tar pkg had an SCC ethernet example. Notice I said example,
and not "driver"... You could always get the Linux 860 driver too and take
out what you need... How are you going to know how to hook it into the IP
stack ? Do you at least have the NPT or network driver docs ?

 hth,
 Dan Gold gold@ensemble.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Anyone using tiny file system?
Date: Tue, 19 Mar 2002 15:32:05 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <bdNl8.4251$T_.81837@iad-read.news.verio.net>
References: <1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk> <lRMl8.4248$T_.81788@iad-read.news.verio.net> <1016568597.7081.0.nnrp-12.d4e4b8d1@news.demon.co.uk>

We were just using the TFS API directly. We switched because
TFFS gives us a hierarchical file system and also because we are
doing extensive development in a simulated environment. So coding
to the standard file I/O API and using TSFS for development gives
us a cleaner migration to TFFS when our hardware is ready. There
was nothing wrong with TFS per se although it doesn't do things
like Wear Leveling.

Just to make sure all these acronyms are clear:
 TFS = Tiny File System
 TFFS = True Flash File System
 TSFS = Target Server File System

doug

"cecil" <cecil@hunmanby.demon.co.uk> wrote in message
news:1016568597.7081.0.nnrp-12.d4e4b8d1@news.demon.co.uk...
> why did you switch? were you just using the api function or did you write
a
> driver for vxworks?
> Nigel
> doug dotson wrote in message ...
> >Yes. We were using it for a while and switched to TFFS.
> >
> >doug
> >
> >
> >"cecil" <cecil@hunmanby.demon.co.uk> wrote in message
> >news:1016567027.6090.0.nnrp-12.d4e4b8d1@news.demon.co.uk...
> >> Is there anyone out there using tiny file system?
> >> See http://www.embedded.com/internet/0012/0012ia2.htm
> >> I wondered if it is possible to hook it into DOSFS
> >> Any thoughts?
> >> Nigel
> >>
> >>
> >
> >
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Anybody ported openssh to vxworks ? Any issues ?
Date: 19 Mar 2002 14:38:31 -0800
From: dsa0000@hotmail.com (dsa)
Organization: http://groups.google.com/
Message-ID: <ee967989.0203191438.2620dcf6@posting.google.com>

Hi,

Anybody ported openssh to vxworks ?
What are the issues ?

Thanks in advance.
Regards
Dsa

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: SCSI Speed Limit, have you been faster?
Date: Wed, 20 Mar 2002 09:21:19 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C97C0E7.E0040D4C@dsto.defence.gov.au>
References: <3C96357B.31BF6A2A@kaon.co.uk>

We found that we couldn't get much more than about 8 MBytes/sec with the 875
and ncr810 driver. With a PCI bus analyser and SCSI analyser, we found that
nearly all the values were hard coded into the driver (and also that the PCI
usage was very inefficient). WRS eventually gave us the source code, and
after tweaking a couple of registers (I can't remember which, but it didn't
take more than a couple of hours) our SCSI performance reached about
18MB/sec and PCI usage dropped to about 25% of what it was previously. I
think our tape drive was the limiting device here too.

Let me know if you want the details of the changes and I'll look them up,
but you'll need to get the code from WRS to make the changes.

Tim

Mark Armstrong wrote:

> I am using a VME board with a PPC750 and a PMC that uses
> a SYM53C875 SCSI controller. We brought the device to life
> thanks to the VxWorks standard ncr810 driver, (remembering obviously
> to endian swap the ncr810 script or it won't work...)
>
> With the minPeriod set to 25 (* 4 ns = 100ns, i.e. 10MHz). This works
> fine
> but our maximum speed is 10MByte/s to our tape drive that is capable of
> 33MB/s when connected to a Solaris machine.
> Even with wide transfers negotiated which should double
> our bandwidth we only see 10 MByte/s. It's almost as if there is a
> hidden
> parameter that forbids transfers faster than 10MB/s for sequential
> devices.
>
> Does anyone know of such a parameter?
>
> This driver was written when 10MHz was the known SCSI-2 limit,
> the Reference Manual even comments on this limit.
> These days SCSI should be capable of 40MB/s, 80MB/s even 160MB/s
> and beyond before long.
>
> When we negotiate 10MHz the following is seen when debug enabled:
>
> 0xf7f2b10 (tScsiTask): ncr810ThreadActivate: thread 0x0e54c568:
> activating
> 0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: requested: offset = 8,
> period = 25
> 0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: converted to: offset =
> 8, period = 25
> xferParams = 8, clockDivide = 19
>
> etc...
>
> When we try to negotiate a higher speed (minPeriod = 12) the
> scsiPhysDevCreate()
> fails, hanging the bus with the activity light on and printing the
> following:
>
> 0xf7f2b10 (tScsiTask): SYNCHRONOUS TRANSFER REQUEST message in
> offset = 8, period = 12
> 0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: requested: offset = 8,
> period = 12
> 0xf7f2b10 (tScsiTask): ncr810XferParamsCvt: converted to: offset =
> 8, period = 12
> xferParams = 8, clockDivide = 19
> 0xf7f2b10 (tScsiTask): ncr810Resume: thread: 0x0e54c3e8: state 0 -> 2
> 0xf7f2b10 (tScsiTask): scsiMgrTimeoutProc: thread 0x0e54c3e8 (state = 6)
> timed out
> 0xf7f2b10 (tScsiTask): ncr810ThreadAbort: thread 0x0e54c3e8 (state = 6)
> aborting
> interrupt: ncr810EventTypeGet:Interrupt status istat = 0x89, SCSI
> status0 = 0x00, SCSI status1 = 0x00DMA status = 0x10
> interrupt: ncr810EventTypeGet: script aborted.
> interrupt: ncr810Intr: DSA = 0x0f7f3d30, DSP = 0x0033cdf8, type = 1.
> interrupt: ncr810Intr: state 2 -> 0
> 0xf7f2b10 (tScsiTask): ncr810ThreadStateSet: thread 0x0e54c3e8: 6 -> 9
> 0xf7f2b10 (tScsiTask): ncr810Event: received event 1 (thread =
> 0x0e54c3e8)
> 0xf7f2b10 (tScsiTask): ncr810ThreadEvent: thread 0x0e54c3e8: received
> event 1
> 0xf7f2b10 (tScsiTask): ncr810InitEvent: thread 0x0e54c3e8: aborted
> 0xf7f2b10 (tScsiTask): ncr810Resume: thread: 0x0e54c3e8: state 0 -> 2
>
> Its almost as if the tape drive accepts a faster speed but the VxWorks
> driver
> is still set in it's default with no hope of changing.
>
> I find it suspicious that the clockDivide = 19 does not change. Anyone
> know what this means?
>
> Has anyone found a fix or seen the NCR810 driver go faster than 10MB/s
> fast and wide to a sequential device?
>
> We've had an 895 device going at over 30MB/s to a disk which is why we
> are
> so confused at this speed limit.
>
> Yours hopefully
>
> Mark Armstrong

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Vxworks stack trace
Date: Tue, 19 Mar 2002 15:41:51 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fj85rp9gcl7f@corp.supernews.com>
References: <919a9583.0203181316.34beac93@posting.google.com> <3C965BB0.6030803@spamm.me.l8s.co.uk> <u9ddmaar0r0ca6@corp.supernews.com> <usn6wcypr.fsf@yahoo.com>

I always thought that the trcLib stuff in vxWorks was very innovative. It
was first implementation of a decent debugging facility which did not
require extra debug information generated by assembler or debugger. I was
always fond of that. And I still think it is kind of neat.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: DHCP servers for VxWorks
Date: Tue, 19 Mar 2002 15:49:51 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fjn7kckqob2f@corp.supernews.com>
References: <slrna9ct03.l05.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

I have ported ISC's DHCP server before and it seemed to work well. This was
before VxWorks had its own DHCP server though.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How do device driver run on vxworks!
Date: Tue, 19 Mar 2002 15:51:20 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fjpu3nbbk452@corp.supernews.com>
References: <6fe967ba.0203190058.70af0f38@posting.google.com>

xxDevCreate() and xxDrv() are to be called from anywhere in your application
code or startup code, before the driver routines are used. I think that is
the only requirement. There isn't a specific place you have to call them

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
Date: Tue, 19 Mar 2002 15:57:00 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fk4j7udp2sce@corp.supernews.com>
References: <8dff11cd.0203190136.7c7786fd@posting.google.com>

PF_ROUTE is not supported as far as I know. The support can be added, but
you need source code.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Error building standalone vxWorks image with templates - makeSymTbl
Date: Tue, 19 Mar 2002 15:59:42 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fk9kdhhpb101@corp.supernews.com>
References: <a5f65b3.0203191140.6049520@posting.google.com>

This is probably describe in FAQ. These symbols are generated by C++
compiler. To compile the symbol table, usually it is necessary to remove
these lines from symTbl.c. symTbl.c is generated from makeSymTbl. You can
write a script to post-process (remove some of these C++ symbols) and then
compile the resulting file. you will need to modify Makefile for that.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Are sockets thread safe?
Date: Tue, 19 Mar 2002 16:00:47 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fkbmlgcuhg19@corp.supernews.com>
References: <zQLl8.4242$T_.81432@iad-read.news.verio.net>

I think it should be OK to do that.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Timer
Date: Tue, 19 Mar 2002 16:03:30 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <u9fkgrgtiiv14b@corp.supernews.com>
References: <4ab8487e.0202211844.24553c16@posting.google.com>

I don't think there is a set limit to number of timers you can use. You
will need to consider the system overhead though.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Error building standalone vxWorks image with templates - makeSymTbl
Date: 19 Mar 2002 16:40:26 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203191640.61a6e3c6@posting.google.com>
References: <a5f65b3.0203191140.6049520@posting.google.com>

Hello,

This is a known issue, and results from the symbols containing
'illegal' characters when the table is fed back through the compiler.
Assuming that you can bear the loss of these symbols, the solution is
to add an extra filter after makeSymTbl and before the compilation to
remove the symbols that contain '.' - be careful with that though if
you are using a regular expression based tool as '.' means match
anything for most of those.

You might want to search in the archives for this topic too - it was
discussed not that long ago.

HTH,

John...

ma56027@yahoo.com (M A) wrote in message news:<a5f65b3.0203191140.6049520@posting.google.com>...
> I am trying to build a standalone vxWorks image by doing a 'make
> vxWorks.st'
>
> My application code has templates in it. The interim module tmp.o has
> symbols of the following form (note the period towards the end)
>
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.192
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.238
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.252
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.254
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.278
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.284
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.286
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.335
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.394
> 00000004 C __sn_t24__default_alloc_template2b1i0$__node_allocator_lock.490
>
> When makeSymTbl creates symTbl.c, it creates integers with a period
> (.) in the name. This gives errors when symTbl.c is compiled.
> I am building the image from command-line for PPC8260.
> Has anybody encountered similar problems ?
> Can somebody explain what is happening here ?
>
> TIA
> -M A

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks 5.2.1
Date: Tue, 19 Mar 2002 19:47:23 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3C97DC1A.8A53809D@bellsouth.net>
References: <3C97AD71.20B9@dW.co.za>

Retro John wrote:

> Hi all
>
> I need a copy of vxWorks 5.2.1 so that I can
> compile a driver for that platform -- I'm
> using both 5.3.1 and 5.4 but 5.2 goes back
> a long time.
>
> I have contacted VxWorks tech support and
> (1) they are not prepared to support 5.2
> since it's pre-Tornado and
> (2) they don't even have an old CD lying
> around that they can ship me.
>
> So, can anyone help? If you have this CD,
> and you can mount it on some box on the
> net that also runs an ftp daemon, that
> would be great :-)
>
> This is for the x86 platform, BTW.
>
> Thanks
>
> Wouter

Sounds like great lawsuit bait to me.

Speaking only for myself,

Joe Durusau

---------------------------

Newsgroups: comp.os.vxworks
Subject: NFS Client compatible with VxWorks NFS Server
Date: Tue, 19 Mar 2002 21:13:40 -0500
From: Yves <yves.boudreault2@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <3C97F054.C58892A8@sympatico.ca>

Hi all,

Trying to get a Win2000 machine to be an nfs client to vxworks.
Currently running into problems with authentication using Hummingbird.
I got Hummingbird to behave as an nfs server though.

Any suggestions ?

yves

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: 19 Mar 2002 19:04:55 -0800
From: lliao@opvista.com (Liang)
Organization: http://groups.google.com/
Message-ID: <e9720ff6.0203191904.8a7c8af@posting.google.com>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com> <u99h8oj0nuj884@corp.supernews.com> <e9720ff6.0203181136.4ff586a1@posting.google.com> <u9chj98o625743@corp.supernews.com> <e9720ff6.0203181748.8250ae8@posting.google.com> <u9dabffjfns4b7@corp.supernews.com> <4b03f983597b7be1d8be2f119be0e622.77030@mygate.mailgate.org> <u9dn8mcj232d48@corp.supernews.com> <37574f915d187852dcdba6f0e510ab8c.77030@mygate.mailgate.org> <u9epo7aiqasoa1@corp.supernews.com>

Hi HJB, are you saying that my proposed solution posted in message 6
would work, assuming that ARP is taken care of, if I use normal
sendto/sendmsg without SO_DONTROUTE?

I am trying to experment with the IFF_POINTOPOINT set up, but I am
running into problem with ifDstAddrSet. Below is my code.

STATUS bpInit( char * pIPAddr )
{
	char	inetAddr[INET_ADDR_LEN];
	int	flag;

	if ( ipAttach( 0, "motfec" ) == ERROR )
		printf ( "bpInit: ipAttach failed.\n" );

	if ( ifFlagSet( "motfec0", IFF_POINTOPOINT ) == ERROR )
		printf ( "bpInit: ifFlagSet failed.\n" );

	if ( ifFlagGet( "motfec0", &flag ) == ERROR )
		printf ( "bpInit: ifFlagGet failed.\n" );

	if ( ifMaskSet( "motfec0", 0xffffffff ) == ERROR )
		printf ( "bpInit: ifMaskSet failed.\n" );

	if ( ifDstAddrSet( "motfec0", "1.1.1.2" ) == ERROR )
		printf ( "bpInit: ifDstAddrSet failed.\n" );

	if ( ifDstAddrGet( "motfec0", inetAddr ) == ERROR )
		printf ( "bpInit: ifDstAddrGet failed.\n" );
}

ifDstAddrSet always return ERROR for some reason.

Also, ipAttach must be called before ifFlagSet(otherwise ifFlagSet
would return ERROR), even though IF_POINTOPOINT should be already set
in function

END_OBJ* motFecEndLoad(char *initString),

 END_OBJ_READY (&pDrvCtrl->endObj,
 IFF_NOTRAILERS | IFF_POINTOPOINT /*IFF_MULTICAST |
IFF_BROADCAST*/);

The End is already loaded when bpInit is called.

I suppose the ifFlagSet in bpInit is not necessary. I'd like to know
why ifDstAddrSet doesn't work at all and why the strange behavior with
ifFlagSet. (Note: ifDstAddrSet doesn't work with or without
ifMaskSet)

Liang
p.s. sorry about the delay posting. I'm using Google to post but for
some reason it takes hours for the message to show up.

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u9epo7aiqasoa1@corp.supernews.com>...
> Ramesh,
>
> I am quite confused about what Liang wants to do actually. So I don't know
> what the issues are. So better stop guessing. Thanks.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Ping Toooo Slow
Date: 19 Mar 2002 21:03:34 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203192103.521bd7ed@posting.google.com>
References: <1a938d02.0203190702.3ef3e7ea@posting.google.com>

Hi,
I don't think there is a specific answer for your problem. You need to
probe-in and find out where the packets are getting lost or why is the
transfer slow. Basically you need to use some debug messages on the
whole of send and receive paths, starting from the Application Layer
to the Ethernet or Serial link (in case of PPP). I think this is the
only way.
Good luck.

hemant_passi@satyam.com (Hemant Passi) wrote in message news:<1a938d02.0203190702.3ef3e7ea@posting.google.com>...
> Hi,
>
> I have a setup where a PowerPC 8260 board running VxWorks is
> configured to perform the functionality of an internet gateway. The
> gateway connects a private LAN to an Internet Service Provider. The
> connection between the powerpc board and the ISP is a dial-up one
> running PPP. The connection between the powerpc board and the private
> LAN is Ethernet.
>
> I've implemented NAT protocol layer on the gateway for the setup to
> function normally. However, I observe that the response to a PING
> request is way too slow (usually it is 1000-1200 ms) wheras I feel it
> should be somewhere close to 50-100 ms.
>
> In the NAT implementation code, I'm performing Forward and Reverse
> Address Translations by intercepting IP packets using ipFilterHook
> routine.
>
> Also, I find a similar situation for http responses, becoz of which
> the pages are not being displayed properly.
>
> Please suggest if there is a way to speed up things.
>
> Thanks.
> Regards
> Hemant Passi

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
Date: 19 Mar 2002 21:51:45 -0800
From: sai_dattathrani@infy.com (sai)
Organization: http://groups.google.com/
Message-ID: <8dff11cd.0203192151.7f0073cb@posting.google.com>
References: <8dff11cd.0203190136.7c7786fd@posting.google.com> <u9fk4j7udp2sce@corp.supernews.com>

How do we add the source code & can we get any plug-in for enabling
routing sockets in VxWorks ??

---------------------------

Newsgroups: comp.os.vxworks
Subject: Debugging a C++ Project
Date: Wed, 20 Mar 2002 07:39:43 +0100
From: "Kurt Burri" <kurt.burri@ferag.com>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <a79aro$3vt$1@rex.ip-plus.net>

I have a C++ project which is built using our own makefile (outside of a
Tornado2 Workspace). Although the source directory path is set up correctly,
the debugger do not show a source code window after starting. Also, when I
try to attach to a Task, an exception occurs.
What's the problem?

Platform: x86
Compiler options: ADDED_C++FLAGS = -g -w -O2 -frepo

Thanks for help
Kurt Burri

---------------------------

Newsgroups: comp.os.vxworks
Subject: lxt9763 driver
Date: 19 Mar 2002 23:47:25 -0800
From: asher.elimelekh@telrad.co.il (asher)
Organization: http://groups.google.com/
Message-ID: <99b2aeac.0203192347.4f317f97@posting.google.com>

Hi,

 Please, can someone advise me as to where to find or what to use as
a driver to lxt9763 phy ?

I'm working with ixp1200 network processor, ixf440 MAC
I'm working with VxWorks OS!!!
I saw that on the phy - f21640.1 is written.

I would like to read/write to this phy registers.

Thanks in advance.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: socket create returns 0x23(decimal 35) error code i.e, it returns ENOTSUP
Date: 20 Mar 2002 01:40:14 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203200140.746115da@posting.google.com>
References: <8dff11cd.0203190136.7c7786fd@posting.google.com> <u9fk4j7udp2sce@corp.supernews.com>

Hello,

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<u9fk4j7udp2sce@corp.supernews.com>...
> PF_ROUTE is not supported as far as I know. The support can be added, but
> you need source code.

Not true; there is a component called INCLUDE_NETINET_RTSOCK that adds
support for routing sockets. This is in AE, and should be in later
versions of T2 (the first date in the source file is '96).

Rgds,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: mpc8260 scc ethernet driver
Date: 20 Mar 2002 02:18:11 -0800
From: alimohd@logiceastern.com (Ali)
Organization: http://groups.google.com/
Message-ID: <b305b5bd.0203200218.12fad32d@posting.google.com>
References: <b305b5bd.0203182147.5ced69f4@posting.google.com> <a786kl$8md$1@newsreader.mailgate.org>

thanx for reply
Actually i have WRS bsp for my mpc860 which i ported for mpc8260 i
changed all my bsp codes as per my needs . Also with some scratches i
did all this stuff. getting libraries from ads 8260 bsp solved my work
 .
 now the problem lies with scc ethernet driver which is provided with
mpc860 bsp package but that is in object file . i don't have the
source code for that so that i could have got the iMotorolla site is
useless for this sort of information as there is nothing like this
which i could found at all.
i hope u'll certainly solve my problem to some extent.
thanx in advance
ali
"Dan Gold" <gold@ensemble.com> wrote in message news:<a786kl$8md$1@newsreader.mailgate.org>...
> "Ali" <alimohd@logiceastern.com> wrote in message
> news:b305b5bd.0203182147.5ced69f4@posting.google.com...
> > hi all
> > Has anybody written the driver code for SCC as ethernet in either
> > mpc8260/mpc8255. I wonder i did not find any clue for that till now. I
> > have to support ethernet on my scc interface on mpc8255 board. Has
> > anybody written such driver so far.
>
> Yes, it's not difficult to adapt it from an existing 860 SCC ethernet
> driver.
>
> > Pls give me thensuggestion where will i find such information or
> > where can i find i scratch to start with.I do not have the bsp for
> > either 8260/8255 .
>
> I'm confused. You don't have the bsp for the 8260/8255, but you're running
> vxWorks on an 8260 ? How is this possible ? What BSP are you running on
> your board ? I would think WRS would have an 8260 SCC driver, but I haven't
> looked at their 8260 BSP in quite a while. You could ask them for the 860
> SCC driver and make the necessary mods. I thought the Mot website in the
> 8260 drivers.tar pkg had an SCC ethernet example. Notice I said example,
> and not "driver"... You could always get the Linux 860 driver too and take
> out what you need... How are you going to know how to hook it into the IP
> stack ? Do you at least have the NPT or network driver docs ?
>
> hth,
> Dan Gold gold@ensemble.com

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Wed Mar 20 08:01:00 2002
From: "Clayton, Mark" <mark.clayton@netplane.com>
Date: Wed Mar 20 08:01:03 PST 2002
Subject: Re: PING johan! [was Re: Newbie question, please help!]

I missed the earlier posts in this thread. What are the
symptoms of two cygwins conflicting? I had both cygwin
and Tornado 2 installed. I had many Tornado supplied
tools (ld, rm, etc) core dump on me. This only started
when I started using cygwin's ftp server. I thought I
had my environment variables setup properly to avoid
cygwin.dll conflicts.

Thanks,
Mark

>
>
> "Dave Korn" <no.spam@my.mailbox.invalid> wrote in message
> news:<NVKf8.2915$5o.1993745@newsr2.u-net.net>...
> > Johan? You listening?
>
> Yep, I am listening again. I was an holiday (honeymoon
> actually) but I am back
> again and working through the newsgroup archives.
>
> > The FAQ needs to say at least something about
> > interference between existing cygwin (or as in this case djgpp)
> > installations and Tornado. It can get quite complicated,
> but at least to
> > mention there must never be two cygwin.dll's in the path at
> the same time,
> > and that you can run cygwin's command "cygcheck -s -v -r
> -h" to find out if
> > you do have dll clash.
>
> OK, I will add this to the FAQ.
>
> Groeten,
> Johan
>

From vxwexplo-errs@csg.lbl.gov Wed Mar 20 08:10:00 2002
From: "Nadar, Jaybal J" <j_nadar@trillium.com>
Date: Wed Mar 20 08:10:02 PST 2002
Subject: Ethernet Link Aggregation on vxWorks 5.4

Hi,
Is there any information on Ethernet Link Aggregation on vxWorks 5.4?

Regards,
Jaybal

From vxwexplo-errs@csg.lbl.gov Wed Mar 20 23:18:27 2002
From: "Kavitha" <kavitha@tataelxsi.co.in>
Date: Wed Mar 20 23:18:29 PST 2002
Subject: F1

Hi All,

 I just want to know the following info

In vxworks char device, each driver will go and sit in driver table as a
single driver right..
say i have three drivers (each driver is supporting some two or three
basic functionality like read,write ,open and close),these drivers will
sit in driver table(in i.o system) as a seperate driver(entry ) and its
index will be return
to us as a drivernumber ... am i correct?

if the above scenario is correct, then when ever i access my driver i
can usethe driver number..(which is unique for each and every driver).

In manual (vxworks) its given for block devices, the file system will
sit as a driver in the driver table, which is diff compare to char
devices, In this case say i m using DosFs file system then this will go
and sit in the driver table
and i will get this index as a driver number? am i correct? (this is
what given in the manual)..If so say i have three drivers (block) and
each are supporting DosFs. how can i access the functionality of a say
first driver like char driver (where i can access the functionality of a
driver using driver number, but in this case for each and every driver
you won't get a seperate driver number.but we will get a driver number
for the file system only not for individual driver)

got the scenario? ...if so then explain me how can i access the
functionality of a single driver in this case...

thanks
kavitha

From vxwexplo-errs@csg.lbl.gov Thu Mar 21 13:12:39 2002
From: "DAlessandro, Larry (GEAE)" <larry.dalessandro@ae.ge.com>
Date: Thu Mar 21 13:12:41 PST 2002
Subject: vxWorks 5.2, RPC, vxgdb

Hello,

This is a real puzzler for me, hopefully someone really up on vxgdb has a clue
they're willing to share with me.

In order to get my target processors - Mot 177's-68060's to conform to the new
plant lan IP schema, I had to reassign their IP addresses, and change the subnet
mask. I have an HP workstation with 2 lan cards in it. One card is on the plant
lan, the other is on a lan with just the first target processor on it. The other
targets boot through the first processor using the backplane lan.

Now that I've made the changes, all of the processors still download their
kernels from the workstation, all of the interprocess communication stuff works,
smNetShow shows everything to be in the right status and in general all's right
with the world. My application code downloads, runs and communicates back to the
workstation just fine.

Except - vxgdb no longer works with the hostnames. If I type in the target
address in IP notation it works. i.e. if I start the debugger and type "target
vxworks simnode" I get a RPC_timeout error compalining about the portmapper. If
I type in "target vxworks 3.86.2.225" it connects and works fine.

The only thing thats really different is that my subnet mask is much different
i.e. it was 0xfffffc00 and now its 0xfffffff0, still within the sam 3.86.x.x
range.

I'm also running Crosswind under the Tornado launcher and that works fine with
my power PC cards. Unfortunately my legacy 5.2 systems aren't going to be
upgraded any time soon.

Before I spend way too much time trying to figure this out on my own, can anyone
please provide some insight?

Thanks

Larry
larry.dalessandro@ae.ge.com

From vxwexplo-errs@csg.lbl.gov Sun Mar 24 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Mar 24 04:03:19 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sun Mar 24 04:03:12 PST 2002

 Subject: Defrag utility for dos file system?
 Subject: what is a objCore?
 Subject: Re: Partitioning RAM space for DosFs2.0
 Subject: Re: Ethernet problem on an mvme2700
 Subject: Re: ISR not Working - IBM PPC405GP
 Subject: RADIUS
 Subject: Re: Device Driver tutorial webpage
 Subject: Re: Defrag utility for dos file system?
 Subject: Re: Disable java mode (Altivec)
 Subject: Re: Partitioning RAM space for DosFs2.0
 Subject: Re: what is a objCore?
 Subject: Re: Porting a board to Vxworks?
 Subject: General protection error
 Subject: Re: source code for SCSI Fibre Channel implementation
 Subject: How to debug vxworks image thru multiICE?
 Subject: aboud HDLC driver for MPC860
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: General protection error
 Subject: VERIFY_AFTER_WRITE in tffs
 Subject: Re: General protection error
 Subject: RAW Socket problem
 Subject: Re: Device Driver Tutorial
 Subject: Re: arptnew error with subnetmask
 Subject: Re: usrLib api's in bootrom
 Subject: initialize tffs
 Subject: HW Design Verification..
 Subject: uninitialized interrupt
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Finding VxWorks version
 Subject: Re: Vxworks stack trace
 Subject: Font size in the target simulator window
 Subject: Upgrading the ccsimpc compiler
 Subject: Re: Font size in the target simulator window

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Defrag utility for dos file system?
Date: 22 Mar 2002 06:16:12 -0800
From: vkinger@hotmail.com (Kinger)
Organization: http://groups.google.com/
Message-ID: <f57b3351.0203220616.7bb33721@posting.google.com>

Does anyone know of a VxWorks based defrag utility for the dos file system?

Thanks,

Vikas Kinger

---------------------------

Newsgroups: comp.os.vxworks
Subject: what is a objCore?
Date: 22 Mar 2002 07:48:18 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0203220748.1fd8d605@posting.google.com>

Hi
I was looking at tcb struct and i found this
" OBJ_CORE objCore" and i also noticed that it
is there in many structs.(this objCore comes from
classLib.h/objLibP.h )
Now, what is it? and why it is used? Also i found
that there is classLib.o, which contains classInit()
etc, where can i find out about them. How to use them
and what they offer?

Thank's
Venkat

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Partitioning RAM space for DosFs2.0
Date: 22 Mar 2002 08:18:44 -0800
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0203220818.5949bb97@posting.google.com>
References: <c129947c.0203191130.5073be71@posting.google.com> <newscache$agn8tg$c8m$1@lnews.actcom.co.il> <c129947c.0203200908.215da4df@posting.google.com> <a7c3nd$sj9$1@snoopy.bndlg.de> <3C99C096.6070609@spamm.me.l8s.co.uk>

Hi David,
 I am using PPC, and i had also tried to access the range with shell
commnand 'd 0x68001000' and 'm 0x68001000' and it's seem to be fine.

 I can check memset(sysMemTop(),0,sysPhyMemTop()-sysMemTop());
but i don't think it will resolved anything.

 I can not believed that no one else had tried using the Dos + Ram
file system this way. It seem to be a simple extension of the file
system initialization.

Vinh Lam

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C99C096.6070609@spamm.me.l8s.co.uk>...
> Michael Lawnick wrote:
>
> > Hi Vinh,
> > AFAIK, what you are doing should work. A problem could be, that DosFs2 tries
> > to rescue an image found on initialisation. Have you ever checked whether
> > memset(sysMemTop(),0,sysPhyMemTop()-sysMemTop());
> > helps ?
>
> I'd also check what your BSP is up to....
> The Brutus ARM one steals the top 16k of memory for an intermediate
> page table. Unfortunately it uses the top of physical memory but
> gives the memory above sysMemTop() back to the pool.
> If you change USER_RESERVED_MEM it will give back the wrong piece!
>
> 	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet problem on an mvme2700
Date: 22 Mar 2002 08:26:22 -0800
From: tim.white@jhuapl.edu (Tim White)
Organization: http://groups.google.com/
Message-ID: <82e84c9b.0203220826.1da85ae1@posting.google.com>
References: <514a749c.0202280850.348a6474@posting.google.com> <rpsbse9gzrz.fsf@nospam.invalid> <tBwf8.75$Sk3.3224@llslave.llan.ll.mit.edu>

If your are using the same IP address on both 2700 boards, you may
need to clear out the arp entry on the server so that it can
communicate with the new board.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: ISR not Working - IBM PPC405GP
Date: 22 Mar 2002 08:46:31 -0800
From: venkat@peribit.com (V. R. Venkataramana)
Organization: http://groups.google.com/
Message-ID: <9f1c83d3.0203220846.364bd946@posting.google.com>
References: <e38d912c.0203201426.1dc050c@posting.google.com> <a7cafk$14j$1@snoopy.bndlg.de> <e38d912c.0203210902.74f0a230@posting.google.com>

Hi Arun,
This is the essence of interrupt handler logic. Hope this helps!
Thanks, Venkat

void ProcessIsrEvent (SEM_ID sem_id)
{
	while ( 1 )
	{
		if ( semTake (sem_id, WAIT_FOREVER) == ERROR )
		{
			printf("semTake error");
		}
		process the interrupt
 enable the interrupt
	}
}

void IntSvcRtn (SEM_ID sem_id )
{
 /*
 * Figure out if the interrupt is for you and save interrupt
 * status info
 */

 if ( interrupt is for you)
 {
	disable the interrupt
 	semGive (sem_id);
 intr_got++;
 }
}

void intr_init(int intnum)
{
	int intvec = intnum + 0x20;

	/*
 * Initiailze all the things that you want to do including
 * the driver related stuff.
 */

	IsrSyncSem = semBCreate ( SEM_Q_FIFO, SEM_EMPTY );
	taskSpawn("Test Isr", PRIORITY, 0, 20*1024,
 (FUNCPTR) ProcessIsrEvent,
 (int)IsrSyncSem,0,0,0,0,0,0,0,0,0 );

 	if (pciIntConnect(INUM_TO_IVEC(intvec), (VOIDFUNCPTR)IntSvcRtn,
						(int)IsrSyncSem) == ERROR)
	{
		printf("intconnect Failed");
	}

 /* Initialize everything you are suppose to, just before enabling
 * the PIC for receiving interrupts
 */
	sysIntEnablePIC (intnum);
}

arun4vxworks@indiatimes.com (Arun Prasad) wrote in message news:<e38d912c.0203210902.74f0a230@posting.google.com>...
> Hi,
>
> I called pciIntLibInit() explicitly before clling
> pciIntConnect.
> I put some logMsgs in pciIntLibInit() and in pciIntConnect().
> After calling pciIntLibInit(), pciIntConnect() is not
> failing.
>
> But my dummy ISR is not getting called though I reset the
> port/switch or pull out the ethernet interface cable and connect it
> again, sending some broadcast messages from the switch. (To create
> intterupts in our card).
>
> But, When I poll the interrupt status of the card I'm finding
> interrupt status register getting changed in the above mentioned
> scenarios.
> I did IntEnable() after pciIntConnect() call and thats also
> getting succeed. System is not freezing. But my dummy ISR is not
> getting invoked.
>
> I'm thinking of going back to intConnect() and check out the
> same again.
>
> In our card we have a regiser used not to produce
> interrupts. When enter into the driver's ISR (not the dummy one) I'll
> program this register so that new interrupt wont occur and then I'll
> process the ISR and then I'll program again the above mentioned to
> enable the interrupts of my card.
>
> ========
> if ( retVal = pciIntLibInit() ) // pciInitLib
> {
> logMsg ("pciIntLibInit FAILED retVal = %x, intNum =
> %x
> !!!!!!!!!!!! :-( \n", retVal, intNum, 0, 0, 0, 0);
> return (-1);
> }
> logMsg ("pciIntLibInit SUCCESS retVal = %x, intNum = %x
> !!!!!!!!!!!! :-( \n", retVal, intNum, 0, 0, 0, 0);
>
> if ( retVal = pciIntConnect((VOIDFUNCPTR *)
> INUM_TO_IVEC(intNum ),
> testISR, 0 ) )
> {
> logMsg ("pciIntConnect FAILED retVal = %x, intNum =
> %x
> !!!!!!!!!!!! :-( \n", retVal, intNum, 0, 0, 0, 0);
> return (-1);
> }
> logMsg ("pciIntConnect SUCCESS retVal = %x, intNum = %x
> !!!!!!!!!!!! :-( \n", retVal, intNum, 0, 0, 0, 0);
>
> for(delayCount=0; delayCount<0xfff; delayCount++);
>
> if(intEnable(intNum)) // Just for testing
> logMsg ("intEnable FAILED intNum = %x !!!!!!!!!!!!
> :-(
> \n", intNum, 0, 0, 0, 0,0);
> else
> logMsg ("intEnable SUCCCESS intNum = %x
> !!!!!!!!!!!! :-(
> \n", intNum, 0, 0,
> 0, 0,0);
>
>
> while(1)
> {
> for(delayCount=0; delayCount<0xfffffff; delayCount++);
>
> logMsg ("I'm withing while(1) loop\n",0, 0, 0, 0, 0,
> 0);
> }
> .............
> .............
> void testISR()
> {
> unsigned pciAck;
>
> pciAck = sysPciInLong(0xEED00000);
> logMsg("I'm Within ISR ;-) \n", 0, 0, 0, 0, 0, 0);
> }
> ========
>
> Regards
> Arun
>
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message news:<a7cafk$14j$1@snoopy.bndlg.de>...
> > Hi Arun,
> >
> > you seem to make the thing complicated before you start to do anything at
> > all.
> > Throw away all wrappings and simply call pciInitConnect as its expected by
> > the system developers.
> >
> > To avoid system freeze, you have to acknowledge interrupt on your PCI-cards
> > side, you won't find any hint for that in BSP but in card's documentation or
> > driver code. There are some rare exceptions, where the HW-interrupt cycle
> > itself already acknowledges the cards interrupt.
> > Using pciIntConnect(), you won't have to take care about acknowledging
> > interrupt on CPU side. As you have pciIntConnect() in source code
> > (target/src/drv/pci), you can debug the connection problem when compiling
> > VxWorks with debug information on.
> >
> > After all is up and running, you may think about optimisation by using
> > intConnect() - but not earlier.
> > HTH
> > --
> > Mit freundlichen Gren,
> > Michael Lawnick
> > ==============================================
> > SOFTEC GmbH Tel +49-731-96600-0
> > Promenade 17 Fax +49-731-96600-23
> > D-89073 Ulm Michael Lawnick
> > Germany lawnick@softec.de
> > ==============================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: RADIUS
Date: Fri, 22 Mar 2002 17:05:55 GMT
From: "Verizon" <vze399g7@verizon.net>
Message-ID: <TvJm8.346$n8.191@nwrddc02.gnilink.net>

Has anyone out there used the VxWorks Version of Radius? We are getting
ready to implement and
not sure if we should go with the VxWorks Version or write our own. We
would have to Upgrade
some of our products to Tornado 2 and later Version of VxWorks.

Any got yas or other things that people have run in to?

Thanks !!!

Rick

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Device Driver tutorial webpage
Date: Fri, 22 Mar 2002 11:14:30 -0600
From: "Tim" <moeller@NOSPAMniti.com>
Organization: Nicolet Technologies
Message-ID: <a7foip$5nv$1@newsreader.mailgate.org>
References: <HTxm8.10627$nO.2902@news01.bloor.is.net.cable.rogers.com>
Reply-To: "Tim" <newsgroup, or remove NOSPAM from my e-mail address>
Sender: moeller@niti.com

I once stumbled across an old copy of the WindRiver Device Driver Workshop
training materials on a Chinese web site at:
http://www.embed.com.cn/download/userfiledown.asp?filename=abc0821
Unfortunately, that file seems to have been removed now (probably due to
copyright issues with WindRiver.)

"Jamilur Rahman" <rahma2431@rogers.com> wrote in message
news:HTxm8.10627$nO.2902@news01.bloor.is.net.cable.rogers.com...
> Is there any web site for learning the basics of device driver design and
> implementation in VxWorks.
> Any informative help would be very much appreciated.
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Defrag utility for dos file system?
Date: Fri, 22 Mar 2002 19:47:56 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$sy0etg$107$1@lnews.actcom.co.il>
References: <f57b3351.0203220616.7bb33721@posting.google.com>

Dear Vik,

If you are using the older dosFs (sometimes referred to as dosFs 1), there
is indeed a problem without a solution.
If however you are using dosFs2, you are in a much better position then you
think: dosFs2 does not provide a defragmentation utility per se, but it
implements a fragmentation-resistent space allocation policies. It has been
extensively tested with avying work load patterns, that as long as the work
load pattern is unchanged, the fragmentation percentage reaches a certain
steady-state, and remains there.

The only exception is when the absolutely contigous space allocation is
used, with FIOCONTIG ioctl, which is very likely to cause a situation when
another contigous file wont be allocated although sufficient free space
exists.

For details please refer to the dosFs2 component release manual, and if
needed, I can provide some insight too.

Leonid Rosenboim
Creator of DosFs2 (among other things)

"Kinger" <vkinger@hotmail.com> wrote in message
news:f57b3351.0203220616.7bb33721@posting.google.com...
> Does anyone know of a VxWorks based defrag utility for the dos file
system?
>
> Thanks,
>
> Vikas Kinger

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Disable java mode (Altivec)
Date: Fri, 22 Mar 2002 16:36:06 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <t8Km8.229$7L2.411365@newsr2.u-net.net>
References: <a75d32$1lgq@r02n01.cac.psu.edu>

"Bruce T. Einfalt" <bte@tog.arl.psu.edu> wrote in message
news:a75d32$1lgq@r02n01.cac.psu.edu...
> Hi,
> I have a Motorola MVME5100 board (Altivec G4) with VxWorks 5.4 kernel
>using a Tornado 2.1 compiler. Could someone please tell me how I determine
>whether Java mode (IEEE mode) is enabled on the Altivec chip? I know it is
>in the VSCR register but how do I access it and set/disable the bit? I
>could not find any information on this in the VxWorks or 5100 manuals. Anu
>ideas? Thanks!

See section 2.1.1 in the motorola Altivec PEM, or section 4.1 in the PIM.
In C, you want to use the vec_mfvscr (...) function to move the contents of
the VSCR to a vector register, from where you can perform bit manipulation
or write it to memory and load it into a general register; when you want to
put an updated value back into the VSCR, load the new value into a vector
register and use vec_mtvscr (...) to transfer it back.

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Partitioning RAM space for DosFs2.0
Date: Fri, 22 Mar 2002 20:35:00 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$853etg$137$1@lnews.actcom.co.il>
References: <c129947c.0203191130.5073be71@posting.google.com> <newscache$agn8tg$c8m$1@lnews.actcom.co.il> <c129947c.0203200908.215da4df@posting.google.com> <a7c3nd$sj9$1@snoopy.bndlg.de> <3C99C096.6070609@spamm.me.l8s.co.uk> <c129947c.0203220818.5949bb97@posting.google.com>

Here is one other idea -
try to make the RAM disk a smaller the the reserved memory area,
perhaps the RAM disk driver attempts to use more RAM then it should,
and attempts to access beyond sysPhysMemTop(), which would cause
an exception.

"Vinh" <vloscomp@yahoo.com> wrote in message
news:c129947c.0203220818.5949bb97@posting.google.com...
> Hi David,
> I am using PPC, and i had also tried to access the range with shell
> commnand 'd 0x68001000' and 'm 0x68001000' and it's seem to be fine.
>
> I can check memset(sysMemTop(),0,sysPhyMemTop()-sysMemTop());
> but i don't think it will resolved anything.
>
> I can not believed that no one else had tried using the Dos + Ram
> file system this way. It seem to be a simple extension of the file
> system initialization.
>
> Vinh Lam
>
> David Laight <david@spamm.me.l8s.co.uk> wrote in message
news:<3C99C096.6070609@spamm.me.l8s.co.uk>...
> > Michael Lawnick wrote:
> >
> > > Hi Vinh,
> > > AFAIK, what you are doing should work. A problem could be, that DosFs2
tries
> > > to rescue an image found on initialisation. Have you ever checked
whether
> > > memset(sysMemTop(),0,sysPhyMemTop()-sysMemTop());
> > > helps ?
> >
> > I'd also check what your BSP is up to....
> > The Brutus ARM one steals the top 16k of memory for an intermediate
> > page table. Unfortunately it uses the top of physical memory but
> > gives the memory above sysMemTop() back to the pool.
> > If you change USER_RESERVED_MEM it will give back the wrong piece!
> >
> > David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: what is a objCore?
Date: Fri, 22 Mar 2002 20:49:21 +0200
From: "Leonid Rosenboim" <Dont_Spam_Leonid@Consultant.com>
Organization: Verio
Message-ID: <newscache$4t3etg$d37$1@lnews.actcom.co.il>
References: <65b2abfc.0203220748.1fd8d605@posting.google.com>

objCore should not bother you much, unless you are in
the process of writing an extention to VxWorks.
It is essentially an object oriented approach implemented
in plain C. System objects are grouped into generic groups,
i.e. classes, which share common methods. Finally all system
objects share this objCore which too has a couple of methods
shared by all system objects related to debuggin and instrumentation.

I would need to look at source code (which I dont have now)
to provide any specific details, it's been a while ...

Leonid

"Venkat Mynampati" <mynamvs@nsc.network.com> wrote in message
news:65b2abfc.0203220748.1fd8d605@posting.google.com...
> Hi
> I was looking at tcb struct and i found this
> " OBJ_CORE objCore" and i also noticed that it
> is there in many structs.(this objCore comes from
> classLib.h/objLibP.h )
> Now, what is it? and why it is used? Also i found
> that there is classLib.o, which contains classInit()
> etc, where can i find out about them. How to use them
> and what they offer?
>
> Thank's
> Venkat

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Porting a board to Vxworks?
Date: Fri, 22 Mar 2002 21:41:28 +0100
From: "Michael B." <egoisone@libero.it>
Organization: [Infostrada]
Message-ID: <oCMm8.59718$1S3.1792270@twister1.libero.it>
References: <1a047b5a.0203220236.37215514@posting.google.com>

Hi Raja!
Your question could have many answers, buto in few words "porting a board to
VxW means you have to customize VxW configuration files for your hardware.
Now the question is: what kind of board do you mean? WRS provides VxW with
many BSP, board support packages, so I guess you don't need to write one! If
your board is device-card, this is a different thing; "porting" means
someone has to write drivers and install it into VxW image.
Good luck,
Mika.

"Raja Ganesan" <rajaismyname@yahoo.com> ha scritto nel messaggio
news:1a047b5a.0203220236.37215514@posting.google.com...
> "Porting a board to Vxworks", What does this mean?
> what are the steps that should be follwed for porting the board to
Vxworks.
> would anyone detail it.
> Expecting your help.
>
> Thanks in advance,
> Raja G

---------------------------

Newsgroups: comp.os.vxworks
Subject: General protection error
Date: Fri, 22 Mar 2002 21:48:30 +0100
From: "Michael B." <egoisone@libero.it>
Organization: [Infostrada]
Message-ID: <%IMm8.59750$1S3.1793504@twister1.libero.it>

Hi,
how can a task cause a "General protection error"?
I know this question should be more specific, but I'm looking for an idea
because I don't know where to start to fix my bug.
Thank you.

---------------------------

Newsgroups: comp.arch.storage,comp.periphs.scsi,comp.os.vxworks
Subject: Re: source code for SCSI Fibre Channel implementation
Date: Fri, 22 Mar 2002 21:36:02 GMT
From: "Jamey Kirby" <jkirby@starband.net>
Organization: StorageCraft
Message-ID: <stNm8.2374$272.1053873260@twister1.starband.net>
References: <5c04bc56.0202272342.124108d6@posting.google.com> <pjqt7uc6fhv8nd83pcphn8810m98qf92so@4ax.com> <5c04bc56.0203011650.69636895@posting.google.com> <pge08ugso9dpr6m9nuhlsg1rbj8rld9m0b@4ax.com> <a5rgtp$7je$1@panix1.panix.com> <gqq28uks1ptojqkhhmpl5806kjimdh9mlt@4ax.com> <a62a9v$190s$1@gavrilo.mtu.ru>
Reply-To: "Jamey Kirby" <jkirby@nospam.storagecraft.com>

Intel has public Linux iSCSI source.

"Maxim S. Shatskih" <maxim@storagecraft.com> wrote in message
news:a62a9v$190s$1@gavrilo.mtu.ru...
> > I don't know the module names because it is neither my responsibility
> > or desire to do this person's homework. He/whe asked if there was
> > iSCSI driver sample sourcecode available, and I told them where some
>
> IIRC they are commercial closed-source even for Linux.
>
> Max
>
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: How to debug vxworks image thru multiICE?
Date: 22 Mar 2002 18:18:08 -0800
From: liuxin@autosoft.com.cn (Xin Liu)
Organization: http://groups.google.com/
Message-ID: <b1aaacf2.0203221818.e9d9b25@posting.google.com>

Dear all,

I have checked that Tornado for ARM can not generate *.axf and *.aif
image file format that multiICE need, would you pls tell me how to
debug the vxworks image thru multiICE or give me a image format
converter to generate what multiICE need?

Thanks and B.R.

Liuxin

---------------------------

Newsgroups: comp.os.vxworks
Subject: aboud HDLC driver for MPC860
Date: Sat, 23 Mar 2002 11:18:04 +0900
From: "stewart Ryu" <smuff@effinet.co.kr>
Organization: Korea Telecom
Message-ID: <a7gno9$ebn$1@news1.kornet.net>

Hi,

I want to connect LAN and WAN interface on SCCs in MPC860.
I was trying to find HDLC driver for Vxworks, but I could'nt.

Dose anyone kows where can I find it, and how to deliver data from HDLC to
Ethernet, vice versa?

Thanks in advance

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 22 Mar 2002 19:20:24 -0800
From: hjb@pso.com (Hwa Jin Bae)
Organization: http://groups.google.com/
Message-ID: <4cf902bf.0203221920.2e65f87@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu>

Using select to do periodic task is a little imprecise because timeval
is converted to "ticks" and therefore dependent on tick resolution.
It is worse then that actually, because the calculation for the usec
- -> ticks conversion is entirely done in integer math, with associated
rounding down. For lower clock frequencies. The traditional sys
clock frequency of 60hz does not help here either, yielding fractions
that are discounted after integer divides. The use of 60hz is
archaic, derived from U.S. power frequency.

Better resolution and better realtime behaviors can be achieved by use
of Aux clock programmed properly. If system clock is to be used for
all your timing needs, careful consideration should be made for the
frequency of system clock. Depending on your needs, you may need to
increase the frequency quite a bit, with associated system overhead
for processing frequenty interrupts.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: General protection error
Date: 22 Mar 2002 21:48:34 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203222148.24ff2898@posting.google.com>
References: <%IMm8.59750$1S3.1793504@twister1.libero.it>

Hello,

"Michael B." <egoisone@libero.it> wrote in message news:<%IMm8.59750$1S3.1793504@twister1.libero.it>...
> Hi,
> how can a task cause a "General protection error"?
> I know this question should be more specific, but I'm looking for an idea
> because I don't know where to start to fix my bug.

Well, a good place to start would be the following:

1) Attach the debugger and see what line in your source code caused
the fault (assuming that it was one of your application's tasks of
course).

2) If the debugger is not available for some reason, you can use tt
from a shell to get a stack trace from the crashed task. That should
give you some idea of where the failure is.

3) If you still cannot work it out, you could add some printf
statements to your code, in the function that crashes, or, if the
crash actually occurs in a system call, in the last function in the
trace that was in your application. Display the relevant function
parameters.

Hope that helps you find your problem,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: VERIFY_AFTER_WRITE in tffs
Date: Sat, 23 Mar 2002 07:07:08 +0000 (UTC)
From: "Franco Bassetti" <francobassetti@hotmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <ac01ced359a96baadc4c0a534e3dc608.37262@mygate.mailgate.org>

I have enabled the VERIFY_AFTER_WRITE option in tffs but I have 2
problems:
1) the function statfs return error
2) The funtion I used to copy the bootfile on the flash tffsBootImagePut
fails with this message "enable to get phisical info from drive" I found
that the problem is in rawIo called by bootImagePut
Has anybody used this functionality?

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: General protection error
Date: Sat, 23 Mar 2002 13:08:58 +0100
From: "Michael B." <egoisone@libero.it>
Organization: [Infostrada]
Message-ID: <Vb_m8.59984$%g7.1896224@twister2.libero.it>
References: <%IMm8.59750$1S3.1793504@twister1.libero.it> <488e459a.0203222148.24ff2898@posting.google.com>

Thank you very much John for your answer. Next Monday I'll try your
suggestions.
Bye, Mic.

"John" <john_94501@yahoo.com> ha scritto nel messaggio
news:488e459a.0203222148.24ff2898@posting.google.com...
> Hello,
>
> "Michael B." <egoisone@libero.it> wrote in message
news:<%IMm8.59750$1S3.1793504@twister1.libero.it>...
> > Hi,
> > how can a task cause a "General protection error"?
> > I know this question should be more specific, but I'm looking for an
idea
> > because I don't know where to start to fix my bug.
>
> Well, a good place to start would be the following:
>
> 1) Attach the debugger and see what line in your source code caused
> the fault (assuming that it was one of your application's tasks of
> course).
>
> 2) If the debugger is not available for some reason, you can use tt
> from a shell to get a stack trace from the crashed task. That should
> give you some idea of where the failure is.
>
> 3) If you still cannot work it out, you could add some printf
> statements to your code, in the function that crashes, or, if the
> crash actually occurs in a system call, in the last function in the
> trace that was in your application. Display the relevant function
> parameters.
>
> Hope that helps you find your problem,
>
> John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: RAW Socket problem
Date: 23 Mar 2002 09:33:30 -0800
From: e-tonyc@163.net (Tonyc)
Organization: http://groups.google.com/
Message-ID: <cfccb952.0203230933.5e1c5c75@posting.google.com>

Hi all, now I have a problem. when I write in VC, I just open a raw
socket with "socket(AF_INET, SOCK_RAW, IPPROTO_RAW);", and it works,
but when I use recv() to receive the data, I can not receive any
thing, while I can use sendto() to send data successfully. I use this
to get/send tcp/ip header and data.

Can any one help me? Thanks in advance.

Etonyc

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Device Driver Tutorial
Date: Sat, 23 Mar 2002 09:54:17 -0800
From: "Jerry Marcinko" <jerrym@dssnetworks.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3c9cc1bd@news.mhogaming.com>
References: <K8dm8.21344$oG11.19687@news01.bloor.is.net.cable.rogers.com> <a7c4v3$e0b$1@news.ilk.de>

Although these are not tutorials, the online manuals on the WindSurf support
site have pretty good tutorial-level and reference information on the I/O
system in general and also on Network Drivers.

It also depends on type of device driver are you interested in. In VxWorks
there are Network Drivers which are called "MUX END" drivers which are
normally used for things like Ethernet drivers, but can also be used for
other types of devices. There are also general I/O drivers which conform to
the standard open, close, read, write, and ioctl API. There are also some
other special variations of drivers such as TTY serial port drivers. Then
there are also "socket backend" drivers you can implement if your
application requires a socket API interface.

For Network drivers, please see the following:

VxWorks 5.4 Network Programmers Guide
VxWorks 5.4 Network Protocol Toolkit Guide

For general I/O drivers (open, close, read, write, ioctl), see:

VxWorks 5.4 Programmers Guilde -- I/O section

You may also want to consult the following for additional information:

BSP reference manual

Also, there is sample driver source that can be downloaded from the WindSuft
support site for additional reference information.

Hope this helps.

"Jrgen Felleisen" <felleisenj@becker.de> wrote in message
news:a7c4v3$e0b$1@news.ilk.de...
> on the web site www.ayyalasoft.com you will find a short introduction on
> writing device drivers
>
> Jamilur Rahman schrieb in Nachricht ...
> >Is there any web site for learning the basics of device driver design
and
> >implementation in VxWorks.
> >Any informative help would be very much appreciated.
> >
> >
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: arptnew error with subnetmask
Date: Sat, 23 Mar 2002 18:58:59 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <Tf4n8.108073$q2.10682@sccrnsc01>
References: <f2882726.0203201334.7e1cb132@posting.google.com> <u9i8p8bbk7p698@corp.supernews.com> <3C99FE8B.BBF8685@ineoquest.com>

Hello George,

 I have seen this, but with using a VPN from my company. The VPN
connection causes
all the routing to be "re-configured" on my local WinXP/Win2k or WinNT hosts
whenever I connect from any of them and once I log off, my "normal" routing
tables
return and I am able to connect the target server. Try rebooting while you
are
dialed-in and see that the target will fail to download the kernel if you
use that
technique. HTH.

"George Varndell" <george.varndell@ineoquest.com> wrote in message
news:3C99FE8B.BBF8685@ineoquest.com...
> While attempting to reproduce the problem I've discovered that, if I
> have a dial-up connection active on my computer (W2K), I cannot
> connect to the target with the target server. I was trying to get
> to the point that I could execute the commands you mentioned.
> While dial-up is active, my packet sniffer never sees any attempt
> to access the target by my host PC. This is independent of any
> netmask configuration. If I kill the dial-up connection and wait
> several minutes, the target server is again able to connect to
> the target and the sniffer captures the whole thing. Should I
> suspect a W2K bug or a Tornado bug? At this point, I still don't
> know if this is in any way related to my netmask problems.
>
> Regards,
> George Varndell

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: usrLib api's in bootrom
Date: Sat, 23 Mar 2002 19:15:10 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <2v4n8.95397$Yv2.30491@rwcrnsc54>
References: <a66abf95.0203210803.29e6dd6e@posting.google.com>

Hello Lovell,

 I tried doing this by looking at usrConfig.c to determine how to get
the symbol table
included, add the "shell", etc and unfortunately I could get everything
except the symbol
table in the bootrom. So I had the target shell, the banner but I couldn't
do an "i"
If you figure out how to pull in the symbol table, let me know. From what I
remember
if I could get a build of the bootrom to reflect how a vxWork.st was built,
this would
get me over the last hump. Did you look at the target/h/make directory to
see how
vxWorks.st is built? Good luck and if I revisit this and get it working, I
will post my
steps. Hope you have better luck.

"lovell James" <triniatlarge@yahoo.com> wrote in message
news:a66abf95.0203210803.29e6dd6e@posting.google.com...
> Hi all,
> Has anyone ever tried getting some of the usrLib api's to work
> in bootrom, such as 'cd', 'pwd' etc? I know they are only meant to be
> executed in the Vxworks shell but ideally I want to give the user at
> the boot prompt an option to view files in my file flsh formatted and
> setup by Tffs. I thought before giving up I'll try here first.
> Basically I called usrlib.o into the bootrom image but I got link
> errors because it was looking for symbol table defines.
> Thanks
>
> LJ

---------------------------

Newsgroups: comp.os.vxworks
Subject: initialize tffs
Date: Sun, 24 Mar 2002 00:41:19 +0100
From: ilyas G <ilyas@no-spam.guennoun.org>
Organization: Wanadoo, l'internet avec France Telecom
Message-ID: <3C9D129F.9030204@no-spam.guennoun.org>

I have a target using tffs, I uwe rapid control to create commands.
i hev two commands 'ls' and 'pwd'

once i start the target, if i type 'ls' none appear, however if i type
'ls .' fr the current directory, the directory content appear and all
the 'ls' commands work fine after that.

the same thing with 'pwd' , it doesn't work since i don't type a 'cd'
command; either 'cd /' or 'cd directory/'

---------------------------

Newsgroups: comp.os.vxworks
Subject: HW Design Verification..
Date: Sat, 23 Mar 2002 15:56:40 -0800
From: "Verilog Training @ N Square" <training@nsquare.com>
Organization: N Square Corporation
Message-ID: <3C9D1638.9F626235@nsquare.com>

With the recession in the US economy gradually paring down, would you be
in a position to take this opportunity to find a new vista for your
career growth?

*******************************************************************************

If you are seriously thinking about this, feel free to check out our
Training classes for digital design using Verilog. Our classes are
conducted over the weekends. Our Instructors are well honed
professionals from the Hardware industry having experience of working at
companies like 3Com, Sun, Nokia, NEC, Cadence etc. For further details
on these courses, class schedule, registration etc, please refer to
http://www.nsquare.com/training_courses.htm

* Registration open for -

I. Digital Design using Verilog (starting on 03/30/2002)
- - at Santa Clara, CA
4 weeks course - Sat & Sun mornings (Maximum 6 students per class)
II. Advanced-level Digital Design using Verilog (starting on 04/27/2002)

- - at Santa Clara, CA
4 weeks course - Sat & Sun mornings (Maximum 6 students per class)

Southern California residents may check our website at
http://www.nsquare.com/san_diego_course.htm for details on "Digital
Design using Verilog" course scheduled in June, '02 at San Diego, CA.

****************************************************************************

For further details on us, please feel free to visit our website at
http://www.nsquare.com or,
Call Tel # 408-654-0500 / 408-654-0466

---------------------------

Newsgroups: comp.os.vxworks
Subject: uninitialized interrupt
Date: Sat, 23 Mar 2002 18:28:00 -0800
From: "suresh kannan" <suresh_kannan@ae.gatech.edu>
Organization: Georgia Institute of Technology
Message-ID: <a7j6pl$6ca$1@news-int.gatech.edu>

Hi,

We have code that crashes with the following error. We are unable to get
this to happen consistently. Although it will happen at some point during a
run. If anyone can point me towards a solution that would be perfect. Or if
any one can provide advice on how to go about tracking this problem that
would be most appreciated.

interrupt:
Uninitialized Interrupt!
Vector Number 47 (0-255)
Program Counter 0x0010cedc
Status Register 0x00000206

regards,
suresh.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 23 Mar 2002 16:28:36 -1000
From: Jim Thomas <thomas@atlas.cfht.hawaii.edu>
Organization: Canada France Hawai`i Telescope
Message-ID: <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com>

>>>>> "HJB" == Hwa Jin Bae <hjb@pso.com> writes:

 HJB> Using select to do periodic task is a little imprecise because timeval
 HJB> is converted to "ticks" and therefore dependent on tick resolution.
 HJB> It is worse then that actually, because the calculation for the usec
 HJB> -> ticks conversion is entirely done in integer math, with associated
 HJB> rounding down. ....

Down? That does, as you say, make it worse. Why down? If I dumbly ask
for 10ms, I certainly don't mean 0!

Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Finding VxWorks version
Date: Sun, 24 Mar 2002 11:50:05 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7k7e8$lm14a$1@ID-79865.news.dfncis.de>

=============================================
Tornado Version 2.0.2
Host : Windows2000
Target : VxSim (VxWorks target simulator)
=============================================

I can't find in documentation what is VxWorks version.

Any suggestions how to find that ?

Thanks in advance,

- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Vxworks stack trace
Date: Sun, 24 Mar 2002 09:59:27 -0000
From: "cecil" <cecil@hunmanby.demon.co.uk>
Message-ID: <1016963992.7280.0.nnrp-08.d4e4b8d1@news.demon.co.uk>
References: <919a9583.0203181316.34beac93@posting.google.com>

Does anybody know if you can specify how far back you want the stack trace
to go?

T. Hariharan wrote in message
<919a9583.0203181316.34beac93@posting.google.com>...
>Hello,
>
>In the stack trace below, why are the arguments for some
>functions in square brackets and some not? What is the
>difference?
>
>Thanks,
>Hari
>
>41454b i +53 : show ([53dc3bbc, 2, 53dc2ac4, 53dc3b8c,
1669aa])
>414693 show +9b : objShow (53dc3bbc, 2)
>41f519 objShow +69 : taskShow ([53dc3bbc, 2, 53dc3bbc, 53dc2a84,
53dc2a88])
>3dfae6 taskShow +1be: 3dfb48 (53dc2a10)
>3dfb7e taskShow +256: printf (3dfb02, 5ddc11cc)
>3b3d96 printf +12 : fioFormatV ([3dfb0a, 53dc1fe4, 3b4c34, 1,
53dc2128])
>3b4b1c fioFormatV +a58: 3b4c34 (5ddc11cc, 6, 1)
>3b4c44 fioFormatV +b80: write ([1, 5ddc11cc, 6, fffffffa, 53dc1fbc])
>3c0dd7 write +f : iosWrite ([1, 5ddc11cc, 6, 53dc1dd0, 3b4c49])
>3ec1c8 iosWrite +70 : 3bc0b8 ([5fff59ec, 5ddc11cc, 6, 6, 5ddc11cc])
>3bc0c9 dosFsChkDsk +2451: 3bb998 ([5fff59ec, 5ddc11cc, 6, 2, 53dc1da4])
>3bba5e dosFsChkDsk +1de6: semMTake (5fff59ec, ffffffff)

---------------------------

Newsgroups: comp.os.vxworks
Subject: Font size in the target simulator window
Date: Sun, 24 Mar 2002 12:14:29 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7k8s0$ktmeu$1@ID-79865.news.dfncis.de>

=============================================
Tornado Version 2.0.2
Host : Windows2000
Target : VxSim (VxWorks target simulator)
=============================================

Size of font
 on the target simulator window ("VxWorks Simulator for Windows")
 is too small.

Is there any possibility to change it?

Thanks in advance,

====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Upgrading the ccsimpc compiler
Date: Sun, 24 Mar 2002 13:38:27 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7kdpe$m0nsm$1@ID-79865.news.dfncis.de>

=============================================
Tornado Version 2.0.2
Host : Windows2000
Target : VxSim (VxWorks target simulator)
=============================================

The ccsimpc compiler is the GNU one.

%ccsimpc.exe -v
Using builtin specs.
gcc version egcs-2.90.29 tornado 2.0 980515 (egcs-1.0.3 release)

We can see that it is old version of GNU gcc compiler
(For instance, latest versions are 3.0.X ones).

Is there any possibility to upgrade ccsimpc/gcc compiler in Tornado?

====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Font size in the target simulator window
Date: Sun, 24 Mar 2002 13:46:16 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$uj9htg$r2i$1@lnews.actcom.co.il>
References: <a7k8s0$ktmeu$1@ID-79865.news.dfncis.de>

Hi alex.

According to the Israeli windriver support, this is a well known problem in
systems that their local settings are defined to hebrew. So, windirver
worldwide has no intensions on solving this bug. We got a little .exe file
that solves the problem. If you want it, send me an Email.

- --
Ofer Goren
Iamba Technologies
"Alex Vinokur" <alexvn@bigfoot.com> wrote in message
news:a7k8s0$ktmeu$1@ID-79865.news.dfncis.de...
> =============================================
> Tornado Version 2.0.2
> Host : Windows2000
> Target : VxSim (VxWorks target simulator)
> =============================================
>
> Size of font
> on the target simulator window ("VxWorks Simulator for Windows")
> is too small.
>
> Is there any possibility to change it?
>
> Thanks in advance,
>
>
> ====================
> Alex Vinokur
> http://up.to/alexvn
> http://go.to/alexv_math
> mailto:alexvn@bigfoot.com
> mailto:alexvn@go.to
> ====================
>
>
>

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Mon Mar 25 02:23:08 2002
From: ulf.fiederling@dornier.eads.net
Date: Mon Mar 25 02:23:10 PST 2002
Subject: How to increase MTU

Hi all

We are using Tornado 2 on an NT Host with a Pentium Target.

How can I increase the MTU to a value greater than 1500

Thanks in advance

Ulf Fiederling

From vxwexplo-errs@csg.lbl.gov Mon Mar 25 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Mar 25 04:03:16 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Mon Mar 25 04:03:10 PST 2002

 Subject: Re: Font size in the target simulator window
 Subject: Re: Finding VxWorks version
 Subject: debugging on MCPN765 card (vxworks)
 Subject: Tornado Shell Window & Target Simulator Window, cout & printf
 Subject: Invalid opcode when using Pentium III SIMD instructions
 Subject: integrating packages into the project facilites
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: Invalid opcode when using Pentium III SIMD instructions
 Subject: "/tffs0/" Vs. "/tffs0" what is the difference?
 Subject: Re: uninitialized interrupt
 Subject: Re: RAW Socket problem
 Subject: Tornado Windows
 Subject: Re: loadModule: Relocation value does not fit in 24 bits
 Subject: Some questions about mpc860t SCC&TDM wroked for E1 line!
 Subject: Re: integrating packages into the project facilites
 Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
 Subject: Re: Finding VxWorks version
 Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
 Subject: Examples for working with Ethernet ( EndDriver, Mux)
 Subject: Re: Finding VxWorks version

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Font size in the target simulator window
Date: Sun, 24 Mar 2002 14:56:22 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7kibh$m58kt$1@ID-79865.news.dfncis.de>
References: <a7k8s0$ktmeu$1@ID-79865.news.dfncis.de> <newscache$uj9htg$r2i$1@lnews.actcom.co.il>

"Ofer Goren" <ofer_goren@iamba.com> wrote in message
news:newscache$uj9htg$r2i$1@lnews.actcom.co.il...
> Hi alex.
>
> According to the Israeli windriver support, this is a well known problem
in
> systems that their local settings are defined to hebrew. So, windirver
> worldwide has no intensions on solving this bug. We got a little .exe file
> that solves the problem. If you want it, send me an Email.
>

Thanks. Now it works OK.

[snip]

- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Finding VxWorks version
Date: Sun, 24 Mar 2002 14:59:55 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7kii6$m529l$1@ID-79865.news.dfncis.de>
References: <a7k7e8$lm14a$1@ID-79865.news.dfncis.de>

"Alex Vinokur" <alexvn@bigfoot.com> wrote in message
news:a7k7e8$lm14a$1@ID-79865.news.dfncis.de...
> =============================================
> Tornado Version 2.0.2
> Host : Windows2000
> Target : VxSim (VxWorks target simulator)
> =============================================
>
> I can't find in documentation what is VxWorks version.
>
> Any suggestions how to find that ?
>
> Thanks in advance,
>

[snip]

We can see that on the target simulator window.
For instance,

- -------------------------------------------------
VxWorks

Copyright 1984-1998 Wind River Systems, Inc.

 CPU: VxSim for Windows
 VxWorks: 5.4.2
 BSP version: 1.1/1
 Creation date: Jan 29 2001
 WDB: Ready.

- -------------------------------------------------

====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: debugging on MCPN765 card (vxworks)
Date: 24 Mar 2002 05:35:35 -0800
From: rdayal@hss.hns.com (Rajat Dayal)
Organization: http://groups.google.com/
Message-ID: <dbc7acef.0203240535.2e6d6ea8@posting.google.com>

Hi,

Im using vxWorks on a Motorola MCPN765 card.
If i add a breakpoint on any function through the vxworks prompt it
doesnt get hit on execution.
- -- although the breakpoint gets added correctly.
What could be the problem ?

Regards
RD

---------------------------

Newsgroups: comp.os.vxworks
Subject: Tornado Shell Window & Target Simulator Window, cout & printf
Date: Sun, 24 Mar 2002 17:12:15 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7kqaa$m3dti$1@ID-79865.news.dfncis.de>

=======================================================
Tornado : Version 2.0.2
VxWorks : Version 5.4.2
BSP : Version 1.1/1
Compiler : c++simpc
 gcc version egcs-2.90.29 tornado 2.0 980515
 (egcs-1.0.3 release)
Host : Windows2000
Target : VxSim for Windows (VxWorks target simulator)
=======================================================

I created Sample Project that holds updated file cobble.c
(Tornado's sample program).

Here are main updates :
 WARNING-message and OK-message are printed twice
 - First time via cout
 - Second time via printf.

We can see that behavior of cout and printf is different :
 * cout prints a message to the Tornado Shell Window
 * printf prints a message to the Target Simulator Window

Is it feature or bug?

|| ###### C++-code : BEGIN ######
// Fragment of cobble.c

void monitor (void)
{
int isHot = 0;
int isNot = 0;
 while (runState == ALL_GO)
 {
 if (!isHot && result >= HOT)
 {
 isHot = 1;
 cout << "[" << __FILE__ << ", #" << __LINE__ << "] WARNING: HOT! ->
via cout\n"; // Line#336
 printf ("[%s, #%d] WARNING: HOT! -> via printf\n", __FILE__,
__LINE__); // Line#337
 }
 else if (isHot && result < HOT)
 {
 isHot = 0;
 cout << "[" << __FILE__ << ", #" << __LINE__ << "] OK! -> via cout\n";
// Line#342
 printf ("[%s, #%d] OK! -> via printf\n", __FILE__, __LINE__); //
Line#343
 }
 }
}

|| ###### C++-code : END ########

|| ====== Tornado Shell Window : BEGIN ======
|| Fragment

- -> progStart
[D:/projects/demo/cobble.c, #336] WARNING: HOT! -> via cout
[D:/projects/demo/cobble.c, #342] OK! -> via cout
[D:/projects/demo/cobble.c, #336] WARNING: HOT! -> via cout
[D:/projects/demo/cobble.c, #342] OK! -> via cout
value = 0 = 0x0
- ->
Exception number 0: Task: 0x4af3f60 (tCrunch)

Divide Error
Program Counter: 0x0495ed48
Status Register: 0x00010212

4276cf _vxTaskEntry +47 : 495ed46 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

|| ====== Tornado Shell Window : END ========

|| ------ The Target Simulator Window : BEGIN ------
|| Fragment

[D:/projects/demo/cobble.c, #337] WARNING: HOT! -> via printf
[D:/projects/demo/cobble.c, #343] OK! -> via printf
Exception !
 Vector 0 : Divide Error
 Program Counter : 0x0495ed48
 Status Register : 0x00010212

|| ------ The Target Simulator Window : END --------

====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Invalid opcode when using Pentium III SIMD instructions
Date: 24 Mar 2002 07:33:22 -0800
From: tapicella@mrdoc.cc (Tony Apicella)
Organization: http://groups.google.com/
Message-ID: <ca6f9542.0203240733.3fbc9be7@posting.google.com>

I have written the following assembly subroutine to use the Pentium
III SIMD instructions:

GAS LISTING sse1.s page 1
 1 .text
 2 .align 4
 3 .globl _sqrt4
 4 _sqrt4:
 5 0000 55 pushl %ebp
 6 0001 89E5 movl %esp,%ebp
 7 0003 0F284508 movaps 8(%ebp), %xmm0
 8 0007 89EC movl %ebp,%esp
 9 0009 5D popl %ebp
 10 000a C3 ret

When I load this into VxWorks, and use the disassemble memory command
to display, the movaps command is listed as a POP command, as shown
below:

- -> l 0x00a18ed4
_sqrt4
 00a18ed4 55 PUSH EBP
 00a18ed5 89 e5 MOV EBP, ESP
 00a18ed7 29 c0 SUB EAX, EAX
 00a18ed9 0f POP EAX
 00a18eda 28 45 08 SUB [EBP+8], AL
 00a18edd 89 ec MOV ESP, EBP
 00a18edf 5d POP EBP
 00a18ee0 c3 RET
 00a18ee1 90 NOP
 00a18ee2 90 NOP
value = 0 = 0x0

Excuting the routine causes the following error message:

Exception number 6: Task: 0x7ecfb2c (t1)
Invalid Opcode
Program Counter: 0x00a18ed9
Status Register: 0x0001014616e7bb
 _wdbFuncCallLibInit+eb :
_sse__Fv (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
a18e54 _sse__Fv +94 : _sqrt4 (7ecfab4)
edi = 0 esi = 0 ebp = 7ecfaa8
esp = 7ecfaa8 ebx = 7ed4600 edx = 7ecfb2c
ecx = 7ed45dc eax = 0eflags = 46
pc = a18ed9

Similar results are obtained with any SIMD command I have tried,
including MOVHPS and ADDPS.

I am using VxWorks 5.4, WIND version 2.5, with CPU "PEP CPCI CPU". I
am compiling the assembly language code using the latest version of
the GAS compiler, GNU assembler version 2.10.1 (i686-*-vxworks*). I
have also built a version of GAS with --target i586-*-vxworks with
similar results.

Also note I have used the CPUID command to verify that the processor
supports these instructions. The value in EDX after issuing a CPUID
with EAX=1 is 7ec9b4c , which indicates presence of both SSE and SSE2.

Thank you

---------------------------

Newsgroups: comp.os.vxworks
Subject: integrating packages into the project facilites
Date: Sun, 24 Mar 2002 18:17:00 +0200
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$53mhtg$8ii$1@lnews.actcom.co.il>

- --
- ------------------------
Win2k Sp2
Tornado 2.02 for PPC
Diab 4.4b
Envoy 9.2
- ------------------------
Hi.

I have two seperate packages (SNMP and STP) in addition to my tornado2.
Today, both pacakges are located on a different directory, under my main
drive. In order to add them to my vxWorks, I need to seperetedly compile
them to an archive files (two files, one for each package), and then add
them with the EXTRA_MODULE macro.

I would like to be able to do all of these from the project facility: select
them as a components, and add them to my vxWorks just by compiling/linking
them, just as I do with every other vxWorks component (telnet, shell, etc).
I dont mind moving the source files (I dont think I should, but maybe), the
works. Whatever is needed.

How can I do that?

Thanks,
- --
Ofer Goren
Iamba Technologies

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 24 Mar 2002 09:14:44 -0800
From: hjb@pso.com (Hwa Jin Bae)
Organization: http://groups.google.com/
Message-ID: <4cf902bf.0203240914.472936a9@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com> <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu>

It is not the best example of coding. But that is how integer math works in C.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Invalid opcode when using Pentium III SIMD instructions
Date: Sun, 24 Mar 2002 18:37:12 GMT
From: "Paul Iannacito" <paul.iannacito@attbi.com>
Organization: AT&T Broadband
Message-ID: <s1pn8.109505$702.21951@sccrnsc02>
References: <ca6f9542.0203240733.3fbc9be7@posting.google.com>

Hello Tony,

"Tony Apicella" <tapicella@mrdoc.cc> wrote in message
news:ca6f9542.0203240733.3fbc9be7@posting.google.com...
> I have written the following assembly subroutine to use the Pentium
> III SIMD instructions:
> ...
> I am using VxWorks 5.4, WIND version 2.5, with CPU "PEP CPCI CPU". I
> am compiling the assembly language code using the latest version of
> the GAS compiler, GNU assembler version 2.10.1 (i686-*-vxworks*). I
> have also built a version of GAS with --target i586-*-vxworks with
> similar results.

The SSE and SSE2 instructions are going to require runtime/OS and tool
(disassembler and compiler, for example) support that is not available in
the vxWorks version you are using. The runtime trouble is documented in
SPR 65337 - see the following link on WindSurf:

http://www.windriver.com/cgi-bin/windsurf/kpl/dispSpr.cgi?65337

The SPR is marked as fixed, but I do not believe that the fix is available
in
the version of vxWorks you are using.

Regards,

paul

---------------------------

Newsgroups: comp.os.vxworks
Subject: "/tffs0/" Vs. "/tffs0" what is the difference?
Date: 24 Mar 2002 13:34:43 -0800
From: roswel_ajf@hotmail.com (roswell)
Organization: http://groups.google.com/
Message-ID: <6dcae13d.0203241334.5f64cc2a@posting.google.com>

Hi all:

When bootDev is network, all is fine. In usrConfig/usrRoot() I call
usrTffsConfig (0, 0, "/tffs0"), if the bootDev is network. so when
doing "devs" from shell, I see the "/tffs0" device. good.

The problem is when bootDev is tffs. After booting, when displaying
the devices, i see, "/tffs0/" (note: with the 2nd '/'). for sure, the
bootConfig.c/bootLoad/tffsLoad() is creating this. But after the
usrConfig/usrRoot() runs, why do I still see the "/tffs0/" created by
bootConfig.c/bootLoad/tffsLoad() ? I understood that, in
usrConfig.c/usrRoot() we have stick in a usrTffsConfig(0, 0,
"/tffs0"), so regardless of how we booted, we will creat "/tffs0"
device?

It seems "/tffs0/" that got created in Boot code, did not get
re-created via usrConfig.c.

Please help to clarify this.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: uninitialized interrupt
Date: Sun, 24 Mar 2002 20:12:19 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: Bellsouth.Net
Message-ID: <3C9E7973.24C56C0@bellsouth.net>
References: <a7j6pl$6ca$1@news-int.gatech.edu>

suresh kannan wrote:

> Hi,
>
> We have code that crashes with the following error. We are unable to get
> this to happen consistently. Although it will happen at some point during a
> run. If anyone can point me towards a solution that would be perfect. Or if
> any one can provide advice on how to go about tracking this problem that
> would be most appreciated.
>
> interrupt:
> Uninitialized Interrupt!
> Vector Number 47 (0-255)
> Program Counter 0x0010cedc
> Status Register 0x00000206
>
> regards,
> suresh.

Most often caused by : caching an address range external to the CPU
board, Using a powerPC or some other system that does not ensure
in-order execution, or usng a VME interface device that does not
ensure completion of output (eg interrupt reset) prior to exiting an ISR.

I'm sure someone else could come up with more, but those seem to
be the most popular causes I've seen.

Speaking only for myself,

Joe Durusau

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: RAW Socket problem
Date: 24 Mar 2002 19:08:41 -0800
From: sai_dattathrani@infy.com (sai)
Organization: http://groups.google.com/
Message-ID: <8dff11cd.0203241908.51878995@posting.google.com>
References: <cfccb952.0203230933.5e1c5c75@posting.google.com>

e-tonyc@163.net (Tonyc) wrote in message news:<cfccb952.0203230933.5e1c5c75@posting.google.com>...
> Hi all, now I have a problem. when I write in VC, I just open a raw
> socket with "socket(AF_INET, SOCK_RAW, IPPROTO_RAW);", and it works,
> but when I use recv() to receive the data, I can not receive any
> thing, while I can use sendto() to send data successfully. I use this
> to get/send tcp/ip header and data.
>
> Can any one help me? Thanks in advance.
>
> Etonyc

Hi,
 Check if you have given IPPROTO_RAW on both the sending & receiving
side. If the protocol numbers are different between the sending &
reciving side, you will not be able to get any packets.

Rgds,
sai

---------------------------

Newsgroups: comp.os.vxworks
Subject: Tornado Windows
Date: Mon, 25 Mar 2002 03:57:39 GMT
From: "Weddick" <weddick@attbi.com>
Organization: AT&T Broadband
Message-ID: <Texn8.103833$Yv2.32006@rwcrnsc54>

Is there a way to make the shell window, debugger windows, etc come up in
the same place with the same size as I left them? Or I am I just being
picky? It's a royal pain to have to move and resize windows everytime I
start up. Granted the debugger windows come up in the same place (not
always the right size).

Thanks,

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: loadModule: Relocation value does not fit in 24 bits
Date: Mon, 25 Mar 2002 08:56:07 +0200
From: "Karin Ucitel" <karin_ucitel@iamba.com>
Organization: Verio
Message-ID: <newscache$lsqitg$eem$1@lnews.actcom.co.il>
References: <a6tuis$460$1@news.inter.net.il> <a7471c$fe6$1@snoopy.bndlg.de>

Hello,

Option 'a' suggests compiling with '-mlongcall'.
This is a GNU compilation flag.
I'm experiencing the same difficulty, only using DIAB...
Does anybody know the DIAB compatible?

Many thanks,
Karin

"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a7471c$fe6$1@snoopy.bndlg.de...
> Hi Zvika,
>
> AFAIK this has been discussed several times in the last half year:
> Your memory is more than 32MB on a PPC, right ?
> So, when your code resides in upper memory and wants to call system
> functions, it's branch address-width exceeds the standard coding width in
> PPC mnemonic. This is detected on locating your object on end of dynamic
> load. It will not occur on small code loaded via target-agent, as code
will
> now lay in target agent's local buffer,near kernel.
>
> 4 of ? workarounds:
> a) use -mlongcall in compiler directive. Result has larger and slower
code,
> but may be located anywhere.
> b) set USER_RESERVED_MEM in your BSP to an amount, you only have 32MB
left.
> Load your image after boot and call memAddToPool(USER_RESERVED_MEM).This
> will only work, if you don't need to download later on.
> c) set USER_RESERVED_MEM in your BSP to an amount, you only have 32MB
left.
> Create a secondary memory partition with memPartCreate() for your
> USER_RESERVED_MEM. All calls of malloc in your code should now be replaced
> by memPartAlloc() to this new partition.
> d) Write your own memory allocator, where you can allocate memory from
lower
> (32MB) region if available. Now do a loadModuleAt().
>
> HTH
> --
> Mit freundlichen Gren,
> Michael Lawnick
> ==============================================
> SOFTEC GmbH Tel +49-731-96600-0
> Promenade 17 Fax +49-731-96600-23
> D-89073 Ulm Michael Lawnick
> Germany lawnick@softec.de
> ==============================================
>
> "Zvika Vered" <zvivered@zahav.net.il> schrieb im Newsbeitrag
> news:a6tuis$460$1@news.inter.net.il...
> > Hello All,
> >
> > When I load an object file by calling LoadModule() or ld (1)
> > <object_filename,the console show this information :
> >
> > Relocation value does not fit in 24 bits.
> > Relocation value does not fit in 24 bits
> > ......
> >
> > But if I download this file by Tornado II,it is ok.
> > Who can help me?
> >
> >
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Some questions about mpc860t SCC&TDM wroked for E1 line!
Date: 25 Mar 2002 00:00:48 -0800
From: yong_bvcom@sina.com (bigtornado)
Organization: http://groups.google.com/
Message-ID: <5624c1bf.0203250000.2b8672c0@posting.google.com>

Hi,all:
 Anybody know where can i find some sourcecode about SCC&TDM
wroked for E1 line?
 Thanks!
 Celphone

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: integrating packages into the project facilites
Date: 25 Mar 2002 08:04:36 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91DC5C58A93DCborkhuisagerecom@135.7.153.102>
References: <newscache$53mhtg$8ii$1@lnews.actcom.co.il>

"Ofer Goren" <ofer_goren@iamba.com> wrote:
> I have two seperate packages (SNMP and STP) in addition to my
> tornado2. Today, both pacakges are located on a different directory,
> under my main drive. In order to add them to my vxWorks, I need to
> seperetedly compile them to an archive files (two files, one for each
> package), and then add them with the EXTRA_MODULE macro.
>
> I would like to be able to do all of these from the project facility:
> select them as a components, and add them to my vxWorks just by
> compiling/linking them, just as I do with every other vxWorks
> component (telnet, shell, etc). I dont mind moving the source files (I
> dont think I should, but maybe), the works. Whatever is needed.
>
> How can I do that?

You can add the archives to the main VxWorks libraries, and create a CDF
file to add a menu item, config parameters and a startup function to
Tornado. See http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt2.html#2.4 for
more info on adding components to Tornado.

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
Date: Mon, 25 Mar 2002 11:06:29 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7mp8g$m68lb$1@ID-79865.news.dfncis.de>
References: <a7kqaa$m3dti$1@ID-79865.news.dfncis.de>

=======================================================
Tornado : Version 2.0.2
VxWorks : Version 5.4.2
BSP : Version 1.1/1
Compiler : c++simpc
 gcc version egcs-2.90.29 tornado 2.0 980515
 (egcs-1.0.3 release)
Host : Windows2000
Target : VxSim for Windows (VxWorks target simulator)
=======================================================

The cobble.c has been changed one more.

Here are some question concerning its behavior.

In functions test1() and progStart()
 * cout, fprint (stdout, ...) and envShow()
 print to Tornado Shell Window.
 * cerr, fprint (stderr, ...)
 print to Target Simulator Window.

In all other functions
 * cout, cerr, fprint (stdout, ...), fprint (stderr, ...) and envShow()
 print to Target Simulator Window.

Any explanations?

 Thanks in advance.

|| ###### C++-code : BEGIN ######
// Changed cobble.c

// cobble.c - sample program for tutorial in Tornado Getting Started Guide

// This code is intentionally left buggy!

// -----------------------------
//
// modification history
// --------------------
// 01a,01apr99,ems written
// 2002-03-25 Alex Vinokur
// -----------------------------

/*
DESCRIPTION:
This module is used as a simple example multitask application
in the Tornado Getting Started Guide. It is intended to help
the new Tornado user quickly become familiar with various
Tornado tools that are available for debugging such
applications.

The program simulates a data collection system in which
data is retrieved from an external source (e.g. a device
which generates interrupts as data come in). A task simulating
the ISR gives a semaphore each time a new datum arrives. (This
task could easily be replaced by a VxWorks watchdog timer.)

The data are processed in two stages. First, a sample consisting
of NUM_SAMPLE data is collected. Second, various arcane
arithmetical operations are performed on the sample to obtain
a result value. Each stage is represented by a task; the
first task gives a binary semaphore when the second task should
begin the second stage work.

The value of the result of the processing is monitored by yet
another task, which prints a warning messages whenever the result
is out of the safety range.

INCLUDE FILES: None.
*/

// includes

#include "vxWorks.h"
#include "envLib.h"
#include "stdio.h"
#include "stdlib.h"
#include "semLib.h"
#include "taskLib.h"
#include "iostream.h"

// macro
#define D1SHOW(x) \
 cout << "+[ " << __FILE__ << ", #" << __LINE__ << "; " << __FUNCTION__ <<
" ] " x << " (via cout)" << endl; \
 cerr << "+[ " << __FILE__ << ", #" << __LINE__ << "; " << __FUNCTION__ <<
" ] " x << " (via cerr)" << endl; \
 fprintf (stdout, "-[ %s, #%d; %s ] %s (via stdout)\n", __FILE__, __LINE__,
__FUNCTION__, x); \
 fprintf (stderr, "-[ %s, #%d; %s ] %s (via stderr)\n", __FILE__, __LINE__,
__FUNCTION__, x)

// defines

#define NUM_SAMPLE 10
#define LUCKY 7
#define HOT 20
#define DELAY_TICKS 4

#define STACK_SIZE 20000

// run states, provides for shutdown in stages; ensures that no
// routine tries to take a semaphore that no longer exists

#define ALL_GO 0
#define COSMOS_STOP 1
#define SCHLEP_STOP 2
#define CRUNCH_STOP 3
#define ALL_STOP 4

// typedefs

typedef struct byLightning
{
int data;
int nodeNum;
struct byLightning * pPrevNode;
} LIST_NODE;

// globals

int tidCosmos; // Task IDs
int tidSchlep;
int tidCrunch;
int tidMonitor;

int cosmicData = 0; // Holds a datum available to read
int result = 0; // Holds result of calculation

volatile UINT8 runState = ALL_STOP; // controls shutdown

LIST_NODE * pCurrNode = NULL; // head of list of data

SEM_ID dataSemId; // Given when a datum is available
SEM_ID syncSemId; // Given when a data sample can be crunched
SEM_ID currNodeSemId; // Given when pointer to current node can be accessed

// forward declarations

void cosmos (void);
void nodeAdd (int data, int nodeNum);
void schlep (void);
void nodeScrap (void);
void crunch (void);
void monitor (void);
void progStop (void);

// ########################################
//
// test1 program
//
// ########################################

STATUS test1 (void)
{
 D1SHOW ("STATRT");
 envShow(0);
 D1SHOW ("RETURN");
 return (OK);
}

// ########################################
//
// progStart - start the sample program.
//
// Create various semaphores and spawn various tasks, while doing
// incredibly little error checking.
//
// RETURNS: OK
//
// ########################################

STATUS progStart (void)
{

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 syncSemId = semBCreate (SEM_Q_FIFO, SEM_EMPTY);
 dataSemId = semBCreate (SEM_Q_FIFO, SEM_EMPTY);

 currNodeSemId = semMCreate ( SEM_Q_PRIORITY
 | SEM_INVERSION_SAFE
 | SEM_DELETE_SAFE
 );

 pCurrNode = NULL; // just in case

 // --- get started ---

 runState = ALL_GO;

 tidCosmos = taskSpawn (
 "tCosmos",
 200,
 0,
 STACK_SIZE,
 (FUNCPTR) cosmos,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0
 );

 tidSchlep = taskSpawn (
 "tSchlep",
 220,
 0,
 STACK_SIZE,
 (FUNCPTR) schlep,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0
 );

 // ----------------------------------------------
 // priority mis-assignment provides desired educational
 // malfunction of never allowing tCrunch to run because
 // tMonitor is higher priority
 // ----------------------------------------------

 tidCrunch = taskSpawn (
 "tCrunch",
 240,
 0,
 STACK_SIZE,
 (FUNCPTR) crunch,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0
 );

 tidMonitor = taskSpawn (
 "tMonitor",
 250,
 0,
 STACK_SIZE,
 (FUNCPTR) monitor,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
 0
 );

 return (OK);
} // progStart

// ########################################
//
// cosmos - simulate data arrival interrupt
//
// This routine is executed by a task which serves as a replacement for
// an ISR which signals the availability of data from some device.
// It periodically gives the semaphore dataSemId to indicate that a
// datum is available and may be read from the cosmicData variable.
//
// ########################################

void cosmos (void)
{
int nadaNichtsIdx = 0;

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 while (runState == ALL_GO)
 {
 if (nadaNichtsIdx != LUCKY)
 {
 cosmicData = rand ();
 }
 else
 {
 cosmicData = 0; // because you can't wait forever for nothing
 nadaNichtsIdx = 0;
 }

 ++nadaNichtsIdx;

 // --- semaphore and delay ensure only new data will be read ---
 semGive (dataSemId);
 taskDelay (DELAY_TICKS);

 } // while (runState == ALL_GO)

 runState = SCHLEP_STOP;
 semGive (dataSemId);

 D1SHOW ("FINISH");

} // cosmos

// ########################################
//
// nodeAdd - link a new node to front of data chain.
//
// Allocates and initializes a node, puts it onto the data chain.
//
// RETURNS: N/A
// ########################################

void nodeAdd (
 int data,
 int nodeNum
 )
{
LIST_NODE * node;

 //D1SHOW ("START");

 if ( (node = (LIST_NODE *) malloc (sizeof (LIST_NODE))) != NULL)
 {
 node->data = data;
 node->nodeNum = nodeNum;

 semTake (currNodeSemId, WAIT_FOREVER);
 node->pPrevNode = pCurrNode;
 pCurrNode = node;
 semGive (currNodeSemId);
 }
 else
 {
 D1SHOW ("cobble: Out of Memory");
 taskSuspend (0);
 }

 //D1SHOW ("FINISH");

} // nodeAdd

// ########################################
//
// schlep - collect data into a sample to be processed
//
// Repeatedly, wait for and place NUM_SAMPLE data onto the list,
// then awaken the cruncher.
//
// ########################################

void schlep (void)
{
int nodeIdx;

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 FOREVER
 {
 for (nodeIdx = 0; nodeIdx < NUM_SAMPLE; nodeIdx++)
 {
 // --- Wait for datum ---
 semTake (dataSemId, WAIT_FOREVER);

 if (runState == SCHLEP_STOP)
 {
 runState = CRUNCH_STOP;
 semGive (syncSemId);
 return;
 }

 nodeAdd (cosmicData, nodeIdx);

 } // for ...

 // --- Wake up the cruncher! ---
 semGive (syncSemId);

 } // FOREVER

 D1SHOW ("FINISH");

} // schlep

// ########################################
//
// nodeScrap - relegate a node to the dust bin of history
//
// ########################################

void nodeScrap (void)
{
LIST_NODE * pTmpNode;

 //D1SHOW ("START");

 pTmpNode = pCurrNode;
 pCurrNode = pCurrNode->pPrevNode;
 free (pTmpNode);

 // D1SHOW ("FINISH");
}

// ########################################
//
// crunch - process data samples
//
// Applies dubious transformations to data.
// But first it waits for the schlepper to send it a sample.
//
// ########################################

void crunch (void)
{
int sampleSum =0;
int div;
BOOL quit = FALSE;

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 while (!quit)
 {
 // --- Wait for dinner ---
 semTake (syncSemId, WAIT_FOREVER);

 if (runState == CRUNCH_STOP) quit = TRUE;

 // --- reserve access to pCurrNode ---
 semTake (currNodeSemId, WAIT_FOREVER);

 while (pCurrNode != NULL)
 {
 sampleSum += pCurrNode->data;
 div = pCurrNode->data;
 nodeScrap ();
 }

 // --- release access to pCurrNode ---
 semGive (currNodeSemId);

 // --- exception problem and the silly fix ---
 result = sampleSum / div;

 // if (div != 0) result = sampleSum/div;

 // --- Clean up for the next round ---
 sampleSum = 0;

 } // while (!quit)

 runState = ALL_STOP;

 D1SHOW ("FINISH");

} // crunch

// ########################################
//
// monitor - monitors results of calculation
//
// Checks results of calculation and prints warning if too hot.
//
// ########################################

void monitor (void)
{
int isHot = 0;
int isNot = 0;

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 while (runState == ALL_GO)
 {
 if (!isHot && result >= HOT)
 {
 isHot = 1;
 D1SHOW ("WARNING: HOT!");
 }
 else
 {
 if (isHot && result < HOT)
 {
 isHot = 0;
 D1SHOW ("OK!");
 }
 }
 } // while

 D1SHOW ("FINISH");

} // monitor

// ########################################
//
// progStop - stops the program
//
// Call this routine to end it all.
//
// ########################################

void progStop (void)
{

 D1SHOW ("START-A");
 envShow(0);
 D1SHOW ("START-B");

 runState = COSMOS_STOP;

 // --- Wait for everyone to finish up ---
 while (runState != ALL_STOP)
 {
 taskDelay (1);
 }

 // --- Clean up ---
 semDelete (dataSemId);
 semDelete (syncSemId);
 semDelete (currNodeSemId);

 D1SHOW ("BYE!TSCHUESS!ADIEU!");

 D1SHOW ("FINISH");

} // progStop

|| ###### C++-code : END ########

|| ====== Tornado Shell Window : BEGIN ======

 Copyright 1995-1999 Wind River Systems, Inc.

C++ Constructors/Destructors Strategy is AUTOMATIC

- -> test1
+[ D:/projects/demo/cobble.c, #126; test1 ] STATRT (via cout)
- -[ D:/projects/demo/cobble.c, #126; test1 ] STATRT (via stdout)
(global environment)
+[ D:/projects/demo/cobble.c, #128; test1 ] RETURN (via cout)
- -[ D:/projects/demo/cobble.c, #128; test1 ] RETURN (via stdout)
value = 0 = 0x0
- -> progStart
+[ D:/projects/demo/cobble.c, #149; progStart ] START-A (via cout)
- -[ D:/projects/demo/cobble.c, #149; progStart ] START-A (via stdout)
(global environment)
+[ D:/projects/demo/cobble.c, #151; progStart ] START-B (via cout)
- -[ D:/projects/demo/cobble.c, #151; progStart ] START-B (via stdout)
value = 0 = 0x0
- ->
Exception number 0: Task: 0x4b17528 (tCrunch)

Divide Error
Program Counter: 0x0495df86
Status Register: 0x00010202

4276cf _vxTaskEntry +47 : 495df84 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

|| ====== Tornado Shell Window : END ========

|| ------ The Target Simulator Window : BEGIN ------

 VxWorks

Copyright 1984-1998 Wind River Systems, Inc.

 CPU: VxSim for Windows
 VxWorks: 5.4.2
 BSP version: 1.1/1
 Creation date: Jan 29 2001
 WDB: Ready.

+[ D:/projects/demo/cobble.c, #126; test1 ] STATRT (via cerr)
- -[ D:/projects/demo/cobble.c, #126; test1 ] STATRT (via stderr)
+[ D:/projects/demo/cobble.c, #128; test1 ] RETURN (via cerr)
- -[ D:/projects/demo/cobble.c, #128; test1 ] RETURN (via stderr)
+[ D:/projects/demo/cobble.c, #149; progStart ] START-A (via cerr)
- -[ D:/projects/demo/cobble.c, #149; progStart ] START-A (via stderr)
+[ D:/projects/demo/cobble.c, #151; progStart ] START-B (via cerr)
- -[ D:/projects/demo/cobble.c, #151; progStart ] START-B (via stderr)
+[ D:/projects/demo/cobble.c, #266; cosmos ] START-A (via cout)
+[ D:/projects/demo/cobble.c, #266; cosmos ] START-A (via cerr)
- -[ D:/projects/demo/cobble.c, #266; cosmos ] START-A (via stdout)
- -[ D:/projects/demo/cobble.c, #266; cosmos ] START-A (via stderr)
(global environment)
+[ D:/projects/demo/cobble.c, #268; cosmos ] START-B (via cout)
+[ D:/projects/demo/cobble.c, #268; cosmos ] START-B (via cerr)
- -[ D:/projects/demo/cobble.c, #268; cosmos ] START-B (via stdout)
- -[ D:/projects/demo/cobble.c, #268; cosmos ] START-B (via stderr)
+[ D:/projects/demo/cobble.c, #350; schlep ] START-A (via cout)
+[ D:/projects/demo/cobble.c, #350; schlep ] START-A (via cerr)
- -[ D:/projects/demo/cobble.c, #350; schlep ] START-A (via stdout)
- -[ D:/projects/demo/cobble.c, #350; schlep ] START-A (via stderr)
(global environment)
+[ D:/projects/demo/cobble.c, #352; schlep ] START-B (via cout)
+[ D:/projects/demo/cobble.c, #352; schlep ] START-B (via cerr)
- -[ D:/projects/demo/cobble.c, #352; schlep ] START-B (via stdout)
- -[ D:/projects/demo/cobble.c, #352; schlep ] START-B (via stderr)
+[ D:/projects/demo/cobble.c, #417; crunch ] START-A (via cout)
+[ D:/projects/demo/cobble.c, #417; crunch ] START-A (via cerr)
- -[ D:/projects/demo/cobble.c, #417; crunch ] START-A (via stdout)
- -[ D:/projects/demo/cobble.c, #417; crunch ] START-A (via stderr)
(global environment)
+[ D:/projects/demo/cobble.c, #419; crunch ] START-B (via cout)
+[ D:/projects/demo/cobble.c, #419; crunch ] START-B (via cerr)
- -[ D:/projects/demo/cobble.c, #419; crunch ] START-B (via stdout)
- -[ D:/projects/demo/cobble.c, #419; crunch ] START-B (via stderr)
+[ D:/projects/demo/cobble.c, #471; monitor ] START-A (via cout)
+[ D:/projects/demo/cobble.c, #471; monitor ] START-A (via cerr)
- -[ D:/projects/demo/cobble.c, #471; monitor ] START-A (via stdout)
- -[ D:/projects/demo/cobble.c, #471; monitor ] START-A (via stderr)
(global environment)
+[ D:/projects/demo/cobble.c, #473; monitor ] START-B (via cout)
+[ D:/projects/demo/cobble.c, #473; monitor ] START-B (via cerr)
- -[ D:/projects/demo/cobble.c, #473; monitor ] START-B (via stdout)
- -[ D:/projects/demo/cobble.c, #473; monitor ] START-B (via stderr)
+[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via cout)
+[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via cerr)
- -[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via stdout)
- -[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via stderr)
+[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via cout)
+[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via cerr)
- -[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via stdout)
- -[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via stderr)
+[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via cout)
+[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via cerr)
- -[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via stdout)
- -[ D:/projects/demo/cobble.c, #480; monitor ] WARNING: HOT! (via stderr)
+[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via cout)
+[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via cerr)
- -[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via stdout)
- -[ D:/projects/demo/cobble.c, #487; monitor ] OK! (via stderr)
Exception !
 Vector 0 : Divide Error
 Program Counter : 0x0495df86
 Status Register : 0x00010202

|| ------ The Target Simulator Window : END --------

- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Finding VxWorks version
Date: Mon, 25 Mar 2002 12:13:29 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7mt64$m6agb$1@ID-79865.news.dfncis.de>
References: <a7k7e8$lm14a$1@ID-79865.news.dfncis.de>

"Alex Vinokur" <alexvn@bigfoot.com> wrote in message
news:a7k7e8$lm14a$1@ID-79865.news.dfncis.de...
> =============================================
> Tornado Version 2.0.2
> Host : Windows2000
> Target : VxSim (VxWorks target simulator)
> =============================================
>
> I can't find in documentation what is VxWorks version.
>
> Any suggestions how to find that ?
>
> Thanks in advance,
>

The Tornado Shell's version() command in Tornado Shell Window.
For instance,

- -> version
VxWorks (for VxSim for Windows) version 5.4.2.
Kernel: WIND version 2.5
Made on Jan 29 2001, 12:16:20.
Boot line:
nt(0,0)host:D:/sys2/Tornado/target/config/simpc/vxWorks.exe h=90.0.0.254
e=90.0.0.1 u=user
 .
value = 0 = 0x0
- ->

- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
Date: Mon, 25 Mar 2002 11:04:59 +0000 (UTC)
From: "Franco Bassetti" <francobassetti@hotmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <0f4065205973cc2a9cf7227fa59c2867.37262@mygate.mailgate.org>
References: <6dcae13d.0203241334.5f64cc2a@posting.google.com>

I have a call to usrTffsConfig(0,0,"/tffs0");
in usrAppInit
may be you too, try to see there otherwise try with
a find usrTffsConfig

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.os.vxworks
Subject: Examples for working with Ethernet ( EndDriver, Mux)
Date: 25 Mar 2002 03:56:25 -0800
From: Vladimir.Kharakh@ecitele.com (Vlady)
Organization: http://groups.google.com/
Message-ID: <e0ebe230.0203250356.4c8998b1@posting.google.com>

Hi all,
Does anyone know about VxWorks examples library for working with Ethernet
 (EndDriver, Mux)?

I am working with IBM PPC 405GP.

Thanks,

Vladimir Kharakh
E-mail mailto:Vladimir.Kharakh@innowave-ws.com
URL http://www.innowave-ws.com
________________________________________

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Finding VxWorks version
Date: Mon, 25 Mar 2002 11:57:34 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9F111F.3080504@spamm.me.l8s.co.uk>
References: <a7k7e8$lm14a$1@ID-79865.news.dfncis.de> <a7mt64$m6agb$1@ID-79865.news.dfncis.de>

> The Tornado Shell's version() command in Tornado Shell Window.
> For instance,
>
> -> version
> VxWorks (for VxSim for Windows) version 5.4.2.
> Kernel: WIND version 2.5
> Made on Jan 29 2001, 12:16:20.
> Boot line:
> nt(0,0)host:D:/sys2/Tornado/target/config/simpc/vxWorks.exe h=90.0.0.254
> e=90.0.0.1 u=user

Yes - gives out the password for ftp access and omits the BSP version.

	David

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Mon Mar 25 21:04:40 2002
From: "Sajjad Ahmed" <sajjada@future.futsoft.com>
Date: Mon Mar 25 21:04:43 PST 2002
Subject: tNetTask Hang

Hi All,

I have even posted this question before .

1) Why does vxWorks System Hangs when you have
 semTake (semId. WAIT_FOREVER) in the
 handler function called by netJobAdd.

 Seems there is problem with tNetTask.

 can any one point me out this problem and give
 me a detail picture how tNetTask works.

+ _Sajjad Ahmed.
***************************************************************************
This message is proprietary to Future Software Limited (FSL)
and is intended solely for the use of the individual to whom it
is addressed. It may contain privileged or confidential information
and should not be circulated or used for any purpose other than for
what it is intended.

If you have received this message in error, please notify the
originator immediately. If you are not the intended recipient,
you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message.
FSL accepts no responsibility for loss or damage arising from
the use of the information transmitted by this email including
damage from virus.
***************************************************************************

From vxwexplo-errs@csg.lbl.gov Tue Mar 26 04:03:13 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Mar 26 04:03:15 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Tue Mar 26 04:03:09 PST 2002

 Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
 Subject: Re: uninitialized interrupt
 Subject: Analyze Windview Logs
 Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
 Subject: Re: Analyze Windview Logs
 Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
 Subject: Re: Porting a board to Vxworks?
 Subject: Booting vxWorks image
 Subject: Re: VERIFY_AFTER_WRITE in tffs
 Subject: vxWorks system calls
 Subject: malloc in a device driver. [newbie question]
 Subject: Re: Booting vxWorks image
 Subject: Re: vxWorks system calls
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: The "unsupported" WRS Telnet server hanging
 Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
 Subject: Building VxWorks image using Tornado Prototyper
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: vxWorks system calls
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Strange /CS timing with GPCM on 8260 (SETA=1)
 Subject: Re: Building VxWorks image using Tornado Prototyper
 Subject: Re: Examples for working with Ethernet ( EndDriver, Mux)

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
Date: Mon, 25 Mar 2002 12:05:54 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9F1311.7000304@spamm.me.l8s.co.uk>
References: <6dcae13d.0203241334.5f64cc2a@posting.google.com>

roswell wrote:

> Hi all:
>
> When bootDev is network, all is fine. In usrConfig/usrRoot() I call
> usrTffsConfig (0, 0, "/tffs0"), if the bootDev is network. so when
> doing "devs" from shell, I see the "/tffs0" device. good.
>
> The problem is when bootDev is tffs. After booting, when displaying
> the devices, i see, "/tffs0/" (note: with the 2nd '/'). for sure, the
> bootConfig.c/bootLoad/tffsLoad() is creating this. But after the
> usrConfig/usrRoot() runs, why do I still see the "/tffs0/" created by
> bootConfig.c/bootLoad/tffsLoad() ? I understood that, in
> usrConfig.c/usrRoot() we have stick in a usrTffsConfig(0, 0,
> "/tffs0"), so regardless of how we booted, we will creat "/tffs0"
> device?
>
> It seems "/tffs0/" that got created in Boot code, did not get
> re-created via usrConfig.c.
>
> Please help to clarify this.
>

Well, since vxWorks doesn't parse filenames (they are treated as
strings) until you get into the fs code itself, if you call a
filesystem "/tffs0" then names like "/tffs0fred" are passed into
the fs code which will treat them as being identical to "/tffs0/fred"
this probably isn't quite what you had in mind:-)

So in order to require the "/" between the filesystem name and a
file within the system you need to end the filesystem name with a "/".
Unfortunately this is counter intuitive and not processed
consistently within vxWorks.

The worst culprit is the NFS export code which, when matching the name
supplied by the remote system, strips a '/' of the wrong name!
So of you export "/fred/" you have to specify "/fred//" in order to
mount it (from a unix system). You might think this is a bug,
however attepts to raise it failed because the documentation says
(somewhere) that NFS exported FS must not end in a '/'.

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: uninitialized interrupt
Date: Mon, 25 Mar 2002 12:07:52 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9F138A.3060304@spamm.me.l8s.co.uk>
References: <a7j6pl$6ca$1@news-int.gatech.edu> <3C9E7973.24C56C0@bellsouth.net>

> I'm sure someone else could come up with more, but those seem to
> be the most popular causes I've seen.

Best one I saw was a VMEbus ethernet card [1] that used a 74xx646
(bidirectional octal buffer with internal latch) to buffer the
lower 8 bits of the vmebus data bus.

When the on board software requested a vmebus interrupt, the
vector number was put into the latch, during the IACK cycle the
contents of the latch were driven onto the vmebus.

Unfortunately if another write bus cycle happened before the IACK
cycle, it was quite likely that the effort of driving the vmebus
would cause the ground level inside the '646 to rise thus
corrupting the contents of the latch - and hence the vector number.

I recall it was 'fixed' by changing from an LS646 to an F646.

[1] An interesting little card (ok it had a full sized daughterboard)
with a 68020 and a split memory architecture that allowed the cpu,
lance and DMA based vmebus master interface to run concurrently at
full speed. Mind you only having a DMA bus master, and reads being
1k read-modify-write cycle [2] made the software interesting!

[2] it used video memory for the shared area, using the serial
interface for the vmebus dma.

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Analyze Windview Logs
Date: Mon, 25 Mar 2002 13:23:29 +0100
From: Walter Zimmer <walter.zimmer@esk.fhg.de>
Organization: FhG - ESK
Message-ID: <3C9F16C1.A3963C79@esk.fhg.de>

Hi!

I just recovered tons of windview logs and now want to analyze the
gathered data. The "Export to Excel"-Button doesn't work although
Excel is installed.

So, did someone incidentally write a perl extractor for .wvr files
or has any hints about their data format?

Many thanks,
Walter
- --
Fraunhofer-Einrichtung Systeme der Kommunikationstechnik (ESK)

Walter Zimmer Hansastrae 32
Dipl.-Inf. D-80686 Mnchen
 Telefon: +49(0)89-547088-344
walter.zimmer@esk.fraunhofer.de Telefax: +49(0)89-547088-221

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
Date: Mon, 25 Mar 2002 14:57:44 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7n6q2$mhggr$1@ID-79865.news.dfncis.de>
References: <a7kqaa$m3dti$1@ID-79865.news.dfncis.de> <a7mp8g$m68lb$1@ID-79865.news.dfncis.de>

"Alex Vinokur" <alexvn@bigfoot.com> wrote in message
news:a7mp8g$m68lb$1@ID-79865.news.dfncis.de...
>
> =======================================================
> Tornado : Version 2.0.2
> VxWorks : Version 5.4.2
> BSP : Version 1.1/1
> Compiler : c++simpc
> gcc version egcs-2.90.29 tornado 2.0 980515
> (egcs-1.0.3 release)
> Host : Windows2000
> Target : VxSim for Windows (VxWorks target simulator)
> =======================================================
>
>
> The cobble.c has been changed one more.
>
> Here are some question concerning its behavior.
>
> In functions test1() and progStart()
> * cout, fprint (stdout, ...) and envShow()
> print to Tornado Shell Window.
> * cerr, fprint (stderr, ...)
> print to Target Simulator Window.
>
> In all other functions
> * cout, cerr, fprint (stdout, ...), fprint (stderr, ...) and envShow()
> print to Target Simulator Window.
>

Is it possible similar behavior with real target (not Target Simulator)?

> Any explanations?
>
> Thanks in advance.
>
>

[snip]
- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Analyze Windview Logs
Date: Mon, 25 Mar 2002 14:13:55 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7n7qk$vvk$1@snoopy.bndlg.de>
References: <3C9F16C1.A3963C79@esk.fhg.de>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9524dc5.dip.t-dialin.net

Hi Walter,

as WRS-support told me once upon a time, 'export' only works with American
version of Excel, so if you have it at hand ...

HTH
Michael Lawnick

"Walter Zimmer" <walter.zimmer@esk.fhg.de> schrieb im Newsbeitrag
news:3C9F16C1.A3963C79@esk.fhg.de...
> Hi!
>
> I just recovered tons of windview logs and now want to analyze the
> gathered data. The "Export to Excel"-Button doesn't work although
> Excel is installed.
>
> So, did someone incidentally write a perl extractor for .wvr files
> or has any hints about their data format?
>
> Many thanks,
> Walter
> --
> Fraunhofer-Einrichtung Systeme der Kommunikationstechnik (ESK)
>
> Walter Zimmer Hansastrae 32
> Dipl.-Inf. D-80686 Mnchen
> Telefon: +49(0)89-547088-344
> walter.zimmer@esk.fraunhofer.de Telefax: +49(0)89-547088-221

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Tornado Shell Window & Target Simulator Window, cout & printf
Date: Mon, 25 Mar 2002 16:11:38 +0200
From: "Alex Vinokur" <alexvn@bigfoot.com>
Organization: Scopus
Message-ID: <a7nb4l$ms5dh$1@ID-79865.news.dfncis.de>
References: <a7kqaa$m3dti$1@ID-79865.news.dfncis.de> <a7mp8g$m68lb$1@ID-79865.news.dfncis.de>

"Alex Vinokur" <alexvn@bigfoot.com> wrote in message
news:a7mp8g$m68lb$1@ID-79865.news.dfncis.de...
>
> =======================================================
> Tornado : Version 2.0.2
> VxWorks : Version 5.4.2
> BSP : Version 1.1/1
> Compiler : c++simpc
> gcc version egcs-2.90.29 tornado 2.0 980515
> (egcs-1.0.3 release)
> Host : Windows2000
> Target : VxSim for Windows (VxWorks target simulator)
> =======================================================
>
>
> The cobble.c has been changed one more.
>
> Here are some question concerning its behavior.
>
> In functions test1() and progStart()
> * cout, fprint (stdout, ...) and envShow()
> print to Tornado Shell Window.
> * cerr, fprint (stderr, ...)
> print to Target Simulator Window.
>
> In all other functions
> * cout, cerr, fprint (stdout, ...), fprint (stderr, ...) and envShow()
> print to Target Simulator Window.
>

The ioTaskStdGet( ) function was used in order to analize the sitiation.

- ----------------------------------------------------------------------------
- ---
Fragment of the description
- ----------------------------------------------------------------------------
- -------------------
ioTaskStdGet( )
NAME
 ioTaskStdGet( ) - get the file descriptor for task standard
input/output/error

SYNOPSIS

int ioTaskStdGet
 (
 int taskId, /* ID of desired task (0 = self) */
 int stdFd /* std input (0), output (1), or error (2) */
 )
DESCRIPTION
 This routine returns the current underlying file descriptor for
task-specific standard input, output, and error.

 --------------------------------------------------------------------------
- ---------------------

 The following results have been received :

 * for test1() and progStart() : ioTaskStdGet( 0, 1) != ioTaskStdGet( 0,
2)

 * for other functions : ioTaskStdGet( 0, 1) == ioTaskStdGet( 0, 2).

 What causes it?

> Any explanations?
>
> Thanks in advance.
>
>

- --
====================
 Alex Vinokur
 http://up.to/alexvn
 http://go.to/alexv_math
 mailto:alexvn@bigfoot.com
 mailto:alexvn@go.to
 ====================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Porting a board to Vxworks?
Date: Mon, 25 Mar 2002 16:37:04 +0100
From: Markus Pietrek <mpietrek@fsforth.de>
Organization: FS Forth Systeme GmbH
Message-ID: <a7nfuh$ot6$00$1@news.t-online.com>
References: <1a047b5a.0203220236.37215514@posting.google.com>

Raja Ganesan wrote:

> "Porting a board to Vxworks", What does this mean?
> what are the steps that should be follwed for porting the board to
> Vxworks. would anyone detail it.
> Expecting your help.

Depending on the BSPs you have or you may get it means little or a lot of
work. If you are lucky you have similar boards and just have to change the
memory addresses and/or chip selects in some few source files.

But if you are unlucky you have the necessary libraries (e.g. x86 or
ARM7TDMI based) but have to adapt or redevelop the timers, interrupt
handlers, cache management, ethernet and serial drivers by yourself.

For more detailed answers please give more details.

Bye,
Markus Pietrek

---------------------------

Newsgroups: comp.os.vxworks
Subject: Booting vxWorks image
Date: Mon, 25 Mar 2002 08:55:20 -0700
From: Shawn Baldwin <sabaldwin@west.raytheon.com>
Organization: Raytheon Company
Message-ID: <3C9F4868.782BF378@west.raytheon.com>

I can not get my vxWorks image to boot itself on our Ppmc750. However
my vxWorks image will boot itself when the JTAG ICE emulator controls
the execution of code! So when I remove the JTAG to have the board boot
itself it produces the following message through the COM1 port:

 "mux Dev Load failed for device entry 0!
 Could not find fei0
 Attaching interface lo0... done

 instruction address breakpoint exception
 Exception current instruction address: 0x00000700
 Machine Status Register: 0x00001000
 Task: 0x1fffdf8 "tRootTask"

If anyone could assist, I'd greatly appreciate it! Thanks!

Shawn Baldwin

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: VERIFY_AFTER_WRITE in tffs
Date: Mon, 25 Mar 2002 19:07:25 +0000 (UTC)
From: "Franco Bassetti" <francobassetti@hotmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <bbc64fcc5ade38c3e8ea3b3b47109286.37262@mygate.mailgate.org>
References: <ac01ced359a96baadc4c0a534e3dc608.37262@mygate.mailgate.org>

Does anybody use VERIFY_AFTER_WRITE?

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.os.vxworks
Subject: vxWorks system calls
Date: Mon, 25 Mar 2002 20:02:05 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <1nLn8.7846$f5.527808@news>

In vxworks do system call cause a context switch ?

... I assume no because there is no memory protection ...

Cheers,
Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: malloc in a device driver. [newbie question]
Date: 25 Mar 2002 13:20:09 -0800
From: google@drforehead.net (Nick Forrette)
Organization: http://groups.google.com/
Message-ID: <576881c0.0203251320.5ade1f69@posting.google.com>

In a nutshell, is it legal to allocate memory with malloc inside of a
(character) device driver in VxWorks?

I've done some searching through the programmers guide, the windriver
community forums, and comp.os.vxworks, but didn't see anything that
addressed the question.

Based on what I've read thus far, all code in VxWorks runs in the most
priviledged mode of the target processor. In a more traditional
environment, malloc would be a part of user mode libc (thus not
readily available to a device driver). This is not the case with
VxWorks. (NB: this won't be called from and interupt handler. It will
only be called by the functions registered to handle
open/close/read/write/etc).

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Booting vxWorks image
Date: Tue, 26 Mar 2002 09:20:25 +1030
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3C9FA9B1.EDCAD1B@dsto.defence.gov.au>
References: <3C9F4868.782BF378@west.raytheon.com>

Are you using T2.0 or T2.1?

Shawn Baldwin wrote:

> I can not get my vxWorks image to boot itself on our Ppmc750. However
> my vxWorks image will boot itself when the JTAG ICE emulator controls
> the execution of code! So when I remove the JTAG to have the board boot
> itself it produces the following message through the COM1 port:
>
> "mux Dev Load failed for device entry 0!
> Could not find fei0
> Attaching interface lo0... done
>
> instruction address breakpoint exception
> Exception current instruction address: 0x00000700
> Machine Status Register: 0x00001000
> Task: 0x1fffdf8 "tRootTask"
>
> If anyone could assist, I'd greatly appreciate it! Thanks!
>
> Shawn Baldwin

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks system calls
Date: Mon, 25 Mar 2002 23:15:09 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3C9FAFEE.9020308@spamm.me.l8s.co.uk>
References: <1nLn8.7846$f5.527808@news>

Jim wrote:

> In vxworks do system call cause a context switch ?
>
> ... I assume no because there is no memory protection ...

The new vxWorks AE might do something....

But traditionally vxWorks has not 'context' to switch! and
nothing that is a 'system call' really. Everything is just
a normal function call.

Process switches happen on return from an ISR, or as a direct
result of an action (eg giving a semaphore to a higher
priority task).

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 25 Mar 2002 15:55:59 -1000
From: Jim Thomas <thomas@atlas.cfht.hawaii.edu>
Organization: Canada France Hawai`i Telescope
Message-ID: <wwn0wwm6s0.fsf@atlas.cfht.hawaii.edu>
References: <5c074538.0203122254.56279c06@posting.google.com> <newscache$fopwsg$pro$1@lnews.actcom.co.il> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com> <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203240914.472936a9@posting.google.com>

>> I wrote but was not quoted:

 HJB> It is worse then that actually, because the calculation for the usec
 HJB> -> ticks conversion is entirely done in integer math, with associated
 HJB> rounding down. ....

Jim> Down? That does, as you say, make it worse. Why down? If I dumbly
Jim> ask for 10ms, I certainly don't mean 0!

>>>>> "HJB" == Hwa Jin Bae <hjb@pso.com> writes:

 HJB> It is not the best example of coding. But that is how integer math
 HJB> works in C.

I was under the impression that integer math worked that way in general. I
was also under the impression that there were "well known" ways of doing
useful arithmetic in spite of that. Like (x + (n - 1))/n .....

Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: The "unsupported" WRS Telnet server hanging
Date: 25 Mar 2002 18:27:25 -0800
From: chrismooremobile@yahoo.com (Chris Moore)
Organization: http://groups.google.com/
Message-ID: <e229ec7e.0203251827.694278d5@posting.google.com>

Hi,

I've been using the unsupported WRS telnet daemon for a while now and
have not noticed any huge problems. BUT! When I have the CPU loaded
(according to the spylib) I get some problems with the telnet client
task hanging, if I do a netstat from my machine or from the VxWorks
target I see that the msgq is filled and doesnt clear out at all...

Has anyone else experienced this problem?

Chris

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: "/tffs0/" Vs. "/tffs0" what is the difference?
Date: 25 Mar 2002 20:57:58 -0800
From: roswel_ajf@hotmail.com (roswell)
Organization: http://groups.google.com/
Message-ID: <6dcae13d.0203252057.11143d82@posting.google.com>
References: <6dcae13d.0203241334.5f64cc2a@posting.google.com>

hi folks:

what i found is, netLoadSymTbl() is called from usrConfig.c/usrRoot(),
which in turns call usrTffsConfig (withbootline). which in turns call
devSplit() which adds the 2nd '/', so this is why we have "/tffs0/".
so i fixed the devSplit() in usrExtra.c, my issue is fixed. thanks

roswel_ajf@hotmail.com (roswell) wrote in message news:<6dcae13d.0203241334.5f64cc2a@posting.google.com>...
> Hi all:
>
> When bootDev is network, all is fine. In usrConfig/usrRoot() I call
> usrTffsConfig (0, 0, "/tffs0"), if the bootDev is network. so when
> doing "devs" from shell, I see the "/tffs0" device. good.
>
> The problem is when bootDev is tffs. After booting, when displaying
> the devices, i see, "/tffs0/" (note: with the 2nd '/'). for sure, the
> bootConfig.c/bootLoad/tffsLoad() is creating this. But after the
> usrConfig/usrRoot() runs, why do I still see the "/tffs0/" created by
> bootConfig.c/bootLoad/tffsLoad() ? I understood that, in
> usrConfig.c/usrRoot() we have stick in a usrTffsConfig(0, 0,
> "/tffs0"), so regardless of how we booted, we will creat "/tffs0"
> device?
>
> It seems "/tffs0/" that got created in Boot code, did not get
> re-created via usrConfig.c.
>
> Please help to clarify this.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Building VxWorks image using Tornado Prototyper
Date: 25 Mar 2002 21:37:55 -0800
From: mohit@mahindrabt.com (Mohit)
Organization: http://groups.google.com/
Message-ID: <538e14e.0203252137.76a1fde@posting.google.com>

Hi All,
 I am new to VxWorks and Tornado. I have installed Tornado
Prototyper 2.0.2 and installed on Windows 2000. I would like to know
whether i can create VxWorks image using default "simpc" BSP or not. i
created a project using simpc BSP but when i go to "Build>Build
Bootrom" menu option in Tornado IDE there is no BSP listed therefore i
am not able to create a Bootable image of VxWorks.any help will be
appreciated!
Thanks in advance

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: Tue, 26 Mar 2002 08:21:37 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7p7i3$69m$1@snoopy.bndlg.de>
References: <576881c0.0203251320.5ade1f69@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd95242f3.dip.t-dialin.net

Hi Nick,

"Nick Forrette" <google@drforehead.net> schrieb im Newsbeitrag
news:576881c0.0203251320.5ade1f69@posting.google.com...
> In a nutshell, is it legal to allocate memory with malloc inside of a
> (character) device driver in VxWorks?
>
> I've done some searching through the programmers guide, the windriver
> community forums, and comp.os.vxworks, but didn't see anything that
> addressed the question.
>
> Based on what I've read thus far, all code in VxWorks runs in the most
> priviledged mode of the target processor. In a more traditional
> environment, malloc would be a part of user mode libc (thus not
> readily available to a device driver). This is not the case with
> VxWorks. (NB: this won't be called from and interupt handler. It will
> only be called by the functions registered to handle
> open/close/read/write/etc).
your 'NB' makes the answer possible: yes, but not recommended.
Yes, because you may call malloc nearly anywhere, but not within ISR or
sigHandler.
Not recommended, as malloc should be used only if really necessary (time +
fragmentation), best only on initialisation.

- --
Regards,
Mit freundlichen Gren,
Michael Lawnick
==============================================
 SOFTEC GmbH Tel +49-731-96600-0
 Promenade 17 Fax +49-731-96600-23
 D-89073 Ulm Michael Lawnick
 Germany lawnick@softec.de
 ==============================================

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks system calls
Date: 25 Mar 2002 23:37:14 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203252337.769c22cf@posting.google.com>
References: <1nLn8.7846$f5.527808@news> <3C9FAFEE.9020308@spamm.me.l8s.co.uk>

Hello,

David Laight <david@spamm.me.l8s.co.uk> wrote in message news:<3C9FAFEE.9020308@spamm.me.l8s.co.uk>...
> Jim wrote:
>
> > In vxworks do system call cause a context switch ?
> >
> > ... I assume no because there is no memory protection ...
>
> The new vxWorks AE might do something....

No, there are still no context switch required to make a system call.
If your task is in a user level application domain, then an exception
will occur, the processor mode will be set to supervisor (or equiv.),
some validation of the system call takes place and then the kernel
function is executed. The same task context is used throughout this
operation. On exit from the system call function, the return path
causes the CPU mode to be dropped back to user mode.

Now, in a privileged application domain, the exception never occurs
and the operation proceeds exactly as it would have in 5.4 (i.e. it is
just a function call).

> But traditionally vxWorks has not 'context' to switch! and
> nothing that is a 'system call' really. Everything is just
> a normal function call.
>
> Process switches happen on return from an ISR, or as a direct
> result of an action (eg giving a semaphore to a higher
> priority task).

There are no "processes" in VxWorks, so I assume that you meant a task
context switch here...

Rgds,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: 25 Mar 2002 23:43:42 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203252343.770aa97a@posting.google.com>
References: <576881c0.0203251320.5ade1f69@posting.google.com>

Hello,

google@drforehead.net (Nick Forrette) wrote in message news:<576881c0.0203251320.5ade1f69@posting.google.com>...
> In a nutshell, is it legal to allocate memory with malloc inside of a
> (character) device driver in VxWorks?

Yes, it is perfectly legal, and quite common, to allocate memory
inside a device driver. Under VxWorks 5.4, you may use malloc().

For VxWorks AE you need to think a little more about where the memory
should come from: malloc() will allocate from the "current" user heap
(perhaps outside the kernel), and KHEAP_ALLOC() will allocate, as its
name suggests, from the kernel's heap space.

> I've done some searching through the programmers guide, the windriver
> community forums, and comp.os.vxworks, but didn't see anything that
> addressed the question.
>
> Based on what I've read thus far, all code in VxWorks runs in the most
> priviledged mode of the target processor. In a more traditional
> environment, malloc would be a part of user mode libc (thus not
> readily available to a device driver). This is not the case with
> VxWorks.

Yes, but even on those systems there is some kind of memory allocation
primitive, often with malloc-like semantics, available.

> (NB: this won't be called from and interupt handler. It will
> only be called by the functions registered to handle
> open/close/read/write/etc).

You've found the only restriction already; never try dynamic memory
alloc or free operations from an ISR.

HTH,

John...

---------------------------

Newsgroups: comp.sys.powerpc.tech,comp.sys.powerpc.misc,comp.os.vxworks
Subject: Strange /CS timing with GPCM on 8260 (SETA=1)
Date: 26 Mar 2002 00:07:44 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0203260007.16de4f42@posting.google.com>

I've an external device interfacing with 8260 via a CPLD.
The device is under GPCM control with SETA=1 (i.e. external
access termination). A READY signal is hooked up to /PGTA
to trigger the access termination.

I'm seeing some strange timing on the /CS. After the first
successful access, the device asserts its READY, which gets
translated by CPLD to /PGTA. The /CS is deasserted shortly
after and stays that way for a few clock cycles. In the
mean time, /PGTA becomes deasserted. So far so good.

Then /CS becomes asserted again, and lasts only for about
1 clock cycle and deasserted itself. Why? There's data to
write to the device (so I do expect /CS to be asserted). But
/PGTA is not asserted, so what terminates the access? Any
other register setting or ext. signals I need to check to get
more insight?

Furthermore, 8260 manual says that /GTA needs to be one clock
cycle long (see sec. 10.5.2). Is it harmful (other than slowing
things down) to have a longer /PGTA (say, a few clock cycles)?

Thanks,
Raymond

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Building VxWorks image using Tornado Prototyper
Date: 26 Mar 2002 10:01:14 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91DD701B67219borkhuisagerecom@135.7.153.102>
References: <538e14e.0203252137.76a1fde@posting.google.com>

mohit@mahindrabt.com (Mohit) wrote:

> Hi All,
> I am new to VxWorks and Tornado. I have installed Tornado
> Prototyper 2.0.2 and installed on Windows 2000. I would like to know
> whether i can create VxWorks image using default "simpc" BSP or not. i
> created a project using simpc BSP but when i go to "Build>Build
> Bootrom" menu option in Tornado IDE there is no BSP listed therefore i
> am not able to create a Bootable image of VxWorks.any help will be
> appreciated!

You do not need a bootrom with the simulator, you can build your project.
This will create a Windows application that can be started from within
Tornado, or from Windows. The bootrom is only needed when you have a real
VxWorks system, but the simulator only "simulates" VxWorks on a Windows
platform.

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Examples for working with Ethernet ( EndDriver, Mux)
Date: 26 Mar 2002 03:27:29 -0800
From: giby@myw.ltindia.com (Giby)
Organization: http://groups.google.com/
Message-ID: <edcc6118.0203260327.8d684d@posting.google.com>
References: <e0ebe230.0203250356.4c8998b1@posting.google.com>

Hi Vladimir,
I am working on a similar project . Motorola ppc - MPC823 / Vxworks
platform networking on ethernet.

I think Network Protocol Toolkit Users Guide should provide some light
on your question. Also VxWorks Network programmers guide have some
example socket programing code for reference .Driver template is also
very useful . Check it out.
Keep in touch

GIBY RAPHAEL
email - giby@myw.ltindia.com

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Tue Mar 26 07:42:05 2002
From: "Padmanabh M. Kulkarni" <padmanabh.kulkarni@wipro.com>
Date: Tue Mar 26 07:42:08 PST 2002
Subject: MSG_PRI_URGENT in VxWorks

This is a multi-part message in MIME format.

------=_NextPartTM-000-834a752e-40a8-11d6-a219-0000e22173f5
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0020_01C1D50A.9175F2E0"

------=_NextPart_000_0020_01C1D50A.9175F2E0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello Everyone,

 This query is regarding MSG_PRI_URGENT parameter in msgQSend() system
call of VxWorks. I need clarfications on the following -

1. Consider a Message Queue created with size ( max number of messages that
can be queued ) of N, ( N >= 1 ). If the Queue is not Full at any instant of
time, then
 any message posted to the Queue with MSG_PRI_URGENT parameter will be
at the head of the Queue. This is the expected behaviour.
 However, we can have a condition during which a message is posted with
MSG_PRI_URGENT, but at that instant the Queue may be full and hence this
urgent
 message will not be added at head of the Queue. This is an
undeterministic behaviour. How can this situation be avoided ?

2. An RTOS like VRTXsa from Microtec Research, implements the above
MSG_PRI_URGENT philosophy by maintaining a DeQueue Structure. If one
specifies a size of
 N, VRTXsa creates a Queue of size ( N + 1 ), the extra location (
internal head of the queue ) being accesible only to the RTOS. All messages
posted with Normal
 priority and added in FIFO order into the N Locations. Any message
posted with MSG_PRI_URGENT, is added to the internal head of the queue and
thus this
 guarantees that at least one message with parameter MSG_PRI_URGENT will
be posted to the Queue even if the N locations are full. Does VxWorks
implement such
 a philosophy ?

 Please clarify on the above.

Regards,
Padmanabh

------=_NextPart_000_0020_01C1D50A.9175F2E0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial size=3D2>Hello=20
Everyone,</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial =
size=3D2>&nbsp;&nbsp; This=20
query is regarding MSG_PRI_URGENT parameter in msgQSend() system call of =

VxWorks. I need clarfications on the following -</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial =
size=3D2>1.&nbsp; Consider a=20
Message Queue&nbsp;created with size ( max number of messages that can =
be queued=20
)&nbsp;of N, ( N &gt;=3D 1 ). If the Queue is not Full at any instant of =
time,=20
then </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; any message posted to the Queue with=20
MSG_PRI_URGENT parameter will be at the head of the Queue. This is the =
expected=20
behaviour. </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; However, we can have a condition =
during which a=20
message is&nbsp;posted&nbsp;with&nbsp;MSG_PRI_URGENT, but at that =
instant the=20
Queue may be full and hence this urgent </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message&nbsp;</FONT></SPAN><SPAN=20
class=3D290120215-26032002><FONT face=3DArial size=3D2>will not be added =
at head of=20
the Queue. This is an undeterministic behaviour. How can this situation =
be=20
avoided ?</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial =
size=3D2>2.&nbsp;=20
An&nbsp;RTOS like VRTXsa from Microtec Research, implements the above=20
MSG_PRI_URGENT philosophy by maintaining a DeQueue Structure. If one =
specifies a=20
size of </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; N, VRTXsa creates =
a&nbsp;</FONT></SPAN><SPAN=20
class=3D290120215-26032002><FONT face=3DArial size=3D2>Queue of size ( N =
+ 1 ), the=20
extra location ( internal head of the queue ) being accesible only to =
the RTOS.=20
All messages posted with Normal </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; priority and added in FIFO=20
order&nbsp;</FONT></SPAN><SPAN class=3D290120215-26032002><FONT =
face=3DArial=20
size=3D2>into the N Locations. Any message posted with MSG_PRI_URGENT, =
is added to=20
the internal head of the queue and thus this </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; guarantees that at least one message =
with=20
parameter MSG_PRI_URGENT will be posted to the Queue even if the N =
locations are=20
full. Does VxWorks implement such </FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; a philosophy ?</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp; Please clarify on the =
above.</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>&nbsp;</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=3D290120215-26032002><FONT face=3DArial=20
size=3D2>Padmanabh</FONT></SPAN></DIV></BODY></HTML>

------=_NextPart_000_0020_01C1D50A.9175F2E0--

------=_NextPartTM-000-834a752e-40a8-11d6-a219-0000e22173f5
Content-Type: text/plain;
	name="InterScan_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="InterScan_Disclaimer.txt"

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 'privileged' and 'confidential' and intended for use only by the
individual or entity to which it is addressed. You are notified that any
use, copying or dissemination of the information contained in the E-MAIL
in any manner whatsoever is strictly prohibited.

 ********************************************************************

------=_NextPartTM-000-834a752e-40a8-11d6-a219-0000e22173f5--

From vxwexplo-errs@csg.lbl.gov Wed Mar 27 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Mar 27 04:03:20 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Wed Mar 27 04:03:13 PST 2002

 Subject: dosFs2 and DOS_VOL_CONFIG
 Subject: SAB/SAF 82538 device drivers
 Subject: vxworks driver for National Instrument's GPIB-ENET/100
 Subject: Re: RAW Socket problem
 Subject: c vs c++ (who's using which)
 Subject: Re: vxWorks system calls
 Subject: WindView Questions
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: vxWorks system calls
 Subject: Can VxWorks Solutions be applied to drive IO boards for process control !!!
 Subject: Re: Can I associate a destination with a specific interface in the routing table?
 Subject: Re: A question about TIMER design in vxworks
 Subject: TCP for 4K messages takes really long
 Subject: Default Signal Handler
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: SAB/SAF 82538 device drivers
 Subject: vxworks_rom on Cetia VMPC6a (Tornado 2.0 NT)
 Subject: Re: Can VxWorks Solutions be applied to drive IO boards for process
 Subject: keyboard timeout - need some help
 Subject: select and pty
 Subject: IPC communication between agent and External application
 Subject: Re: ISR not Working - IBM PPC405GP
 Subject: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
 Subject: Re: select and pty
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: Default Signal Handler
 Subject: Re: TCP for 4K messages takes really long
 Subject: VxOPC with Wonderware
 Subject: porting LINUX driver to vxWorks
 Subject: Re: WindView Questions
 Subject: Re: keyboard timeout - need some help
 Subject: how to bind a pppoe service to multi ethernet port ?
 Subject: Re: Porting a board to Vxworks?
 Subject: semBCreate()
 Subject: I want to initialize board(MPC107) through the EEPROM
 Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: dosFs2 and DOS_VOL_CONFIG
Date: Tue, 26 Mar 2002 12:33:33 -0000
From: "Employee" <employee@newport-networks.com>
Organization: Newport Networks Ltd.
Message-ID: <1017146014.258896@azores.network-i.net>

Hi,

given the name of a dos file system (e.g. "/dos1"), how can I get its
DOS_VOL_CONFIG structure?

I have tried to get it by copying the pointer passed to the configuration
function given to the dosFsVolFormat() via the 3rd parameter but it appears
to expire immediatelly after. i.e. if I print the contents of the structure
from inside the configuration function the data makes sense. But if I print
the same structure again later on from the shell I get garbage which
suggests that the structure was moved.

Example:
void config(DOS_VOL_CONFIG *p);
dosFsVolFormat(cbio, DOS_OPT_BLANK | DOS_OPT_QUIET, &config);

In other words to do something similar to:
 dosFsShow ("/dos1");

Regards,
Dimitris

---------------------------

Newsgroups: comp.arch.embedded,comp.os.linux.embedded,comp.os.linux.powerpc,comp.os.psos,comp.os.vxworks,comp.realtime,comp.sys.arm,comp.sys.mips,comp.sys.powerpc.advocacy,comp.sys.powerpc.misc,comp.sys.powerpc.tech
Subject: SAB/SAF 82538 device drivers
Date: Tue, 26 Mar 2002 14:37:43 +0200
From: "Rami Gideoni" <rgideoni@rugged.com>
Organization: Internet Gold, ISRAEL
Message-ID: <a7pq1k$190$1@news.inter.net.il>

Hi,
I need to write device drivers for the ESCC8 -- SAB/SAF 82538 (Enhanced
Serial Communication Controller (8 channels)) for VxWorks/PowerPC based
board.

Any source code, ideas, hits will be most appreciated.

Thanks in advance

RamiG

---------------------------

Newsgroups: comp.os.vxworks
Subject: vxworks driver for National Instrument's GPIB-ENET/100
Date: 26 Mar 2002 05:33:16 -0800
From: techsoul2001@yahoo.com (raghuram)
Organization: http://groups.google.com/
Message-ID: <e04d465b.0203260533.618833ba@posting.google.com>

VXWORKS

Hi all,

I need to control/communicate with several GPIB devices in my
application. I am planning to use National Instrument's GPIB-ENET/100
converter. National Instruments says that they have ESP-488 1.0 (ENET,
ENET/100) Developer Kit using which the driver for VxWorks can be
developed for GPIB-ENET/100 converter.

I would like to know if anybody has used this tool kit before to
develop a driver for GPIB-ENET/100 converter. Any feedback/references
would be greatly appreciated.

Thanks in advance.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: RAW Socket problem
Date: 26 Mar 2002 06:34:42 -0800
From: sriram_sarda@yahoo.com (Sriram)
Organization: http://groups.google.com/
Message-ID: <8356dc69.0203260634.3ace34b4@posting.google.com>
References: <cfccb952.0203230933.5e1c5c75@posting.google.com> <8dff11cd.0203241908.51878995@posting.google.com>

Hey Etonyc,
 I think recvfrom() (instead of recv()) should solve your problem.
(......................Did anyone say 'bind'!!)

Cheers,
Sriram.

---------------------------

Newsgroups: comp.os.vxworks
Subject: c vs c++ (who's using which)
Date: Wed, 20 Mar 2002 12:39:04 -0500
From: "Ben" <poe@mail.rit.edu>
Organization: RIT, Department of Computer Science
Message-ID: <3c98c8c0$1@buckaroo.cs.rit.edu>

I develop host libraries for an embedded components hardware company. The
libraries are used under VxWorks and Windows to to provide demos and sample
code to customers. We've been doing them in C, and I suggested that new
libraries be written in C++, for all the obvious reasons. The response I
got is that (basically) everyone else (our customers) is using C (but
acknkowledgement that all the other reasons would otherwise be valid). So I
just wondered how true this is. Do you use third party DSPs / components?
Would you rather have software packaged with them written in C or C++? Feel
free to email me directly instead of flooding the group, if you like, at
"bjk4929" + "@" + "cs.rit.edu". I'll post a count / ratio summary after
I've had a chance to read through the responses assuming that I get a decent
sample.

Ben

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks system calls
Date: Tue, 26 Mar 2002 15:44:42 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <KH0o8.8948$f5.554514@news>
References: <1nLn8.7846$f5.527808@news> <3C9FAFEE.9020308@spamm.me.l8s.co.uk> <488e459a.0203252337.769c22cf@posting.google.com>

Cool,

My next question:

Is there a listing of system call latencies anywhere for vxWorks (I am aware
this is processor specific) ... obviously aside for memory allocation ?

Jim

"John" <john_94501@yahoo.com> wrote in message
news:488e459a.0203252337.769c22cf@posting.google.com...
> Hello,
>
> David Laight <david@spamm.me.l8s.co.uk> wrote in message
news:<3C9FAFEE.9020308@spamm.me.l8s.co.uk>...
> > Jim wrote:
> >
> > > In vxworks do system call cause a context switch ?
> > >
> > > ... I assume no because there is no memory protection ...
> >
> > The new vxWorks AE might do something....
>
> No, there are still no context switch required to make a system call.
> If your task is in a user level application domain, then an exception
> will occur, the processor mode will be set to supervisor (or equiv.),
> some validation of the system call takes place and then the kernel
> function is executed. The same task context is used throughout this
> operation. On exit from the system call function, the return path
> causes the CPU mode to be dropped back to user mode.
>
> Now, in a privileged application domain, the exception never occurs
> and the operation proceeds exactly as it would have in 5.4 (i.e. it is
> just a function call).
>
> > But traditionally vxWorks has not 'context' to switch! and
> > nothing that is a 'system call' really. Everything is just
> > a normal function call.
> >
> > Process switches happen on return from an ISR, or as a direct
> > result of an action (eg giving a semaphore to a higher
> > priority task).
>
> There are no "processes" in VxWorks, so I assume that you meant a task
> context switch here...
>
> Rgds,
>
> John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: WindView Questions
Date: Tue, 26 Mar 2002 15:56:52 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <8T0o8.8950$f5.554741@news>

Hello I have questions regarding windview ... most are in the manual i am
sure but i fugure there's now harm asking question in case someone has
better experiences than expressed in manuals ...

1.) Windview adds code where in the system?

2.) Does it tell you what function is running or what thread?
 - if thread then i assume it only adds extra code to context
switching ... right?
 - if function then it adds code all over the place (function calls
etc) ... right?

3.) If its tells you functions then this means your gcc must be changed for
vxworks ... must be a real pain to keep compiler up to date (but thats none
of my business) ...

4.) If it tells you thread then how do find out where in thread the problem
code is ... does it just match up "pc" with the "ELF" core file ...

5.) Does windview add any extra threads to the system? I assume yes it does
if gcc is unmodified ...

Thats all for now ... cheers,
Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 26 Mar 2002 08:13:58 -0800
From: hjb@pso.com (Hwa Jin Bae)
Organization: http://groups.google.com/
Message-ID: <4cf902bf.0203260813.516548b9@posting.google.com>
References: <5c074538.0203122254.56279c06@posting.google.com> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com> <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203240914.472936a9@posting.google.com> <wwn0wwm6s0.fsf@atlas.cfht.hawaii.edu>

I agree that the code could have been written better. I am certainly
not trying to defend the current code. I did not write that code, but
I know who did. The person who wrote that code originally is a very
good engineer. I have to assume that it was his intent to keep things
that way. It was never his intent to support fine grain timer
resolution with select. There are other ways of accomplishing such
timing requirements in vxWorks. select was only provided as a crude
way of compatibility with Unix.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks system calls
Date: 26 Mar 2002 16:32:53 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91DDB28001CDAborkhuisagerecom@135.7.153.101>
References: <1nLn8.7846$f5.527808@news> <3C9FAFEE.9020308@spamm.me.l8s.co.uk> <488e459a.0203252337.769c22cf@posting.google.com> <KH0o8.8948$f5.554514@news>

"Jim" <REMOVEjgdon@ureach.comREMOVE> wrote:

> Cool,
>
> My next question:
>
> Is there a listing of system call latencies anywhere for vxWorks (I am
> aware this is processor specific) ... obviously aside for memory
> allocation ?

WindRiver has some documents in which they provide that information. They
also have the SW that produced those numbers so you can do the tests on
your own HW or other HW.

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: Can VxWorks Solutions be applied to drive IO boards for process control !!!
Date: 26 Mar 2002 08:47:20 -0800
From: avsrk@mailcity.com (Subrahmanyam Arya)
Organization: http://groups.google.com/
Message-ID: <25c1993e.0203260847.60c4dc3@posting.google.com>

Hello VxWorkers

I am working in the area of process control and data acquistion
software .
I developed some solutions using Allen-Bradleys (Rockwell automations)
ladder
logic to read Analog Input data from their Analog modules and drive
digital and real out puts of the modules provided by allen-bradley .
The processor used is
Microlgix 1500 .

I know that VxWorks is also used for the process control and data
acquistion type of applications . I went to VXWorks web site and it
says so .

But the question is , Since VXWorks is a real time OS runnnig on SBC
, what are the IO Boards it drives , does Windriver provide the IO
Boards and the drivers for them too . I could not find this info in
their web site .
Nor any where in the web .
Or do any other vendors provide the IO boards which can be driven
through this
VXWorks based systems .

Can any body reply with some web links which have info about who the
IOboards which can be driven through VXWorks and the drivers for it .

I highly appreciate your response

Thanks in advance
- -Subra

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I associate a destination with a specific interface in the routing table?
Date: Tue, 26 Mar 2002 17:47:52 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <OJ2o8.348$7L2.536585@newsr2.u-net.net>
References: <e9720ff6.0203151216.2eb010eb@posting.google.com>

"Liang" <lliao@opvista.com> wrote in message
news:e9720ff6.0203151216.2eb010eb@posting.google.com...
> Hi, I have the following system configuration with 3 nodes (could be
> more). This is a proprietary network and you can assume it has no
> interaction with the outside public network.
>
> ------------
> | A |
> | |
> ------------
> A1| |A2
> | |
> | |
> B1| |C1
> ------------ ------------
> | B |B2 C2| C |
> | |-------| |
> ------------ ------------
>
> Each node (A, B, C) has two Ethernet interfaces, and each interface is
> connected only to an interface on the adjacent nodes, so I want to
> treat them as point to point interfaces. I am trying to set up a
> routing table in each node to send traffic to the other nodes. One
> way to do that is to treat each point to point segment as a network,
> e.g. interface A1 has IP address 1.1.1.1, B1 is 1.1.1.2, A2 is
> 1.1.2.1, C1 is 1.1.2.2, etc. The problem with this is that it would
> be a configuration nightmare since I need to treat each network
> segment as a subnet (imagine that there are a few more nodes in the
> ring, or a even a tree). I would like to assign all the nodes to the
> same subnet, e.g. A is 1.1.1.1, B is 1.1.1.2, C is 1.1.1.3, and not
> assign any IP address to the interface.

 This is a fundamental misunderstanding. Any IP address is always the
address of a specific interface, not of a particular host. Each interface
MUST have its own IP address. That is just the way that IP works.

> By doing so, I want to set up
> my routing table such that I can specify in Node A's routing table,
> for example, to send traffic to destination B(1.1.1.2) using interface
> A1, and C using interface A2. With this approach, however, I need a
> way to associate a destination with an interface. That means I can't
> use routeAdd or mRouteAdd.

 Now you see the advantage of having an IP address for each interface
instead of just one for the entire host machine: to specify different
routes. To associate a destination with an interface, you just specify the
IP of that interface as the gateway for the route in question!

 So on A, you would say that the route to B1 and B2 is A1, and the route to
C1 and C2 is A2. You could specify each host as a pretend-subnet, i.e.:

1.1.1.x = A A1 = 1.1.1.1, A2 = 1.1.1.2
1.1.2.x = B B1 = 1.1.2.1, B2 = 1.1.2.2
1.1.3.x = C C1 = 1.1.3.1, C2 = 1.1.3.2

Then on A you have a routing table like:

Route 1.1.2.0 Netmask 255.255.255.0 Gateway 1.1.1.1
Route 1.1.3.0 Netmask 255.255.255.0 Gateway 1.1.1.2

and likewise for B

Route 1.1.1.0 Netmask 255.255.255.0 Gateway 1.1.2.1
Route 1.1.3.0 Netmask 255.255.255.0 Gateway 1.1.2.2

and C

Route 1.1.1.0 Netmask 255.255.255.0 Gateway 1.1.3.1
Route 1.1.2.0 Netmask 255.255.255.0 Gateway 1.1.3.2

 With this scheme, each host is its own subnet, so it is easy to expand to
a scheme where each host has more than two interfaces. And there is only
one routing entry per destination host rather than one per destination
netif. Note that I've devised a scheme where each host may have up to 256
netifs; in practical usage, you would not want so many netifs, and you could
use smaller subnets (but don't forget to set the netmask appropriately).
Your network diagram would look like:

> ------------
> | A |
> | 1.1.1.x |
> ------------
> 1.1.1.1=A1| |A2=1.1.1.2
> | |
> | |
> 1.1.2.1=B1| |C1=1.1.3.1
> ------------ ------------
> | B |B2 C2| C |
> | 1.1.2.x |-------| 1.1.3.x |
> ------------ ------------
> B2=1.1.2.2 C2=1.1.3.2

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: A question about TIMER design in vxworks
Date: Tue, 26 Mar 2002 17:20:31 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <OJ2o8.347$7L2.536585@newsr2.u-net.net>
References: <8cd11808.0203150544.550ad069@posting.google.com>

"zjh" <zjh_future@263.net> wrote in message
news:8cd11808.0203150544.550ad069@posting.google.com...
> hi,all
> I have to design a timer in vxworks use tickLib.h .This need myself
> maintain a timer list and broke them once a tick.
> I want to know the detail of timer API about Vxworks:SUCH AS
> timer_create( )
> timer_start( );timer_stop( );timer_del( ) . Then I can use the API
> vxworks provied.

 That's what the manual is for. Read it; it tells you about all the
details of the APIs. I'm not going to type out page after page of the
manual for you just so you can read it in a usenet post rather than in the
books that came supplied with your copy of VxWorks. Maybe someone else
around here will volunteer for you, but it's not very likely.

>Have anyone done this thing?Can you share your
> experience with me?

 I've used clock functions under VxWorks. They work, although on the ppc
platform the posix timer routines have a bug in them that causes the clock
to be reset at random intervals, which there have been various discussions
on how to fix in this very group.

> I also have another question on the difference of "exit( ) " between
> Linux and Vxworks?Do the exit( ) close all the file have been opened?

 Nope, in VxWorks, exit (...) doesn't do anything for your: it doesn't
close files, it doesn't even free the memory you malloced from the heap!
That's because any of your other tasks might still be using the same memory
or file - tasks are permitted to share in VxWorks, also unlike Linux,
because they all execute in one global memory space, instead of each having
their own memory space.

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

---------------------------

Newsgroups: comp.os.vxworks
Subject: TCP for 4K messages takes really long
Date: 26 Mar 2002 11:22:52 -0800
From: kim.quinn@lmco.com (Kim Quinn)
Organization: http://groups.google.com/
Message-ID: <56eaa15a.0203261122.2e46198d@posting.google.com>

I'm trying to send 4K messages using TCP. I have a Gigabit Ethernet
card
PMC667 from Ramix and 2 MVME5100 SBCs. I'm running vxWorks 5.4.2 and
Tornado 2.1. I am able to send from 1 byte up to 2K with no
problem.
When I hit 4K, it takes me about 15 minutes to send 5000 4K messages.
Now I
do receive all the messages I sent, but it takes 15 minutes!
 I don't think it's my Gigabit Ethernet card because I switched to use
the 10 Base-T Ethernet on the front of the boards instead to see if I
increased my throughput, and it did not. I don't know
if there is some parameter I'm missing in the vxWorks kernel or not.
I thought that it may have been the clDescTbl[] but I wasn't sure.
Has anyone seen this before? If so, help please.

Kim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Default Signal Handler
Date: Tue, 26 Mar 2002 21:49:06 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <m16o8.9001$f5.561155@news>

Is there a default signal handler for all threads that I can make a global
change to ...

Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: Tue, 26 Mar 2002 22:38:59 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <7M6o8.9008$f5.563329@news>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com>

You said malloc is illegal in ISR ... what about signal handler?

Cheers,
Jim

"John" <john_94501@yahoo.com> wrote in message
news:488e459a.0203252343.770aa97a@posting.google.com...
> Hello,
>
> google@drforehead.net (Nick Forrette) wrote in message
news:<576881c0.0203251320.5ade1f69@posting.google.com>...
> > In a nutshell, is it legal to allocate memory with malloc inside of a
> > (character) device driver in VxWorks?
>
> Yes, it is perfectly legal, and quite common, to allocate memory
> inside a device driver. Under VxWorks 5.4, you may use malloc().
>
> For VxWorks AE you need to think a little more about where the memory
> should come from: malloc() will allocate from the "current" user heap
> (perhaps outside the kernel), and KHEAP_ALLOC() will allocate, as its
> name suggests, from the kernel's heap space.
>
> > I've done some searching through the programmers guide, the windriver
> > community forums, and comp.os.vxworks, but didn't see anything that
> > addressed the question.
> >
> > Based on what I've read thus far, all code in VxWorks runs in the most
> > priviledged mode of the target processor. In a more traditional
> > environment, malloc would be a part of user mode libc (thus not
> > readily available to a device driver). This is not the case with
> > VxWorks.
>
> Yes, but even on those systems there is some kind of memory allocation
> primitive, often with malloc-like semantics, available.
>
> > (NB: this won't be called from and interupt handler. It will
> > only be called by the functions registered to handle
> > open/close/read/write/etc).
>
> You've found the only restriction already; never try dynamic memory
> alloc or free operations from an ISR.
>
> HTH,
>
> John...

---------------------------

Newsgroups: comp.arch.embedded,comp.os.linux.embedded,comp.os.linux.powerpc,comp.os.psos,comp.os.vxworks,comp.realtime,comp.sys.arm,comp.sys.mips,comp.sys.powerpc.advocacy,comp.sys.powerpc.misc,comp.sys.powerpc.tech
Subject: Re: SAB/SAF 82538 device drivers
Date: Tue, 26 Mar 2002 23:16:17 -0000
From: "Dave Black" <dave AT lotuscarlton.demon.co.uk>
Message-ID: <1017184579.10857.0.nnrp-01.d4e44151@news.demon.co.uk>
References: <a7pq1k$190$1@news.inter.net.il>

I wrote a driver for this device for a Seimens C167 early last year, email
seimens (or what ever they are called) for the example code (only avalible
on request I think), I think these devices or perhaps the 2 channel version
escc2 has been used by the solaris OS.

Remember this device is basically four escc2's.

E = extra
S = scary
C= comms
C= chip

HTH,
Dave

"Rami Gideoni" <rgideoni@rugged.com> wrote in message
news:a7pq1k$190$1@news.inter.net.il...
> Hi,
> I need to write device drivers for the ESCC8 -- SAB/SAF 82538 (Enhanced
> Serial Communication Controller (8 channels)) for VxWorks/PowerPC based
> board.
>
> Any source code, ideas, hits will be most appreciated.
>
> Thanks in advance
>
> RamiG
>
>
>
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: vxworks_rom on Cetia VMPC6a (Tornado 2.0 NT)
Date: 26 Mar 2002 16:20:08 -0800
From: static@ieee.org (Andrew Spiehler)
Organization: http://groups.google.com/
Message-ID: <59b46a44.0203261620.1ae03207@posting.google.com>

Hi, I'm pretty new to Vxworks and embedded systems in general. I'm
having two unrelated (maybe) issues.

First issue: I'm trying to configure a vxworks_rom image to reside in
an 8 megabyte flash on my cetia board. I set all references in the BSP
makefile, project facility, and build properties (c compiler,
assembler, macros) for ROM_BASE_ADRS and ROM_TEXT_ADRS to 0xd8000000
(the bottom of flash memory on this particular board) and built the
project. Then I uploaded the file with tftp and wrote it to flash
memory. Then I commanded the debugger to start executing at d8000000,
at which point nothing else happened.

I did the above steps again, but this time changed the value to
0x02000000, a location in RAM. After uploading the file with tftp, I
did a blockmove and copied the vxworks_rom data to 0x02000000 and then
started executing at that address, where I assume the rom copied the
data and test segments to RAM_LOW_ADRS and jumped there.

Can anyone offer some explanation as to why the vxworks_rom will
execute out of RAM at 0x02000000 but not flash at 0xd8000000? Am I
correct in thinking that the vxworks_rom configuration will copy the
text and data segments to RAM_LOW_ADRS or do I have to use a different
build configuration?

Second issue: How do I set the the IP address of the board if I'm not
doing a network boot through the bootrom or through tftp? Does it have
something to do with the DEFAULT_BOOT_LINE and if so, how do I
configure the image to use the arguments in that?

Andrew Spiehelr

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can VxWorks Solutions be applied to drive IO boards for process
 control !!!
Date: Tue, 26 Mar 2002 19:32:54 -0500
From: joe durusau <durusau@bellsouth.net>
Organization: BELLSOUTH.net
Message-ID: <3CA11336.2BD6A41E@bellsouth.net>
References: <25c1993e.0203260847.60c4dc3@posting.google.com>

Subrahmanyam Arya wrote:

> Hello VxWorkers
>
> I am working in the area of process control and data acquistion
> software .
> I developed some solutions using Allen-Bradleys (Rockwell automations)
> ladder
> logic to read Analog Input data from their Analog modules and drive
> digital and real out puts of the modules provided by allen-bradley .
> The processor used is
> Microlgix 1500 .
>
> I know that VxWorks is also used for the process control and data
> acquistion type of applications . I went to VXWorks web site and it
> says so .
>
> But the question is , Since VXWorks is a real time OS runnnig on SBC
> , what are the IO Boards it drives , does Windriver provide the IO
> Boards and the drivers for them too . I could not find this info in
> their web site .
> Nor any where in the web .
> Or do any other vendors provide the IO boards which can be driven
> through this
> VXWorks based systems .
>
> Can any body reply with some web links which have info about who the
> IOboards which can be driven through VXWorks and the drivers for it .
>
> I highly appreciate your response
>
> Thanks in advance
> -Subra

In general, WRS provides the OS and development tools.
Anything else you get from a board vendor or roll your own.
Usually, not too hard.

You might look at www.vita.com if you are interested in VME
IO boaards as such.

Speaking only for myself,

Joe Durusau

---------------------------

Newsgroups: comp.os.vxworks
Subject: keyboard timeout - need some help
Date: 26 Mar 2002 17:10:37 -0800
From: mark_ck_chang@yahoo.com (Mark Chang)
Organization: http://groups.google.com/
Message-ID: <9b6f8883.0203261710.56f9ef6c@posting.google.com>

I have a keyboard timeout for my CLI in Vxworks 5.3.
The code is like this

do {
 numReady = select(FD_SETSIZE, &readFds, NULL, NULL, &tclSelectTimeout);
 if (numReady==0) {
 FD_ZERO(&readFds);
 FD_SET(stdInFd, &readFds);
 if (tclSelectTimeout.tv_sec >= (long) 60) {
 printf("Interface will timeout in 60 seconds.\n");
 tclSelectTimeout.tv_sec = (long) 30;
 } else if (tclSelectTimeout.tv_sec == (long) 30) {
 printf("Interface will timeout in 30 seconds.\n");
 tclSelectTimeout.tv_sec = (long) 20;
 } else if (tclSelectTimeout.tv_sec == (long) 20) {
 printf("Interface will timeout in 10 seconds.\n");
 tclSelectTimeout.tv_sec = (long) 10;
 /* if timeout reached 0, exit out of CLI */
 } else if (tclSelectTimeout.tv_sec == (long) 10) {
 strcpy (str,"exit");
 return;
 }
 }
} while (numReady==0);

onechar = &onecharbuff;

/* read the buffer, could be 1 character or more since
 * ethernet will trigger select once for an entire package via
 * scripts, so we need to read the buffer until EOF/empty (numReady=0) */
do {
 numReady = read (stdInFd,onechar,1);
 ch = *onechar;
 /* if we get a ESC character, read the next one */
 if (ch == D_ESC) {

snip

} while ( numReady != 0 );

The problem I have is that if the user hits one key or
several with a CR/LF, the routines of course ends
up in the second loop and my timeout never happens.

I couldn't just use a read loop because for some reason,
it would not return from the read if the data (keyboard input)
were from ethernet (Telnet) It would wait until a cr/lf
was detected before coming out of it.

The select works so that's why I'm using it.

I could use some ideas on how to get my timeout to work
with the above case (1 key or more hit w/o cr/lf)

Thanks,
Mark

---------------------------

Newsgroups: comp.os.vxworks
Subject: select and pty
Date: 26 Mar 2002 18:23:25 -0800
From: dsa0000@hotmail.com (dsa)
Organization: http://groups.google.com/
Message-ID: <ee967989.0203261823.1419f462@posting.google.com>

I have some problem regarding select and pty fds.
In main task I created two pty fds and passed the
slave pty fd to a spwaned task which does nothing but echo.

	ptyDrv ();
	ptyDevCreate ("/pty/s.", 512, 512);
	open ("/pty/s.M",, O_RDWR, 0);
	open ("/pty/s.S",, O_RDWR, 0);

The main task pends on a select which multiplexes a client
socket and master pty fd.

I could verify that the data is read from the client socket and wrote to
the master fd. The spawned task reads from the slave fd and writes back
to the slave fd. But in the main task the select is still pending.

Whether is there known issues with select and pty in vxworks ?

or whether I am doing some thing wrong ?

Regards
DSA

---------------------------

Newsgroups: comp.os.vxworks
Subject: IPC communication between agent and External application
Date: 26 Mar 2002 22:45:12 -0800
From: sharvan_fr@yahoo.com (Sarvanan)
Organization: http://groups.google.com/
Message-ID: <b9ecf941.0203262245.1186377d@posting.google.com>

Hi all,

 Iam using SNMP agent ported to vxworks .The agent is a NETWORK
manangement for the Target board. For interaction with the hardware
i need to design an wrapper application which acts as an interface
between the agent and the hardware API's device drivers. Can any one
give me some idea how to achieve this type of communication in Real
Time system.
 snmpAgent <===> Wrapper Application <====>Hardware Api's(gives
STATUS).

Thanks in advance ,
chanemouganandam.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: ISR not Working - IBM PPC405GP
Date: 26 Mar 2002 23:38:33 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203262338.2189cc27@posting.google.com>
References: <e38d912c.0203201426.1dc050c@posting.google.com> <a7cafk$14j$1@snoopy.bndlg.de> <e38d912c.0203210902.74f0a230@posting.google.com> <9f1c83d3.0203220846.364bd946@posting.google.com>

Hi,
	Thank you for your reply.
	Special thanks to Michael Lawnick, who's giving valueable tips and
suggestions on these issues.

	When I enable my device's interrrupt (intEnable()) system getting
freezed. We are suspecting DMA modules on this regard.

	It would be helpful if anyone could give me some tips on debugging
ISR and on debugging freezing system.

Regards
Arun

venkat@peribit.com (V. R. Venkataramana) wrote in message news:<9f1c83d3.0203220846.364bd946@posting.google.com>...
> Hi Arun,
> This is the essence of interrupt handler logic. Hope this helps!
> Thanks, Venkat
>
> void ProcessIsrEvent (SEM_ID sem_id)
> {
> while ( 1 )
> {
> if ( semTake (sem_id, WAIT_FOREVER) == ERROR )
> {
> printf("semTake error");
> }
> process the interrupt
> enable the interrupt
> }
> }
>
> void IntSvcRtn (SEM_ID sem_id )
> {
> /*
> * Figure out if the interrupt is for you and save interrupt
> * status info
> */
>
> if ( interrupt is for you)
> {
> disable the interrupt
> semGive (sem_id);
> intr_got++;
> }
> }
>
>
> void intr_init(int intnum)
> {
> int intvec = intnum + 0x20;
>
> /*
> * Initiailze all the things that you want to do including
> * the driver related stuff.
> */
>
> IsrSyncSem = semBCreate ( SEM_Q_FIFO, SEM_EMPTY );
> taskSpawn("Test Isr", PRIORITY, 0, 20*1024,
> (FUNCPTR) ProcessIsrEvent,
> (int)IsrSyncSem,0,0,0,0,0,0,0,0,0 );
>
> if (pciIntConnect(INUM_TO_IVEC(intvec), (VOIDFUNCPTR)IntSvcRtn,
> (int)IsrSyncSem) == ERROR)
> {
> printf("intconnect Failed");
> }
>
> /* Initialize everything you are suppose to, just before enabling
> * the PIC for receiving interrupts
> */
> sysIntEnablePIC (intnum);
> }
>
> > >

---------------------------

Newsgroups: comp.os.vxworks
Subject: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
Date: 26 Mar 2002 23:47:16 -0800
From: arun4vxworks@indiatimes.com (Arun Prasad)
Organization: http://groups.google.com/
Message-ID: <e38d912c.0203262347.3fd78ec8@posting.google.com>

Hi,

	I'm facing a problem and couldn't figure it out why it happens.
	I have a NIC card connected to my walnut machine, for which we are
writing device driver.
	When I use pciDeviceShow() function, it shows there are two of my
cards present on the system and they only differ in device (of BDF).
But I have only one card connected to the system. Also pciFindDevice()
getting succeeded for both of these devices.
	In the given output 2nd and 3rd entries are our card's.

========
Scanning function 0 of each PCI device on bus 0
Using configuration mechanism 0
bus device function vendorID deviceID class
00000000 00000000 00000000 00001014 00000156 00060000
00000000 00000004 00000000 0000143a 00004e53 00028000
00000000 00000014 00000000 0000143a 00004e53 00028000
========

	Could anyone tell me why this strange behaviour happens to our card
on VxWorks?

Regards
Arun

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: select and pty
Date: 27 Mar 2002 00:49:45 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203270049.12b0fc87@posting.google.com>
References: <ee967989.0203261823.1419f462@posting.google.com>

Hello,

You have found something a little unusual... try swapping your master
and slave fds over and it should work; i.e. select the slave and use
the master side in the echoing task.

I suggest filing this as a problem report with support, and if you can
get away with just swapping the master and slave ends over for your
app, do that.

HTH,

John...

dsa0000@hotmail.com (dsa) wrote in message news:<ee967989.0203261823.1419f462@posting.google.com>...
> I have some problem regarding select and pty fds.
> In main task I created two pty fds and passed the
> slave pty fd to a spwaned task which does nothing but echo.
>
> 	ptyDrv ();
> 	ptyDevCreate ("/pty/s.", 512, 512);
> 	open ("/pty/s.M",, O_RDWR, 0);
> 	open ("/pty/s.S",, O_RDWR, 0);
>
> The main task pends on a select which multiplexes a client
> socket and master pty fd.
>
> I could verify that the data is read from the client socket and wrote to
> the master fd. The spawned task reads from the slave fd and writes back
> to the slave fd. But in the main task the select is still pending.
>
> Whether is there known issues with select and pty in vxworks ?
>
> or whether I am doing some thing wrong ?
>
> Regards
> DSA

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: 27 Mar 2002 01:11:18 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203270111.b14b5e0@posting.google.com>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com> <7M6o8.9008$f5.563329@news>

Hello,

"Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message news:<7M6o8.9008$f5.563329@news>...
> You said malloc is illegal in ISR ... what about signal handler?

malloc() should cause no problems in signal handlers since they are
executed in a task's context always.

Rgds,

John...

> Cheers,
> Jim
>
> "John" <john_94501@yahoo.com> wrote in message
> news:488e459a.0203252343.770aa97a@posting.google.com...
> > Hello,
> >
> > google@drforehead.net (Nick Forrette) wrote in message
> news:<576881c0.0203251320.5ade1f69@posting.google.com>...
> > > In a nutshell, is it legal to allocate memory with malloc inside of a
> > > (character) device driver in VxWorks?
> >
> > Yes, it is perfectly legal, and quite common, to allocate memory
> > inside a device driver. Under VxWorks 5.4, you may use malloc().
> >
> > For VxWorks AE you need to think a little more about where the memory
> > should come from: malloc() will allocate from the "current" user heap
> > (perhaps outside the kernel), and KHEAP_ALLOC() will allocate, as its
> > name suggests, from the kernel's heap space.
> >
> > > I've done some searching through the programmers guide, the windriver
> > > community forums, and comp.os.vxworks, but didn't see anything that
> > > addressed the question.
> > >
> > > Based on what I've read thus far, all code in VxWorks runs in the most
> > > priviledged mode of the target processor. In a more traditional
> > > environment, malloc would be a part of user mode libc (thus not
> > > readily available to a device driver). This is not the case with
> > > VxWorks.
> >
> > Yes, but even on those systems there is some kind of memory allocation
> > primitive, often with malloc-like semantics, available.
> >
> > > (NB: this won't be called from and interupt handler. It will
> > > only be called by the functions registered to handle
> > > open/close/read/write/etc).
> >
> > You've found the only restriction already; never try dynamic memory
> > alloc or free operations from an ISR.
> >
> > HTH,
> >
> > John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Default Signal Handler
Date: 27 Mar 2002 01:15:59 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203270115.56ab7567@posting.google.com>
References: <m16o8.9001$f5.561155@news>

Hello,

"Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message news:<m16o8.9001$f5.561155@news>...
> Is there a default signal handler for all threads that I can make a global
> change to ...

No. You can catch all exceptions though via a hook routine if that is
what you are hoping to achieve.

HTH,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: TCP for 4K messages takes really long
Date: 27 Mar 2002 01:31:58 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203270131.1a819701@posting.google.com>
References: <56eaa15a.0203261122.2e46198d@posting.google.com>

Hello,

Some things you should consider:

1) The buffer sizes for the network stack... check out this app note
from WindSurf for information on this:

http://www.windriver.com/windsurf/appnotes/osExtensions/pjworks/APN51/WTN51.pdf

You can ignore the fact that it is a PJWorks app note, the network
configuration techniques are the same for all network intensive
operations.

2) In addition to the core stack config, you should check the number
of receive and transmit buffers allocated to the network driver. These
are set, if configurable, via the driver's load string. This is either
in configNet.h, or sometimes dynamically created in a sysXXX.c file.

HTH,

John...

kim.quinn@lmco.com (Kim Quinn) wrote in message news:<56eaa15a.0203261122.2e46198d@posting.google.com>...
> I'm trying to send 4K messages using TCP. I have a Gigabit Ethernet
> card
> PMC667 from Ramix and 2 MVME5100 SBCs. I'm running vxWorks 5.4.2 and
> Tornado 2.1. I am able to send from 1 byte up to 2K with no
> problem.
> When I hit 4K, it takes me about 15 minutes to send 5000 4K messages.
> Now I
> do receive all the messages I sent, but it takes 15 minutes!
> I don't think it's my Gigabit Ethernet card because I switched to use
> the 10 Base-T Ethernet on the front of the boards instead to see if I
> increased my throughput, and it did not. I don't know
> if there is some parameter I'm missing in the vxWorks kernel or not.
> I thought that it may have been the clDescTbl[] but I wasn't sure.
> Has anyone seen this before? If so, help please.
>
> Kim

---------------------------

Newsgroups: comp.os.vxworks
Subject: VxOPC with Wonderware
Date: 27 Mar 2002 01:32:53 -0800
From: techsoul2001@yahoo.com (raghuram)
Organization: http://groups.google.com/
Message-ID: <e04d465b.0203270132.65140eca@posting.google.com>

vxworks

Hi,

We are planning to build a vxworks SBC for some process control
applications. For the GUI we are currently envisaging Wonderware's
Intouch product. Wonderware supports OPC.

I would like to know if anybody has ever used vxOPC to interface
Wonderware's InTouch SCADA Software with vxworks SBCs.

Any references or pointers would be greatly appreciated.

Thanks in advance.

---------------------------

Newsgroups: comp.os.vxworks
Subject: porting LINUX driver to vxWorks
Date: Wed, 27 Mar 2002 10:41:47 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7s44s$u2v$1@snoopy.bndlg.de>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fccb.dip.t-dialin.net

Hi all,

I am trying to port LINUX (red hat) Journaling Flash File System
(JFFS/JFFS2).
Looking into JFFS sources, it seems that the architecture of LINUX virtual
file system / driver is very different to vxWorks. I am lost hopelessly, as
I don't know anything about LINUX-internals.

Has anbody already done that port or can anybody point me in a direction to
understand the LINUX side of the problem ?

For the LINUX-experts that don't know vxWorks:
vxWorks mainly uses a DOS compatible filesystem basing on block-devices. All
non-DOS-devices have to implement their own FS. A device is attached to the
system by forwarding the function pointers of creat(), open(), read(),
write(), ioctl(), close() and delete(). I have found something similiar in
JFFS-sources. But there seem to exist callbacks to VFS concerning iNodes and
others.
The problem seems to be: which parts of VFS have to be put to JFFS to get an
driver satisfying the interface of VxWorks ? Or am I on the wrong trail ?

Any hint would be appreciated
Reinhold Wirth

Please don't use the reply-address, but answer to
wirth@softec.de

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: WindView Questions
Date: 27 Mar 2002 02:04:21 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203270204.2f44977@posting.google.com>
References: <8T0o8.8950$f5.554741@news>

Hello,

"Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message news:<8T0o8.8950$f5.554741@news>...
> Hello I have questions regarding windview ... most are in the manual i am
> sure but i fugure there's now harm asking question in case someone has
> better experiences than expressed in manuals ...

Have you bought VxWorks, or are you still thinking about it? If the
latter, you should get an FAE to come and talk to you - that would get
you answers to a lot of these questions much quicker than posting the
questions here one at a time...

You could also get an eval copy - either from the FAE, or simply
download the prototyper from the Wind River web site.

> 1.) Windview adds code where in the system?

There is instrumentation code in key places in the system. Most of the
time this instrumentation is not executed (apart from a test to see if
it is enabled). You can switch on each class of instrumentation
individually, or enable the lot - your choice.

> 2.) Does it tell you what function is running or what thread?
> - if thread then i assume it only adds extra code to context
> switching ... right?
> - if function then it adds code all over the place (function calls
> etc) ... right?

It records three things: the event time (using a high resolution
timestamp driver), the type of event (e.g. semGive, ISR entry, context
switch), and some data about the event (exact data depends on the
event type, but typically includes the ID of the task and any other
object ID, such as a semaphore ID, associated with the event).

> 3.) If its tells you functions then this means your gcc must be changed for
> vxworks ... must be a real pain to keep compiler up to date (but thats none
> of my business) ...

There are no changes to the compiler, or any other GNU tools, to
support WindView.

> 4.) If it tells you thread then how do find out where in thread the problem
> code is ... does it just match up "pc" with the "ELF" core file ...

WindView doesn't magically record problems. What it records is key
events in the system (including user defined events in the newer
versions), and some data about them. When displayed in the host tool
the resulting graph shows you what was executing at any time, and all
the events that you enabled.

Like a hardware logic analyser, it can also be set to start recording
by a trigger event, or it can just record from when you start it. With
some careful filtering and a good trigger definition you should be
able to focus on a problem area and see if there are timing issues
(e.g. deadlocks) in your application.

> 5.) Does windview add any extra threads to the system? I assume yes it does
> if gcc is unmodified ...

Normally there is an upload task to get the data up to the development
host, but I believe that it can run without any tasks when running in
"post-mortem" mode.

HTH,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: keyboard timeout - need some help
Date: 27 Mar 2002 02:06:01 -0800
From: tut_pharoh@yahoo.com (tutankhamun)
Organization: http://groups.google.com/
Message-ID: <88c8dc81.0203270206.55eddf@posting.google.com>
References: <9b6f8883.0203261710.56f9ef6c@posting.google.com>

mark_ck_chang@yahoo.com (Mark Chang) wrote in message news:<9b6f8883.0203261710.56f9ef6c@posting.google.com>...
> I have a keyboard timeout for my CLI in Vxworks 5.3.
> The code is like this
>
> do {
> numReady = select(FD_SETSIZE, &readFds, NULL, NULL, &tclSelectTimeout);
> if (numReady==0) {
> FD_ZERO(&readFds);
> FD_SET(stdInFd, &readFds);
> if (tclSelectTimeout.tv_sec >= (long) 60) {
> printf("Interface will timeout in 60 seconds.\n");
> tclSelectTimeout.tv_sec = (long) 30;
> } else if (tclSelectTimeout.tv_sec == (long) 30) {
> printf("Interface will timeout in 30 seconds.\n");
> tclSelectTimeout.tv_sec = (long) 20;
> } else if (tclSelectTimeout.tv_sec == (long) 20) {
> printf("Interface will timeout in 10 seconds.\n");
> tclSelectTimeout.tv_sec = (long) 10;
> /* if timeout reached 0, exit out of CLI */
> } else if (tclSelectTimeout.tv_sec == (long) 10) {
> strcpy (str,"exit");
> return;
> }
> }
> } while (numReady==0);
>
> onechar = &onecharbuff;
>
> /* read the buffer, could be 1 character or more since
> * ethernet will trigger select once for an entire package via
> * scripts, so we need to read the buffer until EOF/empty (numReady=0) */
> do {
> numReady = read (stdInFd,onechar,1);
> ch = *onechar;
> /* if we get a ESC character, read the next one */
> if (ch == D_ESC) {
>
> snip
>
> } while ( numReady != 0 );
>
> The problem I have is that if the user hits one key or
> several with a CR/LF, the routines of course ends
> up in the second loop and my timeout never happens.
>
> I couldn't just use a read loop because for some reason,
> it would not return from the read if the data (keyboard input)
> were from ethernet (Telnet) It would wait until a cr/lf
> was detected before coming out of it.
>
> The select works so that's why I'm using it.
>
> I could use some ideas on how to get my timeout to work
> with the above case (1 key or more hit w/o cr/lf)
>
> Thanks,
> Mark

This is because your serial I/O is by default configured in "terminal"
mode, wherein all the reads on stdins would block until user hits
CR/LF. All you need to do is get your serial I/O in "raw" mode, so you
have full control over it.

Add the following statement just before you start your select loop,
and see what happens.

ioctl(STD_IN, FIOSETOPTIONS, OPT_RAW);

hope this helps,
tut

---------------------------

Newsgroups: comp.os.vxworks
Subject: how to bind a pppoe service to multi ethernet port ?
Date: 27 Mar 2002 02:18:06 -0800
From: sardine_sz@163.net (sardine)
Organization: http://groups.google.com/
Message-ID: <b1cb4c43.0203270218.3cb514ce@posting.google.com>

how to bind a pppoe service to multi ethernet port ?

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Porting a board to Vxworks?
Date: 27 Mar 2002 02:28:13 -0800
From: rajaismyname@yahoo.com (Raja Ganesan)
Organization: http://groups.google.com/
Message-ID: <1a047b5a.0203270228.2f84109e@posting.google.com>
References: <1a047b5a.0203220236.37215514@posting.google.com> <a7nfuh$ot6$00$1@news.t-online.com>

Markus Pietrek <mpietrek@fsforth.de> wrote in message news:<a7nfuh$ot6$00$1@news.t-online.com>...
> Raja Ganesan wrote:
>
> > "Porting a board to Vxworks", What does this mean?
> > what are the steps that should be follwed for porting the board to
> > Vxworks. would anyone detail it.
> > Expecting your help.
>
> Depending on the BSPs you have or you may get it means little or a lot of
> work. If you are lucky you have similar boards and just have to change the
> memory addresses and/or chip selects in some few source files.
>
>
> But if you are unlucky you have the necessary libraries (e.g. x86 or
> ARM7TDMI based) but have to adapt or redevelop the timers, interrupt
> handlers, cache management, ethernet and serial drivers by yourself.
>
> For more detailed answers please give more details.
>
> Bye,
> Markus Pietrek

Hi Marcus,

Thank you very much for the prompt response for my query.
I am investigating on the feasibility of developing a BSP for a
PowerPC based evaluation board for VxWorks. Unfortunately, I
don&#8217;t have much experience in the field of BSP development.
However, now I am into it and I would like to get some guidelines as
to
1. how to go about it
2. what are the different steps involved in it
3. what are the tools that I can make use of
4. roughly how much time and effort I will have to put into it.

Meanwhile, the board is based on PowerPC 750CX and is a custom made
one with facilities for almost all kinds of peripheral support such as
PCI bus, AGP, IDE Master controller, floppy controller, PS/2 keyboard
and mouse, serial and parallel ports, audio/modem, game port and DIMM
slot. It is running on PowerPC Linux.

The whole job is porting this board to VxWorks as BSP.

Regards
Raja

---------------------------

Newsgroups: comp.os.vxworks
Subject: semBCreate()
Date: Wed, 27 Mar 2002 10:46:02 -0000
From: "lang2" <wzhliang_remove_@postmaster.co.uk>
Organization: WHAT
Message-ID: <a7s7o5$eno$1@kermit.esat.net>

Hi all,

This function can create a binary semaphore with SEM_Q_FIFO or
SEM_Q_PRIORITY.
But is the semaphore created recursive?

Thnx

---------------------------

Newsgroups: comp.os.vxworks
Subject: I want to initialize board(MPC107) through the EEPROM
Date: 27 Mar 2002 02:44:33 -0800
From: emycall@dreamx.net (Ahn Jung Hoon)
Organization: http://groups.google.com/
Message-ID: <2b0ae335.0203270244.47a017df@posting.google.com>

Hi, all.

I meet new project, but I am new at vxworks.

So I don't know how I start to solve the problem..

Simply, My project is "I2C interface driver writing on MPC107"..

Namely, I want to initialize board(MPC107) through the EEPROM.

Can anyboy let me understand in most easiest way what and how I do..??

so I want to receive some manual, open source, html link and so on

please help me...!!!
Post a follow-up to this

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
Date: 27 Mar 2002 03:52:42 -0800
From: vittala@hotmail.com (Vittal)
Organization: http://groups.google.com/
Message-ID: <6847c39a.0203270352.13d8cdb8@posting.google.com>
References: <e38d912c.0203262347.3fd78ec8@posting.google.com>

Hi Arun,
As you see from the listing, the device numbers in the two entries are
different. one is 4 and the other is 14. So, it could be the case
where in you have 2 devices on the same card. Check out the card's
hardware manual to confirm this. Hope this helps you and let me know
if it is true.

regards,
Vittal.

arun4vxworks@indiatimes.com (Arun Prasad) wrote in message news:<e38d912c.0203262347.3fd78ec8@posting.google.com>...
> Hi,
>
> 	I'm facing a problem and couldn't figure it out why it happens.
> 	I have a NIC card connected to my walnut machine, for which we are
> writing device driver.
> 	When I use pciDeviceShow() function, it shows there are two of my
> cards present on the system and they only differ in device (of BDF).
> But I have only one card connected to the system. Also pciFindDevice()
> getting succeeded for both of these devices.
> 	In the given output 2nd and 3rd entries are our card's.
>
> ========
> Scanning function 0 of each PCI device on bus 0
> Using configuration mechanism 0
> bus device function vendorID deviceID class
> 00000000 00000000 00000000 00001014 00000156 00060000
> 00000000 00000004 00000000 0000143a 00004e53 00028000
> 00000000 00000014 00000000 0000143a 00004e53 00028000
> ========
>
> 	Could anyone tell me why this strange behaviour happens to our card
> on VxWorks?
>
> Regards
> Arun

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Thu Mar 28 04:03:29 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Mar 28 04:03:32 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Thu Mar 28 04:03:23 PST 2002

 Subject: Re: semBCreate()
 Subject: Re: semBCreate()
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: Default Signal Handler
 Subject: Re: WindView Questions
 Subject: Re: semBCreate()
 Subject: why ping request timed out
 Subject: Re: porting LINUX driver to vxWorks
 Subject: Anyone using VxWorks Radius implementation
 Subject: Re: semBCreate()
 Subject: Re: porting LINUX driver to vxWorks
 Subject: Re: usrLib api's in bootrom
 Subject: Re: semBCreate()
 Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
 Subject: Re: semBCreate()
 Subject: DosFs File Attributes
 Subject: Re: semBCreate()
 Subject: Re: keyboard timeout - need some help
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: DosFs File Attributes
 Subject: Re: semBCreate()
 Subject: Re: The "unsupported" WRS Telnet server hanging
 Subject: modifying configlettes`
 Subject: Re: semBCreate()
 Subject: PCI interrupt routines
 Subject: Re: ipAttach - c vs c++
 Subject: Re: Anybody ported openssh to vxworks ? Any issues ?
 Subject: Re: why ping request timed out
 Subject: Re: dosFs2 and DOS_VOL_CONFIG
 Subject: Re: how to bind a pppoe service to multi ethernet port ?
 Subject: Re: malloc in a device driver. [newbie question]
 Subject: Re: vxWorks system calls
 Subject: Re: Default Signal Handler
 Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
 Subject: Re: select and pty
 Subject: Question about tScsiTask
 Subject: About mpc860t's SCC working for E1 line!Help!
 Subject: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
 Subject: how to use envoy in tornado?
 Subject: SAB 82532/82538 device drivers
 Subject: BSD and END device drivers
 Subject: Can I kill a task in itself?
 Subject: How to Communicate between Two vxsim Targets in Windows 2000
 Subject: Re: BSD and END device drivers
 Subject: why vxworks PING makes the system slow in winnt ??
 Subject: where can I find the driver of 82559?
 Subject: Re: BSD and END device drivers
 Subject: Re: select and pty
 Subject: Re: modifying configlettes`
 Subject: Re: BSD and END device drivers
 Subject: Reboot Target error
 Subject: Re: semBCreate()
 Subject: Re: DosFs File Attributes
 Subject: Re: modifying configlettes`
 Subject: Re: modifying configlettes`
 Subject: Re: PCI interrupt routines
 Subject: Re: Can I kill a task in itself?
 Subject: Re: DosFs File Attributes
 Subject: Re: ipAttach - c vs c++
 Subject: Re: PCI interrupt routines
 Subject: Re: Can I kill a task in itself?
 Subject: Re: CLI Parser for VxWorks
 Subject: Re: using CLI commands from file
 Subject: rlogin client puts stdout to shell session
 Subject: Re: rlogin client puts stdout to shell session
 Subject: Establishing ppp Connection between vxWorks and windows2000

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 03:58:56 -0800
From: Bob Bradley <bob@chaoticsoftware.com>
Organization: Uh huh huh...It says Organ
Message-ID: <bob-A0B288.03585627032002@news.apple.com>
References: <a7s7o5$eno$1@kermit.esat.net>

In article <a7s7o5$eno$1@kermit.esat.net>,
 "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:

> This function can create a binary semaphore with SEM_Q_FIFO or
> SEM_Q_PRIORITY.
> But is the semaphore created recursive?

No, but if you need a recursive semaphore, you can use semMCreate.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 12:23:42 -0000
From: "lang2" <wzhliang_remove_@postmaster.co.uk>
Organization: WHAT
Message-ID: <a7sdf9$gvt$1@kermit.esat.net>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com>

"Bob Bradley" <bob@chaoticsoftware.com> wrote in message
news:bob-A0B288.03585627032002@news.apple.com...
> In article <a7s7o5$eno$1@kermit.esat.net>,
> "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
>
> > This function can create a binary semaphore with SEM_Q_FIFO or
> > SEM_Q_PRIORITY.
> > But is the semaphore created recursive?
>
> No, but if you need a recursive semaphore, you can use semMCreate.
I looked up the reference, semMCreate can take the following options:
SEM_Q_PRIORITY
SEM_Q_FIFO
SEM_DELETE_SAFE
SEM_INVERSION_SAFE.

I can't find an recurrsive option there.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: Wed, 27 Mar 2002 12:25:06 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3CA1BA96.1060706@spamm.me.l8s.co.uk>
References: <5c074538.0203122254.56279c06@posting.google.com> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com> <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203240914.472936a9@posting.google.com> <wwn0wwm6s0.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203260813

Hwa Jin Bae wrote:

> I agree that the code could have been written better. I am certainly
> not trying to defend the current code. I did not write that code, but
> I know who did. The person who wrote that code originally is a very
> good engineer. I have to assume that it was his intent to keep things
> that way. It was never his intent to support fine grain timer
> resolution with select. There are other ways of accomplishing such
> timing requirements in vxWorks. select was only provided as a crude
> way of compatibility with Unix.
>

Actually I expect it was written assuming a tick of around 60-100Hz.
Writing it to support arbitrary fast ticks is quite hard.
OTOH if unsigned arithmetic had been done then select() would
only ever return early.

In some senses the problem is that the restriction on the clock
rate isn't documented anywhere. If select used unsigneds then
a 4k clock is fine - which is probbaly faster than most people
want.

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: Wed, 27 Mar 2002 12:34:07 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3CA1BCB2.1040500@spamm.me.l8s.co.uk>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com> <7M6o8.9008$f5.563329@news> <488e459a.0203270111.b14b5e0@posting.google.com>

John wrote:

> Hello,
>
> "Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message news:<7M6o8.9008$f5.563329@news>...
>
>>You said malloc is illegal in ISR ... what about signal handler?
>>
>
> malloc() should cause no problems in signal handlers since they are
> executed in a task's context always.

That isn't enough...
malloc() uses a semaphore to protect the free list,
Consider what happens if an interrupt happens with the
semaphore held and causes a signal handler to run
for that task (eg a posix timer).
If the signal handler tries to call malloc() it
will lock on the semaphore.

So you can't call malloc froma signal handler.

Even Unix has very tight restrictions on what a signal
handler can do - it is almost limited to setting an
entire volatile global variable. Many many signal
handlers do dangerous things, and usually get away with it.

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
Date: Wed, 27 Mar 2002 12:39:57 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3CA1BE10.1080306@spamm.me.l8s.co.uk>
References: <e38d912c.0203262347.3fd78ec8@posting.google.com> <3CA1B3B7.89A1A579@ineoquest.com>

George Varndell wrote:

> Arun Prasad wrote:
>
>>Hi,
>>
>> I'm facing a problem and couldn't figure it out why it happens.
>> I have a NIC card connected to my walnut machine, for which we are
>>writing device driver.
>> When I use pciDeviceShow() function, it shows there are two of my
>>cards present on the system and they only differ in device (of BDF).
>>But I have only one card connected to the system. Also pciFindDevice()
>>getting succeeded for both of these devices.
>> In the given output 2nd and 3rd entries are our card's.
>>
>>========
>>Scanning function 0 of each PCI device on bus 0
>>Using configuration mechanism 0
>>bus device function vendorID deviceID class
>>00000000 00000000 00000000 00001014 00000156 00060000
>>00000000 00000004 00000000 0000143a 00004e53 00028000
>>00000000 00000014 00000000 0000143a 00004e53 00028000
>>========
>>
>> Could anyone tell me why this strange behaviour happens to our card
>>on VxWorks?
>>
>>
>
> I would assume your mechanism 0 PCI configuration access function is
> flawed
> in some way causing identical coding of device ID 4 and device ID 14.

It is possible that you system doesn't generate different PCI config
cycles for devices d and d = 0x10.
I've seen this before on some PC motherboards.
If the accesses are done though the BIOS then it SHOULD error requests
for devices 0x10 to 0x1f - but ours didn't.
We had to kill the extra devices during system startup.

Dunno how to stop vxWorks probing devices 0x10 to 0x1f though....

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: Wed, 27 Mar 2002 13:29:12 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <IOjo8.9047$f5.588349@news>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com> <7M6o8.9008$f5.563329@news> <488e459a.0203270111.b14b5e0@posting.google.com> <3CA1BCB2.1040500@spamm.me.l8s.co.uk>

So its seems it is not allowed to do this?

Or can I do it ... but its generaly a bad idea?

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3CA1BCB2.1040500@spamm.me.l8s.co.uk...
> John wrote:
>
> > Hello,
> >
> > "Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message
news:<7M6o8.9008$f5.563329@news>...
> >
> >>You said malloc is illegal in ISR ... what about signal handler?
> >>
> >
> > malloc() should cause no problems in signal handlers since they are
> > executed in a task's context always.
>
> That isn't enough...
> malloc() uses a semaphore to protect the free list,
> Consider what happens if an interrupt happens with the
> semaphore held and causes a signal handler to run
> for that task (eg a posix timer).
> If the signal handler tries to call malloc() it
> will lock on the semaphore.
>
> So you can't call malloc froma signal handler.
>
> Even Unix has very tight restrictions on what a signal
> handler can do - it is almost limited to setting an
> entire volatile global variable. Many many signal
> handlers do dangerous things, and usually get away with it.
>
> David
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Default Signal Handler
Date: Wed, 27 Mar 2002 13:32:50 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <6Sjo8.9059$f5.588439@news>
References: <m16o8.9001$f5.561155@news> <488e459a.0203270115.56ab7567@posting.google.com>

what i want to do is boot my system ... and have new tasks use "default
hadlers" that i determine for each signal ...

is this possible?

Thnx,
Jim

"John" <john_94501@yahoo.com> wrote in message
news:488e459a.0203270115.56ab7567@posting.google.com...
> Hello,
>
> "Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message
news:<m16o8.9001$f5.561155@news>...
> > Is there a default signal handler for all threads that I can make a
global
> > change to ...
>
> No. You can catch all exceptions though via a hook routine if that is
> what you are hoping to achieve.
>
> HTH,
>
> John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: WindView Questions
Date: Wed, 27 Mar 2002 13:41:54 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <C_jo8.9061$f5.588604@news>
References: <8T0o8.8950$f5.554741@news> <488e459a.0203270204.2f44977@posting.google.com>

We have bought vxWorks ...

I am just looking into some of the features I have not had the opportunity
to take advantage of ...

Jim

"John" <john_94501@yahoo.com> wrote in message
news:488e459a.0203270204.2f44977@posting.google.com...
> Hello,
>
> "Jim" <REMOVEjgdon@ureach.comREMOVE> wrote in message
news:<8T0o8.8950$f5.554741@news>...
> > Hello I have questions regarding windview ... most are in the manual i
am
> > sure but i fugure there's now harm asking question in case someone has
> > better experiences than expressed in manuals ...
>
> Have you bought VxWorks, or are you still thinking about it? If the
> latter, you should get an FAE to come and talk to you - that would get
> you answers to a lot of these questions much quicker than posting the
> questions here one at a time...
>
> You could also get an eval copy - either from the FAE, or simply
> download the prototyper from the Wind River web site.
>
> > 1.) Windview adds code where in the system?
>
> There is instrumentation code in key places in the system. Most of the
> time this instrumentation is not executed (apart from a test to see if
> it is enabled). You can switch on each class of instrumentation
> individually, or enable the lot - your choice.
>
> > 2.) Does it tell you what function is running or what thread?
> > - if thread then i assume it only adds extra code to context
> > switching ... right?
> > - if function then it adds code all over the place (function
calls
> > etc) ... right?
>
> It records three things: the event time (using a high resolution
> timestamp driver), the type of event (e.g. semGive, ISR entry, context
> switch), and some data about the event (exact data depends on the
> event type, but typically includes the ID of the task and any other
> object ID, such as a semaphore ID, associated with the event).
>
> > 3.) If its tells you functions then this means your gcc must be changed
for
> > vxworks ... must be a real pain to keep compiler up to date (but thats
none
> > of my business) ...
>
> There are no changes to the compiler, or any other GNU tools, to
> support WindView.
>
> > 4.) If it tells you thread then how do find out where in thread the
problem
> > code is ... does it just match up "pc" with the "ELF" core file ...
>
> WindView doesn't magically record problems. What it records is key
> events in the system (including user defined events in the newer
> versions), and some data about them. When displayed in the host tool
> the resulting graph shows you what was executing at any time, and all
> the events that you enabled.
>
> Like a hardware logic analyser, it can also be set to start recording
> by a trigger event, or it can just record from when you start it. With
> some careful filtering and a good trigger definition you should be
> able to focus on a problem area and see if there are timing issues
> (e.g. deadlocks) in your application.
>
> > 5.) Does windview add any extra threads to the system? I assume yes it
does
> > if gcc is unmodified ...
>
> Normally there is an upload task to get the data up to the development
> host, but I believe that it can run without any tasks when running in
> "post-mortem" mode.
>
> HTH,
>
> John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 15:01:19 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7sjbg$7s3$1@snoopy.bndlg.de>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fccb.dip.t-dialin.net

Liang, Bob,

don't let me die stupid - what is a 'recursive' semaphore ???
I know counting- and binary-semaphores and mutex, but have never heard of a
recursive one !

"lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
news:a7sdf9$gvt$1@kermit.esat.net...
>
> "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> news:bob-A0B288.03585627032002@news.apple.com...
> > In article <a7s7o5$eno$1@kermit.esat.net>,
> > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> >
> > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > SEM_Q_PRIORITY.
> > > But is the semaphore created recursive?
> >
> > No, but if you need a recursive semaphore, you can use semMCreate.
> I looked up the reference, semMCreate can take the following options:
> SEM_Q_PRIORITY
> SEM_Q_FIFO
> SEM_DELETE_SAFE
> SEM_INVERSION_SAFE.
>
> I can't find an recurrsive option there.
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: why ping request timed out
Date: 27 Mar 2002 06:37:02 -0800
From: lihuapeng@21cn.com (DragonSpring)
Organization: http://groups.google.com/
Message-ID: <1d411918.0203270637.531e5161@posting.google.com>

Tornado 2/VxWorks 5.4/T2CP2/NPT/NPT Patch, 2 MPC860 boards, each board
has an Ethernet port(FEC) and a WAN port(bandwidth is 16TS, QMC driver
on 2 SCCs). Two wan ports is connected by TS switcher. The IP
addresses are as following:

(PC1) (board1 LAN) (board1 WAN) (board2 WAN) (board2 LAN)
(PC2)
138.0.0.125---138.0.4.8-----90.0.1.1------90.0.1.2------137.0.4.8----137.0.0.95

The routes are added correctly.

The MTU of board1 WAN and board2 WAN are both 1500. Now ping
137.0.0.95 from 138.0.0.125:

ping 137.0.0.95 -t -l length
 when length < 1473 All is OK
 length >=1473 and < 1477 found some "Request timed out"
 (about 50 percent)
 length >=1478 All is OK

Notice that the ping packet will be split to 2 IP packets when
length>=1473 because of MTU=1500.

What's the matter? 138.0.0.125 can get all the reply ICMP packet, no
one is lost.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: porting LINUX driver to vxWorks
Date: Wed, 27 Mar 2002 15:53:29 +0100
From: "Friedrich Ensslin" <friedrich.ensslin@am3.com>
Message-ID: <L1lo8.2$GI2.1623@news.ecrc.de>
References: <a7s44s$u2v$1@snoopy.bndlg.de>

Hello Michael,

to get a feeling on the Linux driver philiosopy (kernel space, not user
space like in VxWorks), you might have a look at Rubini's book on Linux
Device Drivers (published by O'Reilly).

hth,

F. Ensslin

---------------------------

Newsgroups: comp.os.vxworks
Subject: Anyone using VxWorks Radius implementation
Date: Wed, 27 Mar 2002 15:10:37 GMT
From: "Verizon" <vze399g7@verizon.net>
Message-ID: <Nhlo8.16569$8r.8886@nwrddc01.gnilink.net>

Has anyone out there used the VxWorks Version of Radius? We are getting
ready to implement and
not sure if we should go with the VxWorks Version or write our own. We
would have to Upgrade
some of our products to Tornado 2 and later Version of VxWorks.

Any got yas or other things that people have run in to?

Thanks !!!

Rick

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 15:19:58 -0000
From: "lang2" <wzhliang_remove_@postmaster.co.uk>
Organization: WHAT
Message-ID: <a7snpd$mfu$1@kermit.esat.net>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de>

"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a7sjbg$7s3$1@snoopy.bndlg.de...
> Liang, Bob,
>
> don't let me die stupid - what is a 'recursive' semaphore ???
> I know counting- and binary-semaphores and mutex, but have never heard of
a
> recursive one !
>
> "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> news:a7sdf9$gvt$1@kermit.esat.net...
> >
> > "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> > news:bob-A0B288.03585627032002@news.apple.com...
> > > In article <a7s7o5$eno$1@kermit.esat.net>,
> > > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> > >
> > > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > > SEM_Q_PRIORITY.
> > > > But is the semaphore created recursive?
> > >
> > > No, but if you need a recursive semaphore, you can use semMCreate.
> > I looked up the reference, semMCreate can take the following options:
> > SEM_Q_PRIORITY
> > SEM_Q_FIFO
> > SEM_DELETE_SAFE
> > SEM_INVERSION_SAFE.
> >
> > I can't find an recurrsive option there.
> >
Sorry if I confused you. I mean a binary semaphore which can be grabbed by
the same thread for multi times.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: porting LINUX driver to vxWorks
Date: Wed, 27 Mar 2002 16:41:06 +0100
From: "Fauris, Sebastien [CTF:4927:EXCH]" <sfauris@europem01.nt.com>
Organization: Nortel Networks
Message-ID: <3CA1E812.72810FB9@europem01.nt.com>
References: <a7s44s$u2v$1@snoopy.bndlg.de> <L1lo8.2$GI2.1623@news.ecrc.de>

Friedrich Ensslin wrote:

> Hello Michael,
>
> to get a feeling on the Linux driver philiosopy (kernel space, not user
> space like in VxWorks), you might have a look at Rubini's book on Linux
> Device Drivers (published by O'Reilly).
>
> hth,
>
> F. Ensslin

You can download this book for free at the following address:
http://www.xml.com/ldd/chapter/book/

Sebastien.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: usrLib api's in bootrom
Date: 27 Mar 2002 07:57:54 -0800
From: triniatlarge@yahoo.com (lovell James)
Organization: http://groups.google.com/
Message-ID: <a66abf95.0203270757.666a539a@posting.google.com>
References: <a66abf95.0203210803.29e6dd6e@posting.google.com> <2v4n8.95397$Yv2.30491@rwcrnsc54>

Hi drdiags,
 Thanks for the info. All I need if getting my file access
functions to work. cd, dir, ls, ll. I used ioctl and iolib library but
that did not work. I know I am missing a step. Since you got these to
work you might remember something I am not doing.
Thanks
LJ

"drdiags" <drdiags@attbi.com> wrote in message news:<2v4n8.95397$Yv2.30491@rwcrnsc54>...
> Hello Lovell,
>
> I tried doing this by looking at usrConfig.c to determine how to get
> the symbol table
> included, add the "shell", etc and unfortunately I could get everything
> except the symbol
> table in the bootrom. So I had the target shell, the banner but I couldn't
> do an "i"
> If you figure out how to pull in the symbol table, let me know. From what I
> remember
> if I could get a build of the bootrom to reflect how a vxWork.st was built,
> this would
> get me over the last hump. Did you look at the target/h/make directory to
> see how
> vxWorks.st is built? Good luck and if I revisit this and get it working, I
> will post my
> steps. Hope you have better luck.
>
> "lovell James" <triniatlarge@yahoo.com> wrote in message
> news:a66abf95.0203210803.29e6dd6e@posting.google.com...
> > Hi all,
> > Has anyone ever tried getting some of the usrLib api's to work
> > in bootrom, such as 'cd', 'pwd' etc? I know they are only meant to be
> > executed in the Vxworks shell but ideally I want to give the user at
> > the boot prompt an option to view files in my file flsh formatted and
> > setup by Tffs. I thought before giving up I'll try here first.
> > Basically I called usrlib.o into the bootrom image but I got link
> > errors because it was looking for symbol table defines.
> > Thanks
> >
> > LJ

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 17:51:24 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7stac$fki$1@snoopy.bndlg.de>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de> <a7snpd$mfu$1@kermit.esat.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088fccb.dip.t-dialin.net

"lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
news:a7snpd$mfu$1@kermit.esat.net...
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message
> news:a7sjbg$7s3$1@snoopy.bndlg.de...
> > Liang, Bob,
> >
> > don't let me die stupid - what is a 'recursive' semaphore ???
> > I know counting- and binary-semaphores and mutex, but have never heard
of
> a
> > recursive one !
> >
> > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> > news:a7sdf9$gvt$1@kermit.esat.net...
> > >
> > > "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> > > news:bob-A0B288.03585627032002@news.apple.com...
> > > > In article <a7s7o5$eno$1@kermit.esat.net>,
> > > > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> > > >
> > > > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > > > SEM_Q_PRIORITY.
> > > > > But is the semaphore created recursive?
> > > >
> > > > No, but if you need a recursive semaphore, you can use semMCreate.
> > > I looked up the reference, semMCreate can take the following options:
> > > SEM_Q_PRIORITY
> > > SEM_Q_FIFO
> > > SEM_DELETE_SAFE
> > > SEM_INVERSION_SAFE.
> > >
> > > I can't find an recurrsive option there.
> > >
> Sorry if I confused you. I mean a binary semaphore which can be grabbed by
> the same thread for multi times.
>
That is a _mutex_ (MUTual EXclusion).
Create it by semMCreate, rest like normal semaphores.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
Date: Wed, 27 Mar 2002 09:13:10 -0800
From: "kdb" <kbalmy_NO_SPAM_PLEASE@cmc_NO_SPAM_PLEASE.com>
Organization: cmc
Message-ID: <p6no8.533$GV.14251@newsfeed.avtel.net>
References: <e38d912c.0203262347.3fd78ec8@posting.google.com>

Could be a hardware problem - these have been known to occur! Looks like an
address line could be shorted, either on the host SBC board or on the device
card. Observe: device # 0x0004 vs 0x0014. Pin AD4 could be shorted
somewhere. Check to see if you can do a config write to some register on
device # 0x0004 and read the same value back from the same register on
device # 0x0014, and vice versa.

cheer - K

"Arun Prasad" <arun4vxworks@indiatimes.com> wrote in message
news:e38d912c.0203262347.3fd78ec8@posting.google.com...
> Hi,
>
> I'm facing a problem and couldn't figure it out why it happens.
> I have a NIC card connected to my walnut machine, for which we are
> writing device driver.
> When I use pciDeviceShow() function, it shows there are two of my
> cards present on the system and they only differ in device (of BDF).
> But I have only one card connected to the system. Also pciFindDevice()
> getting succeeded for both of these devices.
> In the given output 2nd and 3rd entries are our card's.
>
> ========
> Scanning function 0 of each PCI device on bus 0
> Using configuration mechanism 0
> bus device function vendorID deviceID class
> 00000000 00000000 00000000 00001014 00000156 00060000
> 00000000 00000004 00000000 0000143a 00004e53 00028000
> 00000000 00000014 00000000 0000143a 00004e53 00028000
> ========
>
> Could anyone tell me why this strange behaviour happens to our card
> on VxWorks?
>
> Regards
> Arun

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 17:25:45 -0000
From: "lang2" <wzhliang_remove_@postmaster.co.uk>
Organization: WHAT
Message-ID: <a7sv57$pb9$1@kermit.esat.net>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de> <a7snpd$mfu$1@kermit.esat.net> <a7stac$fki$1@snoopy.bndlg.de>

"Michael Lawnick" <Lawnick@softec.de> wrote in message
news:a7stac$fki$1@snoopy.bndlg.de...
>
> "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> news:a7snpd$mfu$1@kermit.esat.net...
> >
> > "Michael Lawnick" <Lawnick@softec.de> wrote in message
> > news:a7sjbg$7s3$1@snoopy.bndlg.de...
> > > Liang, Bob,
> > >
> > > don't let me die stupid - what is a 'recursive' semaphore ???
> > > I know counting- and binary-semaphores and mutex, but have never heard
> of
> > a
> > > recursive one !
> > >
> > > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> > > news:a7sdf9$gvt$1@kermit.esat.net...
> > > >
> > > > "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> > > > news:bob-A0B288.03585627032002@news.apple.com...
> > > > > In article <a7s7o5$eno$1@kermit.esat.net>,
> > > > > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> > > > >
> > > > > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > > > > SEM_Q_PRIORITY.
> > > > > > But is the semaphore created recursive?
> > > > >
> > > > > No, but if you need a recursive semaphore, you can use semMCreate.
> > > > I looked up the reference, semMCreate can take the following
options:
> > > > SEM_Q_PRIORITY
> > > > SEM_Q_FIFO
> > > > SEM_DELETE_SAFE
> > > > SEM_INVERSION_SAFE.
> > > >
> > > > I can't find an recurrsive option there.
> > > >
> > Sorry if I confused you. I mean a binary semaphore which can be grabbed
by
> > the same thread for multi times.
> >
> That is a _mutex_ (MUTual EXclusion).
> Create it by semMCreate, rest like normal semaphores.
>
Yes that was exactly what I mean. But vxWorks seems like the name semaphore
for some reason.

Do you mean that the mutex(semaphore) is recurrsive by default?

>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: DosFs File Attributes
Date: Wed, 27 Mar 2002 12:53:06 -0500
From: "Jim S" <jims@lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <a7t0u9$hgb@nntpa.cb.lucent.com>

Are there any tips on setting attributes for files under DosFs?
I've tried the documented procedure of:

fd=open("filename", O_RDONLY, 0)
fstat (fd, &statStruct)
ioctl (fd, FIOATTRIBSET, statStruct.st_attrib | DOS_ATTR_RDONLY)) /*
DOS_ATTR_RDONLY = 0x01 */

But the ioctl( ) always returns error (-1) and the file attributes remain
unchanged. The files exist (open OK and I can check the size), but the
attribute always show as 0x0.

Also, what's the deal with dosFs2.0? Is it part of the standard Tornado
2/VxW 5.4? Seems we have the original dosFs as part of a recent T2/VxW 5.4,
would this contribute to my problem? WindSurf offered little insight on
this.

TIA,
Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 17:43:24 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <oUno8.396$7L2.561566@newsr2.u-net.net>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net>

"lang2" <wzhliang_remove_@postmaster.co.uk> wrote in message
news:a7sdf9$gvt$1@kermit.esat.net...
>
> "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> news:bob-A0B288.03585627032002@news.apple.com...
> > In article <a7s7o5$eno$1@kermit.esat.net>,
> > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> >
> > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > SEM_Q_PRIORITY.
> > > But is the semaphore created recursive?
> >
> > No, but if you need a recursive semaphore, you can use semMCreate.
> I looked up the reference, semMCreate can take the following options:
> SEM_Q_PRIORITY
> SEM_Q_FIFO
> SEM_DELETE_SAFE
> SEM_INVERSION_SAFE.
>
> I can't find an recurrsive option there.
>
>

 The 'M' in semMCreate stands for "recursive", in much the same way as the
'B' in semBCreate stands for "not recursive at all really" ;-)

 IOW, it's innate to the type of semaphore that it can be taken and given
multiple times.

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: keyboard timeout - need some help
Date: Wed, 27 Mar 2002 18:02:30 -0000
From: "Dave Korn" <no.spam@my.mailbox.invalid>
Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh)
Message-ID: <oUno8.397$7L2.561566@newsr2.u-net.net>
References: <9b6f8883.0203261710.56f9ef6c@posting.google.com>

"Mark Chang" <mark_ck_chang@yahoo.com> wrote in message
news:9b6f8883.0203261710.56f9ef6c@posting.google.com...
> I have a keyboard timeout for my CLI in Vxworks 5.3.
> The code is like this
>
> do {
 [snip select loop]
> }
> }
> } while (numReady==0);
>
> onechar = &onecharbuff;
>
> /* read the buffer, could be 1 character or more since
> * ethernet will trigger select once for an entire package via
> * scripts, so we need to read the buffer until EOF/empty (numReady=0) */
> do {
 [snip read chars one-by-one loop]
> } while ( numReady != 0 );
>
> The problem I have is that if the user hits one key or
> several with a CR/LF, the routines of course ends
> up in the second loop and my timeout never happens.
>
> I couldn't just use a read loop because for some reason,
> it would not return from the read if the data (keyboard input)
> were from ethernet (Telnet) It would wait until a cr/lf
> was detected before coming out of it.
>
> The select works so that's why I'm using it.
>
> I could use some ideas on how to get my timeout to work
> with the above case (1 key or more hit w/o cr/lf)

 Well, one solution would be: after the select (...) call exits, do an
ioctl call using FIONREAD to find out exactly how many chars there are in
the buffer to read, and then your second loop could read exactly that many
chars and return to the first loop to do a select again. That should keep
the second loop from blocking when it tries to read and the buffer is empty.

 Also, in another post, tut suggested setting raw mode with

ioctl(STD_IN, FIOSETOPTIONS, OPT_RAW);

 I'd suggest that you might want to keep all the other features such as
ctrl-c and ctrl-x recognition and XON/XOFF handling, so really the only tty
option you're concerned with is OPT_LINE which causes the tty device to
accumulate chars until a lineend is received. So you might prefer to try:

ioctl(STD_IN, FIOSETOPTIONS, OPT_TERMINAL & ~OPT_LINE);

which should, according to the manual (vxworks ref. guide, section 3.7.1 :
Serial I/O Devices, subsection "Raw Mode and Line Mode")

- ---quote---
In raw mode, each input character is available to readers as soon as it is
input from the device
[snip]
In line mode, all input characters are saved until a NEWLINE character is
input; then the entire line of characters, including the NEWLINE, is made
available in the ring at one time
- ---quote---

 DaveK
- --
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: 27 Mar 2002 10:53:49 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203271053.23b6a1b1@posting.google.com>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com> <7M6o8.9008$f5.563329@news> <488e459a.0203270111.b14b5e0@posting.google.com> <3CA1BCB2.1040500@spamm.me.l8s.co.uk>

Hello,

> That isn't enough...
> malloc() uses a semaphore to protect the free list,
> Consider what happens if an interrupt happens with the
> semaphore held and causes a signal handler to run
> for that task (eg a posix timer).
> If the signal handler tries to call malloc() it
> will lock on the semaphore.

That's not a problem. The interrupt was serviced *before* the signal
was delivered. If the handler blocks on the semaphore, then that is
the correct behaviour.

You have reminded me of a problem here though... the issue is not the
one you describe, but the case where the task that received the signal
was already in the critical region of malloc(). Then the semaphore
will fail to protect the critical region since the calling task
already owns it. This is more of a problem.

> So you can't call malloc froma signal handler.

No, you can use malloc from a signal handler, but with care. You would
need to make sure that signals were blocked during all other places in
the task's code where allocations occur (note that this is going to be
difficult if you use any of the VxWorks xxxCreate() APIs after you've
installed the signal handler).

Perhaps a better solution would be to have a pre-allocated block of
memory for the signal handler to use (e.g. a simple slab allocator).

If you want to be really safe, then you could treat them as ISRs, but
that is really restricting you more than necessary.

Rgds,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: DosFs File Attributes
Date: Wed, 27 Mar 2002 19:10:07 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3CA233E4.1EAF@despam.autobahn.mb.ca>
References: <a7t0u9$hgb@nntpa.cb.lucent.com>

In article <a7t0u9$hgb@nntpa.cb.lucent.com>,
<jims@lucent.com> Jim S wrote:
>
> Are there any tips on setting attributes for files under DosFs?
> I've tried the documented procedure of:
>
> fd=open("filename", O_RDONLY, 0)
> fstat (fd, &statStruct)
> ioctl (fd, FIOATTRIBSET, statStruct.st_attrib | DOS_ATTR_RDONLY)) /*
> DOS_ATTR_RDONLY = 0x01 */
>
> But the ioctl( ) always returns error (-1) and the file attributes remain
> unchanged.
>[...]
>

	With what errno?

<curious>
- -het

- --
"progress in software has not followed Moore's law." -John Holland

Computer stuff: http://www.autobahn.mb.ca/~het/clinks.html
H.E. Taylor http://www.autobahn.mb.ca/~het/

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: 27 Mar 2002 19:25:23 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaa4752.798.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de> <a7snpd$mfu$1@kermit.esat.net> <a7stac$fki$1@snoopy.bndlg.de> <a7sv57$pb9$1@kermit.esat.net>

 * lang2 <wzhliang_remove_@postmaster.co.uk> [03-Wed-02 09:25 -0800]:
 >

 > "Michael Lawnick" <Lawnick@softec.de> wrote in message
 > news:a7stac$fki$1@snoopy.bndlg.de...
 > >
 > > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
 > > news:a7snpd$mfu$1@kermit.esat.net...
 > > >
 > > > "Michael Lawnick" <Lawnick@softec.de> wrote in message
 > > > news:a7sjbg$7s3$1@snoopy.bndlg.de...
 > > > > Liang, Bob,
 > > > >
 > > > > don't let me die stupid - what is a 'recursive'
 > > > > semaphore ??? I know counting- and
 > > > > binary-semaphores and mutex, but have never heard
 > > of
 > > > a
 > > > > recursive one !
 > > > >
 > > > > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb
 > > > > im Newsbeitrag
 > > > > news:a7sdf9$gvt$1@kermit.esat.net...
 > > > > >
 > > > > > "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
 > > > > > news:bob-A0B288.03585627032002@news.apple.com...
 > > > > > > In article <a7s7o5$eno$1@kermit.esat.net>,
 > > > > > > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
 > > > > > >
 > > > > > > > This function can create a binary semaphore
 > > > > > > > with SEM_Q_FIFO or SEM_Q_PRIORITY. But is
 > > > > > > > the semaphore created recursive?
 > > > > > >
 > > > > > > No, but if you need a recursive semaphore, you
 > > > > > > can use semMCreate.
 > > > > > I looked up the reference, semMCreate can take
 > > > > > the following options:
 > > > > > SEM_Q_PRIORITY
 > > > > > SEM_Q_FIFO
 > > > > > SEM_DELETE_SAFE
 > > > > > SEM_INVERSION_SAFE.
 > > > > >
 > > > > > I can't find an recurrsive option there.
 > > > > >
 > > > Sorry if I confused you. I mean a binary semaphore
 > > > which can be grabbed by the same thread for multi
 > > > times.
 > > >
 > > That is a _mutex_ (MUTual EXclusion).
 > > Create it by semMCreate, rest like normal semaphores.
 > >
 > Yes that was exactly what I mean. But vxWorks seems like
 > the name semaphore for some reason.

 > Do you mean that the mutex(semaphore) is recurrsive by
 > default?

Yes. Read the programmer's guide, it talks about that...

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: The "unsupported" WRS Telnet server hanging
Date: 27 Mar 2002 19:26:45 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaa477k.798.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <e229ec7e.0203251827.694278d5@posting.google.com>

 * Chris Moore <chrismooremobile@yahoo.com> [03-Mon-02 18:27 -0800]:

 > I've been using the unsupported WRS telnet daemon for a
 > while now and have not noticed any huge problems. BUT!
 > When I have the CPU loaded (according to the spylib) I
 > get some problems with the telnet client task hanging, if
 > I do a netstat from my machine or from the VxWorks target
 > I see that the msgq is filled and doesnt clear out at
 > all...

 > Has anyone else experienced this problem?

Haven't used this, but it sounds like some sort of a
starvation problem. Did you check your task priorities?

denis

- --
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the
inconvenience.

---------------------------

Newsgroups: comp.os.vxworks
Subject: modifying configlettes`
Date: Wed, 27 Mar 2002 15:12:44 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3CA227BC.7A8F78F5@notifier-is.net>

hi,
 I'm on an x86 development system (target also happens to be x86) and
want to modify one of the configlettes in
/tornado/target/config/comps/src (actually in the net/http directory if
that makes a difference).
I made the changes but it seems as if my change didn't work. I did a
build all, so is there anything I can do to get it to recompile the
configlettes? Or did they recompile somewhere in the background and my
change just isn't taking for some other reason?

Thanks,

David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Wed, 27 Mar 2002 12:59:52 -0800
From: Bob Bradley <bob@chaoticsoftware.com>
Organization: Uh huh huh...It says Organ
Message-ID: <bob-F7285A.12595227032002@news.apple.com>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de>

In article <a7sjbg$7s3$1@snoopy.bndlg.de>,
 "Michael Lawnick" <Lawnick@softec.de> wrote:

> don't let me die stupid - what is a 'recursive' semaphore ???
> I know counting- and binary-semaphores and mutex, but have never heard of a
> recursive one !

Recursive just means it can be used in recursive functions. If the same
thread takes a semaphore it already owns, it simply increments an
internal counter and doesn't block. Giving a semaphore decrements the
internal counter and when it reaches zero, it really gives it back such
that other threads can take it. This is useful in situations where you
take a semaphore in a function that may call another function that also
takes that semaphore. This would work correctly with a recursive
semaphore, but deadlock with a non-recursive semaphore.

---------------------------

Newsgroups: comp.os.vxworks
Subject: PCI interrupt routines
Date: Wed, 27 Mar 2002 22:23:30 +0100
From: Peter Kannegiesser <peter.kannegiesser@gmx.de>
Organization: SEK
Message-ID: <mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com>
Reply-To: peter.kannegiesser@gmx.de

Hello everybody!

Right now I'm fighting with an interrupt routine for a device driver
for a custom PCI board.
I use Tornado II with the standard pcPentium BSP.
The driver is connected to the interrupt using pciConnectInt(...)

Question: Is it necessary for may driver to handle hardware (apart
of course from the board it is handling)?
Things such as sending EOI to the interrupt controller or similar...

I believe that would be the responsiblity of the BSP, not of my
driver but feel somewhat unsure about it.

Any thoughts, ideas or even wisdom?

TIA, Peter
- --
keine sig

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: ipAttach - c vs c++
Date: Wed, 27 Mar 2002 21:51:46 GMT
From: Pete Flugstad <pete_flugstad@nospam.icon-labs.com>
Organization: AT&T Broadband
Message-ID: <3CA23F13.7090508@nospam.icon-labs.com>
References: <8fe86b76.0203150523.37bcf451@posting.google.com>

David wrote:
> While I'm on the subject of c vs c++, I was tasked with the conversion
> of an application from PSOS (using a Diab C compiler) to vxworks
> (using the included gnu based compiler). The original files had the
> .cc suffix and made extensive use of the "//" comment delimeters.
> When I tried to compile the files in vxworks (Tornado) I of course got
> numerous parse errors. Instead of converting all of the "// XXX" to
> "/* XXX */", I opted to convert all the files to .cpp.
>
> I just curious why a later version of a c compiler (vxworks) make such
> a fuss about the "//" comments while the prior version worked fine?

Acutally, the C compiler Tornado uses is an old version of GCC (2.7.2 on
my install). GCC recognizes // for comments, *except* if you turn on
- -ansi, which is on by default inside Tornado. I bet if you remove the
- -ansi from your build lines, the compiler will accept // just fine.

Pete

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Anybody ported openssh to vxworks ? Any issues ?
Date: Wed, 27 Mar 2002 22:02:03 GMT
From: Pete Flugstad <pete_flugstad@nospam.icon-labs.com>
Organization: AT&T Broadband
Message-ID: <3CA2417B.6060702@nospam.icon-labs.com>
References: <ee967989.0203191438.2620dcf6@posting.google.com>

dsa wrote:
> Anybody ported openssh to vxworks ?

Yes.

> What are the issues ?

Lots. OpenSSH has all kinds of "unixisms", and it's based on a
process model (fork/exec) rather than threads. Also, OpenSSH
assumes it's going to start a shell using fork/exec, which doesn't
make a lot of sense on vxWorks. Then you have to port OpenSSL as
well (since OpenSSH depends on it) as well as zlib.

We've done a lot of work on it and are selling this as an embedded
SSH library which you can hook into any CLI type interface you want
(including the vxWorks shell). Contact me directly if you are
interested.

Pete Flugsatd
Icon Labs

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: why ping request timed out
Date: Wed, 27 Mar 2002 15:04:14 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua4k3mfl22dde9@corp.supernews.com>
References: <1d411918.0203270637.531e5161@posting.google.com>

It sounds like that the problem may be due to incorrect code which affects
fragmentation and reassembly of IP datagrams.

You should be able to see why IP layer is not handling packets correctly.
On VxWorks, you can do ipstatShow (or something like that) and on Unix or NT
systems you can do netstat with -s option. Doing so should tell you whether
IP layer dropped packets due to checksum error, incomplete header,
insufficient data for fragments, or whatever.

Likely problems that can cause this are: network device driver which has
errors in the buffering code for large size packets, or small size packets
or both. Some MAC devices do not accept frames less than minimal bytes (64
for example), and must be padded properly. That can happen if you are
fragmenting and the last fragment is small.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2 and DOS_VOL_CONFIG
Date: 27 Mar 2002 15:09:25 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0203271509.2ab543a2@posting.google.com>
References: <1017146014.258896@azores.network-i.net>

I had the exact opposite problem a couple months ago. I had a
DOS_VOL_CONFIG structure, and I was trying to figure out how to get
the vol name. I never found a way to do it. The workaround (read:
hack) I had to put into place involved keeping track of all vol names,
adding in some global variables, a table, and searching the table
every time I wanted to associate a config struct with a volume name.
The final result is that the code I'm using is messy, unreadable, and
not re-entrant. Out of 20 or so possible leads I had tried (using
volLabel, comparing pointers, etc), none of them worked. WRS must
have gone to great lengths to specifically disallow you from doing
this. There's no other explanation I could think of...

Good luck!

Aaron

"Employee" <employee@newport-networks.com> wrote in message news:<1017146014.258896@azores.network-i.net>...
> Hi,
>
> given the name of a dos file system (e.g. "/dos1"), how can I get its
> DOS_VOL_CONFIG structure?
>
> I have tried to get it by copying the pointer passed to the configuration
> function given to the dosFsVolFormat() via the 3rd parameter but it appears
> to expire immediatelly after. i.e. if I print the contents of the structure
> from inside the configuration function the data makes sense. But if I print
> the same structure again later on from the shell I get garbage which
> suggests that the structure was moved.
>
> Example:
> void config(DOS_VOL_CONFIG *p);
> dosFsVolFormat(cbio, DOS_OPT_BLANK | DOS_OPT_QUIET, &config);
>
> In other words to do something similar to:
> dosFsShow ("/dos1");
>
> Regards,
> Dimitris

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: how to bind a pppoe service to multi ethernet port ?
Date: Wed, 27 Mar 2002 15:10:43 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua4kfrmc19vs37@corp.supernews.com>
References: <b1cb4c43.0203270218.3cb514ce@posting.google.com>

It is not clear why you would want to do that. Typically PPPOE session is
associated with a particular MAC address in the concentrator and mapping
between them is created. This mapping is used to forward packets between a
client and the remote peer.

Theoretically, it seems possible to change the mapping logic to accommodate
multiple MAC addresses. But the policy for picking one of N number of
interfaces per packet complicates things. I can imagine load balancing,
round robin, etc. policies, but it really doesn't make much sense to me.
Especially since PPPoE is primarily used to provide WAN access over slow
links.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: malloc in a device driver. [newbie question]
Date: Wed, 27 Mar 2002 15:38:36 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua4m44o6n8keac@corp.supernews.com>
References: <576881c0.0203251320.5ade1f69@posting.google.com> <488e459a.0203252343.770aa97a@posting.google.com> <7M6o8.9008$f5.563329@news> <488e459a.0203270111.b14b5e0@posting.google.com> <3CA1BCB2.1040500@spamm.me.l8s.co.uk> <IOjo8.9047$f5.588349@news>

It is generally a bad idea. But strictly speaking, it is allowed (tolerated
would be more like it).

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks system calls
Date: Wed, 27 Mar 2002 15:46:44 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua4mjdf9i6vk19@corp.supernews.com>
References: <1nLn8.7846$f5.527808@news> <3C9FAFEE.9020308@spamm.me.l8s.co.uk>

Each task has a context. So there is a context which can be switched.

In vxWorks, all functions are treated more or less equally. There is not
much difference between a subroutine call (e.g. atoi) vs. a system call as
in Unix (e.g. read). They are both C functions. In Unix, system calls are
implemented to generate traps into kernel mode. But even in Unix, even
with such traps, full process context switch is not always done. It is done
when needed. Similarly, there is no context switch requirement for each
call made in vxWorks. There is a potential for a context switch though.
For example, if you do a read(), and there is not sufficient data to satisfy
the request, calling task's context will switch out and another task will
run. In systems that use traps for system calls (AE and Unix), one
additional provision is often made. Sometimes it is a nice place to
implement the task scheduling logic heuristics. Each time trap is made is
another place to look for opportunities for potential scheduling deadlocks
or refinements in scheduling queue.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Default Signal Handler
Date: Wed, 27 Mar 2002 15:58:31 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua4n9lh47r52e5@corp.supernews.com>
References: <m16o8.9001$f5.561155@news> <488e459a.0203270115.56ab7567@posting.google.com> <6Sjo8.9059$f5.588439@news>

Signals are specific to a given task. There is no way to assign a global
handler for all the tasks. You will need to use exception hooks instead.

Even in Unix, you cannot declare a signal handler which will work in all
processes. What happens is by default the SIG_DFL handler will kill the
process.

You can do something similar in vxWorks if you rewrite signals yourself.
But I don't think sigLib allows that.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: pciDeviceShow() shows 2 devices when there's only one IBM PPC405GP
Date: Wed, 27 Mar 2002 16:14:56 -0800
From: "kdb" <kbalmy_NO_SPAM_PLEASE@cmc_NO_SPAM_PLEASE.com>
Organization: cmc
Message-ID: <Rhto8.537$GV.14349@newsfeed.avtel.net>
References: <e38d912c.0203262347.3fd78ec8@posting.google.com> <p6no8.533$GV.14251@newsfeed.avtel.net>

Whoops, my bad: not AD4, but whichever AD pin (or pins?) the IDSEL line on
the device is tied to. The PCI spec is not specific in regard to how IDSEL
is generated to a particular device, but makes a suggestion in 3.2.2.3.5.
Depends how your system is designed.

whatever - K

"kdb"wrote in message news:p6no8.533$GV.14251@newsfeed.avtel.net...
> Could be a hardware problem - these have been known to occur! Looks like
an
> address line could be shorted, either on the host SBC board or on the
device
> card. Observe: device # 0x0004 vs 0x0014. Pin AD4 could be shorted
> somewhere. Check to see if you can do a config write to some register on
> device # 0x0004 and read the same value back from the same register on
> device # 0x0014, and vice versa.
>
> cheer - K
>
> "Arun Prasad" <arun4vxworks@indiatimes.com> wrote in message
> news:e38d912c.0203262347.3fd78ec8@posting.google.com...
> > Hi,
> >
> > I'm facing a problem and couldn't figure it out why it happens.
> > I have a NIC card connected to my walnut machine, for which we are
> > writing device driver.
> > When I use pciDeviceShow() function, it shows there are two of my
> > cards present on the system and they only differ in device (of BDF).
> > But I have only one card connected to the system. Also pciFindDevice()
> > getting succeeded for both of these devices.
> > In the given output 2nd and 3rd entries are our card's.
> >
> > ========
> > Scanning function 0 of each PCI device on bus 0
> > Using configuration mechanism 0
> > bus device function vendorID deviceID class
> > 00000000 00000000 00000000 00001014 00000156 00060000
> > 00000000 00000004 00000000 0000143a 00004e53 00028000
> > 00000000 00000014 00000000 0000143a 00004e53 00028000
> > ========
> >
> > Could anyone tell me why this strange behaviour happens to our card
> > on VxWorks?
> >
> > Regards
> > Arun
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: select and pty
Date: 27 Mar 2002 16:48:27 -0800
From: dsa0000@hotmail.com (dsa)
Organization: http://groups.google.com/
Message-ID: <ee967989.0203271648.9554dd@posting.google.com>
References: <ee967989.0203261823.1419f462@posting.google.com> <488e459a.0203270049.12b0fc87@posting.google.com>

Hi John,

Thank you very much for the reply.

The vxworks telnetd server was using 2 tasks per telnet session.
I thought of trying with one task and select/pty. Then I faced this
problem. I am trying your idea.

But I have one doubt. The slave fd is normally used to talk to shell
or parser. Whether I am right ?

Regards
DSA

john_94501@yahoo.com (John) wrote in message news:<488e459a.0203270049.12b0fc87@posting.google.com>...
> Hello,
>
> You have found something a little unusual... try swapping your master
> and slave fds over and it should work; i.e. select the slave and use
> the master side in the echoing task.
>
> I suggest filing this as a problem report with support, and if you can
> get away with just swapping the master and slave ends over for your
> app, do that.
>
> HTH,
>
> John...
>
> dsa0000@hotmail.com (dsa) wrote in message news:<ee967989.0203261823.1419f462@posting.google.com>...
> > I have some problem regarding select and pty fds.
> > In main task I created two pty fds and passed the
> > slave pty fd to a spwaned task which does nothing but echo.
> >
> > 	ptyDrv ();
> > 	ptyDevCreate ("/pty/s.", 512, 512);
> > 	open ("/pty/s.M",, O_RDWR, 0);
> > 	open ("/pty/s.S",, O_RDWR, 0);
> >
> > The main task pends on a select which multiplexes a client
> > socket and master pty fd.
> >
> > I could verify that the data is read from the client socket and wrote to
> > the master fd. The spawned task reads from the slave fd and writes back
> > to the slave fd. But in the main task the select is still pending.
> >
> > Whether is there known issues with select and pty in vxworks ?
> >
> > or whether I am doing some thing wrong ?
> >
> > Regards
> > DSA

---------------------------

Newsgroups: comp.os.vxworks
Subject: Question about tScsiTask
Date: 28 Mar 2002 00:49:11 GMT
From: "csc" <csc5ksb@gonavy.net>
Organization: Go Navy!
Message-ID: <3ca26887$1_7@news3.uncensored-news.com>

What could cause the tScsiTask to be spawned twice? On board 0 there are
two tasks named tScsiTask. On boards 1 and 2, which boot through shared
memory, there is only one. All have a priority of 5. So, why are there 2
on board 0?

What follows is the code in sysScsi.c to initialize our SCSI drive:

 if (sysProcNumGet() == 0)
 {

 int ix, temp;
 BLK_DEV *dospBlockDev; /* Used for download device */

 #define SPIN_UP_TIME 5 /* Seconds since device already should be
up*/

 #define RIMM0_ID 0x0
 #define RIMM0_LUN 0x0
 #define BOOT_NAME "/od"

 printf ("Initializing SCSI...");

 /* create device handle for TEST UNIT READY commands */

 if ((pSpd20 = scsiPhysDevCreate (pSysScsiCtrl, RIMM0_ID,
 RIMM0_LUN, 0,-1, 1,

 0x100000, 0x200))
 == NULL)
 {
 printErr ("\nRIMM0 scsiPhysDevCreate failed, ID = %d and LUN =
%d\n",RIMM0_ID,RIMM0_LUN );
 return (ERROR);
 }

 /* issue a couple of TEST UNIT READY commands to clear reset exception
*/

 taskDelay(sysClkRateGet() * 2);
 scsiTestUnitRdy (pSpd20);
 scsiTestUnitRdy (pSpd20);

 /* issue a TEST UNIT READY every second for SPIN_UP_TIMEOUT seconds,
 * or until device returns OK status.
 */

 if (scsiTestUnitRdy (pSpd20) != OK)
 {
 printf ("Waiting for RIMM0 to spin up in sysScsiConfig()...");

 for (ix = 0; ix < SPIN_UP_TIME; ix++)
 {
 if (scsiTestUnitRdy (pSpd20) == OK)
 {
 break;
 }
 else
 {
 if (ix != (SPIN_UP_TIME - 1))
 {
 printf ("Waiting for RIMM0 to Initialize\n");
 }
 else
 {

 printf ("Point #1");

 return (ERROR);
 }
 taskDelay (sysClkRateGet ());
 }
 }
 }

 scsiPhysDevDelete (pSpd20);

 if ( sysScsiInit() == ERROR)
 {

 printf ("Point #2");

 return (ERROR);
 }

 /* recreate a device handle, with polling for actual device parameters
*/

 taskDelay (sysClkRateGet() * 4);

 if ((pSpd20 = scsiPhysDevCreate (pSysScsiCtrl, RIMM0_ID,
 RIMM0_LUN, 0, -1, 1, 0, 0))
 == NULL)
 {
 taskDelay(sysClkRateGet() );
 if ((pSpd20 = scsiPhysDevCreate (pSysScsiCtrl, RIMM0_ID,
 RIMM0_LUN, 0, -1, 1, 0, 0))
 == NULL)
 {

 printf ("Point #3");

 return (ERROR);
 }
 }

 /* Start making up the dos device */

 dosFsInit(NUM_DOSFS_FILES);
 dospBlockDev = scsiBlkDevCreate( pSpd20, (pSpd20->numBlocks / 2) , 0x0);

 if (dospBlockDev == NULL)
 printf ("Point #5");

 if ( ( dosFsDevInit(BOOT_NAME, dospBlockDev , 0x0 ) ) == NULL )
 {

 printf ("Point #4");

 return (ERROR);
 }

 printf (" done.\n");

 } /* sysProcNumGet() */

Thanks for your help...

______________________________________________________________________
Posted Via Uncensored-News.Com - Still Only $9.95 - http://www.uncensored-news.com
 With NINE Servers In California And Texas - The Worlds Uncensored News Source

---------------------------

Newsgroups: comp.os.vxworks
Subject: About mpc860t's SCC working for E1 line!Help!
Date: 27 Mar 2002 17:50:18 -0800
From: yong_bvcom@sina.com (bigtornado)
Organization: http://groups.google.com/
Message-ID: <5624c1bf.0203271750.4b488713@posting.google.com>

hi,
 I want program MPC860T's SCC and TDMa for working as E1 line,I use
SCC's transparent mode,connect SCC to TDMa,now SCC can work well in
it's loopback mode,but when I connect the SCC to TDMa and let TDMa
work in loopback mode,I can't receive data stream,TDMa's SYNC and CLK
provided by E1 chip DS21354,the follow is my code for initialize TSA:

void	SiTsaInit(void)
{
	int	immrVal = vxImmrGet();

	SI_Entry = SIRAM(immrVal);

	/***************************************************
	* Initialize the SIMODE register
	* Initialize for work in internal loopback mode
	****************************************************/
	/**SIMODE(immrVal) = 0;*/
	*SIMODE(immrVal) |= 0x00000840;

	/****************************************************
	* Initialize the SI Router Clock register
	* To connect SCC2 to the multiplexed SI
	****************************************************/
/*	*SICR(immrVal) = 0;*/
	*SICR(immrVal) |= 0x00004000;

	/***************************************************
	* Configuration Port A for TDMa functionality
	* PA7 = L1RCLKA PA8 = L1RXDA PA9 = L1TXDA
	****************************************************/

	*PAPAR(immrVal) |= 0x01c0; /*0b0000 0001 1100 0000;*/
	*PADIR(immrVal) |= 0x00c0;	/*0b0000 0000 1100 0000;*/

	*PADIR(immrVal) &= 0xffef;	/*0b1111 1110 1111 1111*/

	/*******************************************************
	* Configuration PA9 = L1TXDA as open-drain output
	*******************************************************/
	/**PAODR(immrVal) |= 0x0040;	*/
	/*0b0000 0000 0100 0000;*/

	/*****************************************************
	* Configuration Port C for sync tx and rx
	* PC4 = L1RSYNCA	PC5 = L1TSYNCA
	******************************************************/
	*PCPAR(immrVal) |= 0x0C00;	/*0b0000 1100 0000 0000 ;*/

	*PCDIR(immrVal) &= 0xf3ff;	/*0b1111 0011 1111 1111;*/

	/*Configuration SI RAM entries*/
	SI_Entry[0] = 0x00be0000;
	SI_Entry[1] = 0x00bf0000;

	SI_Entry[64] = 0x00be0000;
	SI_Entry[65] = 0x00bf0000;

	/*******************************************************
	* Initialize SI Globe Mode Register
	* To eanble TDMa
	*******************************************************/
	*SIGMR(immrVal) = 0x0;
	*SIGMR(immrVal) |= 0x04;

	/********TSA init end*************/
}
 has it any errors?Anyone help me!Thanks!

 BRs!

---------------------------

Newsgroups: comp.os.vxworks
Subject: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
Date: 27 Mar 2002 18:12:25 -0800
From: sardine_sz@163.net (sardine)
Organization: http://groups.google.com/
Message-ID: <b1cb4c43.0203271812.1c6c5d0d@posting.google.com>

hi gurus,

 is there have anyone know how to bind a pppoe service to Multi
ethernet port,
it's mean, when i start pppoe service , my pppoe client can check the
pppoe service from different ethernet port on the pppoeAC device.

 now i use windNet ppp&pppoe1.2 .

 any reply,appreciate !!!

---------------------------

Newsgroups: comp.os.vxworks
Subject: how to use envoy in tornado?
Date: 27 Mar 2002 18:37:05 -0800
From: xiangxinyan@yahoo.com.cn (Alice)
Organization: http://groups.google.com/
Message-ID: <fcc9f2b4.0203271837.4b6da1cf@posting.google.com>

It is said that envoy.h, install.h, snmp.h are for
> Various definitions and compile-time constants needed
> to build the SNMP agent.
>
> the following code is from mib.h:
> #if INSTALL_ENVOY_AGENTX_MASTER
> bits32_t session_id; /* session for this object */
> bits16_t ref_count; /* reference count
*/
> bits8_t timeout; /* timeout period
*/
> #endif
> ......
> #if INSTALL_ENVOY_TWO_CHAR_MACROS
> #define RO READ_ACCESS /* READ ONLY ACCESS
*/
> #define WO WRITE_ACCESS /* WRITE ONLY ACCESS
*/
> #define RW (READ_ACCESS | WRITE_ACCESS) /* READ/WRITE ACCESS
*/
> #define RC (READ_ACCESS | WRITE_ACCESS | CREATE_ACCESS) /*
READ/CREATE */
> #define NO NOTIFY_ACCESS /* NOTIFY ONLY ACCESS
*/
> #endif
>
> Do I need to add"#define INSTALL_ENVOY_TWO_CHAR_MACROS"?

---------------------------

Newsgroups: comp.arch.embedded,comp.os.linux.embedded,comp.os.linux.powerpc,comp.os.psos,comp.os.vxworks,comp.realtime,comp.sys.arm,comp.sys.mips,comp.sys.powerpc.advocacy,comp.sys.powerpc.misc,comp.sys.powerpc.tech
Subject: SAB 82532/82538 device drivers
Date: Tue, 26 Mar 2002 09:39:39 +0200
From: "Rami Gideoni" <rgideoni@rugged.com>
Organization: Internet Gold, ISRAEL
Message-ID: <a7p8ip$ac5$1@news.inter.net.il>

Hi,
I need device drivers for the infineon (siemens) SAB 82532/82538 serial
communication controllers.

Any source code, pointers, ideas, hits or any other assistance will be most
appreciated.

Thanks in advance

RamiG.

---------------------------

Newsgroups: comp.os.vxworks
Subject: BSD and END device drivers
Date: Wed, 27 Mar 2002 19:14:03 -0800
From: Aravind Srinivasan <aravinds@cisco.com>
Organization: Cisco Systems Inc.
Message-ID: <3CA28A7B.FB0C4972@cisco.com>

Hi,

I am trying to integrate a broadcom ethernet driver which is END based
and AMD 79C970 (PCI-Pcnet) driver, driver which is BSD 4.4 based into a
single Vxworks 5.4 image.
Is it okay? Are there any gotchas that I should look out for?

Thanks,
Aravind

---------------------------

Newsgroups: comp.os.vxworks
Subject: Can I kill a task in itself?
Date: 27 Mar 2002 21:35:57 -0800
From: seatide@263.net (seatide)
Organization: http://groups.google.com/
Message-ID: <b6e3.0203272135.65961a4f@posting.google.com>

as title

---------------------------

Newsgroups: comp.os.vxworks
Subject: How to Communicate between Two vxsim Targets in Windows 2000
Date: 27 Mar 2002 21:37:12 -0800
From: mohit@mahindrabt.com (Mohit)
Organization: http://groups.google.com/
Message-ID: <538e14e.0203272137.50aedafc@posting.google.com>

I have followed the procedure mentione in the tutorial to create
multiple targets and ping them. I also Configured ULIP driver and
enabled IpForwarding. But still when i try to ping Target i.e.
90.0.0.1 or 90.0.0.2 either from Tronado shell or from ms-Dos prompt
there is no reply.Target servers for both the targets are running
fine. I have observed one problem in ULIP driver, the connection for
ULIP driver is shown disabled when i try to enable it i get the Error
message "Connection Failed". Is it related to the problem i mentioned
above. If yes then could anybody plese tell how to enable the ULIP
connection.If no then please tell me what additional steps should be
taken to solve the problem.

Thanks,

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: Thu, 28 Mar 2002 05:38:25 GMT
From: "Kumar Mahesh" <maheshn@attbi.com>
Organization: AT&T Broadband
Message-ID: <l%xo8.123196$ZR2.47488@rwcrnsc52.ops.asp.att.net>
References: <3CA28A7B.FB0C4972@cisco.com>

Why don't you get the END driver for AMD 79C970 from the AMD website and use
it. With two END it is easier to set up routing and other interface specific
items than if you a one END driver and a BSD driver.

Mahesh
maheshn@attbi.com

"Aravind Srinivasan" <aravinds@cisco.com> wrote in message
news:3CA28A7B.FB0C4972@cisco.com...
> Hi,
>
> I am trying to integrate a broadcom ethernet driver which is END based
> and AMD 79C970 (PCI-Pcnet) driver, driver which is BSD 4.4 based into a
> single Vxworks 5.4 image.
> Is it okay? Are there any gotchas that I should look out for?
>
>
> Thanks,
> Aravind
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: why vxworks PING makes the system slow in winnt ??
Date: 27 Mar 2002 21:39:03 -0800
From: sharvan_fr@yahoo.com (Sarvanan)
Organization: http://groups.google.com/
Message-ID: <b9ecf941.0203272139.169d81c@posting.google.com>

Hi all,
 When i tried to ping between "Two simulators" say 90.0.0.1 &
90.0.0.2 , on winnt host machine ,it slows down the entire process.
Also it slows down the application running under the simulators. Due
to this slow down in process iam getting the request timed out in the
application . so for every time i need to increase my tiemout both in
application and in tornado tool . Can any one help me ,How to solve
this problem .
 Thankx in advance ...
Regards,
sharvan.

---------------------------

Newsgroups: comp.os.vxworks
Subject: where can I find the driver of 82559?
Date: 27 Mar 2002 21:40:52 -0800
From: seatide@263.net (seatide)
Organization: http://groups.google.com/
Message-ID: <b6e3.0203272140.3fb5e096@posting.google.com>

as title

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: 27 Mar 2002 21:44:33 -0800
From: seatide@263.net (seatide)
Organization: http://groups.google.com/
Message-ID: <b6e3.0203272144.7c56c2f5@posting.google.com>
References: <3CA28A7B.FB0C4972@cisco.com>

sorry,only have a test here.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: select and pty
Date: 27 Mar 2002 21:58:03 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203272158.68c3a627@posting.google.com>
References: <ee967989.0203261823.1419f462@posting.google.com> <488e459a.0203270049.12b0fc87@posting.google.com> <ee967989.0203271648.9554dd@posting.google.com>

Hello,

> But I have one doubt. The slave fd is normally used to talk to shell
> or parser. Whether I am right ?

It shouldn't matter; the two ends are essentially the same. The
difference in the select behaviour results from the use of a single
tyLib device to implement the pseudo tty. It just happens that the way
the master and slave are connected to the underlying tyLib device
results in the slave supporting select.

To understand this you need to realise how the pty is implemented.
Basically, one end is on top of the tyLib device (the slave), the
other end is pretending to be a low level physical device driver, much
like an SIO driver (the master). Since only the user side of a tyLib
device is normally interested in select, only that side makes the
correct calls. The fix is simple; just handle the master's
select/unselect ioctl() calls in the ptyDrv code.

In your case, as long as you only need select on one end of the link,
you can swap them safely; if you need select at both ends, contact
Wind River support (email me if you go this way... I can let you have
the SPR number for this problem which might get you a patch quicker -
can't remember it tonight though, and I'm at home so I can't look it
up).

Rgds,

John...

> Regards
> DSA
>
>
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0203270049.12b0fc87@posting.google.com>...
> > Hello,
> >
> > You have found something a little unusual... try swapping your master
> > and slave fds over and it should work; i.e. select the slave and use
> > the master side in the echoing task.
> >
> > I suggest filing this as a problem report with support, and if you can
> > get away with just swapping the master and slave ends over for your
> > app, do that.
> >
> > HTH,
> >
> > John...
> >
> > dsa0000@hotmail.com (dsa) wrote in message news:<ee967989.0203261823.1419f462@posting.google.com>...
> > > I have some problem regarding select and pty fds.
> > > In main task I created two pty fds and passed the
> > > slave pty fd to a spwaned task which does nothing but echo.
> > >
> > > 	ptyDrv ();
> > > 	ptyDevCreate ("/pty/s.", 512, 512);
> > > 	open ("/pty/s.M",, O_RDWR, 0);
> > > 	open ("/pty/s.S",, O_RDWR, 0);
> > >
> > > The main task pends on a select which multiplexes a client
> > > socket and master pty fd.
> > >
> > > I could verify that the data is read from the client socket and wrote to
> > > the master fd. The spawned task reads from the slave fd and writes back
> > > to the slave fd. But in the main task the select is still pending.
> > >
> > > Whether is there known issues with select and pty in vxworks ?
> > >
> > > or whether I am doing some thing wrong ?
> > >
> > > Regards
> > > DSA

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: modifying configlettes`
Date: Thu, 28 Mar 2002 06:07:34 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <Gqyo8.142635$702.26030@sccrnsc02>
References: <3CA227BC.7A8F78F5@notifier-is.net>

David,

 Do you see the file being included in the prjConfig.c? Also, you could
check to see what
initgroup the init routine would be called from or put a syntax error in the
file and compile.
 Also, make sure the configlette is referenced in a *.cdf file (the
configlette could be an leftover
and a renamed configlette has replaced it). Since you are modifying and not
adding, this
shouldn't be a problem.

"david lindauer" <dlindauer@notifier-is.net> wrote in message
news:3CA227BC.7A8F78F5@notifier-is.net...
> hi,
> I'm on an x86 development system (target also happens to be x86) and
> want to modify one of the configlettes in
> /tornado/target/config/comps/src (actually in the net/http directory if
> that makes a difference).
> I made the changes but it seems as if my change didn't work. I did a
> build all, so is there anything I can do to get it to recompile the
> configlettes? Or did they recompile somewhere in the background and my
> change just isn't taking for some other reason?
>
> Thanks,
>
> David
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: Wed, 27 Mar 2002 22:15:03 -0800
From: Aravind Srinivasan <aravinds@cisco.com>
Organization: Cisco Systems Inc.
Message-ID: <3CA2B4E7.2D4A063E@cisco.com>
References: <3CA28A7B.FB0C4972@cisco.com> <l%xo8.123196$ZR2.47488@rwcrnsc52.ops.asp.att.net>

There are many platform specific changes in the old AMD driver.
AMD 79C970 , I believe, has been/ will be, made end of life. And so porting the
code onto the END driver for this chip is not an option.
And while I will be using the BCM END driver, still the old driver has to
function for backward compatibilty issues.

Kumar Mahesh wrote:

> Why don't you get the END driver for AMD 79C970 from the AMD website and use
> it. With two END it is easier to set up routing and other interface specific
> items than if you a one END driver and a BSD driver.
>
> Mahesh
> maheshn@attbi.com
>
> "Aravind Srinivasan" <aravinds@cisco.com> wrote in message
> news:3CA28A7B.FB0C4972@cisco.com...
> > Hi,
> >
> > I am trying to integrate a broadcom ethernet driver which is END based
> > and AMD 79C970 (PCI-Pcnet) driver, driver which is BSD 4.4 based into a
> > single Vxworks 5.4 image.
> > Is it okay? Are there any gotchas that I should look out for?
> >
> >
> > Thanks,
> > Aravind
> >

---------------------------

Newsgroups: comp.os.vxworks
Subject: Reboot Target error
Date: 27 Mar 2002 23:34:29 -0800
From: supergod2001@bigfoot.com (supergod)
Organization: http://groups.google.com/
Message-ID: <58cafc21.0203272334.27976c4a@posting.google.com>

I want to reboot target and load boot rom from target ATA drive, but
after i type "reboot" on the target console or windsh,it failed and
returned error value as following:

dosFsDevInit Failed
usrFdConfig Failed
value=-1=0xffffffff=_func_taskRegsShowRtn+0xffe09b13

If i cold boot target,it can load boot rom from ATA drive and load
vxworks.

I have changed SYS_WARM_TYPE to SYS_WARM_ATA in config.h.
But it seems vxworks still wants to mount floopy to find boot rom.

And more, if i insert a vxworks boot diskete in floopy, then type
"reboot"
it failed also.

So what can i do? Our Target is Pentium based

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: semBCreate()
Date: Thu, 28 Mar 2002 09:02:54 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7uing$e3b$1@snoopy.bndlg.de>
References: <a7s7o5$eno$1@kermit.esat.net> <bob-A0B288.03585627032002@news.apple.com> <a7sdf9$gvt$1@kermit.esat.net> <a7sjbg$7s3$1@snoopy.bndlg.de> <a7snpd$mfu$1@kermit.esat.net> <a7stac$fki$1@snoopy.bndlg.de> <a7sv57$pb9$1@kermit.esat.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
news:a7sv57$pb9$1@kermit.esat.net...
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message
> news:a7stac$fki$1@snoopy.bndlg.de...
> >
> > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> > news:a7snpd$mfu$1@kermit.esat.net...
> > >
> > > "Michael Lawnick" <Lawnick@softec.de> wrote in message
> > > news:a7sjbg$7s3$1@snoopy.bndlg.de...
> > > > Liang, Bob,
> > > >
> > > > don't let me die stupid - what is a 'recursive' semaphore ???
> > > > I know counting- and binary-semaphores and mutex, but have never
heard
> > of
> > > a
> > > > recursive one !
> > > >
> > > > "lang2" <wzhliang_remove_@postmaster.co.uk> schrieb im Newsbeitrag
> > > > news:a7sdf9$gvt$1@kermit.esat.net...
> > > > >
> > > > > "Bob Bradley" <bob@chaoticsoftware.com> wrote in message
> > > > > news:bob-A0B288.03585627032002@news.apple.com...
> > > > > > In article <a7s7o5$eno$1@kermit.esat.net>,
> > > > > > "lang2" <wzhliang_remove_@postmaster.co.uk> wrote:
> > > > > >
> > > > > > > This function can create a binary semaphore with SEM_Q_FIFO or
> > > > > > > SEM_Q_PRIORITY.
> > > > > > > But is the semaphore created recursive?
> > > > > >
> > > > > > No, but if you need a recursive semaphore, you can use
semMCreate.
> > > > > I looked up the reference, semMCreate can take the following
> options:
> > > > > SEM_Q_PRIORITY
> > > > > SEM_Q_FIFO
> > > > > SEM_DELETE_SAFE
> > > > > SEM_INVERSION_SAFE.
> > > > >
> > > > > I can't find an recurrsive option there.
> > > > >
> > > Sorry if I confused you. I mean a binary semaphore which can be
grabbed
> by
> > > the same thread for multi times.
> > >
> > That is a _mutex_ (MUTual EXclusion).
> > Create it by semMCreate, rest like normal semaphores.
> >
> Yes that was exactly what I mean. But vxWorks seems like the name
semaphore
> for some reason.
>
> Do you mean that the mutex(semaphore) is recurrsive by default?
RTFM
<snip>
The mutual-exclusion semaphore is a specialized version of the binary
semaphore, designed to address issues inherent in mutual exclusion, such as
recursive access to resources, priority inversion, and deletion safety.
</snip>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: DosFs File Attributes
Date: Thu, 28 Mar 2002 09:08:50 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7uj2i$e5c$1@snoopy.bndlg.de>
References: <a7t0u9$hgb@nntpa.cb.lucent.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"Jim S" <jims@lucent.com> schrieb im Newsbeitrag
news:a7t0u9$hgb@nntpa.cb.lucent.com...
> Are there any tips on setting attributes for files under DosFs?
> I've tried the documented procedure of:
>
> fd=open("filename", O_RDONLY, 0)
> fstat (fd, &statStruct)
> ioctl (fd, FIOATTRIBSET, statStruct.st_attrib | DOS_ATTR_RDONLY)) /*
> DOS_ATTR_RDONLY = 0x01 */
>
> But the ioctl( ) always returns error (-1) and the file attributes remain
> unchanged. The files exist (open OK and I can check the size), but the
> attribute always show as 0x0.
>
> Also, what's the deal with dosFs2.0? Is it part of the standard Tornado
> 2/VxW 5.4? Seems we have the original dosFs as part of a recent T2/VxW
5.4,
> would this contribute to my problem? WindSurf offered little insight on
> this.
Tornado 2 comes with old dosFs, but you can ask your FAE for a free update.
Tornado 2.2 is promised to come with dosFs2 as its 'native' FS and as a free
update for all customers with support (on request).
In dosFs2 you can use the function attrib().

HTH
Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: modifying configlettes`
Date: Thu, 28 Mar 2002 09:13:10 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7ujan$ee9$1@snoopy.bndlg.de>
References: <3CA227BC.7A8F78F5@notifier-is.net>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"david lindauer" <dlindauer@notifier-is.net> schrieb im Newsbeitrag
news:3CA227BC.7A8F78F5@notifier-is.net...
> hi,
> I'm on an x86 development system (target also happens to be x86) and
> want to modify one of the configlettes in
> /tornado/target/config/comps/src (actually in the net/http directory if
> that makes a difference).
> I made the changes but it seems as if my change didn't work. I did a
> build all, so is there anything I can do to get it to recompile the
> configlettes? Or did they recompile somewhere in the background and my
> change just isn't taking for some other reason?
>
> Thanks,
>
> David
Take care that you have closed and reopened your workspace after cdf-change
! The cdf files are only parsed once, on the first expansion of the
vxWorks-tab tree.

HTH
Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: modifying configlettes`
Date: Thu, 28 Mar 2002 09:14:52 +0100
From: Markus Pietrek <mpietrek@fsforth.de>
Organization: FS Forth Systeme GmbH
Message-ID: <a7ujdu$g89$02$1@news.t-online.com>
References: <3CA227BC.7A8F78F5@notifier-is.net>

david lindauer wrote:

> hi,
> I'm on an x86 development system (target also happens to be x86) and
> want to modify one of the configlettes in
> /tornado/target/config/comps/src (actually in the net/http directory if
> that makes a difference).

Why not copying the files to your project or BSP? In case you update Tornado
it's likely that you changes to comps/src will get lost.

Bye,
Markus

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: PCI interrupt routines
Date: Thu, 28 Mar 2002 09:16:58 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7ujhr$egk$1@snoopy.bndlg.de>
References: <mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"Peter Kannegiesser" <peter.kannegiesser@gmx.de> schrieb im Newsbeitrag
news:mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com...
> Hello everybody!
>
> Right now I'm fighting with an interrupt routine for a device driver
> for a custom PCI board.
> I use Tornado II with the standard pcPentium BSP.
> The driver is connected to the interrupt using pciConnectInt(...)
>
> Question: Is it necessary for may driver to handle hardware (apart
> of course from the board it is handling)?
> Things such as sending EOI to the interrupt controller or similar...
>
> I believe that would be the responsiblity of the BSP, not of my
> driver but feel somewhat unsure about it.
>
> Any thoughts, ideas or even wisdom?
>
> TIA, Peter
> --
> keine sig
You are right in the way it is "the responsiblity of the BSP". This assumes,
you are using the dedicated H/W (not always true) and have enabled the
needed modules (not always true,too ;-)).

HTH
Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I kill a task in itself?
Date: Thu, 28 Mar 2002 09:20:50 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7ujp3$eij$1@snoopy.bndlg.de>
References: <b6e3.0203272135.65961a4f@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

Just
return();

"seatide" <seatide@263.net> schrieb im Newsbeitrag
news:b6e3.0203272135.65961a4f@posting.google.com...
> as title

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: DosFs File Attributes
Date: 28 Mar 2002 09:04:44 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91DF6689234ACborkhuisagerecom@135.7.153.101>
References: <a7t0u9$hgb@nntpa.cb.lucent.com> <a7uj2i$e5c$1@snoopy.bndlg.de>

"Michael Lawnick" <Lawnick@softec.de> wrote:
> Tornado 2 comes with old dosFs, but you can ask your FAE for a free
> update. Tornado 2.2 is promised to come with dosFs2 as its 'native' FS
> and as a free update for all customers with support (on request).

DosFS2 is already included in Tornado 2.1.

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: ipAttach - c vs c++
Date: 28 Mar 2002 09:16:33 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91DF688A687B6borkhuisagerecom@135.7.153.101>
References: <8fe86b76.0203150523.37bcf451@posting.google.com> <3CA23F13.7090508@nospam.icon-labs.com>

Pete Flugstad <pete_flugstad@nospam.icon-labs.com> wrote:
> Acutally, the C compiler Tornado uses is an old version of GCC (2.7.2
> on my install). GCC recognizes // for comments, *except* if you turn
> on -ansi, which is on by default inside Tornado. I bet if you remove
> the -ansi from your build lines, the compiler will accept // just
> fine.

Also take a look at this FAQ entry:
http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.1-N

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: PCI interrupt routines
Date: Thu, 28 Mar 2002 10:21:11 +0100
From: Peter Kannegiesser <peter.kannegiesser@gmx.de>
Message-ID: <e1o5ausg6d6k3h1cieh75g9a0o209rr027@4ax.com>
References: <mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com> <a7ujhr$egk$1@snoopy.bndlg.de>

On Thu, 28 Mar 2002 09:16:58 +0100, "Michael Lawnick"
<Lawnick@softec.de> wrote:

>You are right in the way it is "the responsiblity of the BSP". This assumes,
>you are using the dedicated H/W (not always true) and have enabled the
>needed modules (not always true,too ;-)).

I might be a bit dense today, but what do you mean with "the needed
modules"?

- -Peter

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I kill a task in itself?
Date: Thu, 28 Mar 2002 09:44:41 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3CA2E67D.8070807@spamm.me.l8s.co.uk>
References: <b6e3.0203272135.65961a4f@posting.google.com> <a7ujp3$eij$1@snoopy.bndlg.de>

Michael Lawnick wrote:

> Just
> return();

or exit()

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: CLI Parser for VxWorks
Date: Thu, 28 Mar 2002 10:10:47 GMT
From: pjt@iki.fi
Organization: Embassy of Elbonia, 42 Krvi-Tasch Avenue, Szohod
Message-ID: <m3k7rxezwj.fsf@dslnm.trs.ntc.nokia.com>
References: <182ee52a.0201251347.2a1d1421@posting.google.com> <9b6f8883.0201251727.781eea1a@posting.google.com> <oZz78.1617$5o.406163@newsr2.u-net.net>
Sender: ptaipale@dslnm.trs.ntc.nokia.com

"Dave Korn" <no.spam@my.mailbox.invalid> writes:
> [assuming CLI refers to a command-line here]
>
> Other good options are the free source utilities lexx/yacc and bison, all
> of which provide a simple C-like syntax for constructing parsers of pretty
> much any complexity you like.

I did this. I would recommend the approach, because bison/flex beats
out any commercial CLI engines (such as RapidControl) in power and
flexibility. If you can't write C code without someone holding yor
hand, then the Windows toys are good for you, but effectively they
look like potentially bug-infested gadgets useful for generating a
list of function pointers. A mediocre programmer can do better
without.

The problem with yacc-type parsers is that implementing a good
interactive command completion and help system is not trivial. I did
it by adding pre-processing tags into the bison source, and generating
the completion and help rules automatically from these with a perl
script which is run in the build process before bison.

- --
Pekka Taipale -- pjt@iki.fi -- http://www.iki.fi/pjt/

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: using CLI commands from file
Date: Thu, 28 Mar 2002 10:30:09 GMT
From: pjt@iki.fi
Organization: Embassy of Elbonia, 42 Krvi-Tasch Avenue, Szohod
Message-ID: <m3g02lez09.fsf@dslnm.trs.ntc.nokia.com>
References: <afdb26d2.0202200857.6ed4380@posting.google.com>
Sender: ptaipale@dslnm.trs.ntc.nokia.com

ilyasg@yahoo.com (Ilyas G) writes:
> I have a file containing a set of CLI commands.
> is there any way to re-play this file ?
> or to send it to the stdin in order to execute all the command it
> contains instead of typing it again.

I don't know the internals of RapidControl, which you are using, but
in my CLI (which is using ioTaskStdSet to do input/output through a
Telnet connection created with telnetCallAdd) I just open the file
containing CLI commands, re-assign stdin/stdout to the file descriptor,
do commands until end of file, and then restore the stdin/stdout.

See the manual pages for ioTaskStdGet and ioTaskStdSet, it's quite
easy (unless RapidControl somehow harrasses you, I don't know if it
could do that).

- --
Pekka Taipale -- pjt@iki.fi -- http://www.iki.fi/pjt/

---------------------------

Newsgroups: comp.os.vxworks
Subject: rlogin client puts stdout to shell session
Date: Thu, 28 Mar 2002 11:22:12 GMT
From: pjt@iki.fi
Organization: Embassy of Elbonia, 42 Krvi-Tasch Avenue, Szohod
Message-ID: <m3d6xogb5y.fsf@dslnm.trs.ntc.nokia.com>
Sender: ptaipale@dslnm.trs.ntc.nokia.com

I have a command line interpreter, which works just as I want it to.
We've moved the regular telnet daemon to another port and CLI listens
to port 23. CLI task sets its input/output with ioTaskStdSet. All
this works fine.

The problem: I'd like to add an "rlogin" command to the CLI. I call
the "rlogin" function of VxWorks, which runs great, except that...

...it does take standard input from my CLI, but it directs standard
output to the shell/console task's stdout!

In other words: I have a VxWorks shell session in one telnet window,
my CLI in another telnet window. In the CLI window, I say "rlogin
blaah", and yes, VxWorks really connects to blaah, but the login
prompt of "blaah" is displayed in the shell window. If I type a valid
login name and password in the CLI window, I get the other system's
prompt in the shell window. The CLI window has the input, the shell
window has the output.

How to fix this? It appears as if the VxWorks "rlogin" client
implementation incorrectly does something like
 ioTaskStdSet(taskIdSelf(), STD_OUT, ioGlobalStdGet(STD_OUT));
(but doesn't do it for STD_IN).

Anyone seen this before, know how to fix it? Alternatively, does
anyone know of a neat "telnet" client implementation for VxWorks? I
would like to avoid re-inventing the wheel, if at all possible.

(VxWorks seems to be infested with nasty little inconveniences
resulting from the fact that implementation always assumes that you
have just one shell session.)

- --
Pekka Taipale -- pjt@iki.fi -- http://www.iki.fi/pjt/

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rlogin client puts stdout to shell session
Date: Thu, 28 Mar 2002 11:24:24 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3CA2FDDC.8010007@spamm.me.l8s.co.uk>
References: <m3d6xogb5y.fsf@dslnm.trs.ntc.nokia.com>

> How to fix this? It appears as if the VxWorks "rlogin" client
> implementation incorrectly does something like
> ioTaskStdSet(taskIdSelf(), STD_OUT, ioGlobalStdGet(STD_OUT));
> (but doesn't do it for STD_IN).

If you know where it does it, patch (ie overwrite the opcodes
during system startup) the call to ioTaskStdSet() so that it
calls a routine of your own instead - which sets both stdin
and stdout.

	David

---------------------------

Newsgroups: comp.os.vxworks
Subject: Establishing ppp Connection between vxWorks and windows2000
Date: 28 Mar 2002 03:44:01 -0800
From: vinodkrishnankutty@hotmail.com (vinod)
Organization: http://groups.google.com/
Message-ID: <cb7218f2.0203280344.5fefa2f3@posting.google.com>

hi
 Could someone please tell me the configurations required on the
windows 2000 side in order to establish a ppp connection between
vxworks and windows 2000

Thanx in advance,
vinod

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Fri Mar 29 04:03:23 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Mar 29 04:03:26 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Fri Mar 29 04:03:18 PST 2002

 Subject: Re: rlogin client puts stdout to shell session
 Subject: Re: Default Signal Handler
 Subject: Re: DosFs File Attributes
 Subject: Re: PCI interrupt routines
 Subject: Re: rlogin client puts stdout to shell session
 Subject: Re: Can I kill a task in itself?
 Subject: Re: Establishing ppp Connection between vxWorks and windows2000
 Subject: Re: Can I kill a task in itself?
 Subject: Semaphore identification in task switch hook
 Subject: [EPILOGUE] RFC2320 - Function missing
 Subject: taskDelay bug?
 Subject: lfd, stfd and floating point register
 Subject: Re: Reboot Target error
 Subject: Re: where can I find the driver of 82559?
 Subject: Destroying a semaphore initialized with semBInit
 Subject: Re: taskDelay bug?
 Subject: Re: debugging on MCPN765 card (vxworks)
 Subject: What happens to vxWorks default exception handler
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: Re: rlogin client puts stdout to shell session
 Subject: Re: using CLI commands from file
 Subject: Re: BSD and END device drivers
 Subject: Re: Default Signal Handler
 Subject: Re: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
 Subject: Difference between BSP Developer's Kit and VxWorks Programmer's Guide
 Subject: Re: Semaphore identification in task switch hook
 Subject: Re: PCI interrupt routines
 Subject: Using undefined exceptions.
 Subject: Re: BSD and END device drivers
 Subject: Re: How to preform periodical task except sysAuxClkRateSet()
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: Re: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
 Subject: Re: BSD and END device drivers
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: [Question] About RS422, 485
 Subject: Re: ISR not Working - IBM PPC405GP
 Subject: vxsim trial software?
 Subject: Re: What happens to vxWorks default exception handler
 Subject: Re: Difference between BSP Developer's Kit and VxWorks Programmer's Guide
 Subject: Re: Establishing ppp Connection between vxWorks and windows2000
 Subject: Re: vxsim trial software?
 Subject: how to create tasks with desired status
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: sysClkRateSet() limit

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rlogin client puts stdout to shell session
Date: Thu, 28 Mar 2002 12:08:40 GMT
From: pjt@iki.fi
Organization: Embassy of Elbonia, 42 Krvi-Tasch Avenue, Szohod
Message-ID: <m3adssg8pt.fsf@dslnm.trs.ntc.nokia.com>
References: <m3d6xogb5y.fsf@dslnm.trs.ntc.nokia.com> <3CA2FDDC.8010007@spamm.me.l8s.co.uk>
Sender: ptaipale@dslnm.trs.ntc.nokia.com

David Laight <david@spamm.me.l8s.co.uk> writes:
> If you know where it does it, patch (ie overwrite the opcodes
> during system startup) the call to ioTaskStdSet() so that it
> calls a routine of your own instead - which sets both stdin
> and stdout.

Hmm, this is a Real Programmer solution. As I'm not in need of *that*
much job security, I'd like to do something a bit more portable.
But if the choices are patching the binary, or porting
a telnet client, the patch may be the option of least effort...

- --
Pekka Taipale -- pjt@iki.fi -- http://www.iki.fi/pjt/

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Default Signal Handler
Date: Thu, 28 Mar 2002 13:12:26 GMT
From: "Jim" <REMOVEjgdon@ureach.comREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <_EEo8.9246$f5.624708@news>
References: <m16o8.9001$f5.561155@news> <488e459a.0203270115.56ab7567@posting.google.com> <6Sjo8.9059$f5.588439@news> <ua4n9lh47r52e5@corp.supernews.com>

I think you are right ... but I have been told by higher powers you are
wrong ... I email vxworks support ...

"each signal handler is bonded to a specific signal, not on a thread base,
so if you call signal() to specify the signal handler associated with a
signal (i.e. SIGBUS), it will being applied to all threads.
You can refer vxworks programmer's guide page 1-349 and 2-746 for more
detail on signal."

"Hwa Jin Bae" <hjb@pso.com> wrote in message
news:ua4n9lh47r52e5@corp.supernews.com...
> Signals are specific to a given task. There is no way to assign a global
> handler for all the tasks. You will need to use exception hooks
instead.
>
> Even in Unix, you cannot declare a signal handler which will work in all
> processes. What happens is by default the SIG_DFL handler will kill the
> process.
>
> You can do something similar in vxWorks if you rewrite signals yourself.
> But I don't think sigLib allows that.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com
>
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: DosFs File Attributes
Date: Thu, 28 Mar 2002 14:19:36 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7v597$p6e$1@snoopy.bndlg.de>
References: <a7t0u9$hgb@nntpa.cb.lucent.com> <a7uj2i$e5c$1@snoopy.bndlg.de> <Xns91DF6689234ACborkhuisagerecom@135.7.153.101>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
news:Xns91DF6689234ACborkhuisagerecom@135.7.153.101...
> "Michael Lawnick" <Lawnick@softec.de> wrote:
> > Tornado 2 comes with old dosFs, but you can ask your FAE for a free
> > update. Tornado 2.2 is promised to come with dosFs2 as its 'native' FS
> > and as a free update for all customers with support (on request).
>
> DosFS2 is already included in Tornado 2.1.
AFAIK Tornado 2.1 is not available for all architectures.

Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: PCI interrupt routines
Date: Thu, 28 Mar 2002 14:22:10 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7v5e0$pf2$1@snoopy.bndlg.de>
References: <mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com> <a7ujhr$egk$1@snoopy.bndlg.de> <e1o5ausg6d6k3h1cieh75g9a0o209rr027@4ax.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"Peter Kannegiesser" <peter.kannegiesser@gmx.de> schrieb im Newsbeitrag
news:e1o5ausg6d6k3h1cieh75g9a0o209rr027@4ax.com...
> On Thu, 28 Mar 2002 09:16:58 +0100, "Michael Lawnick"
> <Lawnick@softec.de> wrote:
>
>
> >You are right in the way it is "the responsiblity of the BSP". This
assumes,
> >you are using the dedicated H/W (not always true) and have enabled the
> >needed modules (not always true,too ;-)).
>
> I might be a bit dense today, but what do you mean with "the needed
> modules"?

What's about INCLUDE_PCI to link in pciIntLib, pciConfigLib ?

Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rlogin client puts stdout to shell session
Date: Thu, 28 Mar 2002 13:29:01 GMT
From: pjt@iki.fi
Organization: Embassy of Elbonia, 42 Krvi-Tasch Avenue, Szohod
Message-ID: <m37knwg5al.fsf@dslnm.trs.ntc.nokia.com>
References: <m3d6xogb5y.fsf@dslnm.trs.ntc.nokia.com> <3CA2FDDC.8010007@spamm.me.l8s.co.uk> <m3adssg8pt.fsf@dslnm.trs.ntc.nokia.com>
Sender: ptaipale@dslnm.trs.ntc.nokia.com

pjt@iki.fi writes:
> Hmm, this is a Real Programmer solution. As I'm not in need of *that*
> much job security, I'd like to do something a bit more portable.
> But if the choices are patching the binary, or porting
> a telnet client, the patch may be the option of least effort...

BTW, the rlogin output can be redirected in the shell quite
normally. I find this a bit odd. rlogin() apparently spawns a task
internally (rlogChildTask); does anyone have information as to how
that works? (We do have a support agreement, but as Easter is
approaching our time zone, it's hard to get hold of anyone...)

- --
Pekka Taipale -- pjt@iki.fi -- http://www.iki.fi/pjt/

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I kill a task in itself?
Date: Thu, 28 Mar 2002 14:26:32 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7v5m7$ph6$1@snoopy.bndlg.de>
References: <b6e3.0203272135.65961a4f@posting.google.com> <a7ujp3$eij$1@snoopy.bndlg.de> <3CA2E67D.8070807@spamm.me.l8s.co.uk>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"David Laight" <david@spamm.me.l8s.co.uk> schrieb im Newsbeitrag
news:3CA2E67D.8070807@spamm.me.l8s.co.uk...
> Michael Lawnick wrote:
>
> > Just
> > return();
>
> or exit()
>
Uh, the same devil as taskDelete(taskIdSelf ()). Its like asking for getting
beat.

Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Establishing ppp Connection between vxWorks and windows2000
Date: Thu, 28 Mar 2002 14:46:53 +0100
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <a7v6sc$q8a$1@snoopy.bndlg.de>
References: <cb7218f2.0203280344.5fefa2f3@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e658cd.dip.t-dialin.net

"vinod" <vinodkrishnankutty@hotmail.com> schrieb im Newsbeitrag
news:cb7218f2.0203280344.5fefa2f3@posting.google.com...
> hi
> Could someone please tell me the configurations required on the
> windows 2000 side in order to establish a ppp connection between
> vxworks and windows 2000
>
> Thanx in advance,
> vinod
In the Control Panel: 'Network and Dial-up Connections'->'Make New
Connection'
In the Connection Wizard select the suitable mechansim and go through
installation process. I found it straight forward.

Michael

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Can I kill a task in itself?
Date: Thu, 28 Mar 2002 14:34:29 GMT
From: nunya@damn.business.com (Bruce)
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3ca32a6b.5919291@news.dallas.sbcglobal.net>
References: <b6e3.0203272135.65961a4f@posting.google.com> <a7ujp3$eij$1@snoopy.bndlg.de> <3CA2E67D.8070807@spamm.me.l8s.co.uk> <a7v5m7$ph6$1@snoopy.bndlg.de>

In comp.os.vxworks
"Michael Lawnick" <Lawnick@softec.de> wrote:

>Uh, the same devil as taskDelete(taskIdSelf ()). Its like asking for getting
>beat.

I like to comment this one like:

taskDelete(taskIdSelf ()); // Commit suicide

---------------------------

Newsgroups: comp.os.vxworks
Subject: Semaphore identification in task switch hook
Date: Thu, 28 Mar 2002 15:51:39 +0100
From: "Daniel Sundmark" <dsk@mdh.se>
Message-ID: <3ca32bb1@news.mdh.se>

Hi!

Is there anybody who knows how to extract information about what semaphore
id that caused the task switch (due to a SemGive() or a SemTake()) in a task
switch hook???

// Daniel

---------------------------

Newsgroups: comp.os.vxworks,comp.protocols.snmp
Subject: [EPILOGUE] RFC2320 - Function missing
Date: 28 Mar 2002 06:55:12 -0800
From: ilyasg@yahoo.com (Ilyas G)
Organization: http://groups.google.com/
Message-ID: <afdb26d2.0203280655.4204fadb@posting.google.com>

I am trying to implement rfc2320 On VxWorks agent,
first is there someone who has already tested that ?
I have receaives some code from Windriver and it's really Bad !! they
say that windnet support that ...
However, in their code they call a function bld_amb_get_common() that
seems inexistant !!

any

---------------------------

Newsgroups: comp.os.vxworks
Subject: taskDelay bug?
Date: 28 Mar 2002 07:07:21 -0800
From: sys_eng30@hotmail.com (System Engineer)
Organization: http://groups.google.com/
Message-ID: <9c198a20.0203280707.42c77023@posting.google.com>

Hi All,

Has anybody ever had some troubles with the taskDelay(1)?

It seems that one of the tasks in my application has got stock in this
procedure. The problem has happened only once, but I want to find the
root cause anyway.

 Example

semA is a mutual exclusion semaphore.

Task A:

while (1)
{
 semTake(semA);

 do_some_stuff();

 semGive(semA);
}

task B

while(1)
{
 taskDelay(1);
 semTake(semA);

 do_other_things();

 semGive();
}

So the sequence is A -> B -> A ->B
The priority of the task B is greater than the priority of the task A.

---------------------------

Newsgroups: comp.os.vxworks
Subject: lfd, stfd and floating point register
Date: 28 Mar 2002 07:46:54 -0800
From: triniatlarge@yahoo.com (lovell James)
Organization: http://groups.google.com/
Message-ID: <a66abf95.0203280746.1e9efcd2@posting.google.com>

Hi,
 I am trying to do 64 bit acessess in memory using lfd and stfd
instructions. The problem that I am having is when I move my 64 bit
contents into a floating point register I cannot display it. Is there
a limitation to printf? I am using
printf("%f") and even %g and nothing happens.

I am also trying to parse a string and convert a string into a 64 bit
number using sscanf without using 32 bit registers. That is, parse my
string and convert the string into a 64 bit number which is stored in
a floating point register ~ sscanf(string,"%f"........

Could this be done? I am using Vxworks 5.4, PPC755
LJ

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Reboot Target error
Date: Thu, 28 Mar 2002 17:35:35 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3ca34655$1@brateggebdc5.br-automation.co.at>
References: <58cafc21.0203272334.27976c4a@posting.google.com>

Hi,

check the global variable "sysWarmType" in the shell.
It's value is the kind of reboot to exercise when issuing reboot.

If it's not SYS_WARM_ATA, there is something wrong with your build.

hth
Werner

"supergod" <supergod2001@bigfoot.com> wrote in message
news:58cafc21.0203272334.27976c4a@posting.google.com...
> I want to reboot target and load boot rom from target ATA drive, but
> after i type "reboot" on the target console or windsh,it failed and
> returned error value as following:
>
> dosFsDevInit Failed
> usrFdConfig Failed
> value=-1=0xffffffff=_func_taskRegsShowRtn+0xffe09b13
>
> If i cold boot target,it can load boot rom from ATA drive and load
> vxworks.
>
> I have changed SYS_WARM_TYPE to SYS_WARM_ATA in config.h.
> But it seems vxworks still wants to mount floopy to find boot rom.
>
> And more, if i insert a vxworks boot diskete in floopy, then type
> "reboot"
> it failed also.
>
>
> So what can i do? Our Target is Pentium based

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: where can I find the driver of 82559?
Date: Thu, 28 Mar 2002 17:32:50 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3ca345b0$1@brateggebdc5.br-automation.co.at>
References: <b6e3.0203272140.3fb5e096@posting.google.com>

Hi,

you want use the 'fei' driver for that.
There is an updated version over the one originally shipped with Tornado II

hth
Werner

"seatide" <seatide@263.net> wrote in message
news:b6e3.0203272140.3fb5e096@posting.google.com...
> as title

---------------------------

Newsgroups: comp.os.vxworks
Subject: Destroying a semaphore initialized with semBInit
Date: Thu, 28 Mar 2002 12:01:37 -0500
From: "Paul Kurmas" <pkurmas@unispherenetworks.com>
Message-ID: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net>

To prevent memory fragmentation, etc., I'm embedding a SEMAPHORE (from
private\semLibP.h) in a structure and calling semBInit() to initialize it.
No worries as yet...

When I destroy the structure, I realize that there may be (OK, shouldn't be,
but never say never) tasks blocked on the semaphore. There's got to be a
cleanup step to release the blocked tasks, right?

In semLibP.h, I see:
 extern STATUS semDestroy (SEM_ID semId, BOOL dealloc);
Would I be correct in assuming that this (with dealloc = true) would clean
up the initialized semaphore and unblock tasks? Further, would it leave the
memory where the semaphore was alone ('cause it can't be free()d)?

I looked through the Deja archives and couldn't find any mention of this
before, and of course, this isn't in the FM. If no one knows for sure, I'll
just get to read the disassembled function call, but a definitive answer
would save some time.

Thanks in advance...
PK

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: taskDelay bug?
Date: Thu, 28 Mar 2002 12:41:35 -0500
From: "doug dotson" <ddotson@digidata.com>
Organization: Verio
Message-ID: <izIo8.5225$T_.105517@iad-read.news.verio.net>
References: <9c198a20.0203280707.42c77023@posting.google.com>

I think taskDelay (1) is probably not getting you what you want.
It will delay for up to 1 tick but could be 0. Not sure why it
would hang though.

doug

"System Engineer" <sys_eng30@hotmail.com> wrote in message
news:9c198a20.0203280707.42c77023@posting.google.com...
> Hi All,
>
> Has anybody ever had some troubles with the taskDelay(1)?
>
> It seems that one of the tasks in my application has got stock in this
> procedure. The problem has happened only once, but I want to find the
> root cause anyway.
>
> Example
>
> semA is a mutual exclusion semaphore.
>
> Task A:
>
> while (1)
> {
> semTake(semA);
>
> do_some_stuff();
>
> semGive(semA);
> }
>
> task B
>
> while(1)
> {
> taskDelay(1);
> semTake(semA);
>
> do_other_things();
>
> semGive();
> }
>
>
> So the sequence is A -> B -> A ->B
> The priority of the task B is greater than the priority of the task A.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: debugging on MCPN765 card (vxworks)
Date: Thu, 28 Mar 2002 18:37:54 +0100
From: "Werner Schiendl" <ws-news@gmx.at>
Message-ID: <3ca354f0$1@brateggebdc5.br-automation.co.at>
References: <dbc7acef.0203240535.2e6d6ea8@posting.google.com>

Hi,

Do you add a local or global breakpoint?
Local breakpoints are only active, when the correct task hits it.

hth
Werner

"Rajat Dayal" <rdayal@hss.hns.com> wrote in message
news:dbc7acef.0203240535.2e6d6ea8@posting.google.com...
> Hi,
>
> Im using vxWorks on a Motorola MCPN765 card.
> If i add a breakpoint on any function through the vxworks prompt it
> doesnt get hit on execution.
> -- although the breakpoint gets added correctly.
> What could be the problem ?
>
> Regards
> RD

---------------------------

Newsgroups: comp.os.vxworks
Subject: What happens to vxWorks default exception handler
Date: 28 Mar 2002 10:12:06 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0203281012.210c7cc4@posting.google.com>

I'm invoking a function (via tShell) that I know would
cause a bus timeout problem on 8260. Instead of getting
a machine check or data access exception, my serial (actually
the entire CPU) hangs.

With vxMsrGet, I find out MSR is 0x9032, and this means
EE, ME, IR and DR are enabled. And they're all recoverable.

Shouldn't the BSP default handler at least dump a message
on the console? What else could be happening?

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: Thu, 28 Mar 2002 10:17:11 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6nlqf0kaffff@corp.supernews.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net>

If you used semInit() to initialize a semaphore, you should use
semTerminate() to terminate it.

You can flush all pending tasks on the semaphore before terminating it. Use
semFlush().

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: rlogin client puts stdout to shell session
Date: Thu, 28 Mar 2002 10:22:14 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6nv9bdh6d36e@corp.supernews.com>
References: <m3d6xogb5y.fsf@dslnm.trs.ntc.nokia.com> <3CA2FDDC.8010007@spamm.me.l8s.co.uk> <m3adssg8pt.fsf@dslnm.trs.ntc.nokia.com> <m37knwg5al.fsf@dslnm.trs.ntc.nokia.com>

The rlogin child task simply reads from the socket and write to stdout.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: using CLI commands from file
Date: Thu, 28 Mar 2002 10:23:17 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6o18s3mm1b82@corp.supernews.com>
References: <afdb26d2.0202200857.6ed4380@posting.google.com> <m3g02lez09.fsf@dslnm.trs.ntc.nokia.com>

You can also use execute() function.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: Thu, 28 Mar 2002 10:29:11 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6ocdg77gfhfb@corp.supernews.com>
References: <3CA28A7B.FB0C4972@cisco.com> <l%xo8.123196$ZR2.47488@rwcrnsc52.ops.asp.att.net>

END driver eventually becomes BSD driver before hooking up to IP layer. As
far as IP layer code is concerned all look like BSD driver. So the routing
related issues are no problem even when you mix both END and BSD.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Default Signal Handler
Date: Thu, 28 Mar 2002 10:47:20 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6pelahiq0463@corp.supernews.com>
References: <m16o8.9001$f5.561155@news> <488e459a.0203270115.56ab7567@posting.google.com> <6Sjo8.9059$f5.588439@news> <ua4n9lh47r52e5@corp.supernews.com> <_EEo8.9246$f5.624708@news>

I can't deny that I might be wrong, as I frequently am. However, as far as
I know the signals are task specific. Just look at taskLib.h. In every
task's TCB there is a struct sigtcb. This is where the signal handlers for
each task get stored.

It is possible that things have changed recently, but since Tornado 2.0? I
doubt it.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
Date: Thu, 28 Mar 2002 10:51:24 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua6pm19e27hvb8@corp.supernews.com>
References: <b1cb4c43.0203271812.1c6c5d0d@posting.google.com>

The information I recently received from WRS is:

" The short answer is that it's not possible with the
current version of PPPoE. In the current version of PPPoE, the "oE"
component is meerly a framing layer component in the PPP stack. And there
are some restrictions in the code that allow only one "oE" framing layer per
remote access framework. (very confusing, I know, but I'm dredging this
from memory). I've talked to the engineers doing the PPPoE product and they
have confirmed this limitation.

However, we are looking at addressing this in a future release. If this
"sardine" person would present themselves to WindRiver, it would help in
creating the business case that we need to get some resources on this, as
more people are asking for it. "

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Difference between BSP Developer's Kit and VxWorks Programmer's Guide
Date: 28 Mar 2002 12:18:59 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0203281218.35a2e225@posting.google.com>

I already have the programmer's guide, but don't have the
developer's kit (they're not one and the same, right?).
Can someone the differences in content between the two?
What am I missing?

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Semaphore identification in task switch hook
Date: Thu, 28 Mar 2002 12:52:09 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua70oiogj7f127@corp.supernews.com>
References: <3ca32bb1@news.mdh.se>

There is no API for that as far as I know.

Yet, it is possible to approximate this kind of information gathering. Look
in taskLib.h. In it is the TCB structure. Every task has a pointer to
"pending queue" called pPendQ. This is a pointer to a queue inside a
semaphore the task is pending on, if any. Using the TCB pointers (old and
new) you can glean some information about the semaphores this way.

But this method probably belongs in the class of "hacks".

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: PCI interrupt routines
Date: Thu, 28 Mar 2002 22:06:55 +0100
From: Peter Kannegiesser <peter.kannegiesser@gmx.de>
Organization: SEK
Message-ID: <9c17austo339iug14gbkhpp28uo4jtmnf5@4ax.com>
References: <mid4aucvrlek3ssigc1bf3e1cu9ncmo2ln@4ax.com> <a7ujhr$egk$1@snoopy.bndlg.de> <e1o5ausg6d6k3h1cieh75g9a0o209rr027@4ax.com> <a7v5e0$pf2$1@snoopy.bndlg.de>
Reply-To: peter.kannegiesser@gmx.de

On Thu, 28 Mar 2002 14:22:10 +0100, "Michael Lawnick"
<Lawnick@softec.de> wrote:

>
>What's about INCLUDE_PCI to link in pciIntLib, pciConfigLib ?
>

Yeah, I have these. Anyway, my problem is solved -- to silly to
describe :-)

I am in for vacation...

Thanks,
Peter
- --
keine sig

---------------------------

Newsgroups: comp.os.vxworks
Subject: Using undefined exceptions.
Date: 28 Mar 2002 17:26:23 -0500
From: Bill Pringlemeir <bpringlemeir@yahoo.com>
Organization: Factory of the mind
Message-ID: <uy9gcwcq8.fsf@mistwireless.com>
Sender: bpringlemeir@DeadDuck

- --=-=-=

[Possibly the problem isn't ARM specific.]

I have T2.1.1, which is the ARM release of T2.1, and it does not
support the ARMARCH3 but only StrongARM and ARMARCH4 variants. I
explored several options at emulating the address mode three
instructions (and multiplies) that were added in ARCH4.

Anyways, I ended up translating these op-codes to an illegal variant.
However, vxWorks debugger also used an illegal opcode for break
points. I have found a define that uses 0xE7FDDEFE for the break
points. I confirmed this by setting breakpoints and writing code to
retrieve the instruction (the vxWorks tool do something to prevent
this). I then patched my own code into the illegal instruction vector
and call the old vector, named excEnterUndef, after I have determined
that this is a break point and not an ARMARCH4 instruction to be
emulated.

All is fine and well. I can set break points, step through the
functions, etc. However, I recently discovered that when I set a
breakpoint and hit it (calling my illegal instruction vector) the
shell starts to behave strangely. Specifically, from the host tools
the `i' command works fine but the `@i' command gives,

 -> @i
 WTX Error 0x100cc (AGENT_RT_ERROR)
 value = -1 = 0xffffffff

I also have the shell running on a tty. Typing `i' here give,

 -> i
 Object not found.
 value = 18 = 0x12

I can run `lkup "printf"'on the host and the target. However, `@lkup
"printf"' gives the same WTX error. I would suspect that something
with WDB might have went wrong. I have limited visibility so it is
difficult to figure out what is happening.

Does excEnterUndef make any assumptions about the stack? I see that
it changes to SVC32 mode quickly. My handler uses the UNDEF stack and
hands off to the excEnterUndef. Upon closer inspections, I think that
I might have to save whatever `undefined stack' and replace this
before calling the vxWorks excEnterUndef. Does anyone else have any
advice on this? Maybe I should be using the exception library. The
overhead seems to much at first. However, my system seems ok even
with the `C' implementation of the instruction emulation.

I have also went through observing every ARCH4 instruction included in
the T2.1.1 library files. My scanning code gets all of these
appropriately for my target. However, many constant address
references do decode to an `ldrh' instruction. I ignore these if they
are in my DRAM range. The compiler doesn't seem to output these
instructions as actual values.

Thanks for any help,
Bill Pringlemeir.

- --
Have you ever rewired your dog through the use of psychokinetic
energy? Or had someone you saw at a party spew gibberish while
throwing an explosion in your mouth? You will. And the company that
will bring it to you: AT&T.

vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

- --=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=am3.c
Content-Description: [I shall commit a heinous sin] ARMARCH4 instruction emulation.

/* am3.c */

/*

 * This module emulates addressing mode 3 of the ARM processor.

 *

 */

#include <vxWorks.h>

#include <config.h>

#include <logLib.h>

#include <stdlib.h>

#include <vxLib.h>

#include <stdio.h>

/*

 * Instruction decoding.

 *

 * Address mode 3 has the following bit decoding,

 *

 * 3 2 1 0

 * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

 * /---------------------------------------------------------------\

 * | cond |0 0 0|P|U|I|W|L| RN | RD |sbz/off|1 S H 1| RM/off|

 * \---------------------------------------------------------------/

 *

 * cond - condition code, P - pre/post index, U - index sign,

 * I - immediate or register, W - write back, L - load/store,

 * sbz - should be zero, off - 8 bit offset, S - signed load,

 * h - 16 bit load (or store).

 *

 */

#define INSTR_ISAM3(i) (((i)&(IMASK_AM3))==(IOP_AM3)&&((i)&IMASK2_AM3))

#define IMASK_AM3		0x0E000090

#define IOP_AM3			0x00000090

#define IMASK2_AM3		0x00000060 /* B,D,F */

#define AM3_STACK_SIZE 2048 /* bytes */

#define AM3_HANDLER_ADRS 0x100

/* Addressing mode three bit definitions. */

#define AM3_P_BIT (1<<24)

#define AM3_U_BIT (1<<23)

#define AM3_I_BIT (1<<22)

#define AM3_W_BIT (1<<21)

#define AM3_L_BIT (1<<20)

#define AM3_S_BIT (1<<6)

#define AM3_H_BIT (1<<5)

#define RN_MASK 0x000f0000UL

#define RD_MASK 0x0000f000UL

#define RM_MASK 0x0000000fUL

#define IH_MASK 0x00000f00UL

#define IL_MASK 0x0000000fUL

#define RN_SHIFT 16

#define RD_SHIFT 12

#define RM_SHIFT 0

#define IH_SHIFT 8

#define IL_SHIFT 0

#define ERROR_PRINT(s...) /* nothing. */

/* #define ERROR_PRINT printf */

extern void (*am3PreviousHook)(void);

extern void am3SetStack(void *stack); /* Correct for top! */

extern void am3Hook(void);

extern void sysFlushIDCacheAll(void);

#if 0

#define ldrh0(r,m) __asm__(" ldrb %0,[%1]\n" \

 " ldrb %1,[%1,#1]\n" \

 " add %0,%0,%1, LSL #8\n" :"=r" (r) : "r" (m))

#define strh0(r,m) __asm__ volatile(" strb %0,[%1]\n" \

 " mov %0,%0,ROR #8\n" \

 " strb %0,[%1,#1]\n" \

 " mov %0,%0,ROR #24\n" :"=r" (r) : "r" (m))

#endif

long long smull(int x, int y)

{

 return (long long) x * (long long) y;

}

void am3Handler(UINT32 *esf, const UINT32 value)

{

 UINT16 *mem;

 UINT32 *reg, regValue;

 UINT32 tmp;

 /* Multiply. */

 if(!(value & (AM3_S_BIT | AM3_H_BIT)))

 {

 UINT32 *rdH, *rdL;

 UINT32 rm, rs;

 unsigned long long t;

 tmp = (value & RN_MASK) >> RN_SHIFT;

 rdH = &esf[tmp];

 tmp = (value & RD_MASK) >> RD_SHIFT;

 rdL = &esf[tmp];

 tmp = (value & IH_MASK) >> IH_SHIFT;

 rs = esf[tmp];

 tmp = (value & RM_MASK) >> RM_SHIFT;

 rm = esf[tmp];

 switch((value & 0x00600000)>>21)

 {

 default: /* UMULL */

 case 0:

 /* RD = Rm * Rs */

 t = (unsigned long long)rm * (unsigned long long)rs;

 *rdL = (UINT32)t;

 *rdH = (UINT32)(t>>32);

 break;

 case 1: /* UMLAL */

 *rdL = 0;

 *rdH = 0;

 break;

 case 2: /* SMULL */

 {

 int sign = 0;

 if(rs & 0x80000000UL)

 {

 rs = -rs;

 sign ^= 1;

 }

 if(rm & 0x80000000UL)

 {

 rm = -rm;

 sign ^= 1;

 }

 t = (unsigned long long)rm * (unsigned long long)rs;

 if(sign)

 {

 t = - t;

 }

 *rdL = (UINT32)t;

 *rdH = (UINT32)(t>>32);

 }

 break;

 case 3: /* SMLAL */

 *rdL = 0;

 *rdH = 0;

 break;

 }

 return;

 }

 /* Get parameters */

 tmp = (value & RN_MASK) >> RN_SHIFT;

 mem = (UINT16*)esf[tmp];

 tmp = (value & RD_MASK) >> RD_SHIFT;

 reg = &esf[tmp];

 /* Pre-index. */

 if(value & AM3_P_BIT)

 {

 UINT32 offset;

 if(value & AM3_I_BIT) /* Immediate. */

 {

 tmp = (value & IH_MASK) >> 4; /* >> 8, << 4 */

 tmp |= (value & IL_MASK);

 offset = tmp;

 }

 else /* Register */

 {

 tmp = value & RM_MASK;

 offset = esf[tmp];

 }

 if(!(value & AM3_U_BIT)) /* Signed */

 {

 offset = -offset;

 }

 if(value & AM3_W_BIT) /* Writeback. */

 {

 tmp = (value & RN_MASK) >> RN_SHIFT;

 esf[tmp] += offset;

 }

 mem = (UINT16 *)((UINT32)mem + offset);

 }

 if(value & AM3_L_BIT) /* Load */

 {

 switch((value & (AM3_S_BIT | AM3_H_BIT)) >> 5)

 {

 default:

 case 0:

 regValue = 0;

 break;

 case 1: /* half-word */

 regValue = *mem;

 break;

 case 2: /* signed byte. */

 regValue = *((UINT8*)mem);

 if(regValue & (1<<7))

 {

 regValue |= 0xffffff00UL;

 }

 break;

 case 3: /* signed halfword */

 regValue = *mem;

 if(regValue & (1<<15))

 {

 regValue |= 0xffff0000UL;

 }

 break;

 }

 *reg = regValue;

 }

 else /* Store */

 {

 *mem = (UINT16)*reg;

 }

 /* Writeback, post-indexed. */

 if(!(value & AM3_P_BIT))

 {

 UINT32 offset;

 /* Get parameters */

 tmp = (value & RN_MASK) >> RN_SHIFT;

 reg = &esf[tmp];

 if(value & AM3_I_BIT) /* Immediate. */

 {

 tmp = (value & IH_MASK) >> 4; /* >> 8, << 4 */

 tmp |= (value & IL_MASK);

 offset = tmp;

 }

 else /* Register */

 {

 tmp = value & RM_MASK;

 offset = esf[tmp];

 }

 if(!(value & AM3_U_BIT)) /* Signed */

 {

 offset = -offset;

 }

 *reg += offset;

 }

}

static void setStack(void)

{

 static char undefined_stack[AM3_STACK_SIZE];

 am3SetStack(&undefined_stack[AM3_STACK_SIZE - 4]);

}

void am3InstallHandler(void)

{

 void (**vector)(void) = (void(**)(void))AM3_HANDLER_ADRS;

 void (*temp)(void) = am3Hook;

 setStack();

 am3PreviousHook = *vector;

/* vxMemProbe((char*)vector, VX_WRITE, 4, (char*)&temp); */

 *vector = temp;

}

void am3UninstallHandler(void)

{

 void (**vector)(UINT32*) = (void(**)(UINT32*))AM3_HANDLER_ADRS;

 vxMemProbe((char*)vector, VX_WRITE, 4, (char*)&am3PreviousHook);

}

void am3Scan(UINT32 *scan, int size)

{

 int count = -1;

 unsigned long code;

 while(count++ < size)

 {

 code = scan[count];

 /* Inside address mode 3 space? */

 if(INSTR_ISAM3(code))

 {

 /* Always... */

 if((code & 0xf0000000) != 0xe0000000 &&

 (code & 0x0fe00000) != 0x01c00000)

 {

 ERROR_PRINT("wonky cc, %x: %.8lx\n", count, code);

 continue;

 }

 /* No signed stores. */

 if(!(code & AM3_L_BIT) && (code & AM3_S_BIT))

 {

 ERROR_PRINT("store S!L, %x: %.8lx\n", count, code);

 continue;

 }

 /* W set, P clear is not valid. */

 if((code & AM3_W_BIT) && !(code & AM3_P_BIT))

 {

 ERROR_PRINT("invalid W!P, %x: %.8lx\n", count, code);

 continue;

 }

 /* No byte stores (uses mode 2). */

 if(!(code & AM3_L_BIT) && !(code & AM3_H_BIT))

 {

 ERROR_PRINT("store !H!L, %x: %.8lx\n", count, code);

 continue;

 }

 /* No unsigned bytes (uses mode 2). */

 if(!(code & AM3_S_BIT) && !(code & AM3_H_BIT))

 {

 ERROR_PRINT("store !S!H, %x: %.8lx\n", count, code);

 continue;

 }

 /* Register and SBZ != 0. */

 if(!(code & AM3_I_BIT) && (code & 0x00000f00))

 {

 ERROR_PRINT("SBZ, %x: %.8lx\n", count, code);

 continue;

 }

 /* false CC. */

 if((code & 0xf0000000)== 0xf0000000)

 {

 ERROR_PRINT("FALSE, %x: %.8lx\n", count, code);

 continue;

 }

 /* r15. */

 if((code & RN_MASK) == RN_MASK)

 {

 ERROR_PRINT("r15, %x: %.8lx\n", count, code);

 continue;

 }

 /* r15. */

 if((code & RD_MASK) == RD_MASK)

 {

 ERROR_PRINT("r15, %x: %.8lx\n", count, code);

 continue;

 }

 /* index, r15 */

 if(!(code & AM3_I_BIT) && (code & RM_MASK) == RM_MASK)

 {

 ERROR_PRINT("r15, %x: %.8lx\n", count, code);

 continue;

 }

 /* Conditional mask allows `re-scan'. */

 scan[count] = code | 0x06000000UL;

 }

 /* Multiply space. */

 if((code & 0xff8000f0) == 0xe0800090)

 {

 /* EQ */

 if((code & 0xf0000000) == 0x00000000)

 {

 /* MLA, MUL are ok. */

 continue;

 }

 /* Always... */

 if((code & 0xf0000000) == 0xf0000000)

 {

 ERROR_PRINT("wonky cc, %x: %.8lx\n", count, code);

 continue;

 }

 /* unknown op. */

 if((code & 0x000f0000) == 0x000f0000)

 {

 ERROR_PRINT("RdH, %x: %.8lx\n", count, code);

 continue;

 }

 if((code & 0x0000f000) == 0x0000f000)

 {

 ERROR_PRINT("RdL, %x: %.8lx\n", count, code);

 continue;

 }

 if((code & 0x00000f00) == 0x00000f00)

 {

 ERROR_PRINT("Rs, %x: %.8lx\n", count, code);

 continue;

 }

 if((code & 0x0000000f) == 0x0000000f)

 {

 ERROR_PRINT("Rm, %x: %.8lx\n", count, code);

 continue;

 }

 /* Conditional mask allows `re-scan'. */

 scan[count] = code | 0x06000000UL;

 }

 }

 sysFlushIDCacheAll();

}

- --=-=-=--

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: Thu, 28 Mar 2002 16:48:51 -0800
From: Aravind Srinivasan <aravinds@cisco.com>
Organization: Cisco Systems Inc.
Message-ID: <3CA3B9F3.BB5C728F@cisco.com>
References: <3CA28A7B.FB0C4972@cisco.com> <l%xo8.123196$ZR2.47488@rwcrnsc52.ops.asp.att.net> <ua6ocdg77gfhfb@corp.supernews.com>

I believe that the IP layer has to implement MUX interface to interact with the
END based device driver. However, for a BSD driver, IP could share the same
ifnet data structure with the device driver to talk to each other. So can the
IP layer do both in VXworks, i.e talk to a BSD driver as well as with the MUX??

Hwa Jin Bae wrote:

> END driver eventually becomes BSD driver before hooking up to IP layer. As
> far as IP layer code is concerned all look like BSD driver. So the routing
> related issues are no problem even when you mix both END and BSD.
>
> --
> Hwa Jin Bae
> mailto:hjb@pso.com
> http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: How to preform periodical task except sysAuxClkRateSet()
Date: 28 Mar 2002 14:49:21 -1000
From: Jim Thomas <thomas@atlas.cfht.hawaii.edu>
Organization: Canada France Hawai`i Telescope
Message-ID: <wwn0wsmc4u.fsf@atlas.cfht.hawaii.edu>
References: <5c074538.0203122254.56279c06@posting.google.com> <5c074538.0203131643.765b42c2@posting.google.com> <3c90a3ec@brateggebdc5.br-automation.co.at> <3C90AE69.10201@spamm.me.l8s.co.uk> <a73v7o$hgd$1@at-vie-newsmaster01.nextra.at> <3C95E9E3.6070207@spamm.me.l8s.co.uk> <wwn0x4miv6.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203221920.2e65f87@posting.google.com> <wwit7mn1gr.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203240914.472936a9@posting.google.com> <wwn0wwm6s0.fsf@atlas.cfht.hawaii.edu> <4cf902bf.0203260813

>>>>> "David" == David Laight <david@spamm.me.l8s.co.uk> writes:

 David> Hwa Jin Bae wrote:
 >> I agree that the code could have been written better. I am certainly
 >> not trying to defend the current code. I did not write that code, but
 >> I know who did. The person who wrote that code originally is a very
 >> good engineer. I have to assume that it was his intent to keep things
 >> that way. It was never his intent to support fine grain timer
 >> resolution with select. There are other ways of accomplishing such
 >> timing requirements in vxWorks. select was only provided as a crude
 >> way of compatibility with Unix.
 >>

 David> Actually I expect it was written assuming a tick of around
 David> 60-100Hz. Writing it to support arbitrary fast ticks is quite
 David> hard. OTOH if unsigned arithmetic had been done then select()
 David> would only ever return early.

But that's the "bug" that bit me. There are two problems in the code.
Requesting anything on a 4000Hz system. Requesting 10ms on a 60Hz system.
To me, returning early at 60Hz is just as bad :-(

Jim

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: 28 Mar 2002 16:57:39 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203281657.7302474a@posting.google.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com>

Hello,

> If you used semInit() to initialize a semaphore, you should use
> semTerminate() to terminate it.

And since both of these are unpublished interfaces you can expect your
code to be non-portable. For example, neither of those calls are
available to application level code under VxWorks AE, so don't expect
this code to work there. They could even lead to problems if used in
the AE kernel since they are not the "public" interface to semaphore
management.

There are good reasons for some things not being in the manuals...
feel free to use them, but at your own risk.

Rgds,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: windNet PPP&PPPOE1.2 ,how to bind pppoe service to Multi Ethernet Port ?
Date: 28 Mar 2002 17:26:17 -0800
From: sardine_sz@163.net (sardine)
Organization: http://groups.google.com/
Message-ID: <b1cb4c43.0203281726.41f11335@posting.google.com>
References: <b1cb4c43.0203271812.1c6c5d0d@posting.google.com> <ua6pm19e27hvb8@corp.supernews.com>

thx hwa,

 OK,i think we can spawn Multi Framework ,each framework bind a ethernet port,

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: BSD and END device drivers
Date: Thu, 28 Mar 2002 17:52:00 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua7ifmpgusf181@corp.supernews.com>
References: <3CA28A7B.FB0C4972@cisco.com> <l%xo8.123196$ZR2.47488@rwcrnsc52.ops.asp.att.net> <ua6ocdg77gfhfb@corp.supernews.com> <3CA3B9F3.BB5C728F@cisco.com>

END drivers are presented as netif style BSD drivers to IP layer code. So
IP layer can talk to both END and BSD. In fact, IP layer thinks it is
talking to BSD drivers all the time.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: Thu, 28 Mar 2002 18:00:34 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua7iqvchr34k3e@corp.supernews.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com>

semInit is documented in manual.

I think semTerminate is not. But it really should be. Otherwise, semInit
should not be documented either. Just to be consistent.

semFlush is documented.

If semInit does not work in VxWorks AE, then it is unfortunate. From the
consistent API point of view.

Just my opinion...

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: [Question] About RS422, 485
Date: 28 Mar 2002 18:34:33 -0800
From: netproa@freechal.com (James)
Organization: http://groups.google.com/
Message-ID: <3ad4e9be.0203281834.717e1e5e@posting.google.com>

Hi,
I'm about to program MPC860's SCC3 to RS422 or RS485 device.
But I don't know how to modify Tornado's serial driver.
(ppc860Sio.c or ppc860SccSio.c)

Please give me some advice, how to program CPM to RS422,485 device
or about other RS422,485 device driver.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: ISR not Working - IBM PPC405GP
Date: Fri, 29 Mar 2002 04:13:30 GMT
From: "Travis Pennington" <travispennington@worldnet.att.net>
Organization: AT&T Worldnet
Message-ID: <KRRo8.11406$Eb5.1032122@bgtnsc05-news.ops.worldnet.att.net>
References: <e38d912c.0203201426.1dc050c@posting.google.com> <a7cafk$14j$1@snoopy.bndlg.de> <e38d912c.0203210902.74f0a230@posting.google.com> <9f1c83d3.0203220846.364bd946@posting.google.com> <e38d912c.0203262338.2189cc27@posting.google.com>

A few things to watch out for. Some of these have been hinted in the past
messages, but attention to them have not been explicitly called out:

1. Don't assume your interrupt line will not be shared, even if you have a
single external PCI device. If your controller card has an ethernet device
on board, it will most likely use INTB. Because of this, it is wise to use
pciIntConnect.

2. Keep in mind that the interrupt line your device uses will change, from
the controller's point of view, if you move the PCI device to a different
slot. The PCI Interrupt lines do not "pass through" the PCI backplane --
They are serpentined and assigned to different pins (and thus different
interrupt lines) on different slots. Because of this, it is wise to set
your BSP's "autoconfiguration option" and read your PCI device's interrupt
line from the device's configuration space. Forgot the exact syntax of the
command and i'm not i work. Something like "pci_config_in_byte(...)".

3. Remeber that you intEnable (or equivalent function) the INTERRUPT LINE,
whereas you intConnect or pciIntConnect to the INTERRUPT VECTOR NUMBER. The
interrupt vector for your device is equal to the interrupt line + the value
of IRQ0. Search through your BSP for the vector entry assigned to IRQ0 (for
PPC750 it is 0, not sure for your processor). From the looks of your
example code, it seems you might be missing this step.

4. First thing to perform in your ISR is to check your PCI's status to see
if it is the device causing the interrupt. If it is not, exit immediately.
If it is, perform whatever logic is necessary to your PCI device to make it
deassert its interrupt. If you do not do this, you will experience another
interrupt immediately upon exit of your interrupt processing. You will
never escape the interrupt processing logic and your system will hang up.

5. If you get to step 4 and continue to have problems, try performing a
dummy read of one of your PCI device's registers after performing the
interrupt clearing logic. This will force and end to the PCI bus's write
cycle and reduce latency due to caching or bursting. This step can solve
the "spurious interrupts" that many people encounter when writing ISR's,
particulary when the controller board is clocked much higher than the PCI
device.

Hope that helps.
Travis Pennington

---------------------------

Newsgroups: comp.os.vxworks
Subject: vxsim trial software?
Date: 28 Mar 2002 21:31:46 -0800
From: throne8@mail.com (SN)
Organization: http://groups.google.com/
Message-ID: <43dd1efa.0203282131.2bbf7107@posting.google.com>

is vxsim available for download ala trialware kind of thing?

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: What happens to vxWorks default exception handler
Date: Thu, 28 Mar 2002 22:15:40 -0800
From: "Vladimir Vysotsky" <org.crocodile.noir@trivee>
Message-ID: <3ca40b48$1_3@nopics.sjc>
References: <d83bb8e3.0203281012.210c7cc4@posting.google.com>

"Raymond Yeung" <ryeung@earthlink.net> wrote:
> I'm invoking a function (via tShell) that I know would
> cause a bus timeout problem on 8260. Instead of getting
> a machine check or data access exception, my serial (actually
> the entire CPU) hangs.

Do you have the bus monitor enabled? Check the SYPCR register,
bits PBME or (if you're talking about the local bus timeout)
LBME.

Vladimir.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Difference between BSP Developer's Kit and VxWorks Programmer's Guide
Date: 29 Mar 2002 00:25:23 -0800
From: youerming@163.com (Torna)
Organization: http://groups.google.com/
Message-ID: <c1997c62.0203290025.45d3b36f@posting.google.com>
References: <d83bb8e3.0203281218.35a2e225@posting.google.com>

ryeung@earthlink.net (Raymond Yeung) wrote in message news:<d83bb8e3.0203281218.35a2e225@posting.google.com>...
> I already have the programmer's guide, but don't have the
> developer's kit (they're not one and the same, right?).
> Can someone the differences in content between the two?
> What am I missing?

yeah, you have missed the Developer's kit, they are not the same ones .
programer's guide is for vxworks
kit for bsp development.

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Establishing ppp Connection between vxWorks and windows2000
Date: Fri, 29 Mar 2002 08:41:02 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <yMVo8.154795$702.27750@sccrnsc02>
References: <cb7218f2.0203280344.5fefa2f3@posting.google.com>

Hello Vinod,

 There was a post to the newsgroup by Scott Vigil detailing exactly how to
do this. It was posted
roughly 1 month ago. Do a Google Search on the comp.os.vxworks group and
look for his posting.
HTH.

"vinod" <vinodkrishnankutty@hotmail.com> wrote in message
news:cb7218f2.0203280344.5fefa2f3@posting.google.com...
> hi
> Could someone please tell me the configurations required on the
> windows 2000 side in order to establish a ppp connection between
> vxworks and windows 2000
>
> Thanx in advance,
> vinod

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: vxsim trial software?
Date: 29 Mar 2002 09:52:46 GMT
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns91E06EAC6E3A2borkhuisagerecom@135.7.153.101>
References: <43dd1efa.0203282131.2bbf7107@posting.google.com>

throne8@mail.com (SN) wrote:

> is vxsim available for download ala trialware kind of thing?

Yes, it is called Tornado Prototyper and can be downloaded from the
WindRiver website.

Groeten,
 Johan

- --
 o o o o o o o . . . _____________________________
 o _____ || Johan Borkhuis |
 .][__n_n_|DD[ ====_____ | borkhuis@agere.com |
 >(________|__|_[_________]_|__________________________|
 _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

---------------------------

Newsgroups: comp.os.vxworks
Subject: how to create tasks with desired status
Date: 29 Mar 2002 02:12:09 -0800
From: senthilb@comneti.com (senthil)
Organization: http://groups.google.com/
Message-ID: <26ca8a8f.0203290212.2761c2ea@posting.google.com>

Hi,
 VxWorks provides a taskSpawn( ) call in taskLib.h for creating and
activating new tasks. The tasks status will be "ready" when we use
this call. Here is my doubt.. Is there any way by which we could
create a new task whose intial status is "suspended".
 I think there are some functions(wtxContextCreate) in API which will
be used to create a task context.If we create a task context with the
above function it returns of type WTX_CONTEXT_ID_T . Then we can
resume or suspend the task with this id but using some other API
function like wtxContextResume. My doubt is, is there any way using
this id in the funtions like taskResume( ) ..... If we cant, is there
any way to convert the WTX_CONTEXT_ID_T to taskid.
 Please add your comments and feedbacks.
Thanks is advance.
Cheers
Senthil

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: 29 Mar 2002 02:14:37 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203290214.5238bea6@posting.google.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com> <ua7iqvchr34k3e@corp.supernews.com>

Hello,

"Hwa Jin Bae" <hjb@pso.com> wrote in message news:<ua7iqvchr34k3e@corp.supernews.com>...
> semInit is documented in manual.

semInit() is the old VxWorks 4.x function, provided in 5.x for
backward compatibility; that should never be used in new code. The
semBInit(), semCInit() and semMInit() functions are *NOT* documented
in any release, and should not be used if you want your code to remain
portable.

> I think semTerminate is not. But it really should be. Otherwise, semInit
> should not be documented either. Just to be consistent.

No, semTerminate() is part of the 5.x semaphore support, and is not
related to semInit() at all. There is no inconsistency in the docs.
Since the semXInit() functions are not public, there is no need for
semTerminate() to be public.

> If semInit does not work in VxWorks AE, then it is unfortunate. From the
> consistent API point of view.

semInit() was provided the 5.x releases to help migration from 4.x. It
is still provided in AE, but is only usable by kernel domain code.
semClear() and semCreate() will work from user level if there is still
anybody using the 4.x style semaphores out there...

As for the other semXInit() functions, since they were not published,
they should not have been used anywhere. They should not be used in
AE, and for certain will not work outside the kernel.

If you take a moment to think about it, it will be very obvious why no
xxxInit() function should be used outside the kernel... just think
about where the object would be stored, how well protected it would
be, and how easily it could be shared between domains.

Rgds,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: sysClkRateSet() limit
Date: Fri, 29 Mar 2002 11:19:18 +0000 (UTC)
From: "Dexter Nixon" <dexters@indiatimes.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a4ff328807cdd473cc508e6cadb604b0.76014@mygate.mailgate.org>

HI ,

What is the limit for sysClkRateSet( ) call. Also it can be called at
any time or it should be called initially only once. When i say
sysClkRateGet it is returning 60. So for every 16ms, we will recieve a
clock interupt. Suppose i want to have 100 interrupts within a second. I
can do it by giving 100 as arguement right. If so.. what is the limit of
having values like this. What is exactly happening insdie when we set
with a value in sysCLkRateSet() call.

Thanks,
Nix

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Sat Mar 30 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Mar 30 04:03:16 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sat Mar 30 04:03:10 PST 2002

 Subject: Rational Purify for VxWorks - anyone using it?
 Subject: Re: how to create tasks with desired status
 Subject: Re: sysClkRateSet() limit
 Subject: taskInit() outside of kernel (was Re: Destroying a semaphore
 Subject: Where is IP_MAX_UNITS set in Tornado VxWorks Configuration?
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: Re: Destroying a semaphore initialized with semBInit
 Subject: SA_RESTART flag in signals
 Subject: timer_create in vxworks.
 Subject: FCC Tx underrun on 8260 for single buffer implementation??
 Subject: stack checker
 Subject: Pipes and Message Queues....blocking?
 Subject: Re: taskInit() outside of kernel (was Re: Destroying a semaphore initialized with semBInit)
 Subject: Re: The "unsupported" WRS Telnet server hanging
 Subject: Re: where can I find the driver of 82559?
 Subject: Re: stack checker
 Subject: Re: FCC Tx underrun on 8260 for single buffer implementation??
 Subject: Re: dosFs2 and DOS_VOL_CONFIG
 Subject: Re: Where is IP_MAX_UNITS set in Tornado VxWorks Configuration?
 Subject: Source-level profiling tool
 Subject: A question about pciFindClass
 Subject: Re: A question about pciFindClass

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Rational Purify for VxWorks - anyone using it?
Date: Fri, 29 Mar 2002 09:31:13 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203290923030.352-100000@zimbra>
Reply-To: Keith Arner <keith.arner@marconi.com>

Rational's website is now claiming that they support various tools,
including Purify, for cross-development, embeded environments. (It's
about time.) They've also got an evaluation download, that gives you
a 15 day license.

Has anyone tried it out yet? If so, what are your thoughts?

The version of Purify that they ship is something they call PurifyLT,
which I assume means "light". Have they lobotomized this version beyond
usefulness, or did they just remove a few obscure features that are rarely
used?

Keith

- --

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: how to create tasks with desired status
Date: Fri, 29 Mar 2002 09:46:40 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203290934031.352-100000@zimbra>
References: <26ca8a8f.0203290212.2761c2ea@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 29 Mar 2002, senthil wrote:

> VxWorks provides a taskSpawn( ) call in taskLib.h for creating and
> activating new tasks. The tasks status will be "ready" when we use
> this call. Here is my doubt.. Is there any way by which we could
> create a new task whose intial status is "suspended".

If you use taskSpawn(), the new task will start in the ready state. You
can try to suspend it right after you create it, but this is a bad idea,
in that it relies on relative task priorities to work correctly (if the
spawned task is higher priority than the spawning task, you're out of
luck, even if you try intLock()/taskLock() tricks, because of the fact
that you need to malloc() memory to spawn the new task).

There are a couple of viable alternatives, however.

You can create your task with taskInit(), which will begin the task in the
suspended state. The task will only go to the ready state when you call
taskActivate(). Note, however, that you will need to malloc() (or
something similar) your own stack and TCB.

Alternatively, you could use taskSpawn(), and have the spawned task take a
binary semaphore which you give when it's time for the task to do its
thing. This is probably preferable, as semaphores provide for better
synchronization than suspending and resuming tasks.

Keith

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: sysClkRateSet() limit
Date: Fri, 29 Mar 2002 09:52:30 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203290946510.352-100000@zimbra>
References: <a4ff328807cdd473cc508e6cadb604b0.76014@mygate.mailgate.org>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Fri, 29 Mar 2002, Dexter Nixon wrote:

> What is the limit for sysClkRateSet( ) call. Also it can be called at
> any time or it should be called initially only once. When i say
> sysClkRateGet it is returning 60. So for every 16ms, we will recieve a
> clock interupt. Suppose i want to have 100 interrupts within a second. I
> can do it by giving 100 as arguement right. If so.. what is the limit of
> having values like this. What is exactly happening insdie when we set
> with a value in sysCLkRateSet() call.

Your board has an oscillator in hardware that interupts the CPU
periodically. If your oscillator is programmable (which it probably is),
then sysClkRateSet() will program the frequency with which the oscillator
will send interupts.

The exact details of how it gets programmed and the frequencies that can
be programmed are going to be specific to the oscillator you have on your
board. Take a look at your BSP to see what kind of oscillator you are
using, and see if you can't find any details on what the legal frequecies
are.

Keith

---------------------------

Newsgroups: comp.os.vxworks
Subject: taskInit() outside of kernel (was Re: Destroying a semaphore
 initialized with semBInit)
Date: Fri, 29 Mar 2002 10:03:43 -0500
From: Keith Arner <karner@fore.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0203290957390.352-100000@zimbra>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net>
 <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com>
 <ua7iqvchr34k3e@corp.supernews.com> <488e459a.0203290214.5238bea6@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 29 Mar 2002, John wrote:

> If you take a moment to think about it, it will be very obvious why no
> xxxInit() function should be used outside the kernel... just think
> about where the object would be stored, how well protected it would
> be, and how easily it could be shared between domains.

I follow your logic, but...

What about taskInit()? It is well described in the Reference Manual for
5.4, and the Programmer's Guide takes pains to explain how it works
(including it in the task state transition diagram), so I would consider
it to be part of the public interface for 5.4.

Are applications that use taskInit() not portable to AE? Or is there some
magic in the AE kernel that allows this to work?

Keith

---------------------------

Newsgroups: comp.os.vxworks
Subject: Where is IP_MAX_UNITS set in Tornado VxWorks Configuration?
Date: Fri, 29 Mar 2002 17:22:10 GMT
From: Jon Newbill <JonUN@bitworkssystemsDELETETHIS.com>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <3CA4A329.16157E28@bitworkssystemsDELETETHIS.com>

I'm trying to enable the 2nd Ethernet port on my VMIC VMIVME7750 board
using Tornado 2.02. To do this I need to set IP_MAX_UNITS to 2.
However it seems Tornado wants to set this to 1 in the prjParams.h file
and I can't find IP_MAX_UNITS as a parameter anywhere in Tornado's
VxWorks configuration in order to set it to 2. The configNet.h file
would set it properly based on the size of the endDevTbl[] if the value
wasn't already set in prjParams.h.

Where do I set IP_MAX_UNITS and in general how does one find out where a
parameter is set in the Tornado VxWorks configuration? I've looked at
all the parameters for all the components under network devices. Thanks
in advance.

Jon Newbill
jonUN@bitworkssystemsREMOVTHIS.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: Fri, 29 Mar 2002 09:33:47 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua99gu2f6jfld2@corp.supernews.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com> <ua7iqvchr34k3e@corp.supernews.com> <488e459a.0203290214.5238bea6@posting.google.com>

John,

Clearly you have more up to date information then I do. I respect your
knowledge. I really do not mean to nit pick. I just wish to clarify some
issues.

However, semInit() was not just provided for backward compatibility when
transition from 4.2 to 5.0 was made. semInit provides a real functionality
that is useful. That of using pre-allocated data for semaphores. Typically
piece of data that is part of another structure. I would argue that
semInit() will not go away in near future. The reason is because it is used
extensively within vxWorks itself.

Of course I realize the difficultiy of getting it to work in different
protection domains, given AE's design. But the issue regarding maintaining
published API to work consistently is still an issue. It just makes things
a little less easy for some application programmers when moving to AE. No
big deal, but something to think about I think.

semTerminate() was something that was added later on. But it was an attempt
to add counter-part to semInit(). The relationship is that of
counter-part. As in open/close. semInit() really does not need specific
counter part, because you can simply zero out the memory in question. But
it is nice to have.

Anyway, I suppose all of these points are rather nitpicky after all. So
that would be my part of the contribution on this subject.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Destroying a semaphore initialized with semBInit
Date: Fri, 29 Mar 2002 09:45:43 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <ua9a7ha837s3ba@corp.supernews.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com> <ua7iqvchr34k3e@corp.supernews.com> <488e459a.0203290214.5238bea6@posting.google.com> <ua99gu2f6jfld2@corp.supernews.com>

Actually, right after I posted this message I remembered something.

Around the time when 5.0 release was made, John F. (a different John)
rewrote the WIND kernel and created new semaphores in the process (B,M,C
semaphores). When that was done, the new semBInit, semMInit, etc. were
introduced into the system. Remember, before 5.0, there were just one type
of semaphores.

Anyway, original code in the kernel that used semInit() were all replaced
with equivalent calls. Mostly semInit() were replaced with semBInit(). A
lot of code in the network portion that I was responsible for had to change.
And John F. actually went ahead and changed all the semInit() code to
semBinit() all over the place. I remember that he asked me about the
change before he did all that. I agreed mainly because I didn't want to
make an issue. However, I still think that it is not a good idea to break
the compatibility.

If you think about it, semInit() is really nothing but a semBInit() anyway
in the semantic sense. There is no compelling reason to delete the
published API for the sake of deleting it. I think that is main thesis of
my point, which was deeply ingrained in my psyche after all these years.

That's all. Thanks for listening.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: SA_RESTART flag in signals
Date: Fri, 29 Mar 2002 18:23:36 +0000 (UTC)
From: "Dexter Nixon" <dexters@indiatimes.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b62c54563fc5bc3cdac5f3d6eee1f5af.76014@mygate.mailgate.org>

Hi,

I am trying to use posix timers in VxWorks. timer_create and
timer_settime am using. In timer_settime am setting the time to timeout.
So when time out happens the handler will write into a fd. i pend on
select now with the fd where the timer will write, with a timeout value
specified in select. What's happening is when i start the timer, after
the period expires, the message was written into the fd. so select
unblocks. Everything works fine. BUt one thing is the select is not
unblocking when the timeout value specified in select expires. This is
what looks mysterious. But it is unblocking when messages comes in the
fd. This is like indefinitely blocked on select until some fd got set.
But if i dont initialise timer_create and timer_settime calls( timers am
not using ) and if i use some other socket fd in select, it gets
unblocked when the select timeout value expires. What could be the
reason. any expert suggestion.

TIA,
Nix

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.os.vxworks
Subject: timer_create in vxworks.
Date: Fri, 29 Mar 2002 18:24:53 +0000 (UTC)
From: "Dexter Nixon" <dexters@indiatimes.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b21f3fc3053fd0a3988a8db953103ca6.76014@mygate.mailgate.org>

sorry the previous post has unrelated subject. kindly forgive me.

Hi,

I am trying to use posix timers in VxWorks. timer_create and
timer_settime am using. In timer_settime am setting the time to timeout.
So when time out happens the handler will write into a fd. i pend on
select now with the fd where the timer will write, with a timeout value
specified in select. What's happening is when i start the timer, after
the period expires, the message was written into the fd. so select
unblocks. Everything works fine. BUt one thing is the select is not
unblocking when the timeout value specified in select expires. This is
what looks mysterious. But it is unblocking when messages comes in the
fd. This is like indefinitely blocked on select until some fd got set.
But if i dont initialise timer_create and timer_settime calls( timers am
not using ) and if i use some other socket fd in select, it gets
unblocked when the select timeout value expires. What could be the
reason. any expert suggestion.

TIA,
Nix

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.sys.powerpc.misc,comp.os.vxworks
Subject: FCC Tx underrun on 8260 for single buffer implementation??
Date: 29 Mar 2002 10:31:34 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0203291031.6747fea8@posting.google.com>

I'm using 0K26N (ancient revision) of 8260. All
frames are transmitted from big buffers (enough
to hold maximum frame size).

As I pump up (bi-directional) data rate, this
underrun thing shows up. I'm really not expecting
it. My understanding is that Tx underrun would only
happen if I use multiple buffers per frame (and set
the "R" bit too early). Scanning through Motorola's
errata list, I couldn't find any logged issue directly
related to this.

Has anyone experienced this? What did you find?

---------------------------

Newsgroups: comp.os.vxworks
Subject: stack checker
Date: 29 Mar 2002 11:40:49 -0800
From: mark_ck_chang@yahoo.com (Mark Chang)
Organization: http://groups.google.com/
Message-ID: <9b6f8883.0203291140.6e1da017@posting.google.com>

Does anyone have code to do realtime checking
of the stack to prevent overflows?
w/o too much of a performace hit.

We are using Vxworks 5.3, home brew CLI (Tcl 7.3)
with multi-session Telnet (4) + serial port.
Our main application is SNMP queries so
depending on the number of MIB objects, the
stack size varies.
We just keep increasing it and hope for the best.
But Tcl7.3 is really hard to benchmark in terms
of stack use.

Thanks,
Mark

---------------------------

Newsgroups: comp.os.vxworks
Subject: Pipes and Message Queues....blocking?
Date: 29 Mar 2002 12:12:01 -0800
From: kenb88@hotmail.com (Whacked)
Organization: http://groups.google.com/
Message-ID: <6755aee5.0203291212.6c96bd2b@posting.google.com>

Hi,

Here is the situation. Ive set up a pipe for IPC that can accept only
one message. Something like the following:

pipDevCreate ("/pipe/demo",1,50)

Then I write a message to the pipe (pseudo code)

fd = open("/pipe/demo", 0_RDRW,0)
write (fd, msg,50)
close (fd)

Now, what happens if I immediately write to the pipe again before any
process reads?

fd = open("/pipe/demo", 0_RDRW,0)
write (fd, message,50)
close (fd)

It appears to me that I will be blocked in the write call since there
is already a message in the pipe. This is not what I want to happen. I
would like for the 2nd message to simply be dropped.

The pipe facility is based on message queues. If I was setting up a
queue, I could pass the it a NO_WAIT timeout parameter. So, I could:

Q_ID = msgQCreate (1,50,MSG_Q_FIFO)
msgQSend (Q_ID, msg, 50, NO_WAIT, MSG_PRI_NORMAL)

and then send the second message

msgQSend (Q_ID, msg, 50, NO_WAIT, MSG_PRI_NORMAL)

This message would get dropped on the floor if the first one had not
been read from the queue.

I need to iplement this behavior with pipes. Since the pipes are based
on message queues in VxWorks, can I do it??

thanks,

Whacked

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: taskInit() outside of kernel (was Re: Destroying a semaphore initialized with semBInit)
Date: 29 Mar 2002 12:56:58 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203291256.526a1563@posting.google.com>
References: <3ca34c76$0$23841$4c41069e@reader0.ash.ops.us.uu.net> <ua6nlqf0kaffff@corp.supernews.com> <488e459a.0203281657.7302474a@posting.google.com> <ua7iqvchr34k3e@corp.supernews.com> <488e459a.0203290214.5238bea6@posting.google.com> <Pine.GSO.4.42.0203290957390.352-100000@zimbra>

Hello Keith,

> I follow your logic, but...
>
> What about taskInit()? It is well described in the Reference Manual for
> 5.4, and the Programmer's Guide takes pains to explain how it works
> (including it in the task state transition diagram), so I would consider
> it to be part of the public interface for 5.4.
>
> Are applications that use taskInit() not portable to AE? Or is there some
> magic in the AE kernel that allows this to work?

No, taskInit() has been removed from the public interface for AE - I
believe that is the only function that has been. To replace it, there
is a new function, taskCreate(), which will create a dormant task.
There is no way to provide the stack or TCB memory yourself though
using taskLib. taskCreate() takes the same parameters as taskSpawn(),
which should make it much easier to create a dormant task - taskInit()
was not a simple API to work with.

Also, the pthread code, which is now a standard API, does allow for
the thread creator to provide the stack memory, even for user level
threads, but if the stack is provided this way the stack overflow
detection feature is disabled.

HTH,

John...

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: The "unsupported" WRS Telnet server hanging
Date: 29 Mar 2002 13:14:23 -0800
From: chrismooremobile@yahoo.com (Chris Moore)
Organization: http://groups.google.com/
Message-ID: <e229ec7e.0203291314.3149e88@posting.google.com>
References: <e229ec7e.0203251827.694278d5@posting.google.com> <slrnaa477k.798.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com> wrote in message news:<slrnaa477k.798.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>...
> * Chris Moore <chrismooremobile@yahoo.com> [03-Mon-02 18:27 -0800]:
>
> > I've been using the unsupported WRS telnet daemon for a
> > while now and have not noticed any huge problems. BUT!
> > When I have the CPU loaded (according to the spylib) I
> > get some problems with the telnet client task hanging, if
> > I do a netstat from my machine or from the VxWorks target
> > I see that the msgq is filled and doesnt clear out at
> > all...
>
> > Has anyone else experienced this problem?
>
> Haven't used this, but it sounds like some sort of a
> starvation problem. Did you check your task priorities?
>
> denis

Yep, the tNetTask is running at a higher priority than the spawned
Telnet and the pty Input and ptr Output tasks... so that shouldn't be
the case.... hmm I'm going to have to dig a little deeper.

Cheers,

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: where can I find the driver of 82559?
Date: Fri, 29 Mar 2002 22:30:53 +0000 (UTC)
From: "Carl Petersen" <cpetersen@vocaldata.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <7f46168cc4b58cb580d603681b2454c5.81221@mygate.mailgate.org>
References: <b6e3.0203272140.3fb5e096@posting.google.com>

"seatide" <seatide@263.net> wrote in message
news:b6e3.0203272140.3fb5e096@posting.google.com...

> as title

I found the eev driver for 82559 on Intel's website. It works fine for
pentium with T2.0.2.

- --
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: stack checker
Date: Fri, 29 Mar 2002 16:39:21 -0800
From: "Hwa Jin Bae" <hjb@pso.com>
Organization: PSO Systems Inc
Message-ID: <uaa2f4n54im0cc@corp.supernews.com>
References: <9b6f8883.0203291140.6e1da017@posting.google.com>

There is checkStack().

If you wish to do this from within a program, you can write something
similar to that.

Basically the way vxWorks stacks are initially allocated and values 0xee are
written in every byte. As your stack gets used, the values 0xee become
some other values (hopefully!).

The checkStack() routine just starts looking at the top of the stack and
searches for the non 0xee pattern. That is how it knows how much stack is
left for a task. If the top of stack has values other than 0xee, then it is
probably due to stack overflow.

If you ever wondered about 0xeeeeeee values in memory, now you know.

- --
Hwa Jin Bae
mailto:hjb@pso.com
http://www.pso.com

---------------------------

Newsgroups: comp.sys.powerpc.misc,comp.os.vxworks
Subject: Re: FCC Tx underrun on 8260 for single buffer implementation??
Date: Fri, 29 Mar 2002 17:19:45 -0800
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <a833s1$k65$1@newsreader.mailgate.org>
References: <d83bb8e3.0203291031.6747fea8@posting.google.com>
Sender: gold@ensemble.com

"Raymond Yeung" <ryeung@earthlink.net> wrote in message
news:d83bb8e3.0203291031.6747fea8@posting.google.com...
> I'm using 0K26N (ancient revision) of 8260. All
> frames are transmitted from big buffers (enough
> to hold maximum frame size).

Some more info would be nice. I'd infer you're running 100Base-T on an FCC,
correct ? Which FCC ? Are you running (since it's an A.1 part) on an old
VADS (or EST) board ? Your own design ? What is the CPU and CPM speed ?
VxWorks, or your own stuff ?

> As I pump up (bi-directional) data rate, this
> underrun thing shows up. I'm really not expecting
> it. My understanding is that Tx underrun would only
> happen if I use multiple buffers per frame (and set
> the "R" bit too early). Scanning through Motorola's
> errata list, I couldn't find any logged issue directly
> related to this.
>
> Has anyone experienced this? What did you find?

The Tx-underrun is usually because the FCCs Tx FIFO requested more data and
the CPM couldn't get data out of your buffers fast enough to fill the FIFO.
Are your buffers on the 60x or local bus ? What else is going on in the
8260 (i.e. other peripherals) when this is happening ? Do you have someone
hogging the bus (or the CPM) for a long period of time, so it couldn't
service the FCC request or couldn't access the bus ? Have you looked at
your Tx/Rx clocks (from the PHY) to make sure they look ok ? Since you're
running full duplex, are you sure the LPB and FDE bits are set in the 8260,
and your PHY is in FDX mode ? Are you sure you're setting the "R" bit at
the appropriate time even for 1 buffer ? (i.e. after the length, L-bit, are
set). Does this happen on a single board with the A1 or other boards (with
the A1) too ? Does it make a difference if you use small or large frames ?
At what rate do you see this "under-run thing" start to happen ?

 Dan Gold gold@ensemble.com

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2 and DOS_VOL_CONFIG
Date: Fri, 29 Mar 2002 18:31:57 -0800
From: Rajesh Tripathi <rtripathi@com21.com>
Organization: Globix Corp.
Message-ID: <3CA5239D.2AAEC1EF@com21.com>
References: <1017146014.258896@azores.network-i.net> <95ebbe31.0203271509.2ab543a2@posting.google.com>

Hi,

dosFsVolDescGet can be used to get the desired info. WRS has not updated dosFs2 documentation. Although shown
LOCAL, it is global now. Here is the API.

/***************************************************************************
****
*
* dosFsVolDescGet - convert device name to volume descriptor ptr.
*
* This routine validates <devNameOrPVolDesc> as a DOS volume
* descriptor ptr. If failed, it supposed to be a path on a
* DOS device. This routine uses standard
* iosLib function iosDevFind() to get pointer onto
* the device descriptor. If device is eligible,
* <ppTail> is filled with pointer
* to the first character, following
* portion the device name.
*
* RETURNS: ptr to DOS_VOLUME_DESC or NULL, if it is not a DOSFS device.
*
* ERRNO:
* S_dosFsLib_INVALID_PARAMETER
*/
LOCAL DOS_VOLUME_DESC_ID dosFsVolDescGet
 (
 void * devNameOrPVolDesc, /* device name or ptr to */
 /* volume descriptor */
 u_char ** ppTail /* return ptr onto name following device name */
 )

Regards,

Rajesh

Aaron Graham wrote:

> I had the exact opposite problem a couple months ago. I had a
> DOS_VOL_CONFIG structure, and I was trying to figure out how to get
> the vol name. I never found a way to do it. The workaround (read:
> hack) I had to put into place involved keeping track of all vol names,
> adding in some global variables, a table, and searching the table
> every time I wanted to associate a config struct with a volume name.
> The final result is that the code I'm using is messy, unreadable, and
> not re-entrant. Out of 20 or so possible leads I had tried (using
> volLabel, comparing pointers, etc), none of them worked. WRS must
> have gone to great lengths to specifically disallow you from doing
> this. There's no other explanation I could think of...
>
> Good luck!
>
> Aaron
>
> "Employee" <employee@newport-networks.com> wrote in message news:<1017146014.258896@azores.network-i.net>...
> > Hi,
> >
> > given the name of a dos file system (e.g. "/dos1"), how can I get its
> > DOS_VOL_CONFIG structure?
> >
> > I have tried to get it by copying the pointer passed to the configuration
> > function given to the dosFsVolFormat() via the 3rd parameter but it appears
> > to expire immediatelly after. i.e. if I print the contents of the structure
> > from inside the configuration function the data makes sense. But if I print
> > the same structure again later on from the shell I get garbage which
> > suggests that the structure was moved.
> >
> > Example:
> > void config(DOS_VOL_CONFIG *p);
> > dosFsVolFormat(cbio, DOS_OPT_BLANK | DOS_OPT_QUIET, &config);
> >
> > In other words to do something similar to:
> > dosFsShow ("/dos1");
> >
> > Regards,
> > Dimitris

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Where is IP_MAX_UNITS set in Tornado VxWorks Configuration?
Date: Sat, 30 Mar 2002 03:46:23 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <jyap8.167762$q2.16110@sccrnsc01>
References: <3CA4A329.16157E28@bitworkssystemsDELETETHIS.com>

Hello Jon,

 In the Tornado IDE, when the project is open for your bootable vxWorks
kernel, the
vxWorks tab can be selected. Right-Click on the Network Components and
select parameters.
In the list you will find IP_MAX_UNITS which you can change. Don't ask me
why the
value in the BSP is over-ridden, but anyway this is what I did to add 4 NICs
to my
Pentium vxWorks kernel.

"Jon Newbill" <JonUN@bitworkssystemsDELETETHIS.com> wrote in message
news:3CA4A329.16157E28@bitworkssystemsDELETETHIS.com...
> I'm trying to enable the 2nd Ethernet port on my VMIC VMIVME7750 board
> using Tornado 2.02. To do this I need to set IP_MAX_UNITS to 2.
> However it seems Tornado wants to set this to 1 in the prjParams.h file
> and I can't find IP_MAX_UNITS as a parameter anywhere in Tornado's
> VxWorks configuration in order to set it to 2. The configNet.h file
> would set it properly based on the size of the endDevTbl[] if the value
> wasn't already set in prjParams.h.
>
> Where do I set IP_MAX_UNITS and in general how does one find out where a
> parameter is set in the Tornado VxWorks configuration? I've looked at
> all the parameters for all the components under network devices. Thanks
> in advance.
>
> Jon Newbill
> jonUN@bitworkssystemsREMOVTHIS.com
>
>

---------------------------

Newsgroups: comp.os.vxworks
Subject: Source-level profiling tool
Date: Fri, 29 Mar 2002 23:04:42 -0500
From: "MikeS" <michaels@xetron.com>
Message-ID: <3ca53ae2@news.xetron.com>

Does anyone know of a source-level profiling tool that profiles C++ on a
line-by-line basis (specifically for VxWorks that will work under the
simulator)? I'm looking for something like the profiler that comes with
Microsoft's Visual Studio.

---------------------------

Newsgroups: comp.os.vxworks
Subject: A question about pciFindClass
Date: 30 Mar 2002 00:39:40 -0800
From: zhoul@blrcsv.china.bell-labs.com (zlybupt)
Organization: http://groups.google.com/
Message-ID: <989cdae4.0203300039.68fcb338@posting.google.com>

Hi all:
 I am trying to get the I/o address and irq number of 3c905B
10/100BASE-TX NIC by using function pciFindClass as the
following,error occurs,I hope anyone can give me an explanation.
 First I found the Verdorid and the deviceid from the el3c90xEnd.h
just like the following:

#define	TC_VENDORID		0x10B7

/* 3Com chip device IDs.*/

#define TC_DEVICEID_BOOMERANG_10BT		0x9000
#define TC_DEVICEID_BOOMERANG_10BT_COMBO	0x9001
#define TC_DEVICEID_BOOMERANG_10_100BT		0x9050
#define TC_DEVICEID_BOOMERANG_100BT4		0x9051
#define TC_DEVICEID_CYCLONE_10BT		0x9004
#define TC_DEVICEID_CYCLONE_10BT_COMBO		0x9005
#define TC_DEVICEID_CYCLONE_10_100BT		0x9055
#define TC_DEVICEID_CYCLONE_10_100BT4		0x9056
#define TC_DEVICEID_CYCLONE_10_100FX		0x905A
#define TC_DEVICEID_CYCLONE_10_100BT_SERV	0x9800

so I use the function like the following:
 if((pciFindDevice(TC_VENDORID,TC_DEVICEID_CYCLONE_10_100BT,1,&pBusNo,&pDeviceNo,&pFuncNo)==0K)){
but when I builded it,it tells me
 "nondigits in number and not hexadecimal"?
why??

thank you in advance!

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: A question about pciFindClass
Date: Sat, 30 Mar 2002 19:42:34 +0900
From: "Girish Gulawani" <girishvgNOSPAM@yahoo.com>
Message-ID: <3ca59a2f$0$27607$44c9b20d@news3.asahi-net.or.jp>
References: <989cdae4.0203300039.68fcb338@posting.google.com>

>
if((pciFindDevice(TC_VENDORID,TC_DEVICEID_CYCLONE_10_100BT,1,&pBusNo,&pDevic
eNo,&pFuncNo)==0K)){
> but when I builded it,it tells me
> "nondigits in number and not hexadecimal"?
> why??
if this is a correct copy+paste. i can see a 0(zero) in place of O(Oh).
shouldnt this be OK (OhKay)??

---------------------------

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov Sun Mar 31 04:03:07 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Mar 31 04:03:09 PST 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest Sun Mar 31 04:03:05 PST 2002

 Subject: Re: Pipes and Message Queues....blocking?
 Subject: DosFs2 performance
 Subject: GoAhead Webserver Porting to VxWorks Porblems!
 Subject: (no subject)
 Subject: Re: stack checker
 Subject: Re: GoAhead Webserver Porting to VxWorks Porblems!

-------------------------------------------------------

Newsgroups: comp.os.vxworks
Subject: Re: Pipes and Message Queues....blocking?
Date: Sat, 30 Mar 2002 08:56:09 -0800
From: "Alex Pogostin" <alex.pogostin@silicondrivers.com>
Organization: MindSpring Enterprises
Message-ID: <a84qnh$adj$1@slb3.atl.mindspring.net>
References: <6755aee5.0203291212.6c96bd2b@posting.google.com>

If the pipe is being written to from an ISR, the pipe driver will force the
NO_WAIT onto the lower level msgQSend.

Alex Pogostin
Silicon Drivers

"Whacked" <kenb88@hotmail.com> wrote in message
news:6755aee5.0203291212.6c96bd2b@posting.google.com...
> Hi,
>
> Here is the situation. Ive set up a pipe for IPC that can accept only
> one message. Something like the following:
>
> pipDevCreate ("/pipe/demo",1,50)
>
> Then I write a message to the pipe (pseudo code)
>
> fd = open("/pipe/demo", 0_RDRW,0)
> write (fd, msg,50)
> close (fd)
>
> Now, what happens if I immediately write to the pipe again before any
> process reads?
>
> fd = open("/pipe/demo", 0_RDRW,0)
> write (fd, message,50)
> close (fd)
>
> It appears to me that I will be blocked in the write call since there
> is already a message in the pipe. This is not what I want to happen. I
> would like for the 2nd message to simply be dropped.
>
> The pipe facility is based on message queues. If I was setting up a
> queue, I could pass the it a NO_WAIT timeout parameter. So, I could:
>
> Q_ID = msgQCreate (1,50,MSG_Q_FIFO)
> msgQSend (Q_ID, msg, 50, NO_WAIT, MSG_PRI_NORMAL)
>
> and then send the second message
>
> msgQSend (Q_ID, msg, 50, NO_WAIT, MSG_PRI_NORMAL)
>
> This message would get dropped on the floor if the first one had not
> been read from the queue.
>
> I need to iplement this behavior with pipes. Since the pipes are based
> on message queues in VxWorks, can I do it??
>
> thanks,
>
> Whacked

---------------------------

Newsgroups: comp.os.vxworks
Subject: DosFs2 performance
Date: Sat, 30 Mar 2002 19:32:12 GMT
From: dcolson@ieee.org (David H. Olson)
Organization: Oresis Communications, Inc.
Message-ID: <3ca612ce.1867405@netnews.attbi.com>
Reply-To: dolson@oresis.com

I'm posting this from home, so don't have all the details, but here
goes anyway. We're running under the latest non-AE vxWorks on a
PPC750 and using the DosFs2 file system over a flash drive. We've
noticed that opening a file takes a surprisingly long time (~100 ms).
The transfer speed, once the file is open, seems in line w/ what we
would predict given the specs of the various parts & busses involved.
So should we be surprised at how long it takes to open a file?

---------------------------

Newsgroups: comp.os.vxworks
Subject: GoAhead Webserver Porting to VxWorks Porblems!
Date: 30 Mar 2002 18:24:10 -0800
From: Xiaohua.zhang@163.com (xiaohua)
Organization: http://groups.google.com/
Message-ID: <49321d54.0203301824.3b3e3a6b@posting.google.com>

Install the Tornado2 for ARM and BSP
1.Build Bootable Project with BSP . Include the "target load" and
"target unload" components.
2.Build Downloadable Project.
 Add the following files :/webserver/*.c
 But not include files : websSSL.c websSSL.h webcomp.c
3.Then Add the files in the derictory "vxworks" ,that is : main.c

4.Download the .out into the target board.
 In the Shell,

 taskSpawn("webd",100,8,10000,websvxmain,0);

5.Visit the target board using the IE http://192.168.0.131

6.Error:

Data abort
Exception address: 0x0005e6c0
Current Processor Status Register: 0x20000013
Task: 0x2c7de0 "webd"

*********************
*What can I do next?*
*********************

---------------------------

Newsgroups: comp.os.vxworks
Subject: (no subject)
Date: Sun, 31 Mar 2002 03:50:59 GMT
From: vze2nvhy@mail.verizon.net
Message-ID: <3CA68808.B6F7AD1B@mail.verizon.net>
Reply-To: vze2nvhy@verizon.net

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: stack checker
Date: Sun, 31 Mar 2002 03:55:33 GMT
From: Pierre Frigon <pierre_frigon@yahoo.com>
Organization: AT&T Broadband
Message-ID: <3CA687DB.F79FECBF@yahoo.com>
References: <9b6f8883.0203291140.6e1da017@posting.google.com>

You can set up a taskSwitch hook to look at the TCB of the task being
switched out and see if it exceeds its stack space.

Mark Chang wrote:
>
> Does anyone have code to do realtime checking
> of the stack to prevent overflows?
> w/o too much of a performace hit.
>
> We are using Vxworks 5.3, home brew CLI (Tcl 7.3)
> with multi-session Telnet (4) + serial port.
> Our main application is SNMP queries so
> depending on the number of MIB objects, the
> stack size varies.
> We just keep increasing it and hope for the best.
> But Tcl7.3 is really hard to benchmark in terms
> of stack use.
>
> Thanks,
> Mark

---------------------------

Newsgroups: comp.os.vxworks
Subject: Re: GoAhead Webserver Porting to VxWorks Porblems!
Date: 31 Mar 2002 03:18:14 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0203310318.3fd8cc9d@posting.google.com>
References: <49321d54.0203301824.3b3e3a6b@posting.google.com>

Hello,

[steps deleted]

> 5.Visit the target board using the IE http://192.168.0.131
>
> 6.Error:
>
> Data abort
> Exception address: 0x0005e6c0
> Current Processor Status Register: 0x20000013
> Task: 0x2c7de0 "webd"
>
> *********************
> *What can I do next?*
> *********************

Try starting the debugger and find out what caused the exception...
since you have source code you should be able to work this out
relatively easily using the debugger.

HTH,

John...

Hint: If you want more specific answers you need to post much more
detailed information.

---------------------------

End of New-News digest
**********************