Can the Hyper-V BIOS be modded?

Discussion in 'Virtualization' started by reginakampher, Aug 17, 2008.

  1. Hakkie

    Hakkie MDL Novice

    Oct 3, 2007
    7
    3
    0
    Thanks. Will see if I can manage the mod now. The update came from here: hxxp://support.microsoft.com/kb/2853952/en-us.
     
  2. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    #502 sebus, Sep 14, 2013
    Last edited by a moderator: Apr 20, 2017
    Inge001, you also should replace

    Code:
    RSDT(.....VRTUALMICROSFT
    
    at offset 2671F

    and

    Code:
    XSDT,.....VRTUALMICROSFT
    
    at offset 2681F

    in 1B module to read correct DELL PE_SC3

    Otherwise it will not activate

    Attached 1B with above corrections

    sebus
     
  3. Hakkie

    Hakkie MDL Novice

    Oct 3, 2007
    7
    3
    0
    Thanks sebus and Inge001. I got it working with the 1B from sebus. So I actually can copy/paste! :p I understand the basics here, but the details are way over my head. Thanks again! :worthy:
     
  4. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    I was lazy, I used 1b module from your exe (so the string was already there, but I do not think it is needed - ofcourse I might be wrong)
     
  5. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    Sorry, true. I did that. I think it just makes it all look nice (but I still do not know 100% that it is absolutely needed)

    sebus
     
  6. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    But it does not make anything bad either
     
  7. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    And all this goodness in under 9Mb rar file... fantastic!
     
  8. Hakkie

    Hakkie MDL Novice

    Oct 3, 2007
    7
    3
    0
    I can confirm your v6.1.7601.18231 is working.
     
  9. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    BTW: Adding an MSDMTable works as well. Just made a mod for a test (has now SLP1-3) :D.

    It can be added manually (SSV3 approach). Anyway it's a bit odd to share since the serial itself changes the 8 bit sum of the acpitable itself and the sum at 1b module header.

    So when changed the serial one has to adjust the ACPI checksumbyte at table offset 9 and the four checksum bytes of the 1b module header using Nick's tool...but if somebody is interested I can assist.

    FYI :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. kelorgo

    kelorgo MDL Addicted

    Oct 29, 2012
    839
    1,506
    30
    What is SLP1-3? Are you referring to SLP 3.0?
     
  11. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Yes one to three

    Got:
    SLP1.0 strings
    SLP2.1 SLIC
    SLP3.0 AKA OA3.0 MSDMTable.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. kelorgo

    kelorgo MDL Addicted

    Oct 29, 2012
    839
    1,506
    30
    Oh I get it, SLP 1 to 3. Thanks! :rolleyes:
     
  13. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    That would be great if you could. Ofcourse one will need to use ones real MSDMTable key (lucky I have few unused around)

    Where does it go ?

    Thanks

    sebus
     
  14. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #514 Yen, Sep 19, 2013
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,037
    210
    Let me pick it up tomorrow & will update this post

    sebus

    PM with unused MSDM posted
     
  16. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    It is FF200h.

    You can use any address around. It must be enough 'free space' at the 1b module. The relative offset is the same. Offset to AMIBIOS string = offset to FF400h.

    You need to adjust the address entry at RSDT and XSDT, though. (New virtual memory address, DWORD at RSDT, QWORD at XSDT, reversed order)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #518 Yen, Sep 21, 2013
    Last edited by a moderator: Apr 20, 2017
    Before it gets lost at my PM folder I want to share this:


    The SSV3 approach developed by Zhaoliang uses the fact that the AMIBIOS string at the 1b module is always mapped to FF400h virtual memory. This similarity makes it possible to develop a general method.
    You use a place in front of that string. Has to be any 'free' space. When chosen you place the MSDM table there and calculate its relative offset to the string.
    Offset to AMIBIOS string = offset to FF400h. Then you know the place where it will be mapped to virtual memory. I used 200h in front of the string as relative offset. Relative offsets in virtual memory and 1b module are the same, of course.
    The mapping alone does not make to show up the table at ACPI namespace, though.
    You need to call it from RSDT / XSDT.

    To achieve that you extend the RSDT table 4 bytes (DWORD) by raising its table length bytes +4 and at XSDT +8 (QWORD) and add the address in reversed order.


    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    
    00026610                                                 52                  R
    00026620   53 44 54 2C 00 00 00 01  00 46 53 43 20 20 20 50   SDT,.....FSC   P
    00026630   43 20 20 20 20 20 20 23  12 00 05 4D 53 46 54 97   C      #...MSFT—
    00026640   00 00 00 00 00 00 00 00  F2 0F 00                  ........ò..
    Red: Extended table length bytes, original: 28 00 00 00---> 00000028h length. Extended by 4 (DWORD)-->0000002Ch

    Blue: address entry of calculated place in virtual memory. 00 F2 0F 00---> 000FF200h (200h in front of the string = 200h in front of FF400h = FF200h.)


    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    
    00026710                                                 58                  X
    00026720   53 44 54 34 00 00 00 01  00 46 53 43 20 20 20 50   SDT4.....FSC   P
    00026730   43 20 20 20 20 20 20 23  12 00 05 4D 53 46 54 97   C      #...MSFT—
    00026740   00 00 00 00 00 00 00 00  00 00 00 00 F2 0F 00 00   ............ò...
    00026750   00 00 00                                           ...
    Red: Extended table length bytes, original: 2C 00 00 00---> 0000002Ch length. Extended by 8 (QWORD)--->00000034h.
    Blue: address entry of calculated place in virtual memory. 00 F2 0F 00 00 00 00 00---> 00000000000FF200h (200h in front of the string = 200h in front of FF400h = FF200h.)

    Yen :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. urie

    urie Moderator
    Staff Member

    May 21, 2007
    8,998
    3,378
    300
    @ Yen, we are going back a while now :)
    and old brain is not working I cannot remember what forum we came from then with china4ever was it Kesnews ?
     
  20. FreeStyler

    FreeStyler MDL Guru

    Jun 23, 2007
    3,563
    3,848
    120
    oemfans.cn?