[Coco] V.PAGE
Chuck Youse
cyouse at serialtechnologies.com
Mon Jul 21 08:35:33 EDT 2008
On Sun, 2008-07-20 at 23:03 -0400, Robert Gault wrote:
> Chuck Youse wrote:
> > This byte in the device descriptor appears to be unused (or at least,
> > not useful) on Coco OS-9 (both levels 1 and 2). While it's set in the
> > device descriptor, it appears to be cleared in the device static storage
> > area (rather than copied from the descriptor) before the call to the
> > driver's INIT routine during I$Attach (in both Level 1 and Level 2
> > IOMAN).
> >
> > I'd like to re-use this byte as the multi-pak slot indicator, as I can't
> > see that that's in the device descriptor anywhere else and appears to be
> > hard-coded into the respective device drivers.
> >
> > Am I going to make something explode if I try to repurpose this byte?
> >
> > C.
> >
>
> Nothing should explode but you may not want to hard code the slot. A
> more flexible scheme would be to use a driver data byte for each device
> installed in the MPI. It would be the responsibility of the device
> during its init phase to store the current value of the MPI I/O byte,
> search for itself scanning through the slots, and saving the found slot.
> Each time the device (driver) runs, it swaps MPI slots as needed.
Thanks for the response. And interesting idea - but - there are three
problems I can see with this scheme:
1. auto-probing is dangerous business - not every device can be detected
safely, which may lead to interference with or crashing other devices ..
2. What if there are multiple instances of a card in the multi-pak
(e.g., more than one RS-232 card)?
3. Architecturally, OS-9 doesn't do any auto-probing of this sort; port
addresses, drive geometries, etc. are all hard-coded into the device
descriptors. These save the system a lot of guesswork, and the
associated code/speed. MPI slot is just another of these values (and
V.PAGE seems the right place to me, as slot selection is in fact a form
of address extension). So probing just doesn't match the rest of the
system architecture that well.
C.
More information about the Coco
mailing list