request.hh (9912:3de4393f5649) request.hh (9950:4b7f60080149)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

106 /** Use the alternate mode bits in ALPHA. */
107 static const FlagsType ALTMODE = 0x00000800;
108 /** The request is to an uncacheable address. */
109 static const FlagsType UNCACHEABLE = 0x00001000;
110 /** This request is to a memory mapped register. */
111 static const FlagsType MMAPPED_IPR = 0x00002000;
112 /** This request is a clear exclusive. */
113 static const FlagsType CLEAR_LL = 0x00004000;
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

106 /** Use the alternate mode bits in ALPHA. */
107 static const FlagsType ALTMODE = 0x00000800;
108 /** The request is to an uncacheable address. */
109 static const FlagsType UNCACHEABLE = 0x00001000;
110 /** This request is to a memory mapped register. */
111 static const FlagsType MMAPPED_IPR = 0x00002000;
112 /** This request is a clear exclusive. */
113 static const FlagsType CLEAR_LL = 0x00004000;
114 /** This request is made in privileged mode. */
115 static const FlagsType PRIVILEGED = 0x00008000;
114
115 /** The request should not cause a memory access. */
116 static const FlagsType NO_ACCESS = 0x00080000;
117 /** This request will lock or unlock the accessed memory. When used with
118 * a load, the access locks the particular chunk of memory. When used
119 * with a store, it unlocks. The rule is that locked accesses have to be
120 * made up of a locked load, some operation on the data, and then a locked
121 * store.

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

534 }
535
536 /** Accessor functions for flags. Note that these are for testing
537 only; setting flags should be done via setFlags(). */
538 bool isUncacheable() const { return _flags.isSet(UNCACHEABLE); }
539 bool isInstFetch() const { return _flags.isSet(INST_FETCH); }
540 bool isPrefetch() const { return _flags.isSet(PREFETCH); }
541 bool isLLSC() const { return _flags.isSet(LLSC); }
116
117 /** The request should not cause a memory access. */
118 static const FlagsType NO_ACCESS = 0x00080000;
119 /** This request will lock or unlock the accessed memory. When used with
120 * a load, the access locks the particular chunk of memory. When used
121 * with a store, it unlocks. The rule is that locked accesses have to be
122 * made up of a locked load, some operation on the data, and then a locked
123 * store.

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

536 }
537
538 /** Accessor functions for flags. Note that these are for testing
539 only; setting flags should be done via setFlags(). */
540 bool isUncacheable() const { return _flags.isSet(UNCACHEABLE); }
541 bool isInstFetch() const { return _flags.isSet(INST_FETCH); }
542 bool isPrefetch() const { return _flags.isSet(PREFETCH); }
543 bool isLLSC() const { return _flags.isSet(LLSC); }
544 bool isPriv() const { return _flags.isSet(PRIVILEGED); }
542 bool isLocked() const { return _flags.isSet(LOCKED); }
543 bool isSwap() const { return _flags.isSet(MEM_SWAP|MEM_SWAP_COND); }
544 bool isCondSwap() const { return _flags.isSet(MEM_SWAP_COND); }
545 bool isMmappedIpr() const { return _flags.isSet(MMAPPED_IPR); }
546 bool isClearLL() const { return _flags.isSet(CLEAR_LL); }
547};
548
549#endif // __MEM_REQUEST_HH__
545 bool isLocked() const { return _flags.isSet(LOCKED); }
546 bool isSwap() const { return _flags.isSet(MEM_SWAP|MEM_SWAP_COND); }
547 bool isCondSwap() const { return _flags.isSet(MEM_SWAP_COND); }
548 bool isMmappedIpr() const { return _flags.isSet(MMAPPED_IPR); }
549 bool isClearLL() const { return _flags.isSet(CLEAR_LL); }
550};
551
552#endif // __MEM_REQUEST_HH__