Sequencer.hh (9117:49116b947194) Sequencer.hh (9171:ae88ecf37145)
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 22 unchanged lines hidden (view full) ---

31
32#include <iostream>
33
34#include "base/hashmap.hh"
35#include "mem/protocol/GenericMachineType.hh"
36#include "mem/protocol/RubyRequestType.hh"
37#include "mem/protocol/SequencerRequestType.hh"
38#include "mem/ruby/common/Address.hh"
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 22 unchanged lines hidden (view full) ---

31
32#include <iostream>
33
34#include "base/hashmap.hh"
35#include "mem/protocol/GenericMachineType.hh"
36#include "mem/protocol/RubyRequestType.hh"
37#include "mem/protocol/SequencerRequestType.hh"
38#include "mem/ruby/common/Address.hh"
39#include "mem/ruby/common/Consumer.hh"
39#include "mem/ruby/system/CacheMemory.hh"
40#include "mem/ruby/system/RubyPort.hh"
40#include "mem/ruby/system/RubyPort.hh"
41#include "params/RubySequencer.hh"
41
42class DataBlock;
42
43class DataBlock;
43class CacheMemory;
44
44
45struct RubySequencerParams;
46
47struct SequencerRequest
48{
49 PacketPtr pkt;
50 RubyRequestType m_type;
51 Time issue_time;
52
53 SequencerRequest(PacketPtr _pkt, RubyRequestType _m_type, Time _issue_time)
54 : pkt(_pkt), m_type(_m_type), issue_time(_issue_time)
55 {}
56};
57
58std::ostream& operator<<(std::ostream& out, const SequencerRequest& obj);
59
45struct SequencerRequest
46{
47 PacketPtr pkt;
48 RubyRequestType m_type;
49 Time issue_time;
50
51 SequencerRequest(PacketPtr _pkt, RubyRequestType _m_type, Time _issue_time)
52 : pkt(_pkt), m_type(_m_type), issue_time(_issue_time)
53 {}
54};
55
56std::ostream& operator<<(std::ostream& out, const SequencerRequest& obj);
57
60class Sequencer : public RubyPort, public Consumer
58class Sequencer : public RubyPort
61{
62 public:
63 typedef RubySequencerParams Params;
64 Sequencer(const Params *);
65 ~Sequencer();
66
67 // Public Methods
68 void wakeup(); // Used only for deadlock detection

--- 117 unchanged lines hidden ---
59{
60 public:
61 typedef RubySequencerParams Params;
62 Sequencer(const Params *);
63 ~Sequencer();
64
65 // Public Methods
66 void wakeup(); // Used only for deadlock detection

--- 117 unchanged lines hidden ---