diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.h --- /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