VirtualBox

Changeset 5287 in vbox


Ignore:
Timestamp:
Oct 14, 2007 5:30:14 PM (17 years ago)
Author:
vboxsync
Message:

2 more cpuid leaves for the centaur part. letting 0xc0000002 thru unmodified (but static).

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vm.h

    r5285 r5287  
    357357#endif
    358358#ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL
    359         char        padding[3606];                                  /* multiple of 32 */
     359        char        padding[3638];                                  /* multiple of 32 */
    360360#else
    361         char        padding[HC_ARCH_BITS == 32 ? 3456 : 3584];      /* multiple of 32 */
     361        char        padding[HC_ARCH_BITS == 32 ? 3488 : 3616];      /* multiple of 32 */
    362362#endif
    363363    } cpum;
  • trunk/include/VBox/vm.mac

    r5285 r5287  
    7979    alignb 32
    8080%ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL
    81     .cpum                 resb 3106
     81    .cpum                 resb 3138
    8282%elif HC_ARCH_BITS == 32
    83     .cpum                 resb 3456
     83    .cpum                 resb 3488
    8484%else
    85     .cpum                 resb 3584
     85    .cpum                 resb 3616
    8686%endif
    8787    .vmm                  resb 1024
  • trunk/src/VBox/VMM/CPUM.cpp

    r5285 r5287  
    4646*******************************************************************************/
    4747/** The saved state version. */
    48 #define CPUM_SAVED_STATE_VERSION    4
     48#define CPUM_SAVED_STATE_VERSION    5
    4949
    5050
     
    323323     * The important part here (we think) is to make sure the 0xc0000000
    324324     * function returns 0xc0000001. As for the features, we don't currently
    325      * let on about any of those...
     325     * let on about any of those... 0xc0000002 seems to be some
     326     * temperature/hz/++ stuff, include it as well (static).
    326327     */
    327328    if (    pCPUM->aGuestCpuIdCentaur[0].eax >= UINT32_C(0xc0000000)
    328329        &&  pCPUM->aGuestCpuIdCentaur[0].eax <= UINT32_C(0xc0000004))
    329330    {
    330         pCPUM->aGuestCpuIdCentaur[0].eax = UINT32_C(0xc0000001);
     331        pCPUM->aGuestCpuIdCentaur[0].eax = RT_MIN(pCPUM->aGuestCpuIdCentaur[0].eax, UINT32_C(0xc0000002));
    331332        pCPUM->aGuestCpuIdCentaur[1].edx = 0; /* all features hidden */
    332         for (i = 2; i < RT_ELEMENTS(pCPUM->aGuestCpuIdCentaur); i++)
     333        for (i = pCPUM->aGuestCpuIdCentaur[0].eax - UINT32_C(0xc0000000);
     334             i < RT_ELEMENTS(pCPUM->aGuestCpuIdCentaur);
     335             i++)
    333336            pCPUM->aGuestCpuIdCentaur[i] = pCPUM->GuestCpuIdDef;
    334337    }
  • trunk/src/VBox/VMM/CPUMInternal.h

    r5285 r5287  
    333333    CPUMCPUID               aGuestCpuIdExt[10];
    334334    /** The centaur set of CpuId leafs. */
    335     CPUMCPUID               aGuestCpuIdCentaur[2];
     335    CPUMCPUID               aGuestCpuIdCentaur[4];
    336336    /** The default set of CpuId leafs. */
    337337    CPUMCPUID               GuestCpuIdDef;
  • trunk/src/VBox/VMM/CPUMInternal.mac

    r5285 r5287  
    382382    .aGuestCpuIdStd       resb    16*5
    383383    .aGuestCpuIdExt       resb    16*10
    384     .aGuestCpuIdCentaur   resb    16*2
     384    .aGuestCpuIdCentaur   resb    16*4
    385385    .GuestCpuIdDef        resb    16
    386386
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