[coreboot] how to prevent legacy resource conflict with multiple VGA cards

Scott Duplichan scott at notabs.org
Thu Oct 28 20:31:12 CEST 2010


]On Thu, Oct 28, 2010 at 11:48 AM, Scott Duplichan <scott at notabs.org> wrote:
]> ]> One problem is that the in-box ATI driver for the UMA graphics is
]> ]> unstable.
]> ]Even with the factory BIOS?
]>
]> The reference BIOS works fine, so this is a coreboot problem. I have
]> added missing family 10h code to the coreboot RS780 GFX initialization,
]> and enabled HT3 for the link. I have added missing NP attributes to the
]> frame buffer mapping. But the driver still fails after a few seconds.
]> There is more debugging to do here. This is the most serious remaining
]> Win7 problem I know of for RS780/SB700 boards.
]This sounds like a much higher priority problem than the two video
]cards problem.

Hello Myles,

Yes, this is certainly a Win7 shop-stopper for AMD RS780 (or RS880)
systems. The Win7 generic vga driver works. But there is a catch.
I know of no way to use this driver for Win7 setup. Once setup is
complete, safe mode can be used to enable the generic vga driver.
But as it stands now, adding a video card is the only way I am able
to get through Win7 setup.


]As a way to work-around it, maybe you should just use
]Marc's suggestion and disable the UMA device in the devicetree.

I don't really need a work-around at all. Even though there is a
conflict, the PCI graphics card works OK.

]I wonder what the driver expects.  Is it looking for the memory
]allocation at fixed locations?  Do you have a register dump for the
]ATI device with coreboot and the factory BIOS before an OS takes over?

I was thinking of comparing register dumps. I need to write some dump
code. ATI has several indirect spaces. A different approach I have used
is to figure out what GFX initialization steps are non-essential for 
basic operation by stripping down the reference BIOS. That way I can 
limit the amount of coreboot code to check. I don't think a signed
Win7 driver could be looking at anything at a fixed location. The
frame buffer can be above or below 4GB. I noticed the current cimx code
leaves the debug bar enabled, so I did the same. I fixed a problem where
coreboot leaves a temporary PCIe bar enabled. There must be a pretty 
basic problem remaining because the driver fails after a few seconds.
Win7 reports that a kernel mode thread has spent too long in the ATI
driver code.

]Thanks,
]Myles





More information about the coreboot mailing list