rem: if(!(data[3] & 1<<4)) return -1;
add: if (!(data[3] & (1 << 4))) return -1;
context: static int check_cpu(void){//	unsigned int i;	unsigned int data[4];	char str[17];	// check the eflags register to see if the cpuid instruction exists	if((get_eflags() & 1<<21) == 0) {		set_eflags(get_eflags() | 1<<21);		if((get_eflags() & 1<<21) == 0) {			// we couldn't set the ID bit of the eflags register, this cpu is old			return -1;		}	}	// we can safely call cpuid	// print some fun data	cpuid(0, data);	// build the vendor string	memset(str, 0, sizeof(str));	*(unsigned int *)&str[0] = data[1];	*(unsigned int *)&str[4] = data[3];	*(unsigned int *)&str[8] = data[2];	// get the family, model, stepping	cpuid(1, data);	dprintf("CPU: family %d model %d stepping %d, string '%s'\n",		(data[0] >> 8) & 0xf, (data[0] >> 4) & 0xf, data[0] & 0xf, str);	// check for bits we need	cpuid(1, data);	if(!(data[3] & 1<<4)) return -1; // check for rdtsc	return 0;}