port.hh (8706:b1838faf3bcc) | port.hh (8708:7ccbdea0fa12) |
---|---|
1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 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; --- 33 unchanged lines hidden (view full) --- 42 43#include <list> 44 45#include "base/misc.hh" 46#include "base/range.hh" 47#include "base/types.hh" 48#include "mem/packet.hh" 49#include "mem/request.hh" | 1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 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; --- 33 unchanged lines hidden (view full) --- 42 43#include <list> 44 45#include "base/misc.hh" 46#include "base/range.hh" 47#include "base/types.hh" 48#include "mem/packet.hh" 49#include "mem/request.hh" |
50#include "sim/eventq.hh" | |
51 52/** This typedef is used to clean up the parameter list of 53 * getDeviceAddressRanges() and getPeerAddressRanges(). It's declared 54 * outside the Port object since it's also used by some mem objects. 55 * Eventually we should move this typedef to wherever Addr is 56 * defined. 57 */ 58 59typedef std::list<Range<Addr> > AddrRangeList; 60typedef std::list<Range<Addr> >::iterator AddrRangeIter; 61 | 50 51/** This typedef is used to clean up the parameter list of 52 * getDeviceAddressRanges() and getPeerAddressRanges(). It's declared 53 * outside the Port object since it's also used by some mem objects. 54 * Eventually we should move this typedef to wherever Addr is 55 * defined. 56 */ 57 58typedef std::list<Range<Addr> > AddrRangeList; 59typedef std::list<Range<Addr> >::iterator AddrRangeIter; 60 |
62class EventQueue; | |
63class MemObject; 64 65/** 66 * Ports are used to interface memory objects to 67 * each other. They will always come in pairs, and we refer to the other 68 * port object as the peer. These are used to make the design more 69 * modular so that a specific interface between every type of objcet doesn't 70 * have to be created. 71 * 72 * Recv accesor functions are being called from the peer interface. 73 * Send accessor functions are being called from the device the port is 74 * associated with, and it will call the peer recv. accessor function. 75 */ | 61class MemObject; 62 63/** 64 * Ports are used to interface memory objects to 65 * each other. They will always come in pairs, and we refer to the other 66 * port object as the peer. These are used to make the design more 67 * modular so that a specific interface between every type of objcet doesn't 68 * have to be created. 69 * 70 * Recv accesor functions are being called from the peer interface. 71 * Send accessor functions are being called from the device the port is 72 * associated with, and it will call the peer recv. accessor function. 73 */ |
76class Port : public EventManager | 74class Port |
77{ 78 protected: 79 /** Descriptive name (for DPRINTF output) */ 80 mutable std::string portName; 81 82 /** A pointer to the peer port. Ports always come in pairs, that way they 83 can use a standardized interface to communicate between different 84 memory objects. */ --- 174 unchanged lines hidden --- | 75{ 76 protected: 77 /** Descriptive name (for DPRINTF output) */ 78 mutable std::string portName; 79 80 /** A pointer to the peer port. Ports always come in pairs, that way they 81 can use a standardized interface to communicate between different 82 memory objects. */ --- 174 unchanged lines hidden --- |