Changeset 4279 in vbox
- Timestamp:
- Aug 22, 2007 12:45:11 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevACPI.cpp
r4195 r4279 172 172 uint32_t uSleepState; 173 173 uint8_t au8RSDPPage[0x1000]; 174 /** This is a workaround for incorrect index field handling by Intels ACPICA. 175 * The system info _INI method writes to offset 0x200. We either observe a 176 * write request to index 0x80 (in that case we don't change the index) or a 177 * write request to offset 0x200 (in that case we divide the index value by 178 * 4. Note that the _STA method is sometimes called prior to the _INI method 179 * (ACPI spec 6.3.7, _STA). See the special case for BAT_DEVICE_STATUS in 180 * acpiBatIndexWrite() for handling this. */ 174 181 uint8_t u8IndexShift; 175 182 uint8_t u8UseIOApic; … … 980 987 case 4: 981 988 u32 >>= s->u8IndexShift; 989 /* see comment at the declaration of u8IndexShift */ 990 if (s->u8IndexShift == 0 && u32 == (BAT_DEVICE_STATUS << 2)) 991 { 992 s->u8IndexShift = 2; 993 u32 >>= 2; 994 } 982 995 Assert (u32 < BAT_INDEX_LAST); 983 996 s->uBatteryIndex = u32;
Note:
See TracChangeset
for help on using the changeset viewer.