From 22a80d817d57814fc552365ad553c0a22f065fcd Mon Sep 17 00:00:00 2001 From: Dr-Noob Date: Thu, 5 Jan 2023 11:42:47 +0100 Subject: [PATCH] [v1.03] Fix compilation errors in Windows --- src/x86/apic.c | 2 ++ src/x86/apic.h | 2 ++ src/x86/cpuid.c | 10 +++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/x86/apic.c b/src/x86/apic.c index 2d9ecf7..1edcfc4 100644 --- a/src/x86/apic.c +++ b/src/x86/apic.c @@ -102,6 +102,7 @@ bool bind_to_cpu(int cpu_id) { } #endif +#ifdef __linux__ int get_total_cores_module(int total_cores, int module) { int total_modules = 2; int32_t current_module_idx = -1; @@ -154,6 +155,7 @@ int get_total_cores_module(int total_cores, int module) { //printf("Module %d has %d cores\n", module, cores_in_module); return cores_in_module; } +#endif bool fill_topo_masks_apic(struct topology* topo) { uint32_t eax = 0x00000001; diff --git a/src/x86/apic.h b/src/x86/apic.h index 98b6337..0f79995 100644 --- a/src/x86/apic.h +++ b/src/x86/apic.h @@ -21,6 +21,8 @@ uint32_t is_smt_enabled_amd(struct topology* topo); bool bind_to_cpu(int cpu_id); #endif +#ifdef __linux__ int get_total_cores_module(int total_cores, int module); +#endif #endif diff --git a/src/x86/cpuid.c b/src/x86/cpuid.c index bdc397d..b433fa9 100644 --- a/src/x86/cpuid.c +++ b/src/x86/cpuid.c @@ -398,6 +398,10 @@ bool set_cpu_module(int m, int total_modules, int32_t* first_core) { return false; } } + else { + // This is a normal architecture + *first_core = 0; + } return true; } @@ -652,7 +656,11 @@ struct topology* get_topology_info(struct cpuInfo* cpu, struct cache* cach, int #endif if(cpu->hybrid_flag) { - topo->total_cores_module = get_total_cores_module(topo->total_cores, module); + #ifdef __linux__ + topo->total_cores_module = get_total_cores_module(topo->total_cores, module); + #else + topo->total_cores_module = topo->total_cores; + #endif } else { topo->total_cores_module = topo->total_cores;