[LinuxBIOS] r2725 - in trunk/LinuxBIOSv2/src: mainboard/asus/mew-vm northbridge/intel/i82810

svn at openbios.org svn at openbios.org
Tue Jun 19 09:33:39 CEST 2007

Author: uwe
Date: 2007-06-19 09:33:39 +0200 (Tue, 19 Jun 2007)
New Revision: 2725

This patch fixes up a couple mistakes I made with the i82810 and mew-vw to make
the system boot to a command line.

This patch comments out the code to set up the vga framebuffer to allow
the system to boot, without this fix the system hangs during elfboot.

The only line that is absolutely necessary to change is the SMRAM setup,
however I've commented out all vga setup to make it very obvious to both
the kernel/payload and anyone looking at the code that vga isn't
currently working. This setup might also be better handled in
northbridge.c, if it doesn't need to be done before ram init, yet
another reason to comment it all. In the future, LinuxBIOS needs to be
told that the graphics memory area, 1mb or 512kb (at the user or
developer's option), is reserved for the onchip vga, but I'm not sure if
it's taken at the top or bottom of the memory, yet. LB may also need to
set a base address for the AGP aperture and/or be told that range is
reserved as well, whether this was originally the job of the system bios
or vga bios is still a mystery. It also corrects the number of entries
in irq_tables.c, without this fix the kernel would probably complain and
hang due to unmapped IRQs.

Signed-off-by: Corey Osgood <corey.osgood at gmail.com>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>

Modified: trunk/LinuxBIOSv2/src/mainboard/asus/mew-vm/Options.lb
--- trunk/LinuxBIOSv2/src/mainboard/asus/mew-vm/Options.lb	2007-06-14 21:45:21 UTC (rev 2724)
+++ trunk/LinuxBIOSv2/src/mainboard/asus/mew-vm/Options.lb	2007-06-19 07:33:39 UTC (rev 2725)
@@ -67,7 +67,7 @@
 ## Build code to export a programmable irq routing table
 default HAVE_PIRQ_TABLE = 1
-default IRQ_SLOT_COUNT = 4
+default IRQ_SLOT_COUNT = 11
 ## Build code to export a CMOS option table

Modified: trunk/LinuxBIOSv2/src/northbridge/intel/i82810/raminit.c
--- trunk/LinuxBIOSv2/src/northbridge/intel/i82810/raminit.c	2007-06-14 21:45:21 UTC (rev 2724)
+++ trunk/LinuxBIOSv2/src/northbridge/intel/i82810/raminit.c	2007-06-19 07:33:39 UTC (rev 2725)
@@ -69,7 +69,6 @@
 static void do_ram_command(const struct mem_controller *ctrl, uint32_t command,
 			   uint32_t addr_offset, uint32_t row_offset)
-	int i;
 	uint8_t reg;
 	/* TODO: Support for multiple DIMMs. */
@@ -242,22 +241,25 @@
 	/* Ideally, this should be R/W for as many ranges as possible. */
-	pci_write_config8(ctrl->d0, PAM, 0x00);
+	pci_write_config8(ctrl->d0, PAM, 0xff);
+	/* Enabling the VGA Framebuffer currently screws up the rest of the boot.
+	 * Disable for now */
 	/* Enable 1MB framebuffer. */
-	pci_write_config8(ctrl->d0, SMRAM, 0xC0);
+	//pci_write_config8(ctrl->d0, SMRAM, 0xC0);
-	val = pci_read_config16(ctrl->d0, MISSC);
+	//val = pci_read_config16(ctrl->d0, MISSC);
 	/* Preserve reserved bits. */
-	val &= 0xff06;
+	//val &= 0xff06;
 	/* Set graphics cache window to 32MB, no power throttling. */
-	val |= 0x0001;
-	pci_write_config16(ctrl->d0, MISSC, val);
+	//val |= 0x0001;
+	//pci_write_config16(ctrl->d0, MISSC, val);
-	val = pci_read_config8(ctrl->d0, MISSC2);
+	//val = pci_read_config8(ctrl->d0, MISSC2);
 	/* Enable graphics palettes and clock gating (not optional!) */
-	val |= 0x06;
-	pci_write_config8(ctrl->d0, MISSC2, val);
+	//val |= 0x06;
+	//pci_write_config8(ctrl->d0, MISSC2, val);

More information about the coreboot mailing list