Subject: Re: am79900.c assumes little-endian processor?
To: None <tls@rek.tjls.com>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-net
Date: 11/09/1999 20:45:43
tls@rek.tjls.com said:
> Oddly, ISTR our original ILACC driver was the result of someone
> experimenting with a VME 680x0 board with an ILACC on it, so I would
> actually expect it worked on big-endian systems once.

Experimenting??? - what??? - this is PRODUCTION!
(boot output appended)

To be honest - I haven't updated this port for a while,
it was more a proof-of-concept because the TCP performance
of the OS-9 running on the board was so miserable.
It's a two-processor board actually, so once we have some
more SMP support it could turn into a number-cruncher...

> I am not at 
> all surprised that it doesn't now, however.

As you see, it still worked in may. There were no changes
to the lance stuff afaik, so I'm still optimistic.

> If you're going to fix this you might want to finish splitting out
> the 79900 driver so it can DMA into mbufs instead of the abominable
> dma-and-copy approach the 7990 code has to take because of the way the
> onboard LANCEs on things like the pmax work.

You can't always assume that a 32-bit chip can DMA to the main memory.
The ILACC on my board at least has a private dual-port RAM.
As I see it now: The newest PCnet chips even have MII support. We
probably won't burden all ports using old 7990 chips with an "mii"
attribute. I'd say at this point we should make a more or less separate
driver for the "high-end" stuff which understands DMA and MII.
Otherwise the existing lance code would turn into a mess.

best regards
Matthias


$ break
WARNING: Timesharing HALTED.
 (type 'G' to resume.)
called debugger

Rel: 00000000
Dn: B0BD0667 1BADD00D  2008131E 2008233A   00000000 0000009E  00001060 00000000
An: 21F6F7B2 200268E6  20082332 2008232A   20082326 200822B4  20089300 21F6F342
SR: 2700  (--S--7--------)                     SSP: 21F6F342      USP: 20082260
PC: 2001641E   - 46DF                move.w (a7)+,sr
debug: g 20100400
 [ no symbols available ]
Stopped in  at  0x840f6:        unlk    a6
db> c
Copyright (c) 1996, 1997, 1998, 1999
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.4B (GENERIC.native) #24: Fri May 14 16:19:48 MEST 1999
    drochner@ikpv09-zel:/mnt/sys/arch/cesfic/compile/GENERIC.native
FIC8234
delay constant: 30
real mem  = 33554432
avail mem = 28192768
using 819 buffers containing 3354624 bytes of memory
mainbus0 (root)
le0 at mainbus0: address 00:80:a2:00:31:b1
le0: 32 receive buffers, 8 transmit buffers
zsc0 at mainbus0: Zilog 8530 SCC
zstty0 at zsc0 channel 0 (console)
zstty1 at zsc0 channel 1
psl: bio = 0x2300, net = 0x2300, tty = 0x2400, imp = 0x2400
interrupt levels: bio = 3, net = 3, tty = 4
root device: le0
dump device:
file system (default generic):
mountroot: trying nfs...
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP server: 134.94.233.16
nfs_boot: my_addr=134.94.234.32
nfs_boot: my_mask=255.255.248.0
nfs_boot: gateway=134.94.232.1
root on 134.94.234.91:/newusrd/os/BSD/root/ikpv09-zel
root time: 0x38287455
root file system type: nfs
init: copying out flags `-s' 3
init: copying out path `/sbin/init' 11
Enter pathname of shell or RETURN for sh:
# setting tty flags
starting network
hostname: ikpv09-zel
default              zam047-n             done
configuring network interfaces:.
add net default: gateway 134.94.232.1
swapctl: adding zelvs1:/ca1/os/NetBSD/swap/ikpv09-zel as swap device at 
priority
 0
starting system logger
checking for core dump...
savecore: no core dump (no dumpdev)
[...]