[comp.sys.sun] Sun-Spots Digest, v5n35

Sun-Spots-Request@RICE.EDU (Vicky Riffle) (08/24/87)

SUN-SPOTS DIGEST          Monday, 24 August 1987       Volume 5 : Issue 35

Today's Topics:
                   Administrivia (FTP and the archives)
                      Answer to strange FTP question
                         Re: Strange ftp problems
                     Warning about SunOS 3.4 and TERM
                   Faster (slightly) sunview link times
             vadvise(VA_ANOM) for garbage collection looses.
                          Bit-field instructions
                       netstat interface selection
                    NTSC Video from Sun Workstations
              Minor bug in vmunix; deficit in paging system
                          Trouble with Ethernet
      Re: Sun OS 3.2 Assembler Problem -- bitfield instructions (2)
             2 questions: fpa with MAGIC and Eagles with 2333
                           slipping a cylinder?
          Sun and Tokyo Electron sign $10 million OEM agreement

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

Date:    Mon, 24 Aug 87 11:41:10 CDT
From:    William LeFebvre <phil@Rice.edu>
Subject: Administrivia (FTP and the archives)

I realize that there are many people outside of the Internet that are
currently not able to get ahold of source and icons being sent to this
list.  I promise to place a positive announcement regarding the archive
server in the next issue.  Please be patient.  I want to make sure that it
all works well before opening the floodgates.

Those who have unsuccessfully tried to use anonymous FTP from the host
"rice.edu" (to access the archives) need to read more carefully.  The
archives (and icons and source) are available from the host named
"titan.rice.edu".  The machine "rice.edu" is completely different.
Please FTP to "titan.rice.edu" to log in anonymously.

William LeFebvre

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

Date:    Wed, 19 Aug 87 08:40:20 EDT
From:    kimery@helicon.math.purdue.edu
Subject: Answer to strange FTP question

Thanks to the 100's of you out there that supplied me with the correct
answer to the strange ftp problem.  

The solution was a rather simple one.  It seems that the ifconfig was
failing trying to assign and address to match $hostname in rc.boot.  This
could be caused by not having the name in the client /etc/hosts match the
one assigned in rc.boot, or the name could be missing all together.

While checking for correct host names and the like I discovered the real
cause of the problem.  ALL of the internet address that were placed in the
host table by the SUN setup program had been munged.  Address in the form
of 128.210.3.X were transformed into 128.210.X.  

The soultion to the problem was to change the address to the correct form
and reboot.

I am happy to report that FTP now works.

Sam Kimery        kimery@helicon.math.purdue.edu
Purdue University Mathematics Dept.

[[ Thanks also to Keith Sklower (sklower@renoir.berkeley.edu) and
Sandro Wallach (sandro@itsgw.rpi.edu) for providing similar information
to the digest.  As many people suspected, the problem had nothing to do
with subnets.  --wnl ]]

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

Date:    Tue, 18 Aug 87 20:37:02 PDT
From:    Craig Leres <leres%lbl-helios@lbl-rtsg.arpa>
Subject: Re: Strange ftp problems

I have a 3/140 that was giving me the "ftp: bind: can't assign requested
address" error message. The problem was garbage in the sockaddr struct in
the ie_softc struct. This was because /etc/rc.local was setup to ifconfig
le0 instead of ie0 (I had copied a 3/50 root when setting up the 3/140.) I
suspect there is some nd magic that partially sets the ethernet data
structures; this explains why the 3/140 could boot and work (almost
normally) even though its ethernet interface had not been properly
ifconfig'ed.

It is unclear to me what this problem has to do with subnets. Both 3.3 and
3.4 definitely support subnets; this was achieved through kernel not
client changes.

Craig

[[ Looks like this was a different problem with similar symptoms.  --wnl ]]

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

Date:    Mon, 17 Aug 87 15:03:43 PDT
From:    jonab@cam.unisys.com (Jonathan P. Biggar)
Subject: Warning about SunOS 3.4 and TERM

A warning to all who have or will install Sun OS release 3.4:

The interaction between 'set term' and 'setenv TERM' in csh has been
changed.  Under release 3.2 or earlier, setting the csh variable term
would update the environment variable TERM and vice versa.  Now, under
3.4, setting term will udate TERM, but setenv'ing TERM will not update
term.  This causes a problem because the 'tset' command updates only the
environment variable.

To work around this problem, in your .login place the following command
after you call tset:

set term=$TERM

Yet another example of Sun changing something to be incompatible with
normal 4.2/4.3 functionality.

Jon Biggar
jonab@cam.unisys.com

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

Date:    Mon, 17 Aug 87 16:26:06 -0700
From:    Bob Brown <rlb@riacs.edu>
Subject: Faster (slightly) sunview link times

I've chopped about 20-30% off of the time it takes the loader to link a
moderately large program (10K lines source) with the Sun View, et al.,
libraries.  I did this by creating a SunView.o that contains all the
routines my program uses from the suntool, sunwindow, and pixrect
libraries, and then linking that with my dot-oh files.  Sample ld times on
a 3/180S are below.  I expect the savings would be greater,
percentage-wise, on smaller programs.

        scanning libraries              using SunView.o
        14.9u 4.2s 0:30                 10.7u 3.5s 0:23
        14.6u 3.6s 0:29                 11.2u 3.0s 0:21
        14.4u 4.5S 0:31                 10.7u 3.4s 0:20

The apropos lines in my Makefile are

        myProg: ${OBJS} SunView.o
                cc ${CFLAGS} -o myProg ${OBJS} SunView.o

        SunView.o:SUNVIEW.EXTERNS
                ld -r `sed 's/^/-u /' SUNVIEW.EXTERNS` ${LIBS}
                mv a.out SunView.o
        SUNVIEW.EXTERNS:
                cc ${CFLAGS} -o myProg ${OBJS} 2>&1 | \
                grep '^_' | sort > SUNVIEW.EXTERNS

This uses a file, SUNVIEW.EXTERNS, to hold the names of the undefined
library routines generated when my program is linked without any
libraries.  The construction of SunView.o is accomplished using ld and the
-r option, which preserves the relocation bits and doesn't complain about
other undefines, and the -u option, to force-load the top level Sun
routines from the libraries.

Final note:  when I use this method from a diskless workstation (3/160), I
always get NFS timeouts when ld hits the SunView.o file.  This happens
even when the network and the server are idle.  Both server and client
have 16MB memory.

Bob

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

Date:    Tue, 18 Aug 87 07:46:39 EDT
From:    ramsdell%linus@mitre-bedford.arpa
Subject: vadvise(VA_ANOM) for garbage collection looses.

In reply to:
> From: dplatt@teknowledge-vaxc.arpa (Dave Platt)
> Subject: Use of vadvise(VA_ANOM) within Lisp

My experience has been that paging activity always increases as a result
of calling vadvise(VA_ANOM) when using a state-of-the-art garbage
collector, such as the one by Douglas Clark, "An Efficient List-Moving
Algorithm Using Constant Workspace", in CACM, June 1976, Vol. 19, No. 6,
pp. 352-5.  My experience comes from writing combinator reduction
machines, but the people on the T Project at Yale came to the same
conclusion.  T is a dialect of Lisp based on Scheme which features an
optimizing compiler that generates code of roughly the same quality as
that produced by the C compiler on the Suns when there are no floating
point operations.  I think the vadvise(VA_ANOM) was useful for Franz Lisp
when it used a mark and sweep garbage collector.  Nearly all Lisps that
stop when garbage collecting, use stop and copy algorithms these days.  

There is a call to vadvise that is useful for garbage collection.  After
garbage collection has completed, and one of the heaps has been evacuated,
calling vadvise(VA_FLUSH), reduces the total amount of system time used by
a process.  This call seems to reduce the effort required to figure out
that the pages in old space should be paged out.

John

P.S. To find out how to obtain T, send mail to T-project@yale.edu.

[[ We've got T at Rice.  It's a memory hog, but it works great!  --wnl ]]

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

Date:    Tue, 18 Aug 87 08:56:55 PDT
From:    pplace!waterworks!deutsch@sun.com (Peter Deutsch)
Subject: Bit-field instructions

The Sun-3 C compiler generates bit-field instructions quite nicely when
accessing struct members that have been declared as bit fields.

Regarding the syntax, remember that the source operand always comes first.
Thus for a bfext instruction, the syntax is

        bfextu/s source{bn:w},dn

I don't know whether this actually works in the assembler, but it's what
the compiler produces in a .s file.

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

Date:    Tue, 18 Aug 87 14:24:48 +0200
From:    mcvax!olsen!lance@seismo.css.gov (Lance Berc)
Subject: netstat interface selection

(in reply to Terry Slattery Sun-Spots v5i33)

netstat takes an optional (and undocumented) -i<interface> argument for
specifying an interface. For instance "netstat -ime0" will give statistics
for the me0 interface.  The documentation ommision has been reported to
Sun.

lance

Lance Berc      mcvax!olsen!lance@seismo.css.gov

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

Date:    19 Aug 87 11:50:00 MST
From:    diegert@sandia-2.arpa
Subject: NTSC Video from Sun Workstations

Sun's announcement at Siggraph offers a new way to generate those NTSC
video cassettes you need to help with visualization at your conference
presentations.  I have placed my order, but will not have hands-on
experience to report for a few months.

For less money than you need to buy a box to do good (interpolated, etc.)
translation from "high" (about 1000 by 1000) resolution RGB to NTSC, you
can buy a TAAC-1 VME board right off Sun's latest price list at $25000
list.  I will slip the TACC inside my 3/280 -- no separate box.  Aside
from the TACC's high-resolution ability, interposing itself (RGB in/RGB
out) between Sun's standard frame buffer and its (Hitachi) color display,
the TACC can instead be software configured to generate NTSC video.
Actually the TACC puts out RGB+sync (or will genlock), and you need
something like a Bostch TCE-2000 to put together a composite video signal
for your Sony HF1000 or whatever.  I believe that you can use some BNC
Y-adapters and leave both the Sun color monitor and the TCE-2000 hooked to
the TACC's RGB out. (I would be careful to power off the Sun monitor
before telling the TACC to send out NTSC!).

By spending your bucks on the TACC instead of a scan converter you get a
C-programmable (using a cross-compiler on the Sun) co-processor alleged to
to good for graphics or other heavy integer or floating-point crunching.
I vaguely recall that the LINPACK-type routines in the TACC library run at
20-30 MFLOPS but I don't see these timings on the sales blurb.  They do
claim doing ray-tracing for "high-quality rendering" in under three
minutes -- I assume this means a ray for each pixel in half the TACC's
frame buffer,  1024x1024x32-bits.

I have no stock, etc., in Sun or in the former Transcept (?) (Sun bought
them).  I am just interesting in using this product in my research.  My
good intention, once I get a TACC and get it working, is to post a note on
my experience [[ please do.  --wnl ]] (unless another TACC'er with more
time to devote beats me to it).

Carl (diegert@sandia-2.arpa)

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

Date:    Mon, 17 Aug 87 19:07:56 +0200
From:    H}vard Eidnes <H_Eidnes%vax.runit.unit.uninett@tor.nta.no>
Subject: Minor bug in vmunix; deficit in paging system

The following is output from vmstat on a Sun-3/160 with 12MB memory
installed and with 2 active users:

% vmstat 5
 procs     memory                       page      disk  faults          cpu
 r b w   avm  fre  re at  pi  po  fr  de  sr x0 s0 s1 x3  in  sy  cs us sy id
 1 0 0  1920 5952   0  0   0   0   0  72   0  1  0  0  0   5  20   6  1  2 97
 1 0 0  2128 5896   0  0   0   0   0  72   0  7  0  0  0   7 208  13 97  3  0
 1 0 0  1960 5864   0  0   0   0   0  72   0  6  0  0  0   6  76  11 98  2  0
____________________

From what I have heard about the "de" field it is supposed to indicate
"the short-term memory shortage" or some such. When this figure creeps
above 0, the system is supposed to be really desperate for memory. But as
you can see, there is no paging activity and ample amounts of free memory.

So; bug or feature? Can anyone enlighten me as to what is going on here? 
(Oh, by the way, we run SunOS 3.2 configured for 10 users)  

E-Mail: <h_eidnes%vax.runit.unit.uninett@tor.nta.no> (or @nta-vax.arpa) 
H}vard Eidnes (or TeXish: H\aa vard Eidnes) 
Division of Computer Science, Norwegian Institute of Technology

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

Date:    18 Aug 87 20:42:14 GMT
From:    cullvax!drw@eddie.mit.edu (Dale Worley)
Subject: Trouble with Ethernet

We're installing a Sun on an Ethernet that already has a Vax (Ultrix) host
and a bunch of IBM PCs.  This seems to work physically fine, but
communications is broken.

It appears that the problem is that the Vax (and the PCs) have internet
addresses 126.1.0.*, whereas the Sun (and its client) have addresses
192.9.200.*.  (These aren't properly assigned internet addresses, but we
aren't connected to the internet.)  It appears that both the Sun and Vax
believe that all hosts on a single Ethernet have the first three parts of
their addresses the same.  Thus, the Sun refuses to put packets on the net
for addresses other than 192.9.200.*, and the Vax refuses to put packets
on the net for addresses other than 126.1.0.*.  Thus, the Sun and Vax
can't talk to each other, and a PC can talk to only one of the two at a
time (depending on the address that the PC is set to respond to).

There seem to be two possible solutions:

1. Change the addresses of the Sun (and its client diskless Sun) to
126.1.0.* addresses.

2. Get the Sun and the Vax to understand that both sets of addresses are
physically on the same Ethernet.  (Since they are both BSD 4.2 versions,
the same fix should work for both.)

Does anyone know how to do either of these?  Please reply directly, as I
don't read any of these newsgroups.

Dale Worley     Cullinet Software
ARPA: cullvax!drw@eddie.mit.edu
UUCP: ...!seismo!harvard!mit-eddie!cullvax!drw

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

Date:    Tue, 18 Aug 87 16:38:16 EDT
From:    moss!codas!novavax!proxftl!jesse@rutgers.edu (Jesse Perry)
Subject: Re: Sun OS 3.2 Assembler Problem -- bitfield instructions

>From:    "Timothy P. Donahue" <tdonahue@lf-server-2.bbn.com>
>
>I'm looking for some help in figuring out the correct Sun OS 3.2 assembler
>syntax for the MC68020 bit field instructions, such as BFFFO.  Page 59 of
>the Assembly Language Reference Manual gives the following:
>
>        bfffo dn,ea{n,n}

Our system uses Sun OS 3.3, so the following may not be useful to Mr.
Donahue.  Then again, it may be, since I had the same problem myself.  The
Sun-3 assembly manual is wrong about all the bit field instructions.  The
correct forms are:

        bfchg   ea{n:n}                 bfffo   ea{n:n},dm
        bfclr   ea{n:n}                 bfins   dm,ea{n:n}
        bfexts  ea{n:n},dm              bfset   ea{n:n}
        bfextu  ea{n:n},dm              bftst   ea{n:n}

where each operand within the curly braces can be either a data register
or an immediate value between 0 and 31.  For example,

        bfffo   a6@{d0:#4},d1

The first operand in curly braces specifies the bit offset to the low
order bit of the bitfield, while the second operand specifies its width.

While we're on the subject of problems with the assembler, I have a few
questions of my own.  Any hints would be appreciated.

1.  Does the assembler have any support for the 68020 "memory indirect"
    addressing modes?  The manual claims it does (p. 45), but the syntax
    shown there can't be right -- it is the same as that for register
    indirect with index.

2.  Is there any way to specify a scale value other than 1, and/or an
    outer displacement value, when using the indexed addressing modes?
    Again, the syntax shown in the manual does not seem to allow this.

3.  Finally, if anyone knows of any bugs in the assembler, I'd like to
    hear about them.  If there is sufficient response, I'll summarize
    for this digest.

-Jesse Perry
Proximity Technology
...!sun!sunvice!proxftl!jesse

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

Date:    Tue, 18 Aug 87 21:37:57 PDT
From:    jamesa@sun.com (James D. Allen)
Subject: Re: Sun OS 3.2 Assembler Problem -- bitfield instructions

"Timothy P. Donahue" <tdonahue@lf-server-2.bbn.com> writes:
> I'm looking for some help in figuring out the correct Sun OS 3.2 assembler
> syntax for the MC68020 bit field instructions, such as BFFFO.  Page 59 of
> the Assembly Language Reference Manual gives the following:
> 	bfffo dn,ea{n,n}
> We have tried this (and several dozen variations) and received the
> "Invalid operand" error each time.  Curiously, after a day of trying, we
> were unable to get the Sun C compiler to generate any 68020 bit field
> instructions...leading us to believe that they are not working in the
> assembler.

Someone from Sun's compiler group will probably respond to this, but since
I use bfffo on *my* Sun assembler, I'll give it a shot in case they don't.

The general syntax is:
        bfffo   ea{n:n},dn
Here are some examples:
        bfffo   d4{#0:#0},d1
        bfffo   sp@{d6:d7},d1
    (A width of 32 can be specified as either 0 or 32, although a warning is
     issued if you specify 32.)

I have not gotten the C compiler to generate bit field instructions
either, but the codes are known to `as' and `adb'.  They are also known to
the optimizer so that if your C source has:

        asm("	bfffo d4{#0,#16},d7");

and is compiled with the `-O' option, register reference reductions will
be done correctly!

Since `adb' knows the codes, and uses the same syntax as `as', you can
always discover the syntax in a roundabout way:

From Motorola documentation determine the desired opcode, eg 0xedc00000
Then:
		% cp any_old_a.out scratchpad
		% adb -w scratchpad
		main?W edc00000
		_main:		0x4e560000	=	0xedc00000
		main?i
		_main:		bfffo	d0{#0:#32},d0
		$q
		%
True, this is an ugly thing to have to do, but at least it is general.

I'm glad to see another fan of BFFFO.  It would be a shame to miss out on
this efficient instruction just because of a documentation oversight.

-- james dow allen

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

Date:    Fri, 14 Aug 87 14:23:04 EDT
From:    Steve Levitan <levitan%pitt@relay.cs.net>
Subject: 2 questions: fpa with MAGIC and Eagles with 2333

Two questions:
Does anyone out there have any experience with MAGIC and the fpa board? We
have a SUN 3/260 OS 3.3 with a fpa.  MAGIC 4.2 works fine with the 68881
but with the fpa option it crashes with a floating point exception: "bus
error" (code 404) We do know that MAGIC tinkers with the Signal handlers
and we think that is the cause of the problem.  The fpa board does seem to
work fine with all our our software.

Also:
We are thinking of hooking up a M2351 (eagle?) onto our machine.  The
eagle has been used for the past 3 years on a VAX/750 and the vms users
claimed it was a 450 meg device. Sun setup claims that a M2351 is a 500+
meg device. Is this a formating issue?  Also, we have a Xylogics 450/451
controller and a M2333 260meg drive already. Can we just chain the new
disk on that?

Any help or advice would be appreciated.

Steve Levitan
University of Pittsburgh
Electrical Engineering
csnet: levitan@pitt

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

Date:    15 Aug 87 12:20:10 PDT (Sat)
From:    deanm%tekgvs.tek.com@relay.cs.net
Subject: slipping a cylinder?

I am trying to hook up a Fujitsu M2284 disk drive to a Sun 3/160 via a
Zylogics 451 controller.  For reasons which I will not go into, I believe
there is a bad signal on the servo track for cylinder #650.

Is there any way to "slip" this cylinder using the standard Sun diagnostic
software, or by appropriate switch settings on the drive or controller?
Note that the flaw map is too full to enter all 320 sectors and, besides,
there must be an easier way.  Someone suggested that it should be simple
to modify the device driver to map cylinders [651,822] to [650,821].  Is
this really true?  Thanks for any help.

Dean Messing
Tektronix Laboratories
deanm@tekgvs.tek.com

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

Date:    Wed, 19 Aug 87 10:23:47 PDT
From:    marleen@sun.com (Marleen Martin McDaniel)
Subject: Sun and Tokyo Electron sign $10 million OEM agreement

SUN AND TOKYO ELECTRON SIGN $10 MILLION OEM AGREEMENT

MOUNTAIN VIEW, CA   August 18, 1987   Sun Microsystems and Tokyo Electron
Ltd., (TEL) of Tokyo, Japan, announced today that TEL's computer systems
division has signed an original-equipment-manufacturer (OEM) agreement
with Sun's Japanese subsidiary, Nihon Sun Microsystems.  The agreement is
valued at $10 million over three years.

TEL is Japan's leading supplier of semiconductor production equipment and
electronic parts and components.  Under the agreement, TEL will integrate
Sun-3  and the newly introduced Sun-4 workstations with hardware and
software from a variety of vendors, such as GenRad (HILO-3), Convex,
Celerity, Vicom, and SDRC (I-DEAS), and will resell the systems in the
electrical and mechanical computer-aided design markets.

TEL will also sell Sun workstations in Japan as front-end processors for
super-minicomputers.  The integrated systems will provide users with
superior computing performance in a distributed networked environment,
using Sun's industry standard Network File System (NFS) to connect systems
from a variety of computer vendors.

Sun is the leading supplier of workstations in Japan, as reported by
Dataquest, Inc.  "This agreement with TEL strengthens Sun's prominent
position in Japan," said Dennis Ohryn, vice president of intercontinental
sales for Sun.  "Design automation is the largest workstation market in
Japan.  We look forward to working with TEL to increase our penetration in
this area."

Tokyo Electron Limited, founded in 1963, has established itself as one of
Japan's leading suppliers of high-technology semiconductor production
equipment, computer systems, and electronic parts and components.

Press contacts: Sun Microsystems, Inc., Kim Miller  (415) 691-7583
                Tokyo Electron Ltd., Yugi Ogino  (415) 964-3127


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

End of SUN-Spots Digest
***********************