mov ecx, 0x3a ; MSR 0x3a
rdmsr ; read the MSR
mov ebx, eax ; save low-order 32-bits of the MSR value
mov ax, 0x30f
call word 0xf000:0x3d40
jz skipVT ; skip enabling VT if token at offset 0x30f equals 0
mov ax, 0x312
call word 0xf000:0x3d40
jz skipVT ; skip enabling VT if token at offset 0x312 equals 0
or ebx, 0x4
mov ax, 0x330
call word 0xf000:0x3d40
jz skipVT ; skip enabling VT if token at offset 0x330 equals 0
or ebx, 0x2 ; set VMX bit
skipVT:
mov eax, ebx
test al, 0x1
jnz 0x3e
or eax, 0x1 ; lock MSR
wrmsr ; write the MSR
popad
0000B371 66B93A000000 mov ecx,0x3a
0000B377 0F32 rdmsr
0000B379 668BD8 mov ebx,eax
0000B37C B83606 mov ax,0x636
0000B37F 9A345A00F0 call word 0xf000:0x5a34
0000B384 7412 jz 0xb398
0000B386 6683CB04 or ebx,byte +0x4
0000B38A B84101 mov ax,0x141
0000B38D 9A345A00F0 call word 0xf000:0x5a34
0000B392 7404 jz 0xb398
0000B394 6683CB02 or ebx,byte +0x2
0000B398 668BC3 mov eax,ebx
0000B39B A801 test al,0x1
0000B39D 7506 jnz 0xb3a5
0000B39F 6683C801 or eax,byte +0x1
0000B3A3 0F30 wrmsr| Recommended by Wim's BIOS... |
|
Return to In-depth High-tech BIOS section