2 Copyright (C) 1998, 2007, 2008 Free Software Foundation, Inc.
3 Contributed by Andrew Cagney and Cygnus Solutions.
5 This file is part of GDB, the GNU debugger.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
24 /* Initialize a port */
26 struct hw_port_descriptor
{
30 port_direction direction
;
33 void set_hw_ports (struct hw
*hw
, const struct hw_port_descriptor ports
[]);
35 typedef void (hw_port_event_method
)
42 void set_hw_port_event (struct hw
*hw
, hw_port_event_method
*to_port_event
);
47 A device drives its output ports using the call
56 /* This port event will then be propogated to any attached
59 Any interpretation of PORT and VALUE is model dependant. As a
60 guideline the following are recommended: PCI interrupts A-D should
61 correspond to ports 0-3; level sensative interrupts be requested
62 with a value of one and withdrawn with a value of 0; edge sensative
63 interrupts always have a value of 1, the event its self is treated
69 Attached to each port of a device can be zero or more
70 desitinations. These destinations consist of a device/port pair.
71 A destination is attached/detached to a device line using the
72 attach and detach calls. */
79 object_disposition disposition
);
88 /* Iterate over the list of ports attached to a device */
90 typedef void (hw_port_traverse_function
)
99 hw_port_traverse_function
*handler
,
103 /* DESTINATION is attached (detached) to LINE of the device ME
108 Users refer to port numbers symbolically. For instance a device
109 may refer to its `INT' signal which is internally represented by
112 To convert to/from the symbolic and internal representation of a
113 port name/number. The following functions are available. */
117 const char *symbolic_name
,
118 port_direction direction
);
125 port_direction direction
);