symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.h
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.h	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,55 @@
+#include "hw/hw.h"
+
+typedef struct QEMUDeviceClass QEMUDeviceClass;
+typedef struct QEMUDevice QEMUDevice;
+
+typedef void (*QDEVCreateFn)(QEMUDevice *);
+
+extern QEMUDeviceClass *cpu_device_class;
+
+extern const void *machine_devtree;
+extern int machine_devtree_size;
+
+typedef struct {
+    target_phys_addr_t base;
+    ram_addr_t size;
+} devtree_ram_region;
+
+extern devtree_ram_region *devtree_ram_map;
+extern int devtree_ram_map_size;
+
+void register_devices(void);
+void cpu_device_register(void);
+void cpu_bootstrap(const char *kernel_filename, const char *kernel_cmdline,
+                   const char *initrd_filename);
+
+int devtree_get_config_int(const char * name, int def);
+
+QEMUDeviceClass *qdev_new(const char *name, QDEVCreateFn create, int nirq);
+void qdev_add_chardev(QEMUDeviceClass *dc);
+void qdev_add_registers(QEMUDeviceClass *dc, CPUReadMemoryFunc **mem_read,
+                        CPUWriteMemoryFunc **mem_write,
+                        target_phys_addr_t mem_size);
+void qdev_add_property_string(QEMUDeviceClass *dc, const char *name,
+                              const char *def);
+void qdev_add_property_int(QEMUDeviceClass *dc, const char *name, int def);
+void qdev_add_savevm(QEMUDeviceClass *dc, int ver,
+                     SaveStateHandler *save_state,
+                     LoadStateHandler *load_state);
+void qdev_add_class_opaque(QEMUDeviceClass *dc, void *opaque);
+
+void qdev_set_irq_level(QEMUDevice *dev, int n, int level);
+void qdev_get_irq(QEMUDevice *dev, int n, qemu_irq *p);
+CharDriverState *qdev_get_chardev(QEMUDevice *dev);
+void qdev_create_interrupts(QEMUDevice *dev, qemu_irq_handler handler, 
+                            void *opaque, int n);
+int qdev_get_property_int(QEMUDevice *dev, const char *name);
+const char *qdev_get_property_string(QEMUDevice *dev, const char *name);
+const char *qdev_get_name(QEMUDevice *dev);
+void *qdev_get_class_opaque(QEMUDevice *dev);
+void qdev_set_opaque(QEMUDevice *dev, void *opaque);
+void qdev_set_region_opaque(QEMUDevice *dev, int n, void *opaque);
+
+#ifdef DEVICE_NAME
+void glue(DEVICE_NAME, _register)(void);
+#endif