Changeset 61584 in vbox
- Timestamp:
- Jun 8, 2016 3:15:52 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/APIC.cpp
r61581 r61584 36 36 *********************************************************************************************************************************/ 37 37 /** The current APIC saved state version. */ 38 #define APIC_SAVED_STATE_VERSION 4 38 #define APIC_SAVED_STATE_VERSION 5 39 /** VirtualBox 5.1 beta2 - pre fActiveLintX. */ 40 #define APIC_SAVED_STATE_VERSION_VBOX_51_BETA2 4 39 41 /** The saved state version used by VirtualBox 5.0 and 40 42 * earlier. */ 41 #define APIC_SAVED_STATE_VERSION_VBOX_50 343 #define APIC_SAVED_STATE_VERSION_VBOX_50 3 42 44 /** The saved state version used by VirtualBox v3 and earlier. 43 45 * This does not include the config. */ 44 #define APIC_SAVED_STATE_VERSION_VBOX_30 246 #define APIC_SAVED_STATE_VERSION_VBOX_30 2 45 47 /** Some ancient version... */ 46 #define APIC_SAVED_STATE_VERSION_ANCIENT 148 #define APIC_SAVED_STATE_VERSION_ANCIENT 1 47 49 48 50 … … 825 827 { 826 828 case APIC_SAVED_STATE_VERSION: 829 case APIC_SAVED_STATE_VERSION_VBOX_51_BETA2: 827 830 { 828 831 /* The auxiliary state. */ … … 842 845 LogRel(("APIC%u: Edge PIB : %.*Rhxs\n", pVCpu->idCpu, sizeof(APICPIB), pApicCpu->pvApicPibR3)); 843 846 LogRel(("APIC%u: Level PIB: %.*Rhxs\n", pVCpu->idCpu, sizeof(APICPIB), &pApicCpu->ApicPibLevel)); 847 848 /* The LINT0, LINT1 interrupt line active states. */ 849 LogRel(("APIC%u: fActiveLint0 = %RTbool\n", pVCpu->idCpu, pApicCpu->fActiveLint0)); 850 LogRel(("APIC%u: fActiveLint1 = %RTbool\n", pVCpu->idCpu, pApicCpu->fActiveLint1)); 844 851 845 852 /* The APIC page. */ … … 1117 1124 TMR3TimerSave(pApicCpu->pTimerR3, pSSM); 1118 1125 1126 /* Save the LINT0, LINT1 interrupt line states. */ 1127 SSMR3PutBool(pSSM, pApicCpu->fActiveLint0); 1128 SSMR3PutBool(pSSM, pApicCpu->fActiveLint1); 1129 1119 1130 #if defined(APIC_FUZZY_SSM_COMPAT_TEST) || defined(DEBUG_ramshankar) 1120 1131 apicR3DumpState(pVCpu, "Saved state", APIC_SAVED_STATE_VERSION); … … 1147 1158 /* Weed out invalid versions. */ 1148 1159 if ( uVersion != APIC_SAVED_STATE_VERSION 1160 && uVersion != APIC_SAVED_STATE_VERSION_VBOX_51_BETA2 1149 1161 && uVersion != APIC_SAVED_STATE_VERSION_VBOX_50 1150 1162 && uVersion != APIC_SAVED_STATE_VERSION_VBOX_30 … … 1170 1182 PAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu); 1171 1183 1172 if (uVersion == APIC_SAVED_STATE_VERSION) 1184 if ( uVersion == APIC_SAVED_STATE_VERSION 1185 || uVersion == APIC_SAVED_STATE_VERSION_VBOX_51_BETA2) 1173 1186 { 1174 1187 /* Load the auxiliary data. */ … … 1193 1206 uint8_t const uTimerShift = apicGetTimerShift(pXApicPage); 1194 1207 apicHintTimerFreq(pApicCpu, uInitialCount, uTimerShift); 1208 } 1209 1210 /* Load the LINT0, LINT1 interrupt line states. */ 1211 if (uVersion > APIC_SAVED_STATE_VERSION_VBOX_51_BETA2) 1212 { 1213 SSMR3GetBool(pSSM, (bool *)&pApicCpu->fActiveLint0); 1214 SSMR3GetBool(pSSM, (bool *)&pApicCpu->fActiveLint1); 1195 1215 } 1196 1216 }
Note:
See TracChangeset
for help on using the changeset viewer.