VirtualBox

Changeset 8160 in vbox


Ignore:
Timestamp:
Apr 18, 2008 4:15:42 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
29870
Message:

All CRx registers are now 64 bits.

Location:
trunk
Files:
5 edited

Legend:

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

    r8155 r8160  
    377377CPUMDECL(RTSEL)     CPUMGetGuestTR(PVM pVM);
    378378CPUMDECL(RTSEL)     CPUMGetGuestLDTR(PVM pVM);
    379 CPUMDECL(uint32_t)  CPUMGetGuestCR0(PVM pVM);
    380 CPUMDECL(uint32_t)  CPUMGetGuestCR2(PVM pVM);
    381 CPUMDECL(uint32_t)  CPUMGetGuestCR3(PVM pVM);
    382 CPUMDECL(uint32_t)  CPUMGetGuestCR4(PVM pVM);
    383 CPUMDECL(int)       CPUMGetGuestCRx(PVM pVM, uint32_t iReg, uint32_t *pValue);
     379CPUMDECL(uint64_t)  CPUMGetGuestCR0(PVM pVM);
     380CPUMDECL(uint64_t)  CPUMGetGuestCR2(PVM pVM);
     381CPUMDECL(uint64_t)  CPUMGetGuestCR3(PVM pVM);
     382CPUMDECL(uint64_t)  CPUMGetGuestCR4(PVM pVM);
     383CPUMDECL(int)       CPUMGetGuestCRx(PVM pVM, unsigned iReg, uint64_t *pValue);
    384384CPUMDECL(uint32_t)  CPUMGetGuestEFlags(PVM pVM);
    385385CPUMDECL(uint32_t)  CPUMGetGuestEIP(PVM pVM);
     
    423423CPUMDECL(int)       CPUMSetGuestTR(PVM pVM, uint16_t tr);
    424424CPUMDECL(int)       CPUMSetGuestLDTR(PVM pVM, uint16_t ldtr);
    425 CPUMDECL(int)       CPUMSetGuestCR0(PVM pVM, uint32_t cr0);
    426 CPUMDECL(int)       CPUMSetGuestCR2(PVM pVM, uint32_t cr2);
    427 CPUMDECL(int)       CPUMSetGuestCR3(PVM pVM, uint32_t cr3);
    428 CPUMDECL(int)       CPUMSetGuestCR4(PVM pVM, uint32_t cr4);
    429 CPUMDECL(int)       CPUMSetGuestCRx(PVM pVM, uint32_t iReg, uint32_t Value);
     425CPUMDECL(int)       CPUMSetGuestCR0(PVM pVM, uint64_t cr0);
     426CPUMDECL(int)       CPUMSetGuestCR2(PVM pVM, uint64_t cr2);
     427CPUMDECL(int)       CPUMSetGuestCR3(PVM pVM, uint64_t cr3);
     428CPUMDECL(int)       CPUMSetGuestCR4(PVM pVM, uint64_t cr4);
    430429CPUMDECL(int)       CPUMSetGuestDR0(PVM pVM, RTGCUINTREG uDr0);
    431430CPUMDECL(int)       CPUMSetGuestDR1(PVM pVM, RTGCUINTREG uDr1);
  • trunk/src/VBox/Debugger/testcase/tstDBGCStubs.cpp

    r8155 r8160  
    2323#include <VBox/cpum.h>
    2424
    25 CPUMDECL(uint32_t) CPUMGetGuestCR3(PVM pVM)
    26 {
    27     return 0;
    28 }
    29 
    30 CPUMDECL(uint32_t) CPUMGetGuestCR4(PVM pVM)
     25CPUMDECL(uint64_t) CPUMGetGuestCR3(PVM pVM)
     26{
     27    return 0;
     28}
     29
     30CPUMDECL(uint64_t) CPUMGetGuestCR4(PVM pVM)
    3131{
    3232    return 0;
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r8155 r8160  
    456456 * @param   cr0     The new CR0 value.
    457457 */
    458 CPUMDECL(int) CPUMSetGuestCR0(PVM pVM, uint32_t cr0)
     458CPUMDECL(int) CPUMSetGuestCR0(PVM pVM, uint64_t cr0)
    459459{
    460460#ifdef IN_GC
     
    522522}
    523523
    524 CPUMDECL(int) CPUMSetGuestCR2(PVM pVM, uint32_t cr2)
     524CPUMDECL(int) CPUMSetGuestCR2(PVM pVM, uint64_t cr2)
    525525{
    526526    pVM->cpum.s.Guest.cr2 = cr2;
     
    528528}
    529529
    530 CPUMDECL(int) CPUMSetGuestCR3(PVM pVM, uint32_t cr3)
     530CPUMDECL(int) CPUMSetGuestCR3(PVM pVM, uint64_t cr3)
    531531{
    532532    pVM->cpum.s.Guest.cr3 = cr3;
     
    535535}
    536536
    537 CPUMDECL(int) CPUMSetGuestCR4(PVM pVM, uint32_t cr4)
     537CPUMDECL(int) CPUMSetGuestCR4(PVM pVM, uint64_t cr4)
    538538{
    539539    if (    (cr4                   & (X86_CR4_PGE | X86_CR4_PAE | X86_CR4_PSE))
     
    695695}
    696696
    697 CPUMDECL(uint32_t) CPUMGetGuestCR0(PVM pVM)
     697CPUMDECL(uint64_t) CPUMGetGuestCR0(PVM pVM)
    698698{
    699699    return pVM->cpum.s.Guest.cr0;
    700700}
    701701
    702 CPUMDECL(uint32_t) CPUMGetGuestCR2(PVM pVM)
     702CPUMDECL(uint64_t) CPUMGetGuestCR2(PVM pVM)
    703703{
    704704    return pVM->cpum.s.Guest.cr2;
    705705}
    706706
    707 CPUMDECL(uint32_t) CPUMGetGuestCR3(PVM pVM)
     707CPUMDECL(uint64_t) CPUMGetGuestCR3(PVM pVM)
    708708{
    709709    return pVM->cpum.s.Guest.cr3;
    710710}
    711711
    712 CPUMDECL(uint32_t) CPUMGetGuestCR4(PVM pVM)
     712CPUMDECL(uint64_t) CPUMGetGuestCR4(PVM pVM)
    713713{
    714714    return pVM->cpum.s.Guest.cr4;
     
    776776
    777777//@todo: crx should be an array
    778 CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, uint32_t iReg, uint32_t *pValue)
     778CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, unsigned iReg, uint64_t *pValue)
    779779{
    780780    switch (iReg)
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r8155 r8160  
    16521652EMDECL(int) EMInterpretCRxRead(PVM pVM, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx)
    16531653{
    1654     uint32_t val32;
    1655 
    1656     int rc = CPUMGetGuestCRx(pVM, SrcRegCrx, &val32);
     1654    uint64_t val64;
     1655
     1656    int rc = CPUMGetGuestCRx(pVM, SrcRegCrx, &val64);
    16571657    AssertMsgRCReturn(rc, ("CPUMGetGuestCRx %d failed\n", SrcRegCrx), VERR_EM_INTERPRETER);
    1658     rc = DISWriteReg32(pRegFrame, DestRegGen, val32);
     1658    /** @todo AMD64 */
     1659    rc = DISWriteReg32(pRegFrame, DestRegGen, val64);
    16591660    if(VBOX_SUCCESS(rc))
    16601661    {
    1661         LogFlow(("MOV_CR: gen32=%d CR=%d val=%08x\n", DestRegGen, SrcRegCrx, val32));
     1662        LogFlow(("MOV_CR: gen32=%d CR=%d val=%VX64\n", DestRegGen, SrcRegCrx, val64));
    16621663        return VINF_SUCCESS;
    16631664    }
  • trunk/src/VBox/VMM/VMMAll/PGMAllGst.h

    r8155 r8160  
    192192
    193193        /*
    194          * Get PT entry and check presentness.
     194         * Get PT entry and check presence.
    195195         */
    196196        const GSTPTE Pte = pPT->a[(GCPtr >> GST_PT_SHIFT) & GST_PT_MASK];
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