The functions in this set are processor architecture specific. The examples are for the IA32 "x86" architecture, with similar functions provided for the other architectures.
int beostat_get_cpuinfo_x86 (int node, struct beostat_cpuinfo_x86 *cpuinfo);
struct beostat_cpuinfo_x86
{
int processor; /* [which cpu (SMP)] */
char vendor_id[16]; /* x86_vendor_id */
int family; /* x86 */
int model; /* x86 model */
char name[64]; /* x86 model ID */
int stepping; /* x86 mask */
float MHz; /* derived from bogomips */
int cache_size_KB; /* x86_cache_size */
boolean fdiv_bug; /* same */
boolean hlt_bug; /* ~hlt_works_ok */
boolean sep_bug; /* [Derived] */
boolean f00f_bug; /* same */
boolean coma_bug; /* same */
boolean fpu; /* hard_math */
boolean fpu_exception; /* based on exception 16 */
int cpuid_level; /* same */
boolean wp; /* wp_works_ok */
// char flags[256]; /* x86_capability */
float bogomips; /* loops_per_sec derived */
}; |