Steven M. Schultz
sms at moe.2bsd.com
Mon Jan 4 10:18:11 AEST 1999
> From: "Erin W. Corliss" <erin at coffee.corliss.net>
> Anyone care to comment on the likelihood of someone being able to modify
> the kernel binary for Unix version 7 so that it treats a 60 megabyte RD52
> drive like an array of six RL drives?
Not likely at all. Completely different controllers - the only
similarity between an RL controller and an MSCP (RQDX3 for example)
controller lies in their both being Qbus cards and disks are attached
to them. The RL is about as smart as a rock - it can't even do
spiral reads/writes (even the RK05 could do that), so there's code
present to break transfers up into multiple pieces if cylinder and side
boundaries are crossed. Also the RL is a "traditional" device in
that the driver calculates sector/track/cylinder and stuffs those
values into registers. With MSCP you have to build command and response
ring buffers, fill in a packet with rather badly documented values,
and then poke the controller to go look for its new packet. The
geometry calculations are done in the controller not the driver.
The only concept of geometry that MSCP drivers have is "how many
sectors does the drive have" (and even then that value's only used to
pretty print something when the drive is first accessed) - somewhat
like SCSI in that aspect.
Then too the RD52 is 30MB (sect/trak = 18, tracks/cyl = 7, cyl = 480).
The RD53 is ~70mb and the RD54 is ~159mb.
It'd be easier to add an MSCP driver to V7 than it would be
to try and do binary edits on the RL driver to support non-RL devices.
> I looked at the device-specific assembly code in boot blocks for the two
> drives and it seems that besides the geometry they're pretty similar... I
They're about as different as can be. I think you were lulled into
thinking they're similar by the fact that most of the bootblock is
"boiler plate" (the filesystem search code to look for /boot). The
part that deals with the device is small but quite dissimilar.
The bootblock is the least/smallest part of the problem. All the boot-
block does is load /boot - and that's where you need a more fullfeatured
(but still not as full as the kernel's) driver. Then once there's
a standalone driver for a device in /boot then, and only then, does
the kernel become involved (at which time a full driver is needed).
> assume, of course, that the binary license doesn't allow me to disassemble
> or modify the kernel, tho.
The A.U. license provides full up source - no need to disassemble
anything - that can be modified to whatever extent is desired. That
won't solve the problem of getting a MSCP driver into V7 unless one
can do the development work using a simulator.
Received: (from major at localhost)
by minnie.cs.adfa.edu.au (8.9.1/8.9.1) id GAA06247
for pups-liszt; Tue, 5 Jan 1999 06:48:52 +1100 (EST)
More information about the TUHS