Changeset 9651 in vbox
- Timestamp:
- Jun 12, 2008 9:57:20 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r9649 r9651 1905 1905 int rc = CPUMGetGuestDRx(pVM, SrcRegDrx, &val64); 1906 1906 AssertMsgRCReturn(rc, ("CPUMGetGuestDRx %d failed\n", SrcRegDrx), VERR_EM_INTERPRETER); 1907 rc = DISWriteReg32(pRegFrame, DestRegGen, (uint32_t)val64); 1907 if (CPUMIsGuestInLongMode(pVM)) 1908 { 1909 rc = DISWriteReg64(pRegFrame, DestRegGen, val64); 1910 } 1911 else 1912 rc = DISWriteReg32(pRegFrame, DestRegGen, (uint32_t)val64); 1913 1908 1914 if (VBOX_SUCCESS(rc)) 1909 1915 return VINF_SUCCESS; 1916 1910 1917 return VERR_EM_INTERPRETER; 1911 1918 } … … 1915 1922 int rc = VERR_EM_INTERPRETER; 1916 1923 1917 if( pCpu->param1.flags == USE_REG_GEN32&& pCpu->param2.flags == USE_REG_DBG)1924 if((pCpu->param1.flags == USE_REG_GEN32 || pCpu->param1.flags == USE_REG_GEN64) && pCpu->param2.flags == USE_REG_DBG) 1918 1925 { 1919 1926 rc = EMInterpretDRxRead(pVM, pRegFrame, pCpu->param1.base.reg_gen, pCpu->param2.base.reg_dbg); 1920 1927 } 1921 1928 else 1922 if(pCpu->param1.flags == USE_REG_DBG && pCpu->param2.flags == USE_REG_GEN32)1929 if(pCpu->param1.flags == USE_REG_DBG && (pCpu->param2.flags == USE_REG_GEN32 || pCpu->param2.flags == USE_REG_GEN64)) 1923 1930 { 1924 1931 rc = EMInterpretDRxWrite(pVM, pRegFrame, pCpu->param1.base.reg_dbg, pCpu->param2.base.reg_gen); … … 1926 1933 else 1927 1934 AssertMsgFailed(("Unexpected debug register move\n")); 1935 1928 1936 return rc; 1929 1937 }
Note:
See TracChangeset
for help on using the changeset viewer.