101 #define I82586_DEBUG 0 105 #define IED_RINT 0x01 106 #define IED_TINT 0x02 109 #define IED_READFRAME 0x10 111 #define IED_XMIT 0x40 115 #define IE_RBUF_SIZE 256 118 #define IE_TBUF_SIZE ETHER_MAX_LEN 120 #define IE_MAXMCAST (IE_TBUF_SIZE/6) 132 #define I82586_INTS_REQ 0 133 #define I82586_INTS_IN 1 134 #define I82586_INTS_LOOPS 2 135 #define I82586_INTS_OUT 3 136 #define I82586_RX_INT 4 137 #define I82586_RX_DROP 5 138 #define I82586_RX_ERR 6 139 #define I82586_RX_OK 7 140 #define I82586_RX_START 8 141 #define I82586_START_TX 9 142 #define I82586_TX_START 10 143 #define I82586_TX_INT 11 144 #define I82586_TX_REQ 12 145 #define I82586_TX_EVT 13 146 #define I82586_TX_EMIT 14 147 #define I82586_TX_BAD 15 148 #define I82586_TX_ACTIVE 16 149 #define I82586_TRACE_CNT 17 151 #define I82586_TRACE_FLOW (10000) 199 struct arpcom arpcom;
215 void (*hwreset) (
struct ie_softc *, int);
217 void (*chan_attn) (
struct ie_softc *, int);
218 int (*intrhook) (
struct ie_softc *,
int where);
220 void (*memcopyin) (
struct ie_softc *,
void *, int, size_t);
221 void (*memcopyout) (
struct ie_softc *,
const void *,
223 u_int16_t (*ie_bus_read16) (
struct ie_softc *,
int offset);
224 void (*ie_bus_write16) (
struct ie_softc *,
int offset,
226 void (*ie_bus_write24) (
struct ie_softc *,
int offset,
228 void (*ie_bus_barrier) (
struct ie_softc *,
int offset,
229 int length,
int flags);
232 int (*sc_mediachange) (
struct ie_softc *);
234 void (*sc_mediastatus) (
struct ie_softc *,
struct ifmediareq *);
257 #define IE_RBUF_ADDR(sc, i) (sc->rbufs + ((i) * IE_RBUF_SIZE)) 268 #define IE_XBUF_ADDR(sc, i) (sc->xbufs + ((i) * IE_TBUF_SIZE)) 277 int mcast_addrs_size;
282 int async_cmd_inprogress;
286 #define I82586_TRACE(s, e, d) \ 287 do { rtems_interrupt_level level; rtems_interrupt_disable (level); \ 288 (s)->trace_flow[(s)->trace_flow_in++] = (e); \ 289 (s)->trace_flow[(s)->trace_flow_in++] = (unsigned int)(d); \ 290 if ((s)->trace_flow_in >= I82586_TRACE_FLOW) { \ 291 (s)->trace_flow_in = 0; \ 292 (s)->trace_flow_wrap = 1; \ 294 rtems_interrupt_enable (level); \ 298 unsigned int trace_flow[I82586_TRACE_FLOW * 2];
299 unsigned int trace_flow_wrap;
301 unsigned int trace_flow_in;
306 int i82586_proberam (
struct ie_softc *);
307 int i82586_attach (
struct rtems_bsdnet_ifconfig *
config,
int attaching);
310 #define xIE_BUS_BARRIER(sc, offset, length, flags) \ 312 if ((sc)->ie_bus_barrier) \ 313 ((sc)->ie_bus_barrier)((sc), (offset), (length), (flags));\ 315 bus_space_barrier((sc)->bt, (sc)->bh, (offset), (length), \ 319 #define IE_BUS_BARRIER(sc, offset, length, flags) Definition: deflate.c:115
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
ISR_Handler rtems_isr
Return type for interrupt handler.
Definition: intr.h:52
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Definition: i82586var.h:198