aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-hw.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>1999-04-16 01:35:26 +0000
committerStan Shebs <shebs@codesourcery.com>1999-04-16 01:35:26 +0000
commitc906108c21474dfb4ed285bcc0ac6fe02cd400cc (patch)
treea0015aa5cedc19ccbab307251353a41722a3ae13 /sim/common/sim-hw.h
parentcd946cff9ede3f30935803403f06f6ed30cad136 (diff)
downloadgdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.zip
gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.gz
gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.bz2
Initial creation of sourceware repositorygdb-4_18-branchpoint
Diffstat (limited to 'sim/common/sim-hw.h')
-rw-r--r--sim/common/sim-hw.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/sim/common/sim-hw.h b/sim/common/sim-hw.h
new file mode 100644
index 0000000..1bebd18
--- /dev/null
+++ b/sim/common/sim-hw.h
@@ -0,0 +1,98 @@
+/* Device definitions.
+ Copyright (C) 1998 Free Software Foundation, Inc.
+ Contributed by Cygnus Support.
+
+This file is part of GDB, the GNU debugger.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#ifndef SIM_HW_H
+#define SIM_HW_H
+
+
+/* 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)));
+
+
+/* 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