Pyrogenesis  trunk
Classes | Namespaces | Functions | Variables
topology.cpp File Reference
#include "precompiled.h"
#include "lib/sysdep/arch/x86_x64/topology.h"
#include <bitset>
#include "lib/bits.h"
#include "lib/module_init.h"
#include "lib/sysdep/cpu.h"
#include "lib/sysdep/os_cpu.h"
#include "lib/sysdep/numa.h"
#include "lib/sysdep/arch/x86_x64/x86_x64.h"
#include "lib/sysdep/arch/x86_x64/cache.h"
#include "lib/sysdep/arch/x86_x64/apic.h"
Include dependency graph for topology.cpp:

Classes

struct  topology::ApicField
 
struct  topology::CpuTopology
 
class  topology::CacheRelations
 
class  topology::CacheRelations::SharedCache
 stores ID and tracks which processors share this cache More...
 
struct  topology::CacheTopology
 

Namespaces

 topology
 

Functions

static size_t topology::MaxCoresPerPackage ()
 
static size_t topology::MaxLogicalPerCore ()
 
static size_t topology::MaxLogicalPerCache ()
 
static Status topology::InitCpuTopology ()
 
size_t topology::NumPackages ()
 
size_t topology::CoresPerPackage ()
 
size_t topology::LogicalPerCore ()
 
size_t topology::LogicalFromApicId (ApicId apicId)
 
size_t topology::CoreFromApicId (ApicId apicId)
 
size_t topology::PackageFromApicId (ApicId apicId)
 
ApicId topology::ApicIdFromIndices (size_t idxPackage, size_t idxCore, size_t idxLogical)
 
static void topology::DetermineCachesProcessorMask (uintptr_t *cachesProcessorMask, size_t &numCaches)
 
static void topology::DetermineProcessorsCache (const uintptr_t *cachesProcessorMask, size_t numCaches, size_t *processorsCache, size_t numProcessors)
 
static Status topology::InitCacheTopology ()
 
size_t topology::NumCaches ()
 
size_t topology::CacheFromProcessor (size_t processor)
 
uintptr_t topology::ProcessorMaskFromCache (size_t cache)
 

Variables

static CpuTopology topology::cpuTopology
 
static ModuleInitState topology::cpuInitState
 
static CacheTopology topology::cacheTopology
 
static ModuleInitState topology::cacheInitState