Subject: TME sun3 emulator status & getting ethernet working
To: None <port-sun3@netbsd.org>
From: None <SigmFSK@aol.com>
List: port-sun3
Date: 10/18/2006 13:33:01
I've been doing lots of testing of Matt Fredette's sun3 emulator,  TME.

I'm constantly amazed and impressed with TME.  It does so much,  so well.  

I found and fixed the following M68K emulation  bugs:
incorrect calculation of Effective Address for immediate-mode  instructions 
with program counter indirect 16-bit displacement addressing  (problem 34538)
cmp2/chk2 instructions not emulated correctly (problem  33969)
movel sp,-(sp) pushes wrong value on stack (problem  34690)
fcmp doesn't consider positive infinity/negative infinity equal  to itself 
(problem 34571)
fneg of 0.0 is not -0.0 (problem 34616)

Now, other than a few floating point tests (problem 34691), all the  below 
testsuites operate identically inside TME as on a real  sun3:
NetBSD 3.0, gcc-3.3.3-testsuite
SunOS 4.1.1,  gcc-3.2.3-testsuite
and the complete Ada Compiler Validation Capability  as compiled under 
Telesoft under SunOS 4.1.1, running under NetBSD 3.0, NetBSD  1.5.3, and SunOS 4.1.1


Floating point emulation isn't perfect inside  TME, but it is better than 
turning off TME's mc68881 emulation and allowing  NetBSD running inside TME to do 
the emulation.  And its also better than  using a custom NetBSD 
kernel/userland with -mksoftfloat (problem  34553).

The emulated tape drive sometimes truncates files (problem  34536), and I 
wasn't able to login via an emulated serial line (problem 34835),  but these are 
minor complaints, being that ethernet works so well...for running  NetBSD 
inside TME.

I'm working on getting ethernet working when running  SunOS 4.1.1 inside TME. 
 Ethernet works when running NetBSD inside the  emulator (isn't this 
incredible!), but when attempting to "ifconfig ie0" under  SunOS, SunOS responds with 
"ie0: init failed: no intr".

Preliminary  investigation seems that this problem may not be due incomplete 
intel ethernet  825x6 chip emulation in TME.  "no intr" appears to be a 
default message  when the SunOS ie driver has a problem.  And without the SunOS 
source, it  may be difficult to determine why SunOS is complaining.

I read that SunOS  on Sun 386i generates this same "ie0: init failed: no 
intr" message when the  NVRAM is bad, causing ethernet to not work, so who knows 
why SunOS is  complaining inside TME.  Any ideas, please pass them along.

A tip of the hat to you, Matt.  TME rulz!

/arthur
 
p.s.  Some tips for TME users:  For best performance, setup TME  
(sun3-carrera-eeprom.txt and SUN3-CARRERA) to use 32Mb of memory (TME's maximum)  instead 
of the default 8Mb.  And don't attempt to actually format a  SCSI disk inside 
of TME.  Just label it and  continue.