Revision e3f5ec2b hw/pcnet.c
b/hw/pcnet.c | ||
---|---|---|
1062 | 1062 |
return !!(CSR_CXST(s) & 0x8000); |
1063 | 1063 |
} |
1064 | 1064 |
|
1065 |
static int pcnet_can_receive(void *opaque)
|
|
1065 |
static int pcnet_can_receive(VLANClientState *vc)
|
|
1066 | 1066 |
{ |
1067 |
PCNetState *s = opaque; |
|
1067 |
PCNetState *s = vc->opaque;
|
|
1068 | 1068 |
if (CSR_STOP(s) || CSR_SPND(s)) |
1069 | 1069 |
return 0; |
1070 | 1070 |
|
... | ... | |
1076 | 1076 |
|
1077 | 1077 |
#define MIN_BUF_SIZE 60 |
1078 | 1078 |
|
1079 |
static void pcnet_receive(void *opaque, const uint8_t *buf, size_t size)
|
|
1079 |
static void pcnet_receive(VLANClientState *vc, const uint8_t *buf, size_t size)
|
|
1080 | 1080 |
{ |
1081 |
PCNetState *s = opaque; |
|
1081 |
PCNetState *s = vc->opaque;
|
|
1082 | 1082 |
int is_padr = 0, is_bcast = 0, is_ladr = 0; |
1083 | 1083 |
uint8_t buf1[60]; |
1084 | 1084 |
int remaining; |
... | ... | |
1302 | 1302 |
if (BCR_SWSTYLE(s) == 1) |
1303 | 1303 |
add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS); |
1304 | 1304 |
s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC; |
1305 |
pcnet_receive(s, s->buffer, s->xmit_pos); |
|
1305 |
pcnet_receive(s->vc, s->buffer, s->xmit_pos);
|
|
1306 | 1306 |
s->looptest = 0; |
1307 | 1307 |
} else |
1308 | 1308 |
if (s->vc) |
Also available in: Unified diff