mirror of
https://github.com/Dr-Noob/cpufetch.git
synced 2026-03-24 23:40:39 +01:00
[v0.98][PPC] Various fixes. Implement debug option
This commit is contained in:
@@ -125,6 +125,8 @@ struct cpuInfo {
|
|||||||
uint32_t maxExtendedLevels;
|
uint32_t maxExtendedLevels;
|
||||||
// Topology Extensions (AMD only)
|
// Topology Extensions (AMD only)
|
||||||
bool topology_extensions;
|
bool topology_extensions;
|
||||||
|
#elif ARCH_PPC
|
||||||
|
uint32_t pvr;
|
||||||
#elif ARCH_ARM
|
#elif ARCH_ARM
|
||||||
// Main ID register
|
// Main ID register
|
||||||
uint32_t midr;
|
uint32_t midr;
|
||||||
|
|||||||
@@ -539,7 +539,6 @@ void print_ascii_ppc(struct ascii* art, uint32_t la) {
|
|||||||
uint32_t space_right;
|
uint32_t space_right;
|
||||||
uint32_t space_up = (NUMBER_OF_LINES - art->n_attributes_set)/2;
|
uint32_t space_up = (NUMBER_OF_LINES - art->n_attributes_set)/2;
|
||||||
uint32_t space_down = NUMBER_OF_LINES - art->n_attributes_set - space_up;
|
uint32_t space_down = NUMBER_OF_LINES - art->n_attributes_set - space_up;
|
||||||
bool flag = false;
|
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
for(uint32_t n=0;n<NUMBER_OF_LINES;n++) {
|
for(uint32_t n=0;n<NUMBER_OF_LINES;n++) {
|
||||||
@@ -573,8 +572,8 @@ bool print_cpufetch_ppc(struct cpuInfo* cpu, STYLE s, struct colors* cs) {
|
|||||||
char* manufacturing_process = get_str_process(cpu);
|
char* manufacturing_process = get_str_process(cpu);
|
||||||
char* sockets = get_str_sockets(cpu->topo);
|
char* sockets = get_str_sockets(cpu->topo);
|
||||||
char* max_frequency = get_str_freq(cpu->freq);
|
char* max_frequency = get_str_freq(cpu->freq);
|
||||||
char* n_cores = get_str_topology(cpu, cpu->topo, false);
|
char* n_cores = get_str_topology(cpu->topo, false);
|
||||||
char* n_cores_dual = get_str_topology(cpu, cpu->topo, true);
|
char* n_cores_dual = get_str_topology(cpu->topo, true);
|
||||||
char* altivec = get_str_altivec(cpu);
|
char* altivec = get_str_altivec(cpu);
|
||||||
|
|
||||||
char* l1i = get_str_l1i(cpu->cach);
|
char* l1i = get_str_l1i(cpu->cach);
|
||||||
|
|||||||
@@ -35,5 +35,6 @@ long get_l1i_cache_size(uint32_t core);
|
|||||||
long get_l1d_cache_size(uint32_t core);
|
long get_l1d_cache_size(uint32_t core);
|
||||||
long get_l2_cache_size(uint32_t core);
|
long get_l2_cache_size(uint32_t core);
|
||||||
long get_l3_cache_size(uint32_t core);
|
long get_l3_cache_size(uint32_t core);
|
||||||
|
int get_num_caches_by_level(struct cpuInfo* cpu, uint32_t level);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ struct cache* get_cache_info(struct cpuInfo* cpu) {
|
|||||||
return cach;
|
return cach;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct topology* get_topology_info(struct cpuInfo* cpu, struct cache* cach) {
|
struct topology* get_topology_info(struct cache* cach) {
|
||||||
struct topology* topo = malloc(sizeof(struct topology));
|
struct topology* topo = malloc(sizeof(struct topology));
|
||||||
init_topology_struct(topo, cach);
|
init_topology_struct(topo, cach);
|
||||||
|
|
||||||
@@ -142,9 +142,8 @@ static inline uint32_t mfpvr() {
|
|||||||
return pvr;
|
return pvr;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct uarch* get_cpu_uarch() {
|
struct uarch* get_cpu_uarch(struct cpuInfo* cpu) {
|
||||||
uint32_t pvr = mfpvr();
|
return get_uarch_from_pvr(cpu->pvr);
|
||||||
return get_uarch_from_pvr(pvr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct frequency* get_frequency_info() {
|
struct frequency* get_frequency_info() {
|
||||||
@@ -166,9 +165,10 @@ struct cpuInfo* get_cpu_info() {
|
|||||||
*ptr = false;
|
*ptr = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu->arch = get_cpu_uarch();
|
cpu->pvr = mfpvr();
|
||||||
|
cpu->arch = get_cpu_uarch(cpu);
|
||||||
cpu->freq = get_frequency_info();
|
cpu->freq = get_frequency_info();
|
||||||
cpu->topo = get_topology_info(cpu, cpu->cach);
|
cpu->topo = get_topology_info(cpu->cach);
|
||||||
cpu->cach = get_cache_info(cpu);
|
cpu->cach = get_cache_info(cpu);
|
||||||
|
|
||||||
feat->altivec = has_altivec(cpu->arch);
|
feat->altivec = has_altivec(cpu->arch);
|
||||||
@@ -219,7 +219,7 @@ char* get_str_peak_performance(struct cpuInfo* cpu, struct topology* topo, int64
|
|||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* get_str_topology(struct cpuInfo* cpu, struct topology* topo, bool dual_socket) {
|
char* get_str_topology(struct topology* topo, bool dual_socket) {
|
||||||
char* string;
|
char* string;
|
||||||
if(topo->smt_supported > 1) {
|
if(topo->smt_supported > 1) {
|
||||||
uint32_t size = 3+3+17+1;
|
uint32_t size = 3+3+17+1;
|
||||||
@@ -242,5 +242,5 @@ char* get_str_topology(struct cpuInfo* cpu, struct topology* topo, bool dual_soc
|
|||||||
|
|
||||||
|
|
||||||
void print_debug(struct cpuInfo* cpu) {
|
void print_debug(struct cpuInfo* cpu) {
|
||||||
printf("TODO\n");
|
printf("PVR: 0x%.8X\n", cpu->pvr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
#include "../common/cpu.h"
|
#include "../common/cpu.h"
|
||||||
|
|
||||||
struct topology* get_topology_info(struct cpuInfo* cpu, struct cache* cach);
|
|
||||||
struct cpuInfo* get_cpu_info();
|
struct cpuInfo* get_cpu_info();
|
||||||
char* get_str_altivec(struct cpuInfo* cpu);
|
char* get_str_altivec(struct cpuInfo* cpu);
|
||||||
|
char* get_str_topology(struct topology* topo, bool dual_socket);
|
||||||
char* get_str_peak_performance(struct cpuInfo* cpu, struct topology* topo, int64_t freq);
|
char* get_str_peak_performance(struct cpuInfo* cpu, struct topology* topo, int64_t freq);
|
||||||
void print_debug(struct cpuInfo* cpu);
|
void print_debug(struct cpuInfo* cpu);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user