panic: Inconsistent DMA transfer state: dmaState = 2 devState = 0
I think the 2 is correct. It's the same device/vendor ID but the BARs
work a little differently to be compatible with legacy IO ranges on PCs.
The chunk of log below makes me believe it's being identified as the
right device, so it's probably be the accesses. I'll compare with Alpha
and see if I can figure it out. Thanks!
Gabe
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:04.0
PIIX4: chipset revision 0
PIIX4: 100% native mode on irq 14
ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:DMA, hdd:DMA
hda: M5 IDE Disk, ATA DISK drive
hdb: M5 IDE Disk, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Ali Saidi wrote:
> It's a panic that is supposed to check that the state machine in
> operating correctly. To start a dma transfer the device is supposed to
> be in Transfer_Data_Dma (which some device access writes put in in)
> and the dmaState is supposed to be in Dma_Transfer (as opposed to some
> other phase of the DMA). Which one is incorrect in the panic?
>
> Are you identifying the device (PCI device/vendor IDs) exactly as we
> do for Alpha (it ends up being a Intel PIIX IDE controller or
> something). If you're not you might be stumbling on some un-
> implemented feature. If you are, then I would guess that it's
> something to do with I/O writes not getting to the device correctly
> (either order or just disappearing). You can boot the Alpha version
> with DPRINTFs and see the correct sequence of commands and then
> compare that to the DMA that dies for some more insight.
>
> Ali
>
>
>
> On Apr 8, 2009, at 5:46 PM, Steve Reinhardt wrote:
>
>
>> I don't know much about IDE either, but it may have more to do with
>> DMA in general than with IDE specifically. What is the specific
>> panic that you're getting (i.e., the actual output)?
>>
>> Steve
>>
>> On Wed, Apr 8, 2009 at 1:36 AM, Gabe Black <[email protected]>
>> wrote:
>> Anybody? The ATA spec I have is -really- long and I'm not feeling
>> ambitious enough to read it :). I don't know if this would be
>> covered in
>> there anyway.
>>
>> Gabe
>>
>> Gabe Black wrote:
>>
>>> I have an SMP kernel booting and running the init process, but
>>>
>> I'm
>>
>>> getting the following panic from the IDE disk on line 321 in
>>> dev/ide_disk.cc:
>>>
>>> void
>>> IdeDisk::doDmaTransfer()
>>> {
>>> if (dmaState != Dma_Transfer || devState != Transfer_Data_Dma)
>>> panic("Inconsistent DMA transfer state: dmaState = %d
>>>
>> devState =
>>
>>> %d\n",
>>> dmaState, devState);
>>>
>>>
>>> I'm not familiar with the details of IDE. Could someone please
>>>
>> give me a
>>
>>> 30 second explanation of what this is checking?
>>>
>>> Gabe
>>> _______________________________________________
>>> m5-dev mailing list
>>> [email protected]
>>> http://m5sim.org/mailman/listinfo/m5-dev
>>>
>>>
>> _______________________________________________
>> m5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/listinfo/m5-dev
>>
>> _______________________________________________
>> m5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/listinfo/m5-dev
>>
>
> _______________________________________________
> m5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev