commit initial qemu support (see http://fabrice.bellard.free.fr/qemu/)


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1610 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/mainboard/emulation/qemu-i386/mainboard.c b/src/mainboard/emulation/qemu-i386/mainboard.c
new file mode 100644
index 0000000..270e5df
--- /dev/null
+++ b/src/mainboard/emulation/qemu-i386/mainboard.c
@@ -0,0 +1,49 @@
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <device/pci_ops.h>
+
+#include <arch/io.h>
+#include <device/chip.h>
+#include "chip.h"
+
+void cpufixup(unsigned long mem)
+{
+	printk_spew("Welcome to LinuxBIOS CPU fixup. done.\n");
+}
+
+static int mainboard_scan_bus(device_t root, int maxbus) 
+{
+	int retval;
+	printk_spew("%s: root %p maxbus %d\n", __FUNCTION__, root, maxbus);
+	retval = pci_scan_bus(root->bus, 0, 0xff, maxbus);
+	printk_spew("DONE %s: return %d\n", __FUNCTION__, maxbus);
+	return maxbus;
+}
+
+static struct device_operations mainboard_operations = {
+	.read_resources   = root_dev_read_resources,
+	.set_resources    = root_dev_set_resources,
+	.enable_resources = enable_childrens_resources,
+	.init             = 0,
+	.scan_bus         = mainboard_scan_bus,
+	.enable           = 0,
+};
+
+static void enumerate(struct chip *chip)
+{
+	struct chip *child;
+	dev_root.ops = &mainboard_operations;
+	chip->dev = &dev_root;
+	chip->bus = 0;
+	for(child = chip->children; child; child = child->next) {
+		child->bus = &dev_root.link[0];
+	}
+}
+
+struct chip_control mainboard_emulation_qemu_i386_control = {
+	.enumerate = enumerate, 
+	.name      = "qemu mainboard ",
+};
+