RubyPort.hh (8874:9e2a4cf89be6) | RubyPort.hh (8914:8c3bd7bea667) |
---|---|
1/* 2 * Copyright (c) 2009 Advanced Micro Devices, Inc. 3 * Copyright (c) 2011 Mark D. Hill and David A. Wood 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 32 unchanged lines hidden (view full) --- 41#include "params/RubyPort.hh" 42 43class MessageBuffer; 44class AbstractController; 45 46class RubyPort : public MemObject 47{ 48 public: | 1/* 2 * Copyright (c) 2009 Advanced Micro Devices, Inc. 3 * Copyright (c) 2011 Mark D. Hill and David A. Wood 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 32 unchanged lines hidden (view full) --- 41#include "params/RubyPort.hh" 42 43class MessageBuffer; 44class AbstractController; 45 46class RubyPort : public MemObject 47{ 48 public: |
49 class M5Port : public SimpleTimingPort | 49 class M5Port : public QueuedPort |
50 { 51 private: | 50 { 51 private: |
52 53 PacketQueue queue; |
|
52 RubyPort *ruby_port; 53 RubySystem* ruby_system; 54 bool _onRetryList; 55 bool access_phys_mem; 56 57 public: 58 M5Port(const std::string &_name, RubyPort *_port, 59 RubySystem*_system, bool _access_phys_mem); --- 16 unchanged lines hidden (view full) --- 76 private: 77 bool isPhysMemAddress(Addr addr); 78 bool doFunctionalRead(PacketPtr pkt); 79 bool doFunctionalWrite(PacketPtr pkt); 80 }; 81 82 friend class M5Port; 83 | 54 RubyPort *ruby_port; 55 RubySystem* ruby_system; 56 bool _onRetryList; 57 bool access_phys_mem; 58 59 public: 60 M5Port(const std::string &_name, RubyPort *_port, 61 RubySystem*_system, bool _access_phys_mem); --- 16 unchanged lines hidden (view full) --- 78 private: 79 bool isPhysMemAddress(Addr addr); 80 bool doFunctionalRead(PacketPtr pkt); 81 bool doFunctionalWrite(PacketPtr pkt); 82 }; 83 84 friend class M5Port; 85 |
84 class PioPort : public SimpleTimingPort | 86 class PioPort : public QueuedPort |
85 { 86 private: | 87 { 88 private: |
89 90 PacketQueue queue; 91 |
|
87 RubyPort *ruby_port; 88 89 public: 90 PioPort(const std::string &_name, RubyPort *_port); 91 bool sendNextCycle(PacketPtr pkt); 92 93 protected: 94 virtual bool recvTiming(PacketPtr pkt); 95 virtual Tick recvAtomic(PacketPtr pkt); | 92 RubyPort *ruby_port; 93 94 public: 95 PioPort(const std::string &_name, RubyPort *_port); 96 bool sendNextCycle(PacketPtr pkt); 97 98 protected: 99 virtual bool recvTiming(PacketPtr pkt); 100 virtual Tick recvAtomic(PacketPtr pkt); |
101 virtual void recvFunctional(PacketPtr pkt) { } |
|
96 }; 97 98 friend class PioPort; 99 100 struct SenderState : public Packet::SenderState 101 { 102 M5Port* port; 103 Packet::SenderState *saved; --- 76 unchanged lines hidden --- | 102 }; 103 104 friend class PioPort; 105 106 struct SenderState : public Packet::SenderState 107 { 108 M5Port* port; 109 Packet::SenderState *saved; --- 76 unchanged lines hidden --- |