diff options
author | Andrew Cagney <cagney@redhat.com> | 1998-05-25 11:06:29 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1998-05-25 11:06:29 +0000 |
commit | 48f83b1a2e0a034c1b28a72c41c85a27a3a01266 (patch) | |
tree | 9bdce36ba1f7f3df9cbe2081f66aa979ee3f7696 /sim/common/hw-main.h | |
parent | c14db36dbbcef966978f8d8aee0b3670d3243bb0 (diff) | |
download | gdb-48f83b1a2e0a034c1b28a72c41c85a27a3a01266.zip gdb-48f83b1a2e0a034c1b28a72c41c85a27a3a01266.tar.gz gdb-48f83b1a2e0a034c1b28a72c41c85a27a3a01266.tar.bz2 |
Make hw-main.h the main header file for H/W devices. Like sim-main.h
Update dv-*.c
Replace *_callback with more correct. *_method. Update dv-*.c
Diffstat (limited to 'sim/common/hw-main.h')
-rw-r--r-- | sim/common/hw-main.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/sim/common/hw-main.h b/sim/common/hw-main.h new file mode 100644 index 0000000..96b404c --- /dev/null +++ b/sim/common/hw-main.h @@ -0,0 +1,73 @@ +/* Common hardware header file. + Copyright (C) 1998 Free Software Foundation, Inc. + Contributed by Andrew Cagney and 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 HW_MAIN +#define HW_MAIN + +/* establish a type system */ +#include "sim-basics.h" + +/* construct a hw device */ +#include "hw-device.h" +#include "hw-properties.h" +#include "hw-events.h" +#include "hw-alloc.h" +/* #include "hw-instances.h" */ +/* #include "hw-handles.h" */ +#include "hw-ports.h" + +/* Description of a hardware device */ + +typedef void (hw_finish_method) + (struct hw *me); + +struct hw_descriptor { + const char *family; + hw_finish_method *to_finish; +}; + +/* Helper functions to make the implementation of a device easier */ + +/* Go through the devices reg properties and look for those specifying + an address to attach various registers to */ + +void do_hw_attach_regs (struct hw *me); + +/* Perform a polling read on FD returning either the number of bytes + or a hw_io status code that indicates the reason for the read + failure */ + +enum { + HW_IO_EOF = -1, HW_IO_NOT_READY = -2, /* See: IEEE 1275 */ +}; + +typedef int (do_hw_poll_read_method) + (SIM_DESC sd, int, char *, int); + +int do_hw_poll_read +(struct hw *me, + do_hw_poll_read_method *read, + int sim_io_fd, + void *buf, + unsigned size_of_buf); + + +#endif |