Changeset 27342 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Mar 12, 2010 7:41:11 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevAPIC.cpp
r27341 r27342 2163 2163 } 2164 2164 2165 /**2166 * This function is a hack, intended to minimize impact of not fully implemented power management support2167 * on OSX guests. We do nothing smarter than make access to certain register (ISR status for LVT[6])2168 * rather long operation from the guest's perspective.2169 * To be removed once real reasons why power saving states not reached by OSX will be figured out.2170 * Hack seems to be safe, as guests rarely access this particular register.2171 */2172 int checkHeavyRegistersPolling(APICDeviceInfo * pThis, RTGCPHYS GCPhysAddr)2173 {2174 int index = (GCPhysAddr >> 4) & 0xff;2175 2176 /* We pick up rarely accessed IRR status register for this check */2177 if (index != 0x26)2178 return VINF_SUCCESS;2179 2180 #ifdef IN_RING32181 RTThreadSleep(10);2182 return VINF_SUCCESS;2183 #else2184 return VINF_IOM_HC_MMIO_READ;2185 #endif2186 }2187 2188 2165 #ifdef VBOX 2189 2166 static … … 2451 2428 #endif 2452 2429 #endif /* experimental */ 2453 int rc = checkHeavyRegistersPolling(dev, GCPhysAddr);2454 if (rc != VINF_SUCCESS)2455 return rc;2456 2430 APIC_LOCK(dev, VINF_IOM_HC_MMIO_READ); 2457 2431 *(uint32_t *)pv = apic_mem_readl(dev, s, GCPhysAddr);
Note:
See TracChangeset
for help on using the changeset viewer.