From a8d8ac2e91cc55bf888465c4342faa41d2e56cb3 Mon Sep 17 00:00:00 2001 From: Dr-Noob Date: Sat, 6 Mar 2021 22:13:32 +0100 Subject: [PATCH] [v0.95] Temporarily disable cache sanity checks --- src/x86/cpuid.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/x86/cpuid.c b/src/x86/cpuid.c index 3609149..8d41a15 100755 --- a/src/x86/cpuid.c +++ b/src/x86/cpuid.c @@ -313,7 +313,10 @@ struct cpuInfo* get_cpu_info() { cpu->freq = get_frequency_info(cpu); cpu->cach = get_cache_info(cpu); cpu->topo = get_topology_info(cpu, cpu->cach); - + + if(cpu->cach == NULL || cpu->topo == NULL) { + return NULL; + } return cpu; } @@ -622,36 +625,36 @@ struct cache* get_cache_info(struct cpuInfo* cpu) { cach = get_cache_info_general(cach, level); } } - + // Sanity checks. If we read values greater than this, they can't be valid ones // The values were chosen by me if(cach->L1i->size > 64 * 1024) { printBug("Invalid L1i size: %dKB", cach->L1i->size/1024); - return NULL; + //return NULL; } if(cach->L1d->size > 64 * 1024) { printBug("Invalid L1d size: %dKB", cach->L1d->size/1024); - return NULL; + //return NULL; } if(cach->L2->exists) { if(cach->L3->exists && cach->L2->size > 2 * 1048576) { printBug("Invalid L2 size: %dMB", cach->L2->size/(1048576)); - return NULL; + //return NULL; } else if(cach->L2->size > 100 * 1048576) { printBug("Invalid L2 size: %dMB", cach->L2->size/(1048576)); - return NULL; + //return NULL; } } if(cach->L3->exists && cach->L3->size > 100 * 1048576) { printBug("Invalid L3 size: %dMB", cach->L3->size/(1048576)); - return NULL; + //return NULL; } if(!cach->L2->exists) { printBug("Could not find L2 cache"); - return NULL; + //return NULL; } - + return cach; }