Subject: Re: port-cats/18026 cats fails to dump kernel core
To: Robert Swindells <rjs@fdy2.demon.co.uk>
From: Chris Gilbert <chris@dokein.co.uk>
List: port-cats
Date: 08/29/2007 09:20:49
Robert Swindells wrote:
> Chris Gilbert wrote:
>> Chris Gilbert wrote:
>>> Hi,
>>>
>>> Just thought I'd let people know I've managed to dig into this one a bit.
>>>
>>> The issue looks to be related to the memory map in some way.  When doing
>>> the memory dump cats use DMA to do the transfers, having enabled dma
>>> debugging and some pciide debugging, it seems that the hang probably
>>> isn't a bug in the dma code, but something else.
>>>
>>> Basically when the code attempts to dump the memory page at 0xB8000 the
>>> system hangs.   It doesn't matter how big the DMAs are, if it's the
>>> first page that we attempted to dump, it always hangs.
>>>
>>> Searching google seems to show that 0xb8000 is a common address for vga
>>> on x86.  I'm wondering if the M1543 chip has decided that address is
>>> special (as it's a x86 southbridge) and gets itself confused, and hangs
>>> the system.
> 
>> Having done more digging into this issue, the range of effected
>> addresses is 0xb8000-0xc0000.  Searching this is a common vga range.
> 
>> My best guess as to the cause of the hangs is that the vga card has
>> decided to respond to those addresses on the pci bus, and so the IDE DMA
>> gets confused.
> 
> [snip]
> 
> I wonder whether this is caused by the video BIOS code being called by
> the boot firmware.

That could well be the most likely cause, as I'd guess on a PC the Video
 sets up home at those addresses.  However we need the bios to run to
get the gfx card to work.

Given no-ones said don't do it, I'll probably commit the change this
evening.

Thanks,
Chris