]> git.proxmox.com Git - mirror_qemu.git/blobdiff - vl.h
SHIX board emulation (Samuel Tardieu)
[mirror_qemu.git] / vl.h
diff --git a/vl.h b/vl.h
index fdf8c6867eb54073f164e5315f2fc92a8b9b20fc..8b935a962b8bb60174f33e9ddd0cd62eebdd1285 100644 (file)
--- a/vl.h
+++ b/vl.h
@@ -842,6 +842,9 @@ extern QEMUMachine heathrow_machine;
 /* mips_r4k.c */
 extern QEMUMachine mips_machine;
 
+/* shix.c */
+extern QEMUMachine shix_machine;
+
 #ifdef TARGET_PPC
 ppc_tb_t *cpu_ppc_tb_init (CPUState *env, uint32_t freq);
 #endif
@@ -1016,6 +1019,28 @@ void *pl190_init(uint32_t base, void *parent, int irq, int fiq);
 void sp804_init(uint32_t base, void *pic, int irq);
 void icp_pit_init(uint32_t base, void *pic, int irq);
 
+/* sh7750.c */
+struct SH7750State;
+
+struct SH7750State *sh7750_init(CPUSH4State * cpu);
+
+typedef struct {
+    /* The callback will be triggered if any of the designated lines change */
+    uint16_t portamask_trigger;
+    uint16_t portbmask_trigger;
+    /* Return 0 if no action was taken */
+    int (*port_change_cb) (uint16_t porta, uint16_t portb,
+                          uint16_t * periph_pdtra,
+                          uint16_t * periph_portdira,
+                          uint16_t * periph_pdtrb,
+                          uint16_t * periph_portdirb);
+} sh7750_io_device;
+
+int sh7750_register_io_device(struct SH7750State *s,
+                             sh7750_io_device * device);
+/* tc58128.c */
+int tc58128_init(struct SH7750State *s, char *zone1, char *zone2);
+
 #endif /* defined(QEMU_TOOL) */
 
 /* monitor.c */