X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcpu%2Fbase.hh;h=cc3f861cca93583fd66f19d7f82597204bff1b52;hb=f34a8f0d6163fe82849d494bf78c0f5ec175861c;hp=321b785a241fe20e9d4cae1e4bb15370f0e99ebd;hpb=62fe81e9c1ab09f1b401231f58d9c34008c7b558;p=gem5.git diff --git a/src/cpu/base.hh b/src/cpu/base.hh index 321b785a2..cc3f861cc 100644 --- a/src/cpu/base.hh +++ b/src/cpu/base.hh @@ -101,6 +101,13 @@ class BaseCPU : public MemObject // therefore no setCpuId() method is provided int _cpuId; + /** Each cpu will have a socket ID that corresponds to its physical location + * in the system. This is usually used to bucket cpu cores under single DVFS + * domain. This information may also be required by the OS to identify the + * cpu core grouping (as in the case of ARM via MPIDR register) + */ + const uint32_t _socketId; + /** instruction side request id that must be placed in all requests */ MasterID _instMasterId; @@ -145,6 +152,9 @@ class BaseCPU : public MemObject /** Reads this CPU's ID. */ int cpuId() const { return _cpuId; } + /** Reads this CPU's Socket ID. */ + uint32_t socketId() const { return _socketId; } + /** Reads this CPU's unique data requestor ID */ MasterID dataMasterId() { return _dataMasterId; } /** Reads this CPU's unique instruction requestor ID */