VirtualBox

Changeset 14411 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Nov 20, 2008 1:26:47 PM (16 years ago)
Author:
vboxsync
Message:

RDTSCP support added. Enabled only for AMD-V guests.

Location:
trunk/include/VBox
Files:
4 edited

Legend:

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

    r13975 r14411  
    361361 */
    362362#define CPUMCTX2CORE(pCtx) ((PCPUMCTXCORE)(void *)&(pCtx)->edi)
    363 
    364363
    365364/**
     
    543542} CPUMCTX_VER1_6;
    544543#pragma pack()
     544
     545/* Guest MSR state. */
     546typedef union CPUMCTXMSR
     547{
     548    struct
     549    {
     550        uint64_t        tscAux;         /* MSR_K8_TSC_AUX */
     551    } msr;
     552    uint64_t    au64[64];
     553} CPUMCTXMSR;
     554/** Pointer to the guest MSR state. */
     555typedef CPUMCTXMSR *PCPUMCTXMSR;
     556/** Pointer to the const guest MSR state. */
     557typedef const CPUMCTXMSR *PCCPUMCTXMSR;
    545558
    546559
     
    584597    /** The x2APIC  feature bit. (Std) */
    585598    CPUMCPUIDFEATURE_X2APIC,
     599    /** The RDTSCP feature bit. (Ext) */
     600    CPUMCPUIDFEATURE_RDTSCP,
    586601    /** 32bit hackishness. */
    587602    CPUMCPUIDFEATURE_32BIT_HACK = 0x7fffffff
     
    649664VMMDECL(uint64_t)   CPUMGetGuestEFER(PVM pVM);
    650665VMMDECL(uint64_t)   CPUMGetGuestMsr(PVM pVM, unsigned idMsr);
     666VMMDECL(void)       CPUMSetGuestMsr(PVM pVM, unsigned idMsr, uint64_t valMsr);
    651667/** @} */
    652668
  • trunk/include/VBox/cpum.mac

    r13954 r14411  
    196196    ; padding
    197197;;;    .padding            resd    6
     198endstruc
     199
     200
     201;;/* Guest MSR state. */
     202struc CPUMCTXMSR
     203    .au64               resq  64
    198204endstruc
    199205
  • trunk/include/VBox/em.h

    r13858 r14411  
    126126VMMDECL(int)        EMInterpretCpuId(PVM pVM, PCPUMCTXCORE pRegFrame);
    127127VMMDECL(int)        EMInterpretRdtsc(PVM pVM, PCPUMCTXCORE pRegFrame);
     128VMMDECL(int)        EMInterpretRdtscp(PVM pVM, PCPUMCTX pCtx);
    128129VMMDECL(int)        EMInterpretInvlpg(PVM pVM, PCPUMCTXCORE pRegFrame, RTGCPTR pAddrGC);
    129130VMMDECL(int)        EMInterpretIret(PVM pVM, PCPUMCTXCORE pRegFrame);
  • trunk/include/VBox/vm.h

    r14244 r14411  
    113113        struct CPUMCPU      s;
    114114#endif
    115         char                padding[2048];      /* multiple of 64 */
     115        char                padding[2560];      /* multiple of 64 */
    116116    } cpum;
    117117    /** VMM part. */
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