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

Home NTDEV

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: https://www.osr.com/osr-learning-library/


Max size of region mapped by MmMapIoSpace?

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hello,

I'm working on some kernel-mode customer code that manages a multi-function
PCI card. The code calls HalTranslateBusAddress to get the base physical
address, then calls MmMapIoSpace to map to a linear region. The problem is
that the size of the region, 1024*1024*128 (0x8000000) is hard-coded in the
software and I get NULL back from MmMapIoSpace. The documentation for
MmMapIoSpace says that it will return NULL if the region is larger than may
be mapped. How can I find out what MmMapIoSpace thinks is the maximum it
can handle? I'm currently loading this driver at "system" startup time to
maximize the chance of finding a large enough region. I have tried loading
at "boot" time as well, but the driver appears to load before SoftIce. At
this point I can't trace what is happening, but it does not appear to load
correctly then, either.

Thanks for any help!

Evan Hillman
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

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!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online
Writing WDF Drivers 22 May 2023 Live, Online