J
johnbevy
Guest
Hi team,
We are having one PCI and ISA hardwares. We have mapped the physical address using mmMapIOSpace () in PCI driver and able read PCI registers in driver. For reading, ISA registers, we would need to add our ISA address with PCI BAR address. From RW tool, we are able to read ISA registers by adding PCI BAR address.
for example,
PCI BAR address : 0x90400000
ISA address : 0x300
Address for reading ISA : 0x90400300
When we try to read the same from different driver instance (PCI 1 , ISA 1), we are facing issue. In ISA driver, virtual address (which is mapped using PCI BAR address in PCI driver instance) is 0. But the same variable printed proper value in PCI driver.
Also,when we try to map physical address again in ISA address, we are facing BSOD error.
We can't able to pass virtual address from one driver instance to another driver instance.
Also, when we read the PHYSICAL Address and length using WdfCmResourceListGetDescriptor ().Length is 0 only. but we are getting exact PCI BAR address.
Instead of mapping the same physical address again, is there anyway to add some offset with physical address and map again ?
Please provide your inputs
Thanks,
John
Continue reading...
We are having one PCI and ISA hardwares. We have mapped the physical address using mmMapIOSpace () in PCI driver and able read PCI registers in driver. For reading, ISA registers, we would need to add our ISA address with PCI BAR address. From RW tool, we are able to read ISA registers by adding PCI BAR address.
for example,
PCI BAR address : 0x90400000
ISA address : 0x300
Address for reading ISA : 0x90400300
When we try to read the same from different driver instance (PCI 1 , ISA 1), we are facing issue. In ISA driver, virtual address (which is mapped using PCI BAR address in PCI driver instance) is 0. But the same variable printed proper value in PCI driver.
Also,when we try to map physical address again in ISA address, we are facing BSOD error.
We can't able to pass virtual address from one driver instance to another driver instance.
Also, when we read the PHYSICAL Address and length using WdfCmResourceListGetDescriptor ().Length is 0 only. but we are getting exact PCI BAR address.
Instead of mapping the same physical address again, is there anyway to add some offset with physical address and map again ?
Please provide your inputs
Thanks,
John
Continue reading...