The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    VT on a MSI GX-600?

    Discussion in 'MSI' started by sztupy, May 5, 2009.

  1. sztupy

    sztupy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Hi!

    I own an MSI GX-600PX notebook, which also has an AMI Aptio based BIOS and a Intel VT capable CPU, but unfortunately no option in the BIOS to turn it on (they've put an AHCI option, but no VT option). I've tried two tools from Igor (vtpatch and uefidecomp) but they won't work (I'm actually not surprised, I don't have a sony vaio, only the bios is the same). Actually vtpatch says that the CPU is VT capable, it is disabled but unlocked. Setting the bits by hand to 0xD at every restart works, but is a bit tedious, and for example hyper-v needs that bit set at startup to boot (I could create a grub loader that would do the job at every restart, but patching the bios would be the best option for me). Is there any (easy) way to add this MSR change to the PE part of the bios, or should I start reverse-engineering the bios?

    Thanks,
    SztupY
     
  2. K0ld4

    K0ld4 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    Hello... i am joining request for MSI GX600
    Please igor can you help us?

    There is bios http://download1.msi.com/files/downloads/bos_exe/163a_10z.zip

    I have same problem... Intel ID utility tells CPU have enabled VT, but it's disabled at bios level and vtpatch utility does not work...

    EDIT: 2 szupy: by 0xD you meant NVRAM register? Is it possible to change while running in windows?
    And about modified grub... can you post it there? :]
     
  3. sztupy

    sztupy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Hi!

    You can't change the NVRAM registers, but you can change the MSR while running windows. Fortunately GX600PX doesn't lock the registers, so you can change it while windows is running. After changes however I found that both Windows Virtual PC (in Windows 7) and Sun's VirtualBox works even after restart (seems that WVPC "magically" enables the appropriate MSR flags, but only if they have been enabled at least once).

    To enable the MSR register use http://crystalmark.info/software/CrystalCPUID/index-e.html (works with Xp/Vista/Win7x64 too) and change the MSR 0x3a to 0x0/0xd. Don't forget to change it for all of the cores you are using (you can select the appropriate processor core on the main screen of this utiility). After this MicrosoftVirtualPc/WindowsVirtualPC/WMVare/VirtualBox/etc should tell you that VT is enabled and working (if not, double check that you have changed MSR register 0x3a to 0x0/0xd (or 0x0/0x5) on BOTH cores)

    This register will change back to 0x0/0x0 after restart, but Win7 seems to actually turns it on after it had been used by WVPC/XP mode at least once.
     
  4. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    1. uefidecomp does work with the BIOS posted here.
    2. BIOS is 1MB in size which means it is not the same.
    3. It may have checksum and I have no way of knowing it.

    I have checked the EFI code, and I couldn't find the instructions which perform VT initialization -- basically MSI has left MSR 0x3A unconfigured.

    In my opinion, leaving VT configuration register unlocked and thus allowing even malicious software to change it without user's consent is almost as bad as disabling and locking it without providing user accessible means of configuring VT.

    As you noticed, you can set the MSR each time computer boots but there are some caveats:

    1. You must set the register to same value on all cores.

    It means that you must perform CPU detection, and enumerate available CPUs which AFAIK you can't do in bootloader because only boot processor is active while application processors are in a wait-for-SIPI state (i.e. waiting to be awakened and fully configured by the OS).

    2. You must set the register even after resuming from S3 suspend.

    S3 resume usually bypasses bootloader alltogether but instead jumps to some location in RAM after BIOS has done its bidding.

    So, the only real solution is to email MSI and politely ask them to add the option -- I heard that they have listened to the customers in the past, it is worth giving it a try.

    Sorry guys, that is the best I can do for you.
     
  5. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    That is a very interesting development! This begs a few questions. Bear with me as I don't know much about the hardware VT.

    1. Is this MSR register ALWAYS 0x3a? And does the value ALWAYS need to be 0xd?
    2. If not, how does the WVPC know what to set when it is run after a reboot.
    3. If it is always the same, and WVPC already knows what it needs to do to set this. Then all we REALLY need to figure out is how to fake WVPC into thinking it should set this register each time.

    What I am driving at here is there MAY be any reason to force this register at all before you install WVPC the first time. I may be way off base, but it might be possible to determine where in the registry WVPC records the fact that it needs to enable the MSR 0x3a register value. Then anyone could conceivably install WVPC, tweak the registry entry and they'd be good to go.

    Now, of course this assumes, and admittedly it is a BIG assumption, that the installation of WVPC is the same, (with the exception of the registry entry about it needing to enable the MSR 0x3a register value), on a machine where that register value is set or not.

    This should be easy enough to test. Install WVPC without the value set. Take an inventory of the directory where it is installed. And a dump of the registry entries it adds. Then uninstall it, enable the register value, reinstall WVPC. Then compare the directory inventories and registry values.

    I wish I had a few hours to burn to try this myself.

    Gary
     
  6. sztupy

    sztupy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    The verion I had said the bios size is not 2MB and exited.

    For me it's not that bad because at least VT is working... BTW. you need administrator privileges to change the MSR bits. I've just tried with my other computer for which the bios had an option to enable/disable VT: disabling VT didn't lock the register so I could simply re-enable it afterwards.

    There were some strange things during this.

    First: I've set the register to 0xd, but after reboot it reverted to "only" 0x5 (so the 0x8 flag was not set), so it doesn't seem WVPC needed to know the exact value.

    Second: Everyting works including sleep and hibernation. The virtual machines experience no problems, and the register gets it's 0x5 value back after the notebbok goes to sleep/hibernation.

    Third: WVPC is not run as admin, but you need admin rights to set the MSR registers, so there might be some drivers/kernel components/etc. that do this job for WVPC.

    Fourth: I don't use WVPC anymore because VirtualBox is more to my taste (WVPC doesn't support x64 guests) but nevertheless virtualization works fine. Virtualization did not work under Windows 7 beta, where there was no WVPC, I had to set the register back every restart (didn't try out sleep/hibernation)
     
  7. K0ld4

    K0ld4 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
  8. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Guys, I already told you that I can't help you with the hardware which I do not have available for testing.

    What I can do is disperse some knowledge:

    1. MSR is always 0x3A

    2. Value for VT enabled is always 0x5 or 0xD depending on the CPU (newer ones have additional functionality thus one more bit set).

    Even if the BIOS can be modded it is not trivial, because you need to know where to add the code so that all CPUs get initialized correctly on every reboot, and there might not be enough space in the BIOS to add the code in the first place.
     
  9. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    Hi Guys!
    I've disassembled MSI GX-600 BIOS and I think I can patch it for enabling VT.

    Who wants to test modded BIOS?
     
  10. The-Chip

    The-Chip Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5

    If you can upload it, please do it. I really need VT.
     
  11. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
  12. K0ld4

    K0ld4 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    Well... guys middleton DIDI IT!... and it is FUNCTIONAL!

    Now i have fully enabled Intel VT technology at every boot (0x3A MSR register are now still set to 0x0/0x5)
    I have tried XP mode on windows 7 and it is working out of the box! Without using any external program.
    So....
    How to flash it:
    You need USB Flash Drive, or DOS formatted diskette
    I prefer USB drive, so i will provide you instructions for this.
    WARNING! You are doing it at your own RISK!
    There is a very small chance that this will result into a brick, so be CAREFUL!
    If you don't know what are you doing, DON'T DO THIS

    ----------------------------------------
    1) You need fully charged battery or power cord plugged in. (This is main prerequisite)
    2) Backup your flash drive
    3) Download >THIS< file and unpack it somewhere on your drive (e.g. C:\WIN98)
    4) Download >THIS< file and install it
    5) Run HP USB Disk storage tool as administrator
    6) Check Quick Format, check Create a DOS startup disk, click on ... and select the folder with unpacked Win98 boot files (e.g. C:\WIN98)
    7) Click on Start and let it finish
    8) Now download >THIS< file and unpack it to your flash drive
    9) Reboot your notebook and let it boot from flash drive (You have to go into BIOS, and change Hard Drive priorities on Boot tab)
    10) Check again if your power cord is plugged in
    11) Type flash and press enter
    12) Wait until BIOS, BootBlock and EC is programmed (You must NOT shutdown, or reboot your computer until its finished!
    13) Press CTRL ALT DEL and disconnect your flash drive
    14) Enjoy your VT ;)

    All credits goes to ALEXEY ([email protected])
    This way i want very thank him again for making this possible

    I am only tester
     
    Last edited by a moderator: May 8, 2015
  13. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    my friend reported that he cannot bring his laptop out of sleep mode he has to restart it. Does it work for you like that?
     
  14. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    Yes, many users have already reported me about that bug. With new BIOS flashed they cannot resume from sleep and hibernate modes. I am working hard now to resolve this problem. As soon as all will be ready I will upload here corrected BIOS.
     
  15. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    thanks, i will tell my friend about that
     
  16. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    just to check, could it be that we have to format the laptop to achieve the sleep mode?
     
  17. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    I don't understand. What do you mean saying "to format the laptop"? If you mean formatting your hard drive then I can tell you - this procedure will not resolve sleep mode problem. Only my new BIOS can help you. Or you can download current BIOS from MSI site but in that case you will lose Intel Virtualization Technology.
     
  18. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    best thing is that we patiently wait until you have confirmed that you solved the problem of the sleep function :D
     
  19. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    middleton i think you dont need to continue doing this bios because my friend just removed his CMOS battery and installed it again and VT worked on his laptop with the official BIOS 1.0z
     
  20. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    What is your operating system? And how you learn that VT works? It works even after reboot?
     
  21. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    The OS is Windows 7 it is the FINAL MSDN version (no cracks, using an original cd key). i noticed it had been enabled because i had used virtual box and it indicated VT was disabled, but after the CMOS was cleared. it was enabled
     
  22. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    Yes, Windows 7 can enable Intel VT on notebooks where MSR-register 3A is not locked in BIOS (see this topic from the beginning it was already discussed). But you cannot use VT in Vista, XP or Linux. With modified BIOS - VT will be enabled on all operating systems.
     
  23. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
  24. blue_francis14

    blue_francis14 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Hi middleton. I successfully my laptop but even with the bug fix, it hangs on closing the lid. Sleep option is no longer available
     
  25. blue_francis14

    blue_francis14 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    solved. I had to install nvidia drivers for sleep and hibernate to work. thanks!
     
  26. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
  27. anywho78

    anywho78 Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    I have an OEM MS-163A, more or less the same exact system as the GX-600, but the bioses are slightly different. Was wondering if someone could help me get the VT working on my laptop. THANKS!
     
  28. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    anywho78, send me email (I gave the address in this topic). I'll try to help you.
     
  29. dwardu

    dwardu Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    All you have to do is just take out the CMOS battery for a few seconds, its that yellow thing inside the battery. then just place it back in , it should be activated like that.