Changeset 15371 in vbox for trunk/src/VBox/VMM/VMMGC
- Timestamp:
- Dec 12, 2008 2:41:28 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 40811
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMGC/HWACCMGCA.asm
r15361 r15371 133 133 ; Flush the VMCS write cache first (before any other vmreads/vmwrites!) 134 134 mov rbx, [rbp + 24 + 8] ; pCache 135 136 %ifdef DEBUG 137 mov rax, [rbp + 8 + 8] ; pPageCpuPhys 138 mov [rbx + VMCSCACHE.TestIn.pPageCpuPhys], rax 139 mov rax, [rbp + 16 + 8] ; pVMCSPhys 140 mov [rbx + VMCSCACHE.TestIn.pVMCSPhys], rax 141 mov [rbx + VMCSCACHE.TestIn.pCache], rbx 142 mov [rbx + VMCSCACHE.TestIn.pCtx], rsi 143 %endif 144 135 145 mov ecx, [xBX + VMCSCACHE.Write.cValidEntries] 136 146 cmp ecx, 0 … … 143 153 .cached_write: 144 154 mov eax, [xBX + VMCSCACHE.Write.aField + xCX*4] 145 vmwrite xAX, [xBX + VMCSCACHE.Write.aFieldVal + xCX*8]155 vmwrite xAX, qword [xBX + VMCSCACHE.Write.aFieldVal + xCX*8] 146 156 inc xCX 147 157 cmp xCX, xDX … … 284 294 285 295 %ifdef VMX_USE_CACHED_VMCS_ACCESSES 286 pop xDX ; saved pCache 287 288 mov ecx, [xDX + VMCSCACHE.Read.cValidEntries] 296 pop rdi ; saved pCache 297 298 %ifdef DEBUG 299 mov [rdi + VMCSCACHE.TestOut.pCache], rdi 300 mov [rdi + VMCSCACHE.TestOut.pCtx], rsi 301 %endif 302 303 mov ecx, [rdi + VMCSCACHE.Read.cValidEntries] 289 304 cmp ecx, 0 ; can't happen 290 305 je .no_cached_reads … … 294 309 .cached_read: 295 310 dec xCX 296 mov eax, [ xDX+ VMCSCACHE.Read.aField + xCX*4]297 vmread [xDX+ VMCSCACHE.Read.aFieldVal + xCX*8], xAX298 cmp 311 mov eax, [rdi + VMCSCACHE.Read.aField + xCX*4] 312 vmread qword [rdi + VMCSCACHE.Read.aFieldVal + xCX*8], xAX 313 cmp xCX, 0 299 314 jnz .cached_read 300 315 .no_cached_reads: … … 303 318 ; Restore segment registers 304 319 MYPOPSEGS rax 305 306 mov eax, VINF_SUCCESS307 320 308 321 .vmstart64_end: … … 313 326 vmwrite rbx, rdx 314 327 328 %ifdef DEBUG 329 mov rax, [rsp] ; pVMCSPhys 330 mov [rdi + VMCSCACHE.TestOut.pVMCSPhys], rax 331 %endif 332 315 333 ; Write back the data and disable the VMCS 316 334 vmclear qword [rsp] ;Pushed pVMCS 317 335 add rsp, 8 336 337 mov eax, VINF_SUCCESS 318 338 319 339 .vmstart64_vmoff_end:
Note:
See TracChangeset
for help on using the changeset viewer.