- Timestamp:
- Apr 20, 2019 4:55:14 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac
r77481 r78227 863 863 864 864 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 865 mov qword [rbx + VMXVMCS BATCHCACHE.uPos], 2865 mov qword [rbx + VMXVMCSCACHE.uPos], 2 866 866 %endif 867 867 868 868 %ifdef DEBUG 869 869 mov rax, [rbp + 8 + 8] ; HCPhysCpuPage 870 mov [rbx + VMXVMCS BATCHCACHE.TestIn.HCPhysCpuPage], rax870 mov [rbx + VMXVMCSCACHE.TestIn.HCPhysCpuPage], rax 871 871 mov rax, [rbp + 16 + 8] ; HCPhysVmcs 872 mov [rbx + VMXVMCS BATCHCACHE.TestIn.HCPhysVmcs], rax873 mov [rbx + VMXVMCS BATCHCACHE.TestIn.pCache], rbx874 mov [rbx + VMXVMCS BATCHCACHE.TestIn.pCtx], rsi872 mov [rbx + VMXVMCSCACHE.TestIn.HCPhysVmcs], rax 873 mov [rbx + VMXVMCSCACHE.TestIn.pCache], rbx 874 mov [rbx + VMXVMCSCACHE.TestIn.pCtx], rsi 875 875 %endif 876 876 877 mov ecx, [rbx + VMXVMCS BATCHCACHE.Write.cValidEntries]877 mov ecx, [rbx + VMXVMCSCACHE.Write.cValidEntries] 878 878 cmp ecx, 0 879 879 je .no_cached_writes … … 884 884 ALIGN(16) 885 885 .cached_write: 886 mov eax, [rbx + VMXVMCS BATCHCACHE.Write.aField + rcx*4]887 vmwrite rax, qword [rbx + VMXVMCS BATCHCACHE.Write.aFieldVal + rcx*8]886 mov eax, [rbx + VMXVMCSCACHE.Write.aField + rcx*4] 887 vmwrite rax, qword [rbx + VMXVMCSCACHE.Write.aFieldVal + rcx*8] 888 888 inc rcx 889 889 cmp rcx, rdx 890 890 jl .cached_write 891 891 892 mov dword [rbx + VMXVMCS BATCHCACHE.Write.cValidEntries], 0892 mov dword [rbx + VMXVMCSCACHE.Write.cValidEntries], 0 893 893 .no_cached_writes: 894 894 895 895 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 896 mov qword [rbx + VMXVMCS BATCHCACHE.uPos], 3896 mov qword [rbx + VMXVMCSCACHE.uPos], 3 897 897 %endif 898 898 ; Save the pCache pointer. … … 946 946 947 947 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 948 mov qword [rbx + VMXVMCS BATCHCACHE.uPos], 4948 mov qword [rbx + VMXVMCSCACHE.uPos], 4 949 949 %endif 950 950 … … 969 969 970 970 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 971 mov qword [rbx + VMXVMCS BATCHCACHE.uPos], 5971 mov qword [rbx + VMXVMCSCACHE.uPos], 5 972 972 %endif 973 973 … … 1084 1084 1085 1085 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1086 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 71086 mov dword [rdi + VMXVMCSCACHE.uPos], 7 1087 1087 %endif 1088 1088 %ifdef DEBUG 1089 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCache], rdi1090 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCtx], rsi1089 mov [rdi + VMXVMCSCACHE.TestOut.pCache], rdi 1090 mov [rdi + VMXVMCSCACHE.TestOut.pCtx], rsi 1091 1091 mov rax, cr8 1092 mov [rdi + VMXVMCS BATCHCACHE.TestOut.cr8], rax1092 mov [rdi + VMXVMCSCACHE.TestOut.cr8], rax 1093 1093 %endif 1094 1094 1095 mov ecx, [rdi + VMXVMCS BATCHCACHE.Read.cValidEntries]1095 mov ecx, [rdi + VMXVMCSCACHE.Read.cValidEntries] 1096 1096 cmp ecx, 0 ; Can't happen 1097 1097 je .no_cached_reads … … 1101 1101 .cached_read: 1102 1102 dec rcx 1103 mov eax, [rdi + VMXVMCS BATCHCACHE.Read.aField + rcx*4]1104 vmread qword [rdi + VMXVMCS BATCHCACHE.Read.aFieldVal + rcx*8], rax1103 mov eax, [rdi + VMXVMCSCACHE.Read.aField + rcx*4] 1104 vmread qword [rdi + VMXVMCSCACHE.Read.aFieldVal + rcx*8], rax 1105 1105 cmp rcx, 0 1106 1106 jnz .cached_read 1107 1107 .no_cached_reads: 1108 1108 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1109 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 81109 mov dword [rdi + VMXVMCSCACHE.uPos], 8 1110 1110 %endif 1111 1111 %endif … … 1117 1117 1118 1118 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1119 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 91119 mov dword [rdi + VMXVMCSCACHE.uPos], 9 1120 1120 %endif 1121 1121 .vmstart64_end: … … 1124 1124 %ifdef DEBUG 1125 1125 mov rdx, [rsp] ; HCPhysVmcs 1126 mov [rdi + VMXVMCS BATCHCACHE.TestOut.HCPhysVmcs], rdx1126 mov [rdi + VMXVMCSCACHE.TestOut.HCPhysVmcs], rdx 1127 1127 %endif 1128 1128 %endif … … 1143 1143 pushf 1144 1144 pop rdx 1145 mov [rdi + VMXVMCS BATCHCACHE.TestOut.eflags], rdx1145 mov [rdi + VMXVMCSCACHE.TestOut.eflags], rdx 1146 1146 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1147 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 121147 mov dword [rdi + VMXVMCSCACHE.uPos], 12 1148 1148 %endif 1149 1149 .skip_flags_save: … … 1169 1169 pop rdi ; pCache 1170 1170 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1171 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 101171 mov dword [rdi + VMXVMCSCACHE.uPos], 10 1172 1172 %endif 1173 1173 1174 1174 %ifdef DEBUG 1175 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCache], rdi1176 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCtx], rsi1175 mov [rdi + VMXVMCSCACHE.TestOut.pCache], rdi 1176 mov [rdi + VMXVMCSCACHE.TestOut.pCtx], rsi 1177 1177 %endif 1178 1178 %endif … … 1201 1201 1202 1202 %ifdef DEBUG 1203 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCache], rdi1204 mov [rdi + VMXVMCS BATCHCACHE.TestOut.pCtx], rsi1203 mov [rdi + VMXVMCSCACHE.TestOut.pCache], rdi 1204 mov [rdi + VMXVMCSCACHE.TestOut.pCtx], rsi 1205 1205 %endif 1206 1206 %ifdef VBOX_WITH_CRASHDUMP_MAGIC 1207 mov dword [rdi + VMXVMCS BATCHCACHE.uPos], 111207 mov dword [rdi + VMXVMCSCACHE.uPos], 11 1208 1208 %endif 1209 1209 %endif
Note:
See TracChangeset
for help on using the changeset viewer.