summaryrefslogtreecommitdiff
path: root/vl.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-04-27 21:32:09 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-04-27 21:32:09 +0000
commit27c7ca7e7750063f6e83e4d126bbd4de2d83f79e (patch)
tree39df4cddd799e11c9a527f529855c89f072b1d8c /vl.h
parentfdf9b3e831e8e6b5ceb2a44c742da7d1ab558242 (diff)
downloadqemu-27c7ca7e7750063f6e83e4d126bbd4de2d83f79e.tar.gz
SHIX board emulation (Samuel Tardieu)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1862 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.h')
-rw-r--r--vl.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/vl.h b/vl.h
index fdf8c6867e..8b935a962b 100644
--- 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 */