public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Fwd: Re: VxD device drivers
@ 1999-09-21  0:38 dale henderson
  1999-09-21  1:18 ` VxD device drivers - again Federico Bianchi
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: dale henderson @ 1999-09-21  0:38 UTC (permalink / raw)
  To: cygwin

Is there any open source software to create Win9x device drivers?
I would like to try VxDWriter, but it currently just supports VC++.
Is it possible for Mingw32 or Cygwin to support LE file format?
Here is the response from maker of VxDWriter:

1. All the Win98 DDK header files are written specifically for MS VC++
compiler using compiler specific pragma directive. VxDWriter uses the
Win98 DDK header files for define constants, typedefs, and some
enumeration values (service ordinals) for few inline functions. So,
you need to edit all the header files to remove all MS VC++ specific
pragmas so that they can work with Mingw32 compiler. But you may use
VxDWriter's header and library with other compiler, though I have not
tested it.

2. VxD is not in PE format. It is in LE (linear executable) file
format. Only MSVC++ linker, which also comes with Win98 DDK, can
produce a VxD. It would be interesting to see if this linker will
accepts the COFF object files produced by Mingw32 compiler. If not the
only option will be to initially produce a "VxD" with Mingw32 linker
and then convert it to LE file format using a utility, which you need
to write. Note that LE file format is documented by MS, but some
documents are available on Internet.

Initially we had plan to support other compiler with VxDWriter ackage.
But to do that we need to license Win98 DDK from MS to distribute a
modified version of the header files. I doubt how many people would be
interested in it and its commercial viability.





______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* VxD device drivers - again
  1999-09-21  0:38 Fwd: Re: VxD device drivers dale henderson
@ 1999-09-21  1:18 ` Federico Bianchi
  1999-09-30 23:42   ` Federico Bianchi
  1999-09-21  9:13 ` Win9x Ring0 programming, was: Fwd: Re: VxD device drivers Paul Sokolovsky
  1999-09-30 23:42 ` dale henderson
  2 siblings, 1 reply; 6+ messages in thread
From: Federico Bianchi @ 1999-09-21  1:18 UTC (permalink / raw)
  To: dale henderson; +Cc: cygwin

On Tue, 21 Sep 1999, dale henderson wrote:

> Is there any open source software to create Win9x device drivers?
> I would like to try VxDWriter, but it currently just supports VC++.
> Is it possible for Mingw32 or Cygwin to support LE file format?
> Here is the response from maker of VxDWriter:
> 
> 1. All the Win98 DDK header files are written specifically for MS VC++
> compiler using compiler specific pragma directive. VxDWriter uses the
> Win98 DDK header files for define constants, typedefs, and some
> enumeration values (service ordinals) for few inline functions. So,
> you need to edit all the header files to remove all MS VC++ specific
> pragmas so that they can work with Mingw32 compiler. But you may use
> VxDWriter's header and library with other compiler, though I have not
> tested it.

In fact. And as soon as those libraries are going to use C++ features,
name mangling issues will pop up as well.

> 2. VxD is not in PE format. It is in LE (linear executable) file
> format. Only MSVC++ linker, which also comes with Win98 DDK, can
> produce a VxD. It would be interesting to see if this linker will
> accepts the COFF object files produced by Mingw32 compiler. If not the
> only option will be to initially produce a "VxD" with Mingw32 linker
> and then convert it to LE file format using a utility, which you need
> to write. Note that LE file format is documented by MS, but some
> documents are available on Internet.

This is actually a non-issue. MinGW can't create LE executables, but there
is a GCC package for OS/2, whose linker might be "stolen" and adapted to
get the job done with little or no fuss (as driver developers know, the LE
format is a very close relative to the OS/2 32 bit LX one). 

A _real_ issue would be debugging support - as far as I know, there is no
good converter among the different formats, and while looking at pure x86
machine code with SoftICE, WDEB*, TrW or the likes is indeed very macho, I
think there must be some better ways to spend time... And errors in a VxD
or KMD often means locking the system up.

> Initially we had plan to support other compiler with VxDWriter package.
> But to do that we need to license Win98 DDK from MS to distribute a
> modified version of the header files. I doubt how many people would be
> interested in it and its commercial viability.

In fact. The very same argument might be used w.r.t. KMD/WDM programming
with anything different from the crunky MSC/MASM couple.

	 		Federico Bianchi
			Dipartimento di Storia delle Arti
			Universita` degli Studi di Pisa
			p.zza S.Matteo in Soarta, 2 - 56127 Pisa (Italy)
			tel. +39-050-587111 (cent.), +39-050-587224 (uff.)
			fax. +39-050-580128; e-mail: <f.bianchi@arte.unipi.it>
			===================================================
			!DISCLAIMER!: my e-mail reflects _my_own_ opinions!
			===================================================


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Win9x Ring0 programming, was: Fwd: Re: VxD device drivers
  1999-09-21  0:38 Fwd: Re: VxD device drivers dale henderson
  1999-09-21  1:18 ` VxD device drivers - again Federico Bianchi
@ 1999-09-21  9:13 ` Paul Sokolovsky
  1999-09-30 23:42   ` Paul Sokolovsky
  1999-09-30 23:42 ` dale henderson
  2 siblings, 1 reply; 6+ messages in thread
From: Paul Sokolovsky @ 1999-09-21  9:13 UTC (permalink / raw)
  To: dale henderson; +Cc: cygwin

Hello dale,

dale henderson <dalekh@hotmail.com> wrote:



dh> Is there any open source software to create Win9x device drivers?
dh> I would like to try VxDWriter, but it currently just supports VC++.
dh> Is it possible for Mingw32 or Cygwin to support LE file format?
[]

  Well, not directly connected, but may be interesting: recently I had
peculiarity to implement decent copy-on-write fork on win95. Since
waiting for LE creation ability with gnuwin32 was infeasible, I just used technique
exemplified by tools available from www.internals.com - they just
abruptly install Ring0 callgate descriptor into GDT (win9x allows that) and
voila - system VxD services are available. Simple sed run over vmm32.h
from Win9x DDK allowed me to use it.

  I failed to achieve original goal - stupid thing doesn't have
concept of ownership of physical pages, so it cannot be made to hold
page while it's mapped in at least one virtual address space, but at
least I saw the rock with my own eyes.



Best regards,
 Paul                            mailto:paul-ml@is.lg.ua



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Fwd: Re: VxD device drivers
  1999-09-21  0:38 Fwd: Re: VxD device drivers dale henderson
  1999-09-21  1:18 ` VxD device drivers - again Federico Bianchi
  1999-09-21  9:13 ` Win9x Ring0 programming, was: Fwd: Re: VxD device drivers Paul Sokolovsky
@ 1999-09-30 23:42 ` dale henderson
  2 siblings, 0 replies; 6+ messages in thread
From: dale henderson @ 1999-09-30 23:42 UTC (permalink / raw)
  To: cygwin

Is there any open source software to create Win9x device drivers?
I would like to try VxDWriter, but it currently just supports VC++.
Is it possible for Mingw32 or Cygwin to support LE file format?
Here is the response from maker of VxDWriter:

1. All the Win98 DDK header files are written specifically for MS VC++
compiler using compiler specific pragma directive. VxDWriter uses the
Win98 DDK header files for define constants, typedefs, and some
enumeration values (service ordinals) for few inline functions. So,
you need to edit all the header files to remove all MS VC++ specific
pragmas so that they can work with Mingw32 compiler. But you may use
VxDWriter's header and library with other compiler, though I have not
tested it.

2. VxD is not in PE format. It is in LE (linear executable) file
format. Only MSVC++ linker, which also comes with Win98 DDK, can
produce a VxD. It would be interesting to see if this linker will
accepts the COFF object files produced by Mingw32 compiler. If not the
only option will be to initially produce a "VxD" with Mingw32 linker
and then convert it to LE file format using a utility, which you need
to write. Note that LE file format is documented by MS, but some
documents are available on Internet.

Initially we had plan to support other compiler with VxDWriter ackage.
But to do that we need to license Win98 DDK from MS to distribute a
modified version of the header files. I doubt how many people would be
interested in it and its commercial viability.





______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* VxD device drivers - again
  1999-09-21  1:18 ` VxD device drivers - again Federico Bianchi
@ 1999-09-30 23:42   ` Federico Bianchi
  0 siblings, 0 replies; 6+ messages in thread
From: Federico Bianchi @ 1999-09-30 23:42 UTC (permalink / raw)
  To: dale henderson; +Cc: cygwin

On Tue, 21 Sep 1999, dale henderson wrote:

> Is there any open source software to create Win9x device drivers?
> I would like to try VxDWriter, but it currently just supports VC++.
> Is it possible for Mingw32 or Cygwin to support LE file format?
> Here is the response from maker of VxDWriter:
> 
> 1. All the Win98 DDK header files are written specifically for MS VC++
> compiler using compiler specific pragma directive. VxDWriter uses the
> Win98 DDK header files for define constants, typedefs, and some
> enumeration values (service ordinals) for few inline functions. So,
> you need to edit all the header files to remove all MS VC++ specific
> pragmas so that they can work with Mingw32 compiler. But you may use
> VxDWriter's header and library with other compiler, though I have not
> tested it.

In fact. And as soon as those libraries are going to use C++ features,
name mangling issues will pop up as well.

> 2. VxD is not in PE format. It is in LE (linear executable) file
> format. Only MSVC++ linker, which also comes with Win98 DDK, can
> produce a VxD. It would be interesting to see if this linker will
> accepts the COFF object files produced by Mingw32 compiler. If not the
> only option will be to initially produce a "VxD" with Mingw32 linker
> and then convert it to LE file format using a utility, which you need
> to write. Note that LE file format is documented by MS, but some
> documents are available on Internet.

This is actually a non-issue. MinGW can't create LE executables, but there
is a GCC package for OS/2, whose linker might be "stolen" and adapted to
get the job done with little or no fuss (as driver developers know, the LE
format is a very close relative to the OS/2 32 bit LX one). 

A _real_ issue would be debugging support - as far as I know, there is no
good converter among the different formats, and while looking at pure x86
machine code with SoftICE, WDEB*, TrW or the likes is indeed very macho, I
think there must be some better ways to spend time... And errors in a VxD
or KMD often means locking the system up.

> Initially we had plan to support other compiler with VxDWriter package.
> But to do that we need to license Win98 DDK from MS to distribute a
> modified version of the header files. I doubt how many people would be
> interested in it and its commercial viability.

In fact. The very same argument might be used w.r.t. KMD/WDM programming
with anything different from the crunky MSC/MASM couple.

	 		Federico Bianchi
			Dipartimento di Storia delle Arti
			Universita` degli Studi di Pisa
			p.zza S.Matteo in Soarta, 2 - 56127 Pisa (Italy)
			tel. +39-050-587111 (cent.), +39-050-587224 (uff.)
			fax. +39-050-580128; e-mail: <f.bianchi@arte.unipi.it>
			===================================================
			!DISCLAIMER!: my e-mail reflects _my_own_ opinions!
			===================================================


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Win9x Ring0 programming, was: Fwd: Re: VxD device drivers
  1999-09-21  9:13 ` Win9x Ring0 programming, was: Fwd: Re: VxD device drivers Paul Sokolovsky
@ 1999-09-30 23:42   ` Paul Sokolovsky
  0 siblings, 0 replies; 6+ messages in thread
From: Paul Sokolovsky @ 1999-09-30 23:42 UTC (permalink / raw)
  To: dale henderson; +Cc: cygwin

Hello dale,

dale henderson <dalekh@hotmail.com> wrote:



dh> Is there any open source software to create Win9x device drivers?
dh> I would like to try VxDWriter, but it currently just supports VC++.
dh> Is it possible for Mingw32 or Cygwin to support LE file format?
[]

  Well, not directly connected, but may be interesting: recently I had
peculiarity to implement decent copy-on-write fork on win95. Since
waiting for LE creation ability with gnuwin32 was infeasible, I just used technique
exemplified by tools available from www.internals.com - they just
abruptly install Ring0 callgate descriptor into GDT (win9x allows that) and
voila - system VxD services are available. Simple sed run over vmm32.h
from Win9x DDK allowed me to use it.

  I failed to achieve original goal - stupid thing doesn't have
concept of ownership of physical pages, so it cannot be made to hold
page while it's mapped in at least one virtual address space, but at
least I saw the rock with my own eyes.



Best regards,
 Paul                            mailto:paul-ml@is.lg.ua



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1999-09-30 23:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-21  0:38 Fwd: Re: VxD device drivers dale henderson
1999-09-21  1:18 ` VxD device drivers - again Federico Bianchi
1999-09-30 23:42   ` Federico Bianchi
1999-09-21  9:13 ` Win9x Ring0 programming, was: Fwd: Re: VxD device drivers Paul Sokolovsky
1999-09-30 23:42   ` Paul Sokolovsky
1999-09-30 23:42 ` dale henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).