Lines Matching defs:rmd

756 DECLINLINE(int) pcnetRmdLoad(PPCNETSTATE pThis, RMD *rmd, RTGCPHYS32 addr, bool fRetIfNotOwn)
768 ((uint32_t *)rmd)[0] = (uint32_t)rda[0] | ((rda[1] & 0x00ff) << 16);
769 ((uint32_t *)rmd)[1] = (uint32_t)rda[2] | ((rda[1] & 0xff00) << 16);
770 ((uint32_t *)rmd)[2] = (uint32_t)rda[3];
771 ((uint32_t *)rmd)[3] = 0;
778 PDMDevHlpPhysRead(pDevIns, addr, (void*)rmd, 16);
787 ((uint32_t *)rmd)[0] = rda[2];
788 ((uint32_t *)rmd)[1] = rda[1];
789 ((uint32_t *)rmd)[2] = rda[0];
790 ((uint32_t *)rmd)[3] = rda[3];
794 if (rmd->rmd1.own == 1 && !(ownbyte & 0x80))
798 rmd->rmd1.own = 0;
800 return !!rmd->rmd1.own;
808 DECLINLINE(void) pcnetRmdStorePassHost(PPCNETSTATE pThis, RMD *rmd, RTGCPHYS32 addr)
814 rda[0] = ((uint32_t *)rmd)[0] & 0xffff;
815 rda[1] = ((((uint32_t *)rmd)[0]>>16) & 0xff) | ((((uint32_t *)rmd)[1]>>16) & 0xff00);
816 rda[2] = ((uint32_t *)rmd)[1] & 0xffff;
817 rda[3] = ((uint32_t *)rmd)[2] & 0xffff;
825 ((uint32_t*)rmd)[1] |= 0x80000000;
826 PDMDevHlpPCIPhysWrite(pDevIns, addr, (void*)rmd, 16);
827 ((uint32_t*)rmd)[1] &= ~0x80000000;
828 PDMDevHlpPCIPhysWrite(pDevIns, addr+7, (uint8_t*)rmd + 7, 1);
833 rda[0] = ((uint32_t *)rmd)[2];
834 rda[1] = ((uint32_t *)rmd)[1];
835 rda[2] = ((uint32_t *)rmd)[0];
836 rda[3] = ((uint32_t *)rmd)[3];
864 #define IS_RMD_BAD(rmd) ((rmd).rmd1.ones != 15 || (rmd).rmd2.zeros != 0)
1477 RMD rmd;
1482 if (pcnetRmdLoad(pThis, &rmd, rdaddr, false))
1484 uint32_t cbBuf = 4096U-rmd.rmd1.bcnt;
1592 RMD rmd;
1604 if (!pcnetRmdLoad(pThis, &rmd, PHYSADDR(pThis, addr), true))
1609 if (RT_LIKELY(!IS_RMD_BAD(rmd)))
1612 CSR_CRBA(pThis) = rmd.rmd0.rbadr; /* Receive Buffer Address */
1613 CSR_CRBC(pThis) = rmd.rmd1.bcnt; /* Receive Byte Count */
1614 CSR_CRST(pThis) = ((uint32_t *)&rmd)[1] >> 16; /* Receive Status */
1648 if (!pcnetRmdLoad(pThis, &rmd, PHYSADDR(pThis, addr), true))
1653 if (RT_LIKELY(!IS_RMD_BAD(rmd)))
1656 CSR_NRBA(pThis) = rmd.rmd0.rbadr; /* Receive Buffer Address */
1657 CSR_NRBC(pThis) = rmd.rmd1.bcnt; /* Receive Byte Count */
1658 CSR_NRST(pThis) = ((uint32_t *)&rmd)[1] >> 16; /* Receive Status */
1832 RMD rmd;
1833 pcnetRmdLoad(pThis, &rmd, PHYSADDR(pThis, GCPhys), false);
1834 LogRel((" %#010x\n", rmd.rmd1));
1845 RMD rmd, next_rmd;
1870 pcnetRmdLoad(pThis, &rmd, PHYSADDR(pThis, crda), false);
1872 rmd.rmd1.stp = 1;
1874 size_t cbBuf = RT_MIN(4096 - (size_t)rmd.rmd1.bcnt, cbToRecv);
1875 RTGCPHYS32 rbadr = PHYSADDR(pThis, rmd.rmd0.rbadr);
1925 pcnetRmdStorePassHost(pThis, &rmd, PHYSADDR(pThis, crda));
1929 rmd = next_rmd;
1931 cbBuf = RT_MIN(4096 - (size_t)rmd.rmd1.bcnt, cbToRecv);
1932 RTGCPHYS32 rbadr2 = PHYSADDR(pThis, rmd.rmd0.rbadr);
1963 rmd.rmd1.enp = 1;
1964 rmd.rmd1.pam = !CSR_PROM(pThis) && is_padr;
1965 rmd.rmd1.lafm = !CSR_PROM(pThis) && is_ladr;
1966 rmd.rmd1.bam = !CSR_PROM(pThis) && is_bcast;
1967 rmd.rmd2.mcnt = cbPacket;
1974 rmd.rmd1.oflo = 1;
1975 rmd.rmd1.buff = 1;
1976 rmd.rmd1.err = 1;
1980 pcnetRmdStorePassHost(pThis, &rmd, PHYSADDR(pThis, crda));
1987 PRINT_RMD(&rmd);
4063 RMD rmd;
4064 pcnetRmdLoad(pThis, &rmd, PHYSADDR(pThis, GCPhys), false);
4070 rmd.rmd0.rbadr, 4096 - rmd.rmd1.bcnt, rmd.rmd2.mcnt,
4071 rmd.rmd1.own, rmd.rmd1.err, rmd.rmd1.fram, rmd.rmd1.oflo, rmd.rmd1.crc, rmd.rmd1.buff,
4072 rmd.rmd1.stp, rmd.rmd1.enp, rmd.rmd1.bpe,
4073 rmd.rmd1.pam, rmd.rmd1.lafm, rmd.rmd1.bam, rmd.rmd2.rcc, rmd.rmd2.rpc,
4074 rmd.rmd1.ones, rmd.rmd2.zeros);