Arbitration and Translation, Part 3

This post is the third in a series.  You can see the others here, Part 1 and Part 2. What is an Arbiter? In the NT PnP subsystem, an arbiter is an interface that a bus driver can expose which is able to intelligently assign PnP resources of a single specific type (memory, I/O ports,…

1

Translation and Windows

  Arbitration and Translation, Part 2   Building on yesterday’s post, I’m going to try to explain how Windows copes with machines with strange resource translations.  I’ll use two examples in this post, one related to I/O port resources and one related to interrupts.   Just for convenience, I’ll duplicate the diagram from my last…

0

Arbitration and Translation, Part 1

A while back Jake Oshins answered a question on NTDEV about bus arbitration and afterwards I asked him if he could write a couple of posts about it for the blog. Here is part 1.   History Lesson   In the history of computing, most machines weren’t PCs.  PCs, and the related “industry standard” server…

1

WDK v7.1 is now available

A refresh of the WDK is now available on connect. You can download the v7.1 WDK following the directions on WHDC.  The change list for the WDK can be found here, I copying it here as well: WDK Version 7.1.0 Changes and Issues This section contains information about the changes to the WDK for the…

0

What is IRQL?

Jake Oshins wanted to write about IRQLs and I am gladly letting him use my blog as a platform.  Here it is… I’ve found myself explaining IRQL a lot lately, sometimes to people who want to know because they’re trying to write Windows drivers and sometimes to people who are accustomed to Linux or some…

15

WDFREQUESTs are for sharing in KMDF v1.9

In my last post I described why a WDFREQUEST is unique to a particular WDFDEVICE.  There is one particular programming pattern where this is not the behavior you want.  This pattern is when you have each PDO accepting IO requests which it then forwards on to the parent WDFDEVICE for processing. One great in box…

2

WDFREQUESTs are not for sharing

FYI: this is a bit of a long post, but I wanted to be thorough and illustrative and give some insight into how the framework works and potential design that could have been made, but were not for the sake of simplicity and performance A common misconception a WDFREQUEST handle is the assumption that the…

1

Great WinHEC presentation on device interfaces compared to device clases

[This is a repeat of a post I made to NTDEV, but I wanted to make sure I reached as many people as possible.]   I just read this deck, http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/CON-T615_WH08.pptx, which was presented at WinHEC this past year.  It is by far the best explanation of device interfaces and device classes that I have…

1