On Tue, Aug 03, 2010 at 11:22:29AM +0200, xdrudis wrote:
> 
> I could try to add code similar to that above to serialICE and see
> what happens.
>

Done. It now boots serialICE once and starts the shell. I haven't downloaded 
qemu, patched it and tested with a coreboot image (or the propietary bios),
but the commands I entered at the shell were answered ok as far as I 
can tell.

Here's the patch against the file Rudolf Marek sent, 
but I'll attach the modified file too.

--- asrock_939a785gmh.c      2010-08-03 12:08:04.000000000 +0200
+++ SerialICE/mainboard/asrock_939a785gmh.c                2010-08-03 
12:02:34.000000000 +0200
@@ -42,6 +42,10 @@
 
 static void chipset_init(void)
 {
+        u32 reg32 = pci_read_config32(PCI_ADDR(0, 0x14, 0, 0x4C));
+        reg32 |= 1 << 31;
+        pci_write_config32(PCI_ADDR(0, 0x14, 0, 0x4C), reg32);
+
 
        /* Enable LPC decoding  */
        pci_write_config8(PCI_ADDR(0, 0x14, 3, 0x44), (1<<6));

/*
 * SerialICE 
 *
 * Copyright (C) 2006 Uwe Hermann <[email protected]>
 * Copyright (C) 2010 Rudolf Marek <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 */

const char boardname[33]="ALL YOUR BASE ARE BELONG TO US! ";

#define SUPERIO_CONFIG_PORT		0x2e

static void superio_init(void)
{
	pnp_enter_ext_func_mode_ite(SUPERIO_CONFIG_PORT);

	/* Disable the watchdog. */
	pnp_set_logical_device(SUPERIO_CONFIG_PORT, 7);
	pnp_write_register(SUPERIO_CONFIG_PORT, 0x72, 0x00);

	/* Enable the serial port. */
	pnp_set_logical_device(SUPERIO_CONFIG_PORT, 1); /* COM1 */
	pnp_set_enable(SUPERIO_CONFIG_PORT, 0);
	pnp_set_iobase0(SUPERIO_CONFIG_PORT, 0x3f8);
	pnp_set_irq0(SUPERIO_CONFIG_PORT, 4);
	pnp_set_enable(SUPERIO_CONFIG_PORT, 1);

	pnp_exit_ext_func_mode_ite(SUPERIO_CONFIG_PORT);
}

static void chipset_init(void)
{
        u32 reg32 = pci_read_config32(PCI_ADDR(0, 0x14, 0, 0x4C));
        reg32 |= 1 << 31;
	pci_write_config32(PCI_ADDR(0, 0x14, 0, 0x4C), reg32);


	/* Enable LPC decoding  */
	pci_write_config8(PCI_ADDR(0, 0x14, 3, 0x44), (1<<6));
	pci_write_config8(PCI_ADDR(0, 0x14, 3, 0x48), (1 << 1) | (1 << 0));

	superio_init();
}
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to