Overlap in PCI memory ranges

Coleman Kane cokane at FreeBSD.org
Thu Dec 6 19:43:54 PST 2007


Gary Corcoran wrote:
> Coleman Kane wrote:
>> Hello all,
>>
>> I've got a problem with overlapping PCI memory ranges between my SATA
>> controller and my High-Def Audio controller:
>>
>> atapci1: <ATI IXP600 UDMA133 controller> port
>> 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device 20.1
>> on pci0
>> pcm0: <ATI SB600 High Definition Audio Controller> mem
>> 0xd0608000-0xd060bfff irq 16 at device 20.2 on pci0
>
> Sorry, I couldn't help you even if I saw the problem, but I can't see any
> overlap in the above.  I see a bunch of relatively low addresses, and one
> high memory address range.  Where's the conflict ??
>
> Gary
>
>> I am curious if anybody knows of any way to overwrite the boot-up memory
>> range in the PCI configuration. I have tried:
>> pciconf -w pci0:0:20:2 16 0xd0614004
>>
>> after inpecting that the above PCI reg's value before this is
>> 0xd0608004. It seems that if I try writing the config register to
>> anything between d0608000 and d0614000, the register gets reverted back
>> to 0xd0608004. If I go higher than 0xd0614004, then it gets reverted to
>> that number.
>>
>> I am not very familiar with PCI configuration (or other facilities
>> FreeBSD uses to assign resources to PCI devices), so I'd like to know if
>> anybody can help me sort this problem out which is preventing AHCI and
>> HDA-Audio from working...
>>
>> -- 
>> Coleman Kane
>
My apologies. The lines *should* read (mem ranges overlap):

atapci0: <ATI IXP600 SATA300 controller> port
0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f
mem 0xd0609000-0xd06093ff irq 16 at device 18.0 on pci0
.....
pcm0: <ATI SB600 High Definition Audio Controller> mem
0xd0608000-0xd060bfff irq 16 at device 20.2 on pci0


--
Coleman Kane


More information about the freebsd-hackers mailing list