VirtualBox

Ignore:
Timestamp:
Sep 29, 2017 4:13:26 PM (7 years ago)
Author:
vboxsync
Message:

Main,VBoxManage: Changed the CPUID override methods on IMachine to take sub-leaves into account. Currently we do not support non-zero sub-leaves due to VMM, but that can be fixed later.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r68534 r68938  
    47764776  <interface
    47774777    name="IMachine" extends="$unknown"
    4778     uuid="f50b24f0-0956-453c-d14c-8c27c683c295"
     4778    uuid="85cd948e-a71f-4289-281e-0ca7ad48cd89"
    47794779    wsmap="managed"
    47804780    wrap-hint-server-addinterfaces="IInternalMachineControl"
    47814781    wrap-hint-server="manualaddinterfaces"
    4782     reservedMethods="7" reservedAttributes="9"
     4782    reservedMethods="6" reservedAttributes="9"
    47834783    >
    47844784    <!-- Note! This interface is not compatible between 5.0 and 5.1 as it had too many
     
    69326932    </method>
    69336933
     6934    <method name="getCPUIDLeafByOrdinal" const="yes">
     6935      <desc>
     6936        Used to enumerate CPUID information override values.
     6937
     6938        <result name="E_INVALIDARG">
     6939          Invalid ordinal number is out of range.
     6940        </result>
     6941      </desc>
     6942      <param name="ordinal" type="unsigned long" dir="in">
     6943        <desc>
     6944          The ordinal number of the leaf to get.
     6945        </desc>
     6946      </param>
     6947      <param name="idx" type="unsigned long" dir="out">
     6948        <desc>
     6949          CPUID leaf index.
     6950        </desc>
     6951      </param>
     6952      <param name="idxSub" type="unsigned long" dir="out">
     6953        <desc>
     6954          CPUID leaf sub-index.
     6955        </desc>
     6956      </param>
     6957      <param name="valEax" type="unsigned long" dir="out">
     6958        <desc>
     6959          CPUID leaf value for register eax.
     6960        </desc>
     6961      </param>
     6962      <param name="valEbx" type="unsigned long" dir="out">
     6963        <desc>
     6964          CPUID leaf value for register ebx.
     6965        </desc>
     6966      </param>
     6967      <param name="valEcx" type="unsigned long" dir="out">
     6968        <desc>
     6969          CPUID leaf value for register ecx.
     6970        </desc>
     6971      </param>
     6972      <param name="valEdx" type="unsigned long" dir="out">
     6973        <desc>
     6974          CPUID leaf value for register edx.
     6975        </desc>
     6976      </param>
     6977    </method>
     6978
    69346979    <method name="getCPUIDLeaf" const="yes">
    69356980      <desc>
     
    69376982
    69386983        Currently supported index values for cpuid:
    6939         Standard CPUID leafs: 0 - 0xA
    6940         Extended CPUID leafs: 0x80000000 - 0x8000000A
    6941 
    6942         See the Intel and AMD programmer's manuals for detailed information
    6943         about the cpuid instruction and its leafs.
     6984        Standard CPUID leaves: 0 - 0x1f
     6985        Extended CPUID leaves: 0x80000000 - 0x8000001f
     6986        VIA CPUID leaves:      0xc0000000 - 0xc000000f
     6987
     6988        See the Intel, AMD and VIA programmer's manuals for detailed information
     6989        about the CPUID instruction and its leaves.
    69446990        <result name="E_INVALIDARG">
    6945           Invalid id.
    6946         </result>
    6947 
    6948       </desc>
    6949       <param name="id" type="unsigned long" dir="in">
     6991          Invalid index.
     6992        </result>
     6993
     6994      </desc>
     6995      <param name="idx" type="unsigned long" dir="in">
    69506996        <desc>
    69516997          CPUID leaf index.
     6998        </desc>
     6999      </param>
     7000      <param name="idxSub" type="unsigned long" dir="in">
     7001        <desc>
     7002          CPUID leaf sub-index (ECX).  Set to 0xffffffff (or 0) if not applicable.
    69527003        </desc>
    69537004      </param>
     
    69807031
    69817032        Currently supported index values for cpuid:
    6982         Standard CPUID leafs: 0 - 0xA
    6983         Extended CPUID leafs: 0x80000000 - 0x8000000A
    6984 
    6985         See the Intel and AMD programmer's manuals for detailed information
    6986         about the cpuid instruction and its leafs.
     7033        Standard CPUID leaves: 0 - 0x1f
     7034        Extended CPUID leaves: 0x80000000 - 0x8000001f
     7035        VIA CPUID leaves:      0xc0000000 - 0xc000000f
     7036
     7037        The subleaf index is only applicable to certain leaves (see manuals as this is
     7038        subject to change).
     7039
     7040        See the Intel, AMD and VIA programmer's manuals for detailed information
     7041        about the cpuid instruction and its leaves.
    69877042
    69887043        Do not use this method unless you know exactly what you're doing. Misuse can lead to
    69897044        random crashes inside VMs.
    69907045        <result name="E_INVALIDARG">
    6991           Invalid id.
    6992         </result>
    6993 
    6994       </desc>
    6995       <param name="id" type="unsigned long" dir="in">
     7046          Invalid index.
     7047        </result>
     7048
     7049      </desc>
     7050      <param name="idx" type="unsigned long" dir="in">
    69967051        <desc>
    69977052          CPUID leaf index.
    69987053        </desc>
    69997054      </param>
     7055      <param name="idxSub" type="unsigned long" dir="in">
     7056        <desc>
     7057          CPUID leaf sub-index (ECX).  Set to 0xffffffff (or 0) if not applicable.
     7058          The 0xffffffff causes it to remove all other subleaves before adding one
     7059          with sub-index 0.
     7060        </desc>
     7061      </param>
    70007062      <param name="valEax" type="unsigned long" dir="in">
    70017063        <desc>
     
    70257087
    70267088        <result name="E_INVALIDARG">
    7027           Invalid id.
    7028         </result>
    7029 
    7030       </desc>
    7031       <param name="id" type="unsigned long" dir="in">
     7089          Invalid index.
     7090        </result>
     7091
     7092      </desc>
     7093      <param name="idx" type="unsigned long" dir="in">
    70327094        <desc>
    70337095          CPUID leaf index.
     7096        </desc>
     7097      </param>
     7098      <param name="idxSub" type="unsigned long" dir="in">
     7099        <desc>
     7100          CPUID leaf sub-index (ECX).  Set to 0xffffffff (or 0) if not applicable.
     7101          The 0xffffffff value works like a wildcard.
    70347102        </desc>
    70357103      </param>
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette