aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/amd/amdk8/cpu_rev.c
blob: 51f235905e723f3b61b500d06fcbbf6dbfc6c37a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* this is a shrunken cpuid. */

static unsigned int cpuid(unsigned int op)
{
	unsigned int ret;
	unsigned dummy2,dummy3,dummy4;

	asm volatile ( 
		"cpuid" 
		: "=a" (ret), "=b" (dummy2), "=c" (dummy3), "=d" (dummy4)
		: "a" (op)
		);

	return ret;
}

static int is_cpu_rev_a0(void)
{
	return (cpuid(1) & 0xffff) == 0x0f10;
}

static int is_cpu_pre_c0(void)
{
	return (cpuid(1) & 0xffef) < 0x0f48;
}