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 QueuedPort |
50 { 51 private: |
52 53 PacketQueue queue; |
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 |
86 class PioPort : public QueuedPort |
87 { 88 private: |
89 90 PacketQueue queue; 91 |
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) { } |
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 --- |