Detailed CPU State and Status

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 */
	};