Changeset 92444 in vbox
- Timestamp:
- Nov 16, 2021 1:04:01 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
-
include/VBox/err.h (modified) (1 diff)
-
src/VBox/VMM/Config.kmk (modified) (1 diff)
-
src/VBox/VMM/Makefile.kmk (modified) (2 diffs)
-
src/VBox/VMM/VMMR3/NEMR3.cpp (modified) (1 diff)
-
src/VBox/VMM/VMMR3/NEMR3Native-linux.cpp (added)
-
src/VBox/VMM/include/NEMInternal.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/err.h
r92408 r92444 2998 2998 /** NEM failed to query dirty page bitmap. */ 2999 2999 #define VERR_NEM_QUERY_DIRTY_BITMAP_FAILED (-6816) 3000 /** NEM is missing a require feature in the host API. */ 3001 #define VERR_NEM_MISSING_FEATURE (-6817) 3000 3002 3001 3003 /** NEM internal processing error \#0. */ -
trunk/src/VBox/VMM/Config.kmk
r92221 r92444 68 68 endif 69 69 ifdef VBOX_WITH_NATIVE_NEM 70 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.amd64 darwin.amd64) 70 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), linux.amd64) 71 VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0 VBOX_WITH_PGM_NEM_MODE 72 else if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.amd64 darwin.amd64 linux.amd64) 71 73 VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0 72 74 ifdef VBOX_WITH_PGM_NEM_MODE -
trunk/src/VBox/VMM/Makefile.kmk
r92408 r92444 226 226 227 227 ifdef VBOX_WITH_NATIVE_NEM 228 VBoxVMM_SOURCES.linux.amd64 += VMMR3/NEMR3Native-linux.cpp 229 228 230 VBoxVMM_SOURCES.win.amd64 += VMMR3/NEMR3Native-win.cpp 229 231 VBoxVMM_DEFS.win.amd64 += VBOX_WITH_NATIVE_NEM … … 571 573 $(VBOX_LIB_SUPR0) 572 574 ifdef VBOX_WITH_NATIVE_NEM 575 VMMR0_SOURCES.linux.amd64 += VMMR0/NEMR0Native-stubs.cpp 576 573 577 VMMR0_SOURCES.win.amd64 += \ 574 578 VMMR0/NEMR0Native-win.cpp \ -
trunk/src/VBox/VMM/VMMR3/NEMR3.cpp
r92317 r92444 374 374 { 375 375 #ifdef VBOX_WITH_NATIVE_NEM 376 # if defined(RT_OS_WINDOWS) || defined(RT_OS_DARWIN)377 376 if (VM_IS_NEM_ENABLED(pVM)) 378 377 return true; 379 # endif380 378 #else 381 379 RT_NOREF(pVM); -
trunk/src/VBox/VMM/include/NEMInternal.h
r92376 r92444 182 182 /** Set if long mode guests are allowed. */ 183 183 bool fAllow64BitGuests; 184 #ifdef RT_OS_WINDOWS 184 185 #if defined(RT_OS_LINUX) 186 /** The '/dev/kvm' file descriptor. */ 187 int32_t fdKvm; 188 /** The KVM_CREATE_VM file descriptor. */ 189 int32_t fdVm; 190 191 /** KVM_CAP_NR_MEMSLOTS. */ 192 uint32_t cMaxMemSlots; 193 /** KVM_CAP_X86_ROBUST_SINGLESTEP. */ 194 bool fRobustSingleStep; 195 /** KVM_GET_VCPU_MMAP_SIZE. */ 196 uint32_t cbVCpuMmap; 197 198 #elif defined(RT_OS_WINDOWS) 185 199 /** Set if we've created the EMTs. */ 186 200 bool fCreatedEmts : 1; … … 273 287 uint64_t cPagesInUse; 274 288 } R0Stats; 289 275 290 #elif defined(RT_OS_DARWIN) 276 291 /** Set if we've created the EMTs. */ … … 308 323 /** Whether \#GP needs to be intercept for mesa driver workaround. */ 309 324 bool fTrapXcptGpForLovelyMesaDrv: 1; 310 #ifdef RT_OS_WINDOWS 325 326 #if defined(RT_OS_LINUX) 327 uint8_t abPadding[3]; 328 /** The KVM VCpu file descriptor. */ 329 int32_t fdVCpu; 330 /** Pointer to the KVM_RUN data exchange region. */ 331 R3PTRTYPE(struct kvm_run *) pRun; 332 333 /** @name Statistics 334 * @{ */ 335 # if 0 336 STAMCOUNTER StatExitPortIo; 337 STAMCOUNTER StatExitMemUnmapped; 338 STAMCOUNTER StatExitMemIntercept; 339 STAMCOUNTER StatExitHalt; 340 STAMCOUNTER StatExitInterruptWindow; 341 STAMCOUNTER StatExitCpuId; 342 STAMCOUNTER StatExitMsr; 343 STAMCOUNTER StatExitException; 344 STAMCOUNTER StatExitExceptionBp; 345 STAMCOUNTER StatExitExceptionDb; 346 STAMCOUNTER StatExitExceptionGp; 347 STAMCOUNTER StatExitExceptionGpMesa; 348 STAMCOUNTER StatExitExceptionUd; 349 STAMCOUNTER StatExitExceptionUdHandled; 350 STAMCOUNTER StatExitUnrecoverable; 351 STAMCOUNTER StatGetMsgTimeout; 352 STAMCOUNTER StatStopCpuSuccess; 353 STAMCOUNTER StatStopCpuPending; 354 STAMCOUNTER StatStopCpuPendingAlerts; 355 STAMCOUNTER StatStopCpuPendingOdd; 356 STAMCOUNTER StatCancelChangedState; 357 STAMCOUNTER StatCancelAlertedThread; 358 STAMCOUNTER StatBreakOnCancel; 359 STAMCOUNTER StatBreakOnFFPre; 360 STAMCOUNTER StatBreakOnFFPost; 361 STAMCOUNTER StatBreakOnStatus; 362 # endif 363 STAMCOUNTER StatImportOnDemand; 364 STAMCOUNTER StatImportOnReturn; 365 STAMCOUNTER StatImportOnReturnSkipped; 366 STAMCOUNTER StatQueryCpuTick; 367 /** @} */ 368 369 370 #elif defined(RT_OS_WINDOWS) 311 371 /** The current state of the interrupt windows (NEM_WIN_INTW_F_XXX). */ 312 372 uint8_t fCurrentInterruptWindows; … … 411 471 STAMCOUNTER StatQueryCpuTick; 412 472 /** @} */ 473 413 474 #elif defined(RT_OS_DARWIN) 414 475 /** The vCPU handle associated with the EMT executing this vCPU. */
Note:
See TracChangeset
for help on using the changeset viewer.

