101#define I82586_DEBUG 0
109#define IED_READFRAME 0x10
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) \
287do { 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;
306int i82586_proberam (
struct ie_softc *);
307int 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)
ISR_Handler rtems_isr
Return type for interrupt handler.
Definition: intr.h:52
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Definition: deflate.c:115
Definition: i82586var.h:197