aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-i386/mainboard.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2004-06-28 11:57:31 +0000
committerStefan Reinauer <stepan@openbios.org>2004-06-28 11:57:31 +0000
commit4a3bb76aa85ba720b607152d853bd7e1964a9f6c (patch)
tree0daabca0f3c90d2557bfe9c6d7e01102a6270b8f /src/mainboard/emulation/qemu-i386/mainboard.c
parentbbf16821c000ad347bfd2681bdda383028cc011e (diff)
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
Diffstat (limited to 'src/mainboard/emulation/qemu-i386/mainboard.c')
-rw-r--r--src/mainboard/emulation/qemu-i386/mainboard.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-i386/mainboard.c b/src/mainboard/emulation/qemu-i386/mainboard.c
new file mode 100644
index 0000000000..270e5df9eb
--- /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 ",
+};
+