diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:35:26 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:35:26 +0000 |
commit | c906108c21474dfb4ed285bcc0ac6fe02cd400cc (patch) | |
tree | a0015aa5cedc19ccbab307251353a41722a3ae13 /sim/common/hw-main.h | |
parent | cd946cff9ede3f30935803403f06f6ed30cad136 (diff) | |
download | gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.zip gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.gz gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.bz2 |
Initial creation of sourceware repositorygdb-4_18-branchpoint
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..3c086c1 --- /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 |