Changeset 104508 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- May 3, 2024 2:09:24 PM (9 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/GCM.cpp
r104507 r104508 4 4 5 5 /* 6 * Copyright (C) 2022-202 3Oracle and/or its affiliates.6 * Copyright (C) 2022-2024 Oracle and/or its affiliates. 7 7 * 8 8 * This file is part of VirtualBox base platform packages, as … … 27 27 /** @page pg_gcm GCM - The Guest Compatibility Manager 28 28 * 29 * The Guest Compatibility Manager provides run-time compatibility fixes 30 * forcertain known guest bugs.29 * The Guest Compatibility Manager provides run-time compatibility fixes for 30 * certain known guest bugs. 31 31 * 32 32 * @see grp_gcm … … 45 45 * chance that a fix could be misapplied. 46 46 * 47 * The fixers are invisible to a guest. A common problem is division by zero 48 * caused by a software timing loop which cannot deal with fast CPUs (where 49 * "fast" very much depends on the era when the software was written). A fixer 50 * intercepts division by zero, recognizes known register contents and code 51 * sequence, modifies one or more registers to avoid a divide error, and 52 * restarts the instruction. 53 * 54 * It is not expected that the set of active fixers would be changed during 55 * the lifetime of the VM. 47 * The fixers are invisible to a guest. It is not expected that the set of 48 * active fixers would be changed during the lifetime of the VM. 49 * 50 * 51 * @subsection sec_gcm_fixer_div_by_zero Division By Zero 52 * 53 * A common problem is division by zero caused by a software timing loop which 54 * cannot deal with fast CPUs (where "fast" very much depends on the era when 55 * the software was written). A fixer intercepts division by zero, recognizes 56 * known register contents and code sequence, modifies one or more registers to 57 * avoid a divide error, and restarts the instruction. 58 * 56 59 */ 57 60 … … 60 63 * Header Files * 61 64 *********************************************************************************************************************************/ 62 #define LOG_GROUP LOG_GROUP_G IM65 #define LOG_GROUP LOG_GROUP_GCM 63 66 #include <VBox/vmm/gcm.h> 64 #include <VBox/vmm/hm.h>65 67 #include <VBox/vmm/ssm.h> 66 #include <VBox/vmm/pdmdev.h>67 68 #include "GCMInternal.h" 68 69 #include <VBox/vmm/vm.h> 69 70 70 71 #include <VBox/log.h> 71 72 #include <iprt/err.h> 73 #include <iprt/semaphore.h> 72 #include <VBox/err.h> 73 74 74 #include <iprt/string.h> 75 75
Note:
See TracChangeset
for help on using the changeset viewer.