---------- Forwarded message ---------- From: Elia Yehuda z4ziggy@gmail.com Date: Fri, Nov 7, 2008 at 3:19 AM Subject: Re: [coreboot] fixing i810 onboard vga To: Joseph Smith joe@settoplinux.org
many thanks Joseph!
you sure have found the problem in the code (without even looking... remarkable).
i sure had the "CONFIG_VIDEO_MB=8" to my targets' Config.lb which was being ignored... so i've added the following (elementary) patch to coreboot-v2/src/northbridge/intel/i82810/northbridge.c :
Index: northbridge.c =================================================================== --- northbridge.c (revision 3698) +++ northbridge.c (working copy) @@ -149,6 +149,16 @@ drp_value = drp_value >> 4; // >>= 4; //? mess with later tomk += (unsigned long)(translate_i82810_to_mb[drp_value]);
+#ifdef CONFIG_VIDEO_MB + /* check for VGA reserved memory */ + if (CONFIG_VIDEO_MB == 512) { + /* FIXME: we round up the 1/2mb to 1 */ + tomk -= 1; + } else { + tomk -= CONFIG_VIDEO_MB; + } +#endif + printk_debug("Setting RAM size to %d MB\n", tomk);
/* Convert tomk from MB to KB. */
the boot now works, but still no onboard-vga. ive noticed in pci_rom_probe() the dev->rom_address of the vga pci card is 0 (zero)! although i have the following in the mainboard/manu/type/Config.lb : ... device pci 1.0 on # Onboard video chip drivers/pci/onboard device pci 1.0 on end register "rom_address" = "0xfffc0000" end end ...
this is according to the lspci output from the machine using the original bios : ... 00:01.0 VGA compatible controller: Intel Corporation 82810E DC-133 (CGC) Chipset Graphics Controller (rev 03) ...
so im trying to find out why dev->rom_address is being set to 0. the fallback/static.c shows clearly that the rom address is being set in the proper device structure : ... struct drivers_pci_onboard_config drivers_pci_onboard_info_9 = { .rom_address = 0xfffc0000, }; ...
so any clues on the matter will be appreciated.
Regards, Elia Yehuda.
On Fri, Nov 7, 2008 at 1:08 AM, Joseph Smith joe@settoplinux.org wrote:
On Thu, 6 Nov 2008 20:38:31 +0200, "Elia Yehuda" z4ziggy@gmail.com wrote:
Hey all,
im working at the on the i810, trying to fix the onboard-vga to work.
removing the commented code of the vga-related stuff resulted with the
pci
device to be displayed in the pci list on coreboot, but in a disabled state, and (as promised...) with the boot not executing the payload. complete
log
can be shown here : http://pastebin.com/m20e821eb
a few rough patches to my target and i82810/raminit.c and now the device is shown as enabled and i even get the information about the VGA allocating resources :
Allocating VGA resource PCI: 00:01.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI_DOMAIN: 0000 Setting PCI_BRIDGE_CTL_VGA for bridge Root Device
but the payload still wont execute (it is seems to be loaded though) and ofcourse, no VGA output, only serial, with a dead boot hanging... complete log can be shown here : http://pastebin.com/m248a41ea
I had this problem on the i830. You need to allocate vga memory for the onboard vga (northbridge.c if I remember correctly). The vga memory should be allocated to the TOM. So your total system memory actually equals phisical memory - vga memory. It should be close to the i830, take a look at that and compare it to the i810 datasheet. Hope that helps.
-- Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org