[iyonix-support] PCI_RAMAlloc and non-32-bit bus masters
- From: Simon Wilson <ksattic@xxxxxxxxxxx>
- To: <iyonix-support@xxxxxxxxxxxxx>
- Date: Sun, 29 Jul 2007 01:05:00 -0600
Hi all,I have a PCI device (emu10k1/Soundblaster Live!) that is a 31-bit bus
master, i.e. it cannot access memory addresses for DMA that have the MSB set.
Unfortunately, PCI_RAMAlloc always seems to return memory above address
0xc0000000. I tried using OS_FindMemMapEntries to convert the logical address
returned by PCI_RAMAlloc into a physical address, and this gives a much lower
address, but as expected, PCI bus masters cannot access the memory at
location.As a workaround, I considered using memory on the nvidia card (and
Adrian Lees tried this with success), as this has a lower PCI address. However,
is there any way the HAL could be altered to allocate PCI DMA memory using a
mask (i.e. 0xffffff for allocation in the lower 24 bit address range), or at
least to always use lower addresses?Thanks,Simon
_________________________________________________________________
PC Magazine’s 2007 editors’ choice for best web mail—award-winning Windows Live
Hotmail.
http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HMWL_mini_pcmag_0707
Other related posts:
- » [iyonix-support] PCI_RAMAlloc and non-32-bit bus masters