Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:


OSR_Community_UserOSR_Community_User Member Posts: 110,217
[email protected] said:
> Base addresses are assigned by PCI config space code in HAL -
> HalAssignSlotResources function.

No, IRQs and BASE addresses are most certainly set up by the BIOS. If you
set PnP OS=yes, then the BIOS may (often does) skip this mapping and leave
it to the O/S but NT in not famous for getting this right.

If you are not convinced, take a closer look at, say, an older Linux
kernel. You can see from the source that all PCI configuration is taken
from the BIOS, yet devices still get mapped. Newer Linux kernels are
starting to take over this mapping(*), but still a device cannot depend
on this.

(*) Existing BIOSes have proven to be almost as buggy as NT on this score:-)

Steve Williams "The woods are lovely, dark and deep.
[email protected] But I have promises to keep,
[email protected] and lines to code before I sleep, And lines to code before I sleep."
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 7 Dec 2020 LIVE ONLINE
Internals & Software Drivers 25 Jan 2021 LIVE ONLINE
Developing Minifilters 8 March 2021 LIVE ONLINE