[comp.os.os2.programmer] 16-Bit Device Driver + OS/2 V2.0

"Kenneth A. Kahn" <kenkahn@pksmrvm.vnet.ibm.com> (05/19/91)

It is my understanding and experience that if you have a 16-bit device driver
that uses 'documented interfaces', e.g. DevHelp calls, it should work on
V2.0 without modification.  I can't speak for the EZtape driver never having
used it, but perhaps it does something 'funny';  there's some device drivers
I know of that work for 1.2 and 1.3 that do some funny things with GDTs and
such that won't work with V2.0 because the 'undocumented assumptions' they made
are no longer true for V2.

To turn this around a little, if you know of a device driver that does not
work with V2 and it uses strictly documented interfaces, please let your
IBM rep know about it; we consider it a HIGH priority for these types of
things to work in V2.  If you can isolate what the problem is report it here
and I'll make sure it gets to the right people.

cur022%cluster@ukc.ac.uk (Bob Eager) (05/21/91)

In article <9105191848.AA16778@grape.ecs.clarkson.edu>, kenkahn@pksmrvm.vnet.ibm.com (Kenneth A. Kahn) writes:
> It is my understanding and experience that if you have a 16-bit device driver
> that uses 'documented interfaces', e.g. DevHelp calls, it should work on
> V2.0 without modification.  I can't speak for the EZtape driver never having
> used it, but perhaps it does something 'funny';  there's some device drivers
> I know of that work for 1.2 and 1.3 that do some funny things with GDTs and
> such that won't work with V2.0 because the 'undocumented assumptions' they made
> are no longer true for V2.
> 
> To turn this around a little, if you know of a device driver that does not
> work with V2 and it uses strictly documented interfaces, please let your
> IBM rep know about it; we consider it a HIGH priority for these types of
> things to work in V2.  If you can isolate what the problem is report it here
> and I'll make sure it gets to the right people.

I believe the EZtape driver (or a variant) is the one used by the IBM OS/2
Internal Tape Backup Program. Anyone know if that works? I have one, so I'm
interested and possibly a bit concerned if it doesn't!
----------------------------+----------------------------------------------
Bob Eager                   | University of Kent at Canterbury
rde@ukc.ac.uk               | +44 227 764000 ext 7589
100016.2770@compuserve.com  |
----------------------------+----------------------------------------------

gerry@dialogic.com (Gerry Lachac) (05/21/91)

In article <9105191848.AA16778@grape.ecs.clarkson.edu> "Kenneth A. Kahn" <kenkahn@pksmrvm.vnet.ibm.com> writes:
>It is my understanding and experience that if you have a 16-bit device driver
>that uses 'documented interfaces', e.g. DevHelp calls, it should work on
>V2.0 without modification.  I can't speak for the EZtape driver never having
>used it, but perhaps it does something 'funny';  there's some device drivers
>I know of that work for 1.2 and 1.3 that do some funny things with GDTs and
>such that won't work with V2.0 because the 'undocumented assumptions' they made
>are no longer true for V2.


Out of curiosity, what "undocumented assumptions" and games with GDTs
would you be talking about?  I don't think I play any games. I do some
clever things to cut down on the number of GDTs I grab (well they're
clever in my opinion :-) but I don't think I do anything "illegal".

Could you be a bit more specific?

Thanks...


-- 
uunet!dialogic!gerry   | "Even a dead plant turns  |	Dialogic Corporation
	OR	       |  over a new leaf 	   |	300 Littleton Rd
gerry@dialogic.UUCP    |  when the wind blows."	   |	Parsippany, NJ 07054 
		       |  			   |	(201)334-8450

kenr@arcade.uucp (Ken Reneris) (05/25/91)

| It is my understanding and experience that if you have a 16-bit device driver
| that uses 'documented interfaces', e.g. DevHelp calls, it should work on
| V2.0 without modification.  ...

Most drivers will work.  However, there may be some which won't work
and will need rev'ed.  With OS/2 2.0 there are new DevHlp's to handle
memory as list of pages (rather then selectors).  If a 2.0 level driver
locks some pages within a particular selector down, then an old device
driver may not be able to lock the same memory with an old style DevHlp_Lock.
To emulate the old style lock, the kernel collcects all the pages in the
selector, lies them out contigously in memory and locks them.  (Even for
a short term lock).  Anyway, if all the pages can't be made contigous
(since a page within the selector is locked by someone) the DevHlp_Lock
will fail. (even for a short term non-blocking lock).

I would also suspect any driver which did something in the 3xBox won't
work in an MVDM without changes.  :^).

On the up side - there's no more dual-mode DD model.

	    - Ken

--
uunet!microsoft!arcade!kenr