This commit was manufactured by cvs2svn to create branch
[external/binutils.git] / sim / common / sim-hw.h
index 0f69d23..1bebd18 100644 (file)
@@ -21,13 +21,78 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef SIM_HW_H
 #define SIM_HW_H
 
-void sim_hw_parse
-(SIM_DESC sd,
+
+/* Establish this object */
+
+SIM_RC sim_hw_install
+(struct sim_state *sd);
+
+
+/* Parse a hardware definition */
+
+struct hw *sim_hw_parse
+(struct sim_state *sd,
  const char *fmt,
  ...) __attribute__ ((format (printf, 2, 3)));
 
 
-EXTERN_SIM_CORE\
-(SIM_RC) sim_hw_install (SIM_DESC sd);
+/* Print the hardware tree */
+
+void sim_hw_print
+(struct sim_state *sd,
+ void (*print) (struct sim_state *, const char *, va_list ap));
+
+
+/* Abort the simulation specifying HW as the reason */
+
+void sim_hw_abort
+(SIM_DESC sd,
+ struct hw *hw,
+ const char *fmt,
+ ...) __attribute__ ((format (printf, 3, 4)));
+
+
+
+/* CPU: The simulation is running and the current CPU/CIA
+   initiates a data transfer. */
+
+void sim_cpu_hw_io_read_buffer
+(sim_cpu *cpu,
+ sim_cia cia,
+ struct hw *hw,
+ void *dest,
+ int space,
+ unsigned_word addr,
+ unsigned nr_bytes);
+
+void sim_cpu_hw_io_write_buffer
+(sim_cpu *cpu,
+ sim_cia cia,
+ struct hw *hw,
+ const void *source,
+ int space,
+ unsigned_word addr,
+ unsigned nr_bytes);
+
+
+
+/* SYSTEM: A data transfer is being initiated by the system. */
+
+unsigned sim_hw_io_read_buffer
+(struct sim_state *sd,
+ struct hw *hw,
+ void *dest,
+ int space,
+ unsigned_word addr,
+ unsigned nr_bytes);
+
+unsigned sim_hw_io_write_buffer
+(struct sim_state *sd,
+ struct hw *hw,
+ const void *source,
+ int space,
+ unsigned_word addr,
+ unsigned nr_bytes);
+
 
 #endif