25 lines
353 B
C
25 lines
353 B
C
static void hlt(void)
|
|
{
|
|
__builtin_hlt();
|
|
}
|
|
|
|
typedef __builtin_msr_t msr_t;
|
|
|
|
static msr_t rdmsr(unsigned long index)
|
|
{
|
|
return __builtin_rdmsr(index);
|
|
}
|
|
|
|
static void wrmsr(unsigned long index, msr_t msr)
|
|
{
|
|
__builtin_wrmsr(index, msr.lo, msr.hi);
|
|
}
|
|
|
|
static void main(void)
|
|
{
|
|
msr_t msr;
|
|
msr = rdmsr(0x1234);
|
|
msr.lo &= ~(1<<5);
|
|
wrmsr(0x1234, msr);
|
|
}
|