283 return bits(
d->d2, 15, 0);
285 return bits(
d->d2, 19, 0);
298 return bits(
d->d2, 30);
311 return bits(
d->d2, 26);
313 return bits(
d->d2, 31);
321 return bits(
d->d2, 25);
327 return bits(
d->d2, 24);
333 return bits(
d->d2, 25);
339 return bits(
d->d2, 24);
346 return bits(
d->d2, 23, 16);
352 return bits(
d->d2, 47, 40);
362 return bits(
d->d1, 63, 48);
368 return bits(
d->d1, 47, 40);
374 return bits(
d->d1, 39, 32);
380 return bits(
d->d1, 31, 16);
386 return bits(
d->d1, 15, 8);
392 return bits(
d->d1, 7, 0);
398 return bits(
d->d2, 63, 48);
405 return bits(
d->d2, 47, 40);
413 return bits(
d->d2, 63, 46);
419 return bits(
d->d2, 24, 31);
425#define ADD_FIELD32(NAME, OFFSET, BITS) \
426 inline uint32_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
427 inline void NAME(uint32_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
429#define ADD_FIELD64(NAME, OFFSET, BITS) \
430 inline uint64_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
431 inline void NAME(uint64_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
457 using Reg<uint32_t>::operator=;
495 using Reg<uint32_t>::operator=;
514 using Reg<uint32_t>::operator=;
533 using Reg<uint32_t>::operator=;
544 using Reg<uint32_t>::operator=;
568 using Reg<uint32_t>::operator=;
582 using Reg<uint32_t>::operator=;
608 using Reg<uint32_t>::operator=;
622 using Reg<uint32_t>::operator=;
645 case 0:
return bsex() == 0 ? 2048 : 0;
646 case 1:
return bsex() == 0 ? 1024 : 16384;
647 case 2:
return bsex() == 0 ? 512 : 8192;
648 case 3:
return bsex() == 0 ? 256 : 4096;
659 using Reg<uint32_t>::operator=;
667 using Reg<uint32_t>::operator=;
685 using Reg<uint32_t>::operator=;
694 using Reg<uint32_t>::operator=;
704 using Reg<uint32_t>::operator=;
714 using Reg<uint64_t>::operator=;
723 using Reg<uint32_t>::operator=;
731 using Reg<uint32_t>::operator=;
736 unsigned bufLen() {
return pktlen() << 10; }
737 unsigned hdrLen() {
return hdrlen() << 6; }
744 using Reg<uint32_t>::operator=;
752 using Reg<uint32_t>::operator=;
760 using Reg<uint32_t>::operator=;
769 using Reg<uint32_t>::operator=;
782 using Reg<uint32_t>::operator=;
790 using Reg<uint32_t>::operator=;
798 using Reg<uint64_t>::operator=;
807 using Reg<uint32_t>::operator=;
815 using Reg<uint32_t>::operator=;
823 using Reg<uint32_t>::operator=;
833 using Reg<uint32_t>::operator=;
841 using Reg<uint32_t>::operator=;
849 using Reg<uint32_t>::operator=;
867 using Reg<uint32_t>::operator=;
876 using Reg<uint32_t>::operator=;
889 using Reg<uint32_t>::operator=;
906 using Reg<uint32_t>::operator=;
940 using Reg<uint32_t>::operator=;
951 using Reg<uint32_t>::operator=;
Basic support for object serialization.
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
constexpr void replaceBits(T &val, unsigned first, unsigned last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
#define ADD_FIELD32(NAME, OFFSET, BITS)
const uint8_t TXD_ADVCNXT
const uint8_t TXD_ADVDATA
bool isTypes(TxDesc *d, uint8_t t1, uint8_t t2)
bool isContext(TxDesc *d)
uint8_t getCso(TxDesc *d)
uint8_t getCss(TxDesc *d)
bool isType(TxDesc *d, uint8_t type)
bool isAdvDesc(TxDesc *d)
uint8_t getType(TxDesc *d)
const uint8_t RCV_ADDRESS_TABLE_SIZE
const uint32_t REG_CTRL_EXT
const uint32_t REG_CRCERRS
const uint16_t RXDS_UDPCS
const uint32_t STATS_REGS_SIZE
const uint32_t REG_TXDCTL
const uint32_t REG_TDWBAL
const uint8_t PHY_PSTATUS
const uint32_t REG_RXDCTL
const uint32_t REG_RXCSUM
const uint16_t RXDS_TCPCS
const uint16_t RXDP_IPV4E
const uint8_t EEPROM_SIZE
const uint32_t REG_SWFWSYNC
const uint8_t VLAN_FILTER_TABLE_SIZE
const uint8_t RXDT_ADV_SPLIT_A
const uint16_t RXDEE_TCPE
const uint16_t RXDS_DYNINT
const uint8_t EEPROM_READ_OPCODE_SPI
const uint8_t PHY_EPSTATUS
const uint8_t MULTICAST_TABLE_SIZE
const uint32_t REG_STATUS
const uint8_t RXDT_ADV_ONEBUF
const uint32_t REG_LEDCTL
const uint32_t REG_TXDCA_CTL
const uint32_t REG_SRRCTL
const uint16_t EEPROM_CSUM
const uint8_t RXDT_LEGACY
const uint8_t EEPROM_RDSR_OPCODE_SPI
const uint16_t RXDP_IPV6E
const uint32_t REG_TDWBAH
const uint8_t PHY_GSTATUS
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void paramOut(CheckpointOut &cp, const std::string &name, ExtMachInst const &machInst)
void paramIn(CheckpointIn &cp, const std::string &name, ExtMachInst &machInst)
#define UNSERIALIZE_SCALAR(scalar)
#define SERIALIZE_SCALAR(scalar)
ADD_FIELD32(spd_byps, 15, 1)
ADD_FIELD32(spd3_data, 7, 1)
ADD_FIELD32(ro_dis, 17, 1)
ADD_FIELD32(spd2_iodir, 10, 1)
ADD_FIELD32(spd3_iodir, 11, 1)
ADD_FIELD32(timer_clr, 29, 1)
ADD_FIELD32(asdchk, 12, 1)
ADD_FIELD32(eerst, 13, 1)
ADD_FIELD32(phyint, 5, 1)
ADD_FIELD32(drv_loaded, 28, 1)
ADD_FIELD32(gpi_en, 0, 4)
ADD_FIELD32(link_mode, 22, 2)
ADD_FIELD32(sdp2_data, 6, 1)
ADD_FIELD32(sdp0d, 18, 1)
ADD_FIELD32(sdp3d, 21, 1)
ADD_FIELD32(sdp3i, 25, 1)
ADD_FIELD32(duden, 13, 1)
ADD_FIELD32(sdp2d, 20, 1)
ADD_FIELD32(phyrst, 31, 1)
ADD_FIELD32(dudpol, 14, 1)
ADD_FIELD32(sdp1d, 19, 1)
ADD_FIELD32(extlen, 16, 1)
ADD_FIELD32(sdp1i, 23, 1)
ADD_FIELD32(frcspd, 11, 1)
ADD_FIELD32(fphyrst, 15, 1)
ADD_FIELD32(frcdpx, 12, 1)
ADD_FIELD32(sdp2i, 24, 1)
ADD_FIELD32(sdp0i, 22, 1)
ADD_FIELD32(ee_size, 9, 1)
ADD_FIELD32(ee_gnt, 7, 1)
ADD_FIELD32(ee_req, 6, 1)
ADD_FIELD32(ee_sz1, 10, 1)
ADD_FIELD32(ee_pres, 8, 1)
ADD_FIELD32(ee_type, 13, 1)
ADD_FIELD32(data, 16, 16)
ADD_FIELD32(reserved2, 25, 7)
ADD_FIELD32(eep_roload, 6, 1)
ADD_FIELD32(reserved, 7, 8)
ADD_FIELD32(fw_mode, 1, 3)
ADD_FIELD32(ext_err_ind, 19, 6)
ADD_FIELD32(fw_val_bit, 15, 1)
ADD_FIELD32(eep_fw_semaphore, 0, 1)
ADD_FIELD32(reset_cnt, 16, 3)
ADD_FIELD32(interval, 0, 16)
ADD_FIELD32(xsumfilter, 23, 1)
ADD_FIELD32(macaddrfltr, 20, 1)
ADD_FIELD32(rcvtco, 17, 1)
ADD_FIELD32(blkphyrst, 18, 1)
ADD_FIELD32(smbgnt, 26, 1)
ADD_FIELD32(neighbor, 14, 1)
ADD_FIELD32(brfilter, 24, 1)
ADD_FIELD32(ronforce, 2, 1)
ADD_FIELD32(tcorst, 16, 1)
ADD_FIELD32(smbclkout, 30, 1)
ADD_FIELD32(smbclkin, 27, 1)
ADD_FIELD32(smbdataout, 29, 1)
ADD_FIELD32(ipaddrfltr, 22, 1)
ADD_FIELD32(smbdatain, 28, 1)
ADD_FIELD32(arp_resp, 15, 1)
ADD_FIELD32(rcvall, 19, 1)
ADD_FIELD32(smbreq, 25, 1)
ADD_FIELD32(mng2host, 21, 1)
ADD_FIELD32(phyadd, 21, 5)
ADD_FIELD32(regadd, 16, 5)
ADD_FIELD32(secrc, 26, 1)
ADD_FIELD32(cfien, 19, 1)
ADD_FIELD32(bsize, 16, 2)
ADD_FIELD64(rdbah, 32, 32)
ADD_FIELD64(rdbal, 0, 32)
ADD_FIELD32(delay, 0, 16)
ADD_FIELD32(ipfrsp_dis, 14, 1)
ADD_FIELD32(ipv6_dis, 10, 1)
ADD_FIELD32(iscsi_dwc, 1, 5)
ADD_FIELD32(exsten, 15, 1)
ADD_FIELD32(nfs_ver, 8, 2)
ADD_FIELD32(ackdis, 13, 1)
ADD_FIELD32(iscsi_dis, 0, 1)
ADD_FIELD32(ipv6xsum_dis, 11, 1)
ADD_FIELD32(nfsr_dis, 7, 1)
ADD_FIELD32(nfsw_dis, 6, 1)
ADD_FIELD32(tuofld, 9, 1)
ADD_FIELD32(ipofld, 8, 1)
ADD_FIELD32(pthresh, 0, 6)
ADD_FIELD32(wthresh, 16, 6)
ADD_FIELD32(hthresh, 8, 6)
void unserialize(CheckpointIn &cp)
void serialize(CheckpointOut &cp) const
const Reg< T > & operator=(T d)
ADD_FIELD32(pktlen, 0, 8)
ADD_FIELD32(hdrlen, 8, 8)
ADD_FIELD32(desctype, 25, 3)
ADD_FIELD32(pci66, 11, 1)
ADD_FIELD32(tbimode, 5, 1)
ADD_FIELD32(mtxckok, 10, 1)
ADD_FIELD32(bus64, 12, 1)
ADD_FIELD32(pcixspd, 14, 2)
ADD_FIELD32(swesmbi, 1, 1)
ADD_FIELD32(reserved, 3, 29)
ADD_FIELD32(cold, 12, 10)
ADD_FIELD32(swxoff, 22, 1)
ADD_FIELD64(tdbah, 32, 32)
ADD_FIELD64(tdbal, 0, 32)
ADD_FIELD32(cpu_mask, 0, 5)
ADD_FIELD32(relax_ordering, 6, 1)
ADD_FIELD32(enabled, 5, 1)
ADD_FIELD32(lwthresh, 25, 7)
ADD_FIELD32(pthresh, 0, 6)
ADD_FIELD32(hthresh, 8, 8)
ADD_FIELD32(wthresh, 16, 6)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void serialize(CheckpointOut &cp) const override
Serialize an object.
struct gem5::igbreg::RxDesc::@340::@342 legacy
struct gem5::igbreg::RxDesc::@340::@344 adv_wb
struct gem5::igbreg::RxDesc::@340::@343 adv_read