Troubles getting MOL running on 9500


Subject: Troubles getting MOL running on 9500
From: Tovar (tvr@usermail.com)
Date: Wed Apr 25 2001 - 08:46:54 MDT


As previously noted, i have MOL running under 'potato', initially using a
custom 2.4.1 kernel (i believe from one of the Debian distributions) and
now a recent 'BenH' kernel. These were required to run my SCSI controller
and the 9500's second PCI bus. Most other things are stock from Debian
stable release ('potato'), but i did need enough of the 'gcc' suite from
the Testing/Unstable branch to load modules for the 2.4.1 kernel. This
is compiled from the mol-0.9.57 source (with minor 'Makefile'-type changes
previous described).

My biggest problem right now is reliability -- it's not very robust with
my current hardware/software configuration (which includes an 'ix3D'
display card only supported by the kernel in 'OFONFLY' mode, and uses
a copy of my 9500 ROM with oftree.8500).

I seem to have three main modes of lossage:

(1) 'mol' fails to start up at all. It does so by getting into a loop
    printing 'Unimplemented load instruction'. This usually happens
    most of the time, but it especially happens when the 'ofonly' video
    mode does not match what 'molvconfig' was set to. For it to work it
    all, 'molvconfig' must be set to the current video mode (only?).

    This error message can be found at 'mol-0.9.57/emulation/molcpu.c:699'
    [at the end of rvec_io_read()] with the comment:

                /* TODO! */
                /* Integer load/store Multiple instructions not implemented */

    See attached error log. This happens 30-95% of the time and has a
    high POM (phase of moon) dependency.

    [Attempting to terminate the 'mol' after N instances of this error by
    calling quit_emulation() instead of stop_emulation() did not terminate
    this semi-infinite loop and i don't know PPC assembler well enough to
    think about fixing that.]

(2) MOL start up succesfully, runs for at least a few minutes with user
    interactions, and then locks up. When it does, the log shows:

        scsi-bus: MESSAGE_REJECTED
        scsi-bus: Going busfree instead of sending a reject message!

    Other times, rather than locking up, MacOS reports serious error.
    Occasionally, this error is not fatal, but it usually is.

    The relevant code also seems perhaps a bit unfinished

           case SCSI_MES_REJECT:
        #if 0
                mes_byte = MESSAGE_REJECT;
                do_queue_mes( 1, &mes_byte, 1 /*put first in queue*/ );
        #else
                /* This works better with the 53c94 code - problably due
                 * to an error in the implementation. The SCSI-2 specs are
                 * probably violated.
                 */
                printm("scsi-bus: Going busfree instead of sending a reject message!\n");
                bus->state = bus_freeing;
        #endif
                                 [whitespace adjusted for readability]

    This 9500 has three SCSI buses (MESH, 53C94 and Adaptec AHA-294X)
    and i'm not sure if bus #1 or #3 is coming up with the problems (or
    both).

    This seem to occur often enough to prevent MOL from being a serious
    tool at this point.

(3) MacOS tries to boot, but discovers that it has not been shut down
    cleanly. It normally goes to check its disk, displaying a dialog
    explaining what's happening and asking for a confirmation when it
    finishes. Under MOL, it comes up with a blank rectangle, without
    any significant disk activity.

    This one i've been able to work around. However, an unclean disk
    seems to be correlated with not being able to start up MOL at all.

There may be other modes of failure, but these are the most repeatable.

Have you run into any of these problems? Any idea what to do about them?

                             -- Tovar

P.S. What does 'dcbi treated as nop' mean? [mol-0.9.57/emulation/molcpu.c:413]

Attachment: Logs for problems (1) and (2). [I think one was under X and
             the other on a virtual terminal, hence the startup differences]
-------------------------------------------------------------------------------

=================================================================
  Mac-on-Linux 0.9.57 <www.maconlinux.org>
  (C) 1997-2001 Samuel Rydh <samuel@ibrium.se>
=================================================================

Version 0.9.57
Resource file: /etc/molrc
Library directory: /usr/lib/mol
OF device tree: oftrees/oftree.8500
DEC frequency: 12 MHz, 125:10 mticks/usec
64MB RAM mapped at 0x40000000
Running in PowerPC G3 mode
Property 'cpu/bus-frequency' is missing!
Using ADB keycodes
Using nvram-image 'nvram/nvram.ow'
xvideo: Could not connect to X server
Running on VT 8.
Using usb mouse on /dev/input/mice
Cache enabled for console-video
Video module 'console_video' installed.

MODE: 1152* 870, depth 32 { 0.0 } Hz

Starting in video mode 1152*870, depth 32, 0.0 Hz [offs:32, rb:4608]
Autoswitching to console
Ethernet Interface (port 1) 'sheep-<eth0>' @ FE:FD:DE:AD:BE:EF
53c94 SCSI-driver installed (IRQs 12/0)
Could not register MESH SCSI unit. Need a second bus ??

HFS disk: 0 MB, images/moldisk.im [read-only]
HFS disk: 634 MB, /dev/sda4 [read-write]
HFS disk: 2000 MB, /dev/sdb4 [read-write]

SCSI-Disk (hw-0): 0 MB

Swim3 floppy driver installed
Hammerhead driver installed
4096K ROM mapped at 0x4fc00000 from 'rom/rom.image'
ROM checksum = 0x129
Mapping GC at F3000000
dcbi treated as nop
[CLOCK_FIX_HACK]
Unmapping GC
Mapping GC at F3000000
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
Unimplemented load instruction
        ...
-------------------------------------------------------------------------------
OF device tree: oftrees/oftree.8500
DEC frequency: 12 MHz, 125:10 mticks/usec
64MB RAM mapped at 0x40000000
Running in PowerPC G3 mode
Property 'cpu/bus-frequency' is missing!
Using ADB keycodes
Using nvram-image 'nvram/nvram.ow'
Video module 'xvideo' installed.
Running on VT 8.
Using usb mouse on /dev/input/mice
Cache enabled for console-video
Video module 'console_video' installed.

MODE: 640* 480, depth 8,32 { 0.0 } Hz
MODE: 800* 600, depth 8,32 { 0.0 } Hz
MODE: 1024* 768, depth 8,32 { 0.0 } Hz
MODE: 1152* 864, depth 8,32 { 0.0 } Hz
MODE: 1152* 870, depth 32 { 0.0 } Hz
MODE: 1280*1024, depth 8,32 { 0.0 } Hz
MODE: 1600*1200, depth 8,32 { 0.0 } Hz

Starting in video mode 1152*870, depth 32, 0.0 Hz [offs:32, rb:4608]
Ethernet Interface (port 1) 'sheep-<eth0>' @ FE:FD:DE:AD:BE:EF
53c94 SCSI-driver installed (IRQs 12/0)
Could not register MESH SCSI unit. Need a second bus ??

HFS disk: 0 MB, images/moldisk.im [read-only]
HFS disk: 634 MB, /dev/sda4 [read-write]
HFS disk: 2000 MB, /dev/sdb4 [read-write]

SCSI-Disk (hw-0): 0 MB

Swim3 floppy driver installed
Hammerhead driver installed
4096K ROM mapped at 0x4fc00000 from 'rom/rom.image'
ROM checksum = 0x129
Mapping GC at F3000000
dcbi treated as nop
[CLOCK_FIX_HACK]
Unmapping GC
Mapping GC at F3000000
<*> DriveControlCmd IGNORED 48
<*> Extending interrupt tree...
<*> kOpenCommand
scsi-bus: MESSAGE_REJECTED
scsi-bus: Going busfree instead of sending a reject message!
Signal INT
One more to kill emulator
cleaning up...
===============================================================================



This archive was generated by hypermail 2a24 : Wed Apr 25 2001 - 08:48:59 MDT