Subject: Re: port-cats/18026 cats fails to dump kernel core
To: Robert Swindells <email@example.com>
From: Chris Gilbert <firstname.lastname@example.org>
Date: 08/29/2007 09:20:49
Robert Swindells wrote:
> Chris Gilbert wrote:
>> Chris Gilbert wrote:
>>> 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.
> 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