But if you have a bus spec and an OS interface spec, what else should we
need to write a driver ? It used to be that drivers were the glue between
the OS and the hardware, but now a driver’s no more than a glue between two
portions of the OS. In the past when I wanted to find a driver guy I would
look for someone who could spell “hardware” and who knew how to wield a
scope, a logic analyzer, or an ICE - today I need someone who can spell
KeReleaseSpinLockFromDpcLevel, HwVidSynchronizeExecutionCallback, or
ExAcquireResourceExclusiveLite. Indeed, I may be getting too old …
As for DS on VS.NET, can you be more specific ? If you need some feature
that we don’t offer, I’ll be glad to try to oblige ! If your DDKBUILD is a
batch file, you can find our file RUNBUILD.BAT (it normally sits in your
C:\Program Files\Compuware\DriverStudio\Common directory) and update it to
invoke your DDKBUILD, or, if you really prefer, maybe you can get away by
just renaming it to something else, and renaming your DDKBUILD to
RUNBUILD.BAT. What happens is, whenever you click the Build button in the
DriverStudio VS.NET Toolbar, file RUNBUILD.BAT gets invoked. If you have any
trouble interfacing your drivers to a build.exe based build, you can look at
any sources file in the DS Framework samples.
But… Every bit of DS integrates into .NET as a tool, so that you have an
entry in the Tools/DriverStudio menu, and a toolbar for every function: DS
Build, BoundsChecker, TrueTime, TrueCoverage, DriverMonitor, TargetSelector,
Configurator… you can use your Tools/Customize facility to expose our
toolbars. If you want to use build.exe, we provide the build button for it.
We provide you with an interface into the project settings so that you can
for example use the DDK of your choice. We provide Src2Dsp so that you can
run it against your Sources file and generate a .dsp/.dsw pair that you can
use to build your drivers. We default to using the DDK compiler so that you
don’t need to worry about compatibility issues. We provide a set of buttons
that you can use to load your symbols into SoftICE, and we provide with
another button that lets you start SoftICE on demand. With the exception of
the Visual SoftICE pages, everything you can do on the Workbench you can do
on the VS.NET desktop, using precisely the same toolbars.
And, of course, you can do all that to a remote machine too, through the
Target Selector. Our idea is to make the develop/build/test environment as
comfortable as we possibly can. If there’s something missing, please let me
know !
Alberto.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Gary G. Little
Sent: Friday, July 30, 2004 11:56 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Substitute for HalGetBusData - A BIG question
Yes but, hardware used to be provided by a single vendor. When you purchased
your “computer” it filled up an entire office, required special cooling and
power, and most likely a lot of the software, including the OS, was tailor
made just for you. There was no Egghead or CompUSA that would sell you
“Piecework Payroll 1980”. In a given PC today you could have a collection of
hardware and software from a dozen or more vendors produced to a dozen or
more specifications, some of them ISO, some of them not, some of them “I
wish I had a spec” and some of them “I wish I knew how this works”. The
only CONSTANT in most systems today is the OS.
The day’s of OS’s being written to a single collection of anything is long
gone.
Please … most of us that have been around this industry for any length of
time can get as close to the iron or silicone as we want. I can tip toe
through any part of the software in any of my systems anytime I want, and do
exactly that, consistently, when I’m solving a problem. But I do that to
figure out how I should do it properly within the OS so my company can
shrink wrap it and sell a million copies of it. Writing code to the iron as
you put it, means I could only sell those million shrink wrap boxes to the
10,000 that were stupid enough to buy the out of date XYZ widget that I was
using to develop code.
And cleanup around your own door step. Do you have any idea how difficult it
is to use Roddy’s DDKBUILD in VS NET if you use the DriverWorks wizard to
build the driver project? The DriverStudio interface in VS .NET 2003 SUCKS,
big time. Besides that, I had a requirement to use DDKBUILD to stay
consistent with the rest of my team. Talk about hypocrisy. ![:slight_smile: :slight_smile:](/images/emoji/twitter/slight_smile.png?v=12)
–
Gary G. Little
Seagate Technologies, LLC
“Moreira, Alberto” < xxxxx@compuware.com
mailto:xxxxx > wrote in message news:xxxxx@ntdev
news:xxxxx …
It used to be that OS’s were written to the hardware, not the other way
around. Point being, no OS can cover all the bases required by the hardware,
therefore it may not be a good idea to prevent devs from going down to the
iron when need arises. So, instead of handling I2C, for example, we have to
waste time and energy handling PnP, WDM, ACPI, and what not - when none of
that should be needed.
Alberto.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Mark Roddy
Sent: Friday, July 30, 2004 8:16 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Substitute for HalGetBusData - A BIG question
If the device in question is enumerated off of a PCI bus device, then either
write a PCI function driver or a PCI function filter driver that enumerates
the device (i.e. an I2C bus driver) and then a function driver for the
enumerated device.
If the device in question is just a ‘legacy resource’ then use the existing
facilities for writing non-PnP WDM drivers by listing the resource
requirements in your inf file. See the intel sample IPMI driver. See various
ISA non-PnP drivers.
Your device may be enumerated off of the ACPI space. If so, then write and
ACPI-enumerated function driver.
What you do not need to do is use HalGetBusData.
_____
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Greg Jacklin
Sent: Friday, July 30, 2004 2:08 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Substitute for HalGetBusData - A BIG question
Well, lets say I have a device on the motherboard that is NOT WDM and
windows does NOT magically invite me to accept it as MINE OWN. what else am
i to do but write a driver that lets me probe the hardware and make sure the
device (in this case on the i2c bus) is mine. there is no other way but to
scan the hardware find the device send ACK’s to it and make sure it is
there. Well i guess i could use HalGetBusData for this but I’m told I
shouldn’t… so what is the G#damn alternative other than “just don’t do it
like that because we don’t PERMIT it”… If in the future Microsoft doesn’t
support HalGetBusData then I guess we will all post handy dandy assembly
code on the net… so to those brilliant people out there listen to the
argument… which is … yes we could all do it on linux but we could do
the same on windows… after all they are both x86… but what we reallly
want is a formal way that windows provides so that we don’t have to screw
with everyone else.
----- Original Message -----
From: Maxim S. Shatskih mailto:xxxxx
To: Windows System Software Devs mailto:xxxxx Interest List
Sent: Thursday, July 29, 2004 9:16 AM
Subject: Re: [ntdev] Substitute for HalGetBusData - A BIG question
Windows is a commodity desktop/server OS, not a lab one.
MS seems to deliberately sacrifice extendability to the favour of making
the life of IT departnents and SOHO users simpler.
Use Linux or FreeBSD, and patch the kernel yourself if you want so. I
also expect you to never run the production server with the same patched
kernel.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com mailto:xxxxx
http://www.storagecraft.com http:
----- Original Message -----
From: Moreira, Alberto mailto:xxxxx
To: Windows mailto:xxxxx System Software Devs Interest List
Sent: Thursday, July 29, 2004 7:56 PM
Subject: RE: [ntdev] Substitute for HalGetBusData - A BIG question
One thing is certain, I’m not a spy from Microsoft. I have a view of OS’s
that evolved from the early sixties when I was a rookie, and after having
seen something like Multics, well, it’s all downhill to me. And I take real
exception to people coming to tell me, or others, that “you shouldn’t do
that because it’s Microsoft’s OS and not yours” - anytime anyone brings up
that argument, that someone’s going to hear from me, because that ruffles my
feathers quite the wrong way. Another argument, which irks me intensely, is
the one that says “programming at hardware level is unsafe and shouldn’t be
done” - heck, maybe to many, but not to someone who’s spent at least fifteen
years of his professional life programming in machine code or assembler at
low level, or even wiring prototype boards with wire-wrap and soldering
iron. Again, that kind of arguments hits me the wrong way.
So, did you ever write a production Windows 3.1 or Windows 95 driver in
assembler ? Did you ever write bios code ? If you didn’t, I’m not sure you
know what the expression “device driver” really means. But then, heck,
that’s my personal view - feel free to disagree.
Alberto.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha
Sent: Thursday, July 29, 2004 10:28 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Substitute for HalGetBusData - A BIG question
Alberto,
I do have a burning question, and if it is offensive/rediculous dont answer
!
I always see you comeup with radical idea(s) about what an OS should or
should not do and end up bitching Windows !!! And endup getting bitched !
If I have to guess, the following are my guesses -
1) In the past you recommended ideas those were well taken by OS team and
been incorporated
2) You might be still trying for the OS to become more facilitator
3) You being a professor also, try to correlate with other OS either on the
working or on the market and try to see MS windows also take that direction
4) Any number of other techical efforts …
5) You love to get the list member discharge their stress, as well as yours
6) You love to be listened
7) Any other reason(s) of non-technical nature
8) Finally you are a spy from Microsoft, an extreemly high paid excellent
execution of framing traps. You worked on lot of kernel traps so this would
not surprise me.
And I hope this is not insulting to you or any other tries to get you on
leash. I, for sure, enjoys lot of your thoughts ![:slight_smile: :slight_smile:](/images/emoji/twitter/slight_smile.png?v=12)
-pro
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@hotmail.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@hollistech.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.</mailto:xxxxx></mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></news:xxxxx></mailto:xxxxx>