Subject: RE: Spectrum & Kernal problems: new ones!
To: Sascha Groening <firstname.lastname@example.org>
From: Michael L. Hitch <email@example.com>
Date: 02/06/1995 10:29:08
On Feb 6, 3:19pm, Sascha Groening wrote:
> > New problem: Upon booting I now get the following messages:
> > grf_cl: registers not found
> > grfcl0 at zthreebus0 rom 0x40000000 man/pro 2193/1 not configured.
> > If I boot with the distributed cirus kernal, I get the regular messages
> > and it attaches the grfcl0 device to Spectrum II (or whatever).
> >Any ideas?
> I don't know what the compiled cirrus kernel does,
> but the sources try to configure the registers when Spectrum Mem is found and
> vice versa.
Ah - now things are beginning to make some sense.
What order does ShowConfig indicate for the Spectrum board? My guess is
that the memory in Zorro III address space comes first, followed by the
registers in Zorro II I/O address space.
If this is the case, then here's what's happening:
The 1.0 kernel configures the Zorro II devices first, and then configures
the Zorro III devices. The Spectrum registers would be found first,
and their configuration information saved. Then, when the Zorro III
boards are configured, the Spectrum memory would be configured, and
everything is happy.
With the -current zbus configuration, all Zorro II and Zorro III devices
are configured in the order they appear in the ConfigDev list. The
Spectrum memory would appear first, and the grfmatch() routine would
see that the registers haven't been configured and bail out.
To fix this for -current, you will need to remove the check for the Spectrum
registers when the memory is configured, and do a return (0). Then when
the registers are configured, check cl_fbaddr like the Picasso does, and
remove the return (1). If my understanding of all this is correct, this
should fix the Spectrum configuration.
Michael L. Hitch INTERNET: firstname.lastname@example.org
Office of Systems and Computing Services
Montana State University Bozeman, MT USA