Deleted Added
sdiff udiff text old ( 8874:9e2a4cf89be6 ) new ( 8914:8c3bd7bea667 )
full compact
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 ---