--- nono/vm/rtl8019as.h 2026/04/29 17:05:25 1.1.1.2 +++ nono/vm/rtl8019as.h 2026/04/29 17:05:33 1.1.1.4 @@ -14,7 +14,6 @@ #include "event.h" #include "hostnet.h" #include "message.h" -#include "monitor.h" class InterruptDevice; @@ -259,17 +258,15 @@ class RTL8019ASDevice : public EthernetD }; public: - RTL8019ASDevice(int n_, int vector_); + RTL8019ASDevice(uint n_, int vector_); ~RTL8019ASDevice() override; bool Init() override; void ResetHard(bool poweron) override; - busdata Read8(uint32 addr) override; - busdata Read16(uint32 addr) override; - busdata Write8(uint32 addr, uint32 data) override; - busdata Write16(uint32 addr, uint32 data) override; - busdata Peek8(uint32 addr) override; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata Peek1(uint32 addr) override; busdata InterruptAcknowledge(); @@ -279,7 +276,7 @@ class RTL8019ASDevice : public EthernetD uint32 ReadReg(uint32 rn); uint32 ReadDMA8(uint32 a0); uint32 ReadDMA16(); - uint32 WriteReg(uint32 rn, uint32 data); + void WriteReg(uint32 rn, uint32 data); void WriteCR(uint32 data); void WritePSTART(uint32 data); void WritePSTOP(uint32 data); @@ -296,9 +293,9 @@ class RTL8019ASDevice : public EthernetD void WriteTCR(uint32 data); void WriteDCR(uint32 data); void WriteIMR(uint32 data); - void WritePAR(int n, uint32 data); + void WritePAR(uint n, uint32 data); void WriteCURR(uint32 data); - void WriteMAR(int n, uint32 data); + void WriteMAR(uint n, uint32 data); void Write9346CR(uint32 data); void WriteCONFIG0(uint32 data); void WriteCONFIG1(uint32 data); @@ -366,8 +363,8 @@ class RTL8019ASDevice : public EthernetD // 受信 void RxMessage(MessageID msgid, uint32 arg); void RXEvent(Event&); - void RXHead(int remain); - void RXCopy(Event&, int remain); + void RXHead(); + void RXCopy(Event&, uint remain); void RXDone(Event&); void TXLedEvent(Event&); @@ -469,7 +466,7 @@ class RTL8019ASDevice : public EthernetD bool tx_led {}; bool rx_led {}; - Monitor monitor { this }; + Monitor *monitor {}; Event tx_event { this }; Event rx_event { this };