VirtualBox

Changeset 80054 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Jul 29, 2019 9:05:53 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
132491
Message:

Main: Kicking out raw-mode - CPUMCPU.Hyper. bugref:9517

Location:
trunk/src/VBox/VMM/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/CPUMInternal.h

    r78220 r80054  
    382382
    383383/**
     384 * The hypervisor context CPU state (just DRx left now).
     385 */
     386typedef struct CPUMHYPERCTX
     387{
     388    /** Debug registers.
     389     * @remarks DR4 and DR5 should not be used since they are aliases for
     390     *          DR6 and DR7 respectively on both AMD and Intel CPUs.
     391     * @remarks DR8-15 are currently not supported by AMD or Intel, so
     392     *          neither do we.
     393     */
     394    uint64_t        dr[8];
     395    /** @todo eliminiate the rest.   */
     396    uint64_t        cr3;
     397    uint64_t        au64Padding[7];
     398} CPUMHYPERCTX;
     399#ifndef VBOX_FOR_DTRACE_LIB
     400AssertCompileSizeAlignment(CPUMHYPERCTX, 64);
     401#endif
     402/** Pointer to the hypervisor context CPU state. */
     403typedef CPUMHYPERCTX *PCPUMHYPERCTX;
     404
     405
     406/**
    384407 * CPUM Data (part of VM)
    385408 */
     
    517540     * Must be aligned on a 64-byte boundary. */
    518541    CPUMHOSTCTX             Host;
    519     /** Hypervisor context. Must be aligned on a 64-byte boundary. */
    520     CPUMCTX                 Hyper;
     542    /** Old hypervisor context, only used for combined DRx values now.
     543     * Must be aligned on a 64-byte boundary. */
     544    CPUMHYPERCTX            Hyper;
    521545
    522546#ifdef VBOX_WITH_CRASHDUMP_MAGIC
  • trunk/src/VBox/VMM/include/CPUMInternal.mac

    r79713 r80054  
    408408
    409409    ;
    410     ; Hypervisor Context (same as .Guest above).
     410    ; Hypervisor Context.
    411411    ;
    412412    alignb 64
    413413    .Hyper                    resq    0
    414     .Hyper.eax                resq    1
    415     .Hyper.ecx                resq    1
    416     .Hyper.edx                resq    1
    417     .Hyper.ebx                resq    1
    418     .Hyper.esp                resq    1
    419     .Hyper.ebp                resq    1
    420     .Hyper.esi                resq    1
    421     .Hyper.edi                resq    1
    422     .Hyper.r8                 resq    1
    423     .Hyper.r9                 resq    1
    424     .Hyper.r10                resq    1
    425     .Hyper.r11                resq    1
    426     .Hyper.r12                resq    1
    427     .Hyper.r13                resq    1
    428     .Hyper.r14                resq    1
    429     .Hyper.r15                resq    1
    430     .Hyper.es.Sel             resw    1
    431     .Hyper.es.PaddingSel      resw    1
    432     .Hyper.es.ValidSel        resw    1
    433     .Hyper.es.fFlags          resw    1
    434     .Hyper.es.u64Base         resq    1
    435     .Hyper.es.u32Limit        resd    1
    436     .Hyper.es.Attr            resd    1
    437     .Hyper.cs.Sel             resw    1
    438     .Hyper.cs.PaddingSel      resw    1
    439     .Hyper.cs.ValidSel        resw    1
    440     .Hyper.cs.fFlags          resw    1
    441     .Hyper.cs.u64Base         resq    1
    442     .Hyper.cs.u32Limit        resd    1
    443     .Hyper.cs.Attr            resd    1
    444     .Hyper.ss.Sel             resw    1
    445     .Hyper.ss.PaddingSel      resw    1
    446     .Hyper.ss.ValidSel        resw    1
    447     .Hyper.ss.fFlags          resw    1
    448     .Hyper.ss.u64Base         resq    1
    449     .Hyper.ss.u32Limit        resd    1
    450     .Hyper.ss.Attr            resd    1
    451     .Hyper.ds.Sel             resw    1
    452     .Hyper.ds.PaddingSel      resw    1
    453     .Hyper.ds.ValidSel        resw    1
    454     .Hyper.ds.fFlags          resw    1
    455     .Hyper.ds.u64Base         resq    1
    456     .Hyper.ds.u32Limit        resd    1
    457     .Hyper.ds.Attr            resd    1
    458     .Hyper.fs.Sel             resw    1
    459     .Hyper.fs.PaddingSel      resw    1
    460     .Hyper.fs.ValidSel        resw    1
    461     .Hyper.fs.fFlags          resw    1
    462     .Hyper.fs.u64Base         resq    1
    463     .Hyper.fs.u32Limit        resd    1
    464     .Hyper.fs.Attr            resd    1
    465     .Hyper.gs.Sel             resw    1
    466     .Hyper.gs.PaddingSel      resw    1
    467     .Hyper.gs.ValidSel        resw    1
    468     .Hyper.gs.fFlags          resw    1
    469     .Hyper.gs.u64Base         resq    1
    470     .Hyper.gs.u32Limit        resd    1
    471     .Hyper.gs.Attr            resd    1
    472     .Hyper.eip                resq    1
    473     .Hyper.eflags             resq    1
    474     .Hyper.cr0                resq    1
    475     .Hyper.cr2                resq    1
     414    .Hyper.dr                 resq    8
    476415    .Hyper.cr3                resq    1
    477     .Hyper.cr4                resq    1
    478     .Hyper.dr                 resq    8
    479     .Hyper.gdtrPadding        resw    3
    480     .Hyper.gdtr               resw    0
    481     .Hyper.gdtr.cbGdt         resw    1
    482     .Hyper.gdtr.pGdt          resq    1
    483     .Hyper.idtrPadding        resw    3
    484     .Hyper.idtr               resw    0
    485     .Hyper.idtr.cbIdt         resw    1
    486     .Hyper.idtr.pIdt          resq    1
    487     .Hyper.ldtr.Sel           resw    1
    488     .Hyper.ldtr.PaddingSel    resw    1
    489     .Hyper.ldtr.ValidSel      resw    1
    490     .Hyper.ldtr.fFlags        resw    1
    491     .Hyper.ldtr.u64Base       resq    1
    492     .Hyper.ldtr.u32Limit      resd    1
    493     .Hyper.ldtr.Attr          resd    1
    494     .Hyper.tr.Sel             resw    1
    495     .Hyper.tr.PaddingSel      resw    1
    496     .Hyper.tr.ValidSel        resw    1
    497     .Hyper.tr.fFlags          resw    1
    498     .Hyper.tr.u64Base         resq    1
    499     .Hyper.tr.u32Limit        resd    1
    500     .Hyper.tr.Attr            resd    1
    501     .Hyper.SysEnter.cs        resb    8
    502     .Hyper.SysEnter.eip       resb    8
    503     .Hyper.SysEnter.esp       resb    8
    504     .Hyper.msrEFER            resb    8
    505     .Hyper.msrSTAR            resb    8
    506     .Hyper.msrPAT             resb    8
    507     .Hyper.msrLSTAR           resb    8
    508     .Hyper.msrCSTAR           resb    8
    509     .Hyper.msrSFMASK          resb    8
    510     .Hyper.msrKERNELGSBASE    resb    8
    511     .Hyper.uMsrPadding0       resb    8
    512     alignb 8
    513     .Hyper.aXcr               resq    2
    514     .Hyper.fXStateMask        resq    1
    515     .Hyper.pXStateR0      RTR0PTR_RES 1
    516     alignb 8
    517     .Hyper.pXStateR3      RTR3PTR_RES 1
    518     alignb 8
    519     .Hyper.pXStateRC      RTRCPTR_RES 1
    520     .Hyper.aoffXState         resw    64
    521     .Hyper.fWorldSwitcher     resd    1
    522     .Hyper.fExtrn             resq    1
    523     alignb 8
    524     .Hyper.hwvirt.svm.uMsrHSavePa            resq         1
    525     .Hyper.hwvirt.svm.GCPhysVmcb             resq         1
    526     .Hyper.hwvirt.svm.pVmcbR0                RTR0PTR_RES  1
    527     alignb 8
    528     .Hyper.hwvirt.svm.pVmcbR3                RTR3PTR_RES  1
    529     alignb 8
    530     .Hyper.hwvirt.svm.HostState              resb         184
    531     .Hyper.hwvirt.svm.uPrevPauseTick         resq         1
    532     .Hyper.hwvirt.svm.cPauseFilter           resw         1
    533     .Hyper.hwvirt.svm.cPauseFilterThreshold  resw         1
    534     .Hyper.hwvirt.svm.fInterceptEvents       resb         1
    535     alignb 8
    536     .Hyper.hwvirt.svm.pvMsrBitmapR0          RTR0PTR_RES  1
    537     alignb 8
    538     .Hyper.hwvirt.svm.pvMsrBitmapR3          RTR3PTR_RES  1
    539     alignb 8
    540     .Hyper.hwvirt.svm.pvIoBitmapR0           RTR0PTR_RES  1
    541     alignb 8
    542     .Hyper.hwvirt.svm.pvIoBitmapR3           RTR3PTR_RES  1
    543     alignb 8
    544     .Hyper.hwvirt.svm.HCPhysVmcb             RTHCPHYS_RES 1
    545     .Hyper.hwvirt.svm.abPadding0             resb       272
    546     .Hyper.hwvirt.enmHwvirt                  resd         1
    547     .Hyper.hwvirt.fGif                       resb         1
    548     alignb 8
    549     .Hyper.hwvirt.fLocalForcedActions        resd         1
    550416    alignb 64
    551417
Note: See TracChangeset for help on using the changeset viewer.

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