ia64 fixes
[qemu] / vl.h
diff --git a/vl.h b/vl.h
index 5986d50..72381ec 100644 (file)
--- a/vl.h
+++ b/vl.h
@@ -87,8 +87,6 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
 
 void hw_error(const char *fmt, ...);
 
-int get_image_size(const char *filename);
-int load_image(const char *filename, uint8_t *addr);
 extern const char *bios_dir;
 
 void pstrcpy(char *buf, int buf_size, const char *str);
@@ -158,10 +156,11 @@ typedef void QEMUPutKBDEvent(void *opaque, int keycode);
 typedef void QEMUPutMouseEvent(void *opaque, int dx, int dy, int dz, int buttons_state);
 
 void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque);
-void qemu_add_mouse_event_handler(QEMUPutMouseEvent *func, void *opaque);
+void qemu_add_mouse_event_handler(QEMUPutMouseEvent *func, void *opaque, int absolute);
 
 void kbd_put_keycode(int keycode);
 void kbd_mouse_event(int dx, int dy, int dz, int buttons_state);
+int kbd_mouse_is_absolute(void);
 
 /* keysym is a unicode code except for special keys (see QEMU_KEY_xxx
    constants) */
@@ -204,6 +203,14 @@ int qemu_set_fd_handler(int fd,
                         IOHandler *fd_write,
                         void *opaque);
 
+/* Polling handling */
+
+/* return TRUE if no sleep should be done afterwards */
+typedef int PollingFunc(void *opaque);
+
+int qemu_add_polling_cb(PollingFunc *func, void *opaque);
+void qemu_del_polling_cb(PollingFunc *func, void *opaque);
+
 /* character device */
 
 #define CHR_EVENT_BREAK 0 /* serial break char */
@@ -237,6 +244,7 @@ typedef struct CharDriverState {
     int (*chr_ioctl)(struct CharDriverState *s, int cmd, void *arg);
     IOEventHandler *chr_event;
     void (*chr_send_event)(struct CharDriverState *chr, int event);
+    void (*chr_close)(struct CharDriverState *chr);
     void *opaque;
 } CharDriverState;
 
@@ -254,10 +262,19 @@ int qemu_chr_ioctl(CharDriverState *s, int cmd, void *arg);
 typedef struct DisplayState DisplayState;
 typedef struct TextConsole TextConsole;
 
-extern TextConsole *vga_console;
+typedef void (*vga_hw_update_ptr)(void *);
+typedef void (*vga_hw_invalidate_ptr)(void *);
+typedef void (*vga_hw_screen_dump_ptr)(void *, const char *);
 
-TextConsole *graphic_console_init(DisplayState *ds);
-int is_active_console(TextConsole *s);
+TextConsole *graphic_console_init(DisplayState *ds, vga_hw_update_ptr update,
+                                  vga_hw_invalidate_ptr invalidate,
+                                  vga_hw_screen_dump_ptr screen_dump,
+                                  void *opaque);
+void vga_hw_update(void);
+void vga_hw_invalidate(void);
+void vga_hw_screen_dump(const char *filename);
+
+int is_graphic_console(void);
 CharDriverState *text_console_init(DisplayState *ds);
 void console_select(unsigned int index);
 
@@ -315,6 +332,7 @@ void tap_win32_poll(void);
 
 typedef struct NICInfo {
     uint8_t macaddr[6];
+    const char *model;
     VLANState *vlan;
 } NICInfo;
 
@@ -616,6 +634,8 @@ PCIBus *pci_grackle_init(uint32_t base);
 PCIBus *pci_pmac_init(void);
 PCIBus *pci_apb_init(target_ulong special_base, target_ulong mem_base);
 
+void pci_nic_init(PCIBus *bus, NICInfo *nd);
+
 /* openpic.c */
 typedef struct openpic_t openpic_t;
 void openpic_set_irq(void *opaque, int n_IRQ, int level);
@@ -670,9 +690,6 @@ static inline void dpy_resize(DisplayState *s, int w, int h)
 int vga_initialize(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, 
                    unsigned long vga_ram_offset, int vga_ram_size,
                    unsigned long vga_bios_offset, int vga_bios_size);
-void vga_update_display(void);
-void vga_invalidate_display(void);
-void vga_screen_dump(const char *filename);
 
 /* cirrus_vga.c */
 void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, 
@@ -740,6 +757,10 @@ int fdctrl_get_drive_type(fdctrl_t *fdctrl, int drive_num);
 void isa_ne2000_init(int base, int irq, NICInfo *nd);
 void pci_ne2000_init(PCIBus *bus, NICInfo *nd);
 
+/* rtl8139.c */
+
+void pci_rtl8139_init(PCIBus *bus, NICInfo *nd);
+
 /* pckbd.c */
 
 void kbd_init(void);
@@ -837,11 +858,8 @@ uint32_t iommu_translate_local(void *opaque, uint32_t addr);
 void lance_init(NICInfo *nd, int irq, uint32_t leaddr, uint32_t ledaddr);
 
 /* tcx.c */
-void *tcx_init(DisplayState *ds, uint32_t addr, uint8_t *vram_base,
+void tcx_init(DisplayState *ds, uint32_t addr, uint8_t *vram_base,
               unsigned long vram_offset, int vram_size, int width, int height);
-void tcx_update_display(void *opaque);
-void tcx_invalidate_display(void *opaque);
-void tcx_screen_dump(void *opaque, const char *filename);
 
 /* slavio_intctl.c */
 void *slavio_intctl_init();
@@ -851,8 +869,10 @@ void slavio_irq_info(void *opaque);
 void slavio_pic_set_irq(void *opaque, int irq, int level);
 void slavio_pic_set_irq_cpu(void *opaque, int irq, int level, unsigned int cpu);
 
-/* magic-load.c */
-int load_elf(const char *filename, uint8_t *addr);
+/* loader.c */
+int get_image_size(const char *filename);
+int load_image(const char *filename, uint8_t *addr);
+int load_elf(const char *filename, int64_t virt_to_phys_addend);
 int load_aout(const char *filename, uint8_t *addr);
 
 /* slavio_timer.c */
@@ -953,7 +973,11 @@ void do_usb_del(const char *devname);
 void usb_info(void);
 
 /* integratorcp.c */
-extern QEMUMachine integratorcp_machine;
+extern QEMUMachine integratorcp926_machine;
+extern QEMUMachine integratorcp1026_machine;
+
+/* versatilepb.c */
+extern QEMUMachine versatilepb_machine;
 
 /* ps2.c */
 void *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg);
@@ -962,10 +986,30 @@ void ps2_write_mouse(void *, int val);
 void ps2_write_keyboard(void *, int val);
 uint32_t ps2_read_data(void *);
 void ps2_queue(void *, int b);
+void ps2_keyboard_set_translation(void *opaque, int mode);
 
 /* smc91c111.c */
 void smc91c111_init(NICInfo *, uint32_t, void *, int);
 
+/* pl110.c */
+void *pl110_init(DisplayState *ds, uint32_t base, void *pic, int irq, int);
+
+/* pl011.c */
+void pl011_init(uint32_t base, void *pic, int irq, CharDriverState *chr);
+
+/* pl050.c */
+void pl050_init(uint32_t base, void *pic, int irq, int is_mouse);
+
+/* pl080.c */
+void *pl080_init(uint32_t base, void *pic, int irq);
+
+/* pl190.c */
+void *pl190_init(uint32_t base, void *parent, int irq, int fiq);
+
+/* arm-timer.c */
+void sp804_init(uint32_t base, void *pic, int irq);
+void icp_pit_init(uint32_t base, void *pic, int irq);
+
 #endif /* defined(QEMU_TOOL) */
 
 /* monitor.c */