VirtualBox

Changeset 20041 in vbox


Ignore:
Timestamp:
May 26, 2009 2:43:49 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
47775
Message:

Support 32 bits cr8 accesses (lock mov cr0, eax = mov cr8, eax)

Location:
trunk/src/VBox/Disassembler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/DisasmCore.cpp

    r13836 r20041  
    717717            {
    718718            case OP_PARM_C: //control register
    719                 disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "CR%d", reg);
    720719                pParam->flags |= USE_REG_CR;
    721                 pParam->base.reg_ctrl = reg;
     720
     721                if (    pCpu->pCurInstr->opcode == OP_MOV_CR
     722                    &&  pCpu->opmode == CPUMODE_32BIT
     723                    &&  (pCpu->prefix & PREFIX_LOCK))
     724                {
     725                    pCpu->prefix &= ~PREFIX_LOCK;
     726                    pParam->base.reg_ctrl = USE_REG_CR8;
     727                }
     728                else
     729                    pParam->base.reg_ctrl = reg;
     730
     731                disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "CR%d", pParam->base.reg_ctrl);
    722732                return 0;
    723733
  • trunk/src/VBox/Disassembler/DisasmTestA.asm

    r18768 r20041  
    3434align 16
    3535BEGINPROC   TestProc
     36    DB 0xF0, 0x0F, 0x22, 0xC0
     37    DB 0xF0, 0x0F, 0x20, 0xC0
    3638    smsw  word [edx+16]
    3739;    invept      eax, qword [ecx]
     
    7779align 16
    7880BEGINPROC TestProc64
     81    mov cr8, rax
     82    mov cr8, rbx
     83    mov [0xfffe0080], rax
     84    mov [0xfffe0080], rbx
     85    mov rax, cr8
     86    mov rbx, cr8
     87    mov rax, [0xfffe0080]
     88    mov rbx, [0xfffe0080]
    7989    divsd xmm1, xmm0
    8090 ;    invept      rdi, qword [rsi]
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