Changeset 8160 in vbox
- Timestamp:
- Apr 18, 2008 4:15:42 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 29870
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/cpum.h
r8155 r8160 377 377 CPUMDECL(RTSEL) CPUMGetGuestTR(PVM pVM); 378 378 CPUMDECL(RTSEL) CPUMGetGuestLDTR(PVM pVM); 379 CPUMDECL(uint 32_t) CPUMGetGuestCR0(PVM pVM);380 CPUMDECL(uint 32_t) CPUMGetGuestCR2(PVM pVM);381 CPUMDECL(uint 32_t) CPUMGetGuestCR3(PVM pVM);382 CPUMDECL(uint 32_t) CPUMGetGuestCR4(PVM pVM);383 CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, u int32_t iReg, uint32_t *pValue);379 CPUMDECL(uint64_t) CPUMGetGuestCR0(PVM pVM); 380 CPUMDECL(uint64_t) CPUMGetGuestCR2(PVM pVM); 381 CPUMDECL(uint64_t) CPUMGetGuestCR3(PVM pVM); 382 CPUMDECL(uint64_t) CPUMGetGuestCR4(PVM pVM); 383 CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, unsigned iReg, uint64_t *pValue); 384 384 CPUMDECL(uint32_t) CPUMGetGuestEFlags(PVM pVM); 385 385 CPUMDECL(uint32_t) CPUMGetGuestEIP(PVM pVM); … … 423 423 CPUMDECL(int) CPUMSetGuestTR(PVM pVM, uint16_t tr); 424 424 CPUMDECL(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); 425 CPUMDECL(int) CPUMSetGuestCR0(PVM pVM, uint64_t cr0); 426 CPUMDECL(int) CPUMSetGuestCR2(PVM pVM, uint64_t cr2); 427 CPUMDECL(int) CPUMSetGuestCR3(PVM pVM, uint64_t cr3); 428 CPUMDECL(int) CPUMSetGuestCR4(PVM pVM, uint64_t cr4); 430 429 CPUMDECL(int) CPUMSetGuestDR0(PVM pVM, RTGCUINTREG uDr0); 431 430 CPUMDECL(int) CPUMSetGuestDR1(PVM pVM, RTGCUINTREG uDr1); -
trunk/src/VBox/Debugger/testcase/tstDBGCStubs.cpp
r8155 r8160 23 23 #include <VBox/cpum.h> 24 24 25 CPUMDECL(uint 32_t) CPUMGetGuestCR3(PVM pVM)26 { 27 return 0; 28 } 29 30 CPUMDECL(uint 32_t) CPUMGetGuestCR4(PVM pVM)25 CPUMDECL(uint64_t) CPUMGetGuestCR3(PVM pVM) 26 { 27 return 0; 28 } 29 30 CPUMDECL(uint64_t) CPUMGetGuestCR4(PVM pVM) 31 31 { 32 32 return 0; -
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r8155 r8160 456 456 * @param cr0 The new CR0 value. 457 457 */ 458 CPUMDECL(int) CPUMSetGuestCR0(PVM pVM, uint 32_t cr0)458 CPUMDECL(int) CPUMSetGuestCR0(PVM pVM, uint64_t cr0) 459 459 { 460 460 #ifdef IN_GC … … 522 522 } 523 523 524 CPUMDECL(int) CPUMSetGuestCR2(PVM pVM, uint 32_t cr2)524 CPUMDECL(int) CPUMSetGuestCR2(PVM pVM, uint64_t cr2) 525 525 { 526 526 pVM->cpum.s.Guest.cr2 = cr2; … … 528 528 } 529 529 530 CPUMDECL(int) CPUMSetGuestCR3(PVM pVM, uint 32_t cr3)530 CPUMDECL(int) CPUMSetGuestCR3(PVM pVM, uint64_t cr3) 531 531 { 532 532 pVM->cpum.s.Guest.cr3 = cr3; … … 535 535 } 536 536 537 CPUMDECL(int) CPUMSetGuestCR4(PVM pVM, uint 32_t cr4)537 CPUMDECL(int) CPUMSetGuestCR4(PVM pVM, uint64_t cr4) 538 538 { 539 539 if ( (cr4 & (X86_CR4_PGE | X86_CR4_PAE | X86_CR4_PSE)) … … 695 695 } 696 696 697 CPUMDECL(uint 32_t) CPUMGetGuestCR0(PVM pVM)697 CPUMDECL(uint64_t) CPUMGetGuestCR0(PVM pVM) 698 698 { 699 699 return pVM->cpum.s.Guest.cr0; 700 700 } 701 701 702 CPUMDECL(uint 32_t) CPUMGetGuestCR2(PVM pVM)702 CPUMDECL(uint64_t) CPUMGetGuestCR2(PVM pVM) 703 703 { 704 704 return pVM->cpum.s.Guest.cr2; 705 705 } 706 706 707 CPUMDECL(uint 32_t) CPUMGetGuestCR3(PVM pVM)707 CPUMDECL(uint64_t) CPUMGetGuestCR3(PVM pVM) 708 708 { 709 709 return pVM->cpum.s.Guest.cr3; 710 710 } 711 711 712 CPUMDECL(uint 32_t) CPUMGetGuestCR4(PVM pVM)712 CPUMDECL(uint64_t) CPUMGetGuestCR4(PVM pVM) 713 713 { 714 714 return pVM->cpum.s.Guest.cr4; … … 776 776 777 777 //@todo: crx should be an array 778 CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, u int32_t iReg, uint32_t *pValue)778 CPUMDECL(int) CPUMGetGuestCRx(PVM pVM, unsigned iReg, uint64_t *pValue) 779 779 { 780 780 switch (iReg) -
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r8155 r8160 1652 1652 EMDECL(int) EMInterpretCRxRead(PVM pVM, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx) 1653 1653 { 1654 uint 32_t val32;1655 1656 int rc = CPUMGetGuestCRx(pVM, SrcRegCrx, &val 32);1654 uint64_t val64; 1655 1656 int rc = CPUMGetGuestCRx(pVM, SrcRegCrx, &val64); 1657 1657 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); 1659 1660 if(VBOX_SUCCESS(rc)) 1660 1661 { 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)); 1662 1663 return VINF_SUCCESS; 1663 1664 } -
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
r8155 r8160 192 192 193 193 /* 194 * Get PT entry and check presen tness.194 * Get PT entry and check presence. 195 195 */ 196 196 const GSTPTE Pte = pPT->a[(GCPtr >> GST_PT_SHIFT) & GST_PT_MASK];
Note:
See TracChangeset
for help on using the changeset viewer.