2 Copyright (C) 1998-2024 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
31 port_direction direction
;
34 void set_hw_ports (struct hw
*hw
, const struct hw_port_descriptor ports
[]);
36 typedef void (hw_port_event_method
)
43 void set_hw_port_event (struct hw
*hw
, hw_port_event_method
*to_port_event
);
48 A device drives its output ports using the call
57 /* This port event will then be propagated to any attached
60 Any interpretation of PORT and VALUE is model dependent. As a
61 guideline the following are recommended: PCI interrupts A-D should
62 correspond to ports 0-3; level sensitive interrupts be requested
63 with a value of one and withdrawn with a value of 0; edge sensitive
64 interrupts always have a value of 1, the event its self is treated
70 Attached to each port of a device can be zero or more
71 destinations. These destinations consist of a device/port pair.
72 A destination is attached/detached to a device line using the
73 attach and detach calls. */
80 object_disposition disposition
);
89 /* Iterate over the list of ports attached to a device */
91 typedef void (hw_port_traverse_function
)
100 hw_port_traverse_function
*handler
,
104 /* DESTINATION is attached (detached) to LINE of the device ME
109 Users refer to port numbers symbolically. For instance a device
110 may refer to its `INT' signal which is internally represented by
113 To convert to/from the symbolic and internal representation of a
114 port name/number. The following functions are available. */
118 const char *symbolic_name
,
119 port_direction direction
);
126 port_direction direction
);