Revision f1afe02a hw/pcnet.c
b/hw/pcnet.c | ||
---|---|---|
964 | 964 |
(BCR_SWSTYLE(s) ? 16 : 8 ); |
965 | 965 |
#endif |
966 | 966 |
|
967 |
CHECK_RMD(PHYSADDR(s,crda), bad);
|
|
967 |
CHECK_RMD(crda, bad);
|
|
968 | 968 |
if (!bad) { |
969 |
CHECK_RMD(PHYSADDR(s,nrda), bad);
|
|
969 |
CHECK_RMD(nrda, bad);
|
|
970 | 970 |
if (bad || (nrda == crda)) nrda = 0; |
971 |
CHECK_RMD(PHYSADDR(s,nnrd), bad);
|
|
971 |
CHECK_RMD(nnrd, bad);
|
|
972 | 972 |
if (bad || (nnrd == crda)) nnrd = 0; |
973 | 973 |
|
974 | 974 |
s->csr[28] = crda & 0xffff; |
... | ... | |
980 | 980 |
#ifdef PCNET_DEBUG |
981 | 981 |
if (bad) { |
982 | 982 |
printf("pcnet: BAD RMD RECORDS AFTER 0x" TARGET_FMT_plx "\n", |
983 |
PHYSADDR(s,crda));
|
|
983 |
crda);
|
|
984 | 984 |
} |
985 | 985 |
} else { |
986 | 986 |
printf("pcnet: BAD RMD RDA=0x" TARGET_FMT_plx "\n", |
987 |
PHYSADDR(s,crda));
|
|
987 |
crda);
|
|
988 | 988 |
#endif |
989 | 989 |
} |
990 | 990 |
} |
... | ... | |
1023 | 1023 |
(CSR_XMTRL(s) - CSR_XMTRC(s)) * |
1024 | 1024 |
(BCR_SWSTYLE(s) ? 16 : 8); |
1025 | 1025 |
int bad = 0; |
1026 |
CHECK_TMD(PHYSADDR(s, cxda),bad);
|
|
1026 |
CHECK_TMD(cxda, bad);
|
|
1027 | 1027 |
if (!bad) { |
1028 | 1028 |
if (CSR_CXDA(s) != cxda) { |
1029 | 1029 |
s->csr[60] = s->csr[34]; |
... | ... | |
1034 | 1034 |
s->csr[34] = cxda & 0xffff; |
1035 | 1035 |
s->csr[35] = cxda >> 16; |
1036 | 1036 |
#ifdef PCNET_DEBUG_X |
1037 |
printf("pcnet: BAD TMD XDA=0x%08x\n", PHYSADDR(s,cxda));
|
|
1037 |
printf("pcnet: BAD TMD XDA=0x%08x\n", cxda);
|
|
1038 | 1038 |
#endif |
1039 | 1039 |
} |
1040 | 1040 |
} |
... | ... | |
1107 | 1107 |
nrda = s->rdra + |
1108 | 1108 |
(CSR_RCVRL(s) - rcvrc) * |
1109 | 1109 |
(BCR_SWSTYLE(s) ? 16 : 8 ); |
1110 |
RMDLOAD(&rmd, PHYSADDR(s,nrda));
|
|
1110 |
RMDLOAD(&rmd, nrda);
|
|
1111 | 1111 |
if (GET_FIELD(rmd.status, RMDS, OWN)) { |
1112 | 1112 |
#ifdef PCNET_DEBUG_RMD |
1113 | 1113 |
printf("pcnet - scan buffer: RCVRC=%d PREV_RCVRC=%d\n", |
... | ... | |
1319 | 1319 |
} else |
1320 | 1320 |
if (s->xmit_pos >= 0) { |
1321 | 1321 |
struct pcnet_TMD tmd; |
1322 |
TMDLOAD(&tmd, PHYSADDR(s,xmit_cxda));
|
|
1322 |
TMDLOAD(&tmd, xmit_cxda);
|
|
1323 | 1323 |
SET_FIELD(&tmd.misc, TMDM, BUFF, 1); |
1324 | 1324 |
SET_FIELD(&tmd.misc, TMDM, UFLO, 1); |
1325 | 1325 |
SET_FIELD(&tmd.status, TMDS, ERR, 1); |
1326 | 1326 |
SET_FIELD(&tmd.status, TMDS, OWN, 0); |
1327 |
TMDSTORE(&tmd, PHYSADDR(s,xmit_cxda));
|
|
1327 |
TMDSTORE(&tmd, xmit_cxda);
|
|
1328 | 1328 |
s->csr[0] |= 0x0200; /* set TINT */ |
1329 | 1329 |
if (!CSR_DXSUFLO(s)) { |
1330 | 1330 |
s->csr[0] &= ~0x0010; |
Also available in: Unified diff