Lines 93-99
Link Here
|
93 |
void *fw_data; |
93 |
void *fw_data; |
94 |
size_t data_size, total_size; |
94 |
size_t data_size, total_size; |
95 |
cpuctl_msr_args_t msrargs = { |
95 |
cpuctl_msr_args_t msrargs = { |
96 |
.msr = MSR_IA32_PLATFORM_ID, |
96 |
.msr = MSR_BIOS_SIGN, |
|
|
97 |
.data = 0, |
97 |
}; |
98 |
}; |
98 |
cpuctl_cpuid_args_t idargs = { |
99 |
cpuctl_cpuid_args_t idargs = { |
99 |
.level = 1, /* Signature. */ |
100 |
.level = 1, /* Signature. */ |
Lines 113-124
Link Here
|
113 |
WARN(0, "could not open %s for writing", dev); |
114 |
WARN(0, "could not open %s for writing", dev); |
114 |
return; |
115 |
return; |
115 |
} |
116 |
} |
|
|
117 |
error = ioctl(devfd, CPUCTL_WRMSR, &msrargs); |
118 |
if (error < 0) { |
119 |
WARN(0, "ioctl(%s)", dev); |
120 |
goto fail; |
121 |
} |
116 |
error = ioctl(devfd, CPUCTL_CPUID, &idargs); |
122 |
error = ioctl(devfd, CPUCTL_CPUID, &idargs); |
117 |
if (error < 0) { |
123 |
if (error < 0) { |
118 |
WARN(0, "ioctl(%s)", dev); |
124 |
WARN(0, "ioctl(%s)", dev); |
119 |
goto fail; |
125 |
goto fail; |
120 |
} |
126 |
} |
121 |
signature = idargs.data[0]; |
127 |
signature = idargs.data[0]; |
|
|
128 |
msrargs.msr = MSR_IA32_PLATFORM_ID; |
122 |
error = ioctl(devfd, CPUCTL_RDMSR, &msrargs); |
129 |
error = ioctl(devfd, CPUCTL_RDMSR, &msrargs); |
123 |
if (error < 0) { |
130 |
if (error < 0) { |
124 |
WARN(0, "ioctl(%s)", dev); |
131 |
WARN(0, "ioctl(%s)", dev); |