Hello all,

I am a new device driver developer and hope that someone can help on
the memory mapped io register. I am working on a new chipset which is
recently supporting memory mapped io space feature. For earlier
chipset, this feature was not available.

To bad to say that my team members have not experienced in memory
mapped io register. Therefore, we are not sure when to use memory
mapped io register or read the io register from the pci config space
instead. If someone can give some advices, that will be great.

Thank you.

HS

Re: When to use memory mapped io register? by adidas

adidas
Tue Apr 04 14:04:48 CDT 2006

> I am a new device driver developer and hope that someone can help on
> the memory mapped io register. I am working on a new chipset which is
> recently supporting memory mapped io space feature. For earlier
> chipset, this feature was not available.
>
> To bad to say that my team members have not experienced in memory
> mapped io register. Therefore, we are not sure when to use memory
> mapped io register or read the io register from the pci config space
> instead. If someone can give some advices, that will be great.


on window 2000 or later, it should be in its IRP_MN_START_DEVICE request.
otherwise you should use HalGetBusData and HalGetBusDataByOffset.





Re: When to use memory mapped io register? by hsphuah

hsphuah
Tue Apr 04 01:13:39 CDT 2006

Thank adidas. Unfortunately, you had misunderstood my question. My
question is when to use the memory map io register. Your answer is how
to use the memory mapped io register.

Anyway, thank you for your help.


Re: When to use memory mapped io register? by Mark

Mark
Tue Apr 04 06:36:18 CDT 2006

On 3 Apr 2006 23:13:39 -0700, hsphuah@usa.com wrote:

>Thank adidas. Unfortunately, you had misunderstood my question. My
>question is when to use the memory map io register. Your answer is how
>to use the memory mapped io register.
>
>Anyway, thank you for your help.


Your original question was unclear. You seemed to be asking about
using the BAR address space (either IO or Memory) of your PCI device
rather than your PCI device config space. However the answer to that
question is really 'never use config space' so I didn't answer it as
the question didn't make sense to me.

PCI device design must put 'normal' non configuration interfaces for
device functions in the registers addressed through the BAR assigned
to the device. That is a fundamental requirement. Config space is
reserved for platform OS directed configuration operations.


=====================
Mark Roddy DDK MVP
Windows Vista/2003/XP/2000 Consulting
Device and Filesystem Drivers
Hollis Technology Solutions 603-321-1032
www.hollistech.com

Re: When to use memory mapped io register? by Maxim

Maxim
Wed Apr 05 16:03:27 CDT 2006

> question is when to use the memory map io register

Always as a mainstream access method. The IO-mapped registers are long ago
obsolete, and the config space is slow.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com