request.hh (9044:904ddeecc653) | request.hh (9332:ae2a5329ce96) |
---|---|
1/* | 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated 11 * unmodified and in its entirety in all distributions of the software, 12 * modified or unmodified, in source code or in binary form. 13 * |
|
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; 9 * redistributions in binary form must reproduce the above copyright --- 32 unchanged lines hidden (view full) --- 42#include <cassert> 43#include <climits> 44 45#include "base/flags.hh" 46#include "base/misc.hh" 47#include "base/types.hh" 48#include "sim/core.hh" 49 | 14 * Copyright (c) 2002-2005 The Regents of The University of Michigan 15 * All rights reserved. 16 * 17 * Redistribution and use in source and binary forms, with or without 18 * modification, are permitted provided that the following conditions are 19 * met: redistributions of source code must retain the above copyright 20 * notice, this list of conditions and the following disclaimer; 21 * redistributions in binary form must reproduce the above copyright --- 32 unchanged lines hidden (view full) --- 54#include <cassert> 55#include <climits> 56 57#include "base/flags.hh" 58#include "base/misc.hh" 59#include "base/types.hh" 60#include "sim/core.hh" 61 |
62/** 63 * Special TaskIds that are used for per-context-switch stats dumps 64 * and Cache Occupancy. Having too many tasks seems to be a problem 65 * with vector stats. 1024 seems to be a reasonable number that 66 * doesn't cause a problem with stats and is large enough to realistic 67 * benchmarks (Linux/Android boot, BBench, etc.) 68 */ 69 70namespace ContextSwitchTaskId { 71 enum TaskId { 72 MaxNormalTaskId = 1021, /* Maximum number of normal tasks */ 73 Prefetcher = 1022, /* For cache lines brought in by prefetcher */ 74 DMA = 1023, /* Mostly Table Walker */ 75 Unknown = 1024, 76 NumTaskId 77 }; 78} 79 |
|
50class Request; 51 52typedef Request* RequestPtr; 53typedef uint16_t MasterID; 54 55class Request 56{ 57 public: --- 54 unchanged lines hidden (view full) --- 112 /** This request id is used for message signaled interrupts */ 113 static const MasterID intMasterId = 2; 114 /** Invalid request id for assertion checking only. It is invalid behavior 115 * to ever send this id as part of a request. 116 * @todo C++1x replace with numeric_limits when constexpr is added */ 117 static const MasterID invldMasterId = USHRT_MAX; 118 /** @} */ 119 | 80class Request; 81 82typedef Request* RequestPtr; 83typedef uint16_t MasterID; 84 85class Request 86{ 87 public: --- 54 unchanged lines hidden (view full) --- 142 /** This request id is used for message signaled interrupts */ 143 static const MasterID intMasterId = 2; 144 /** Invalid request id for assertion checking only. It is invalid behavior 145 * to ever send this id as part of a request. 146 * @todo C++1x replace with numeric_limits when constexpr is added */ 147 static const MasterID invldMasterId = USHRT_MAX; 148 /** @} */ 149 |
150 /** Invalid or unknown Pid. Possible when operating system is not present 151 * or has not assigned a pid yet */ 152 static const uint32_t invldPid = UINT_MAX; 153 |
|
120 private: 121 typedef uint8_t PrivateFlagsType; 122 typedef ::Flags<PrivateFlagsType> PrivateFlags; 123 124 /** Whether or not the size is valid. */ 125 static const PrivateFlagsType VALID_SIZE = 0x00000001; 126 /** Whether or not paddr is valid (has been written yet). */ 127 static const PrivateFlagsType VALID_PADDR = 0x00000002; --- 370 unchanged lines hidden --- | 154 private: 155 typedef uint8_t PrivateFlagsType; 156 typedef ::Flags<PrivateFlagsType> PrivateFlags; 157 158 /** Whether or not the size is valid. */ 159 static const PrivateFlagsType VALID_SIZE = 0x00000001; 160 /** Whether or not paddr is valid (has been written yet). */ 161 static const PrivateFlagsType VALID_PADDR = 0x00000002; --- 370 unchanged lines hidden --- |