Changeset 36220 in vbox
- Timestamp:
- Mar 9, 2011 10:57:45 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 70434
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/sup.h
r35855 r36220 135 135 typedef SUPGIPCPU *PSUPGIPCPU; 136 136 137 /** The number of CPUs covered by the GIP. 138 * @remarks Must be a power of two! */ 139 #define SUPGLOBALINFOPAGE_CPUS 32 140 137 141 /** 138 142 * Global Information Page. … … 167 171 * If u32Mode == SUPGIPMODE_ASYNC_TSC then the CPU ACPI ID is used as an 168 172 * index into the array. */ 169 SUPGIPCPU aCPUs[ 32];173 SUPGIPCPU aCPUs[SUPGLOBALINFOPAGE_CPUS]; 170 174 } SUPGLOBALINFOPAGE; 171 175 AssertCompile(sizeof(SUPGLOBALINFOPAGE) <= 0x1000); -
trunk/include/VBox/sup.mac
r28800 r36220 28 28 %define ___VBox_sup_mac 29 29 30 %define SUPGLOBALINFOPAGE_CPUS 32 30 31 31 32 struc SUPGIPCPU … … 52 53 .u64NanoTSLastUpdateHz resq 1 53 54 .au32Padding1 resd 56 54 .aCPUs resb (SUPGIPCPU_size* 32)55 .aCPUs resb (SUPGIPCPU_size*SUPGLOBALINFOPAGE_CPUS) 55 56 endstruc 56 57 -
trunk/src/VBox/Runtime/common/time/timesupA.mac
r33540 r36220 518 518 ; pGipCpu = &pGip->aCPU[u8ApicId]; 519 519 shr ebx, 24 520 mov eax, SUPGIPCPU_size 521 mul ebx 520 mov eax, ebx 521 %if SUPGLOBALINFOPAGE_CPUS < 256 522 and eax, SUPGLOBALINFOPAGE_CPUS - 1 523 %endif 524 imul eax, SUPGIPCPU_size 522 525 lea pGipCPU, [pGip + rax + SUPGLOBALINFOPAGE.aCPUs] 523 526 %else -
trunk/src/VBox/Runtime/common/time/timesupref.h
r33540 r36220 64 64 #ifdef ASYNC_GIP 65 65 uint8_t u8ApicId = ASMGetApicId(); 66 # if SUPGLOBALINFOPAGE_CPUS < 256 67 PSUPGIPCPU pGipCpu = &pGip->aCPUs[u8ApicId & SUPGLOBALINFOPAGE_CPUS]; 68 # else 66 69 PSUPGIPCPU pGipCpu = &pGip->aCPUs[u8ApicId]; 70 # endif 67 71 #else 68 72 PSUPGIPCPU pGipCpu = &pGip->aCPUs[0];
Note:
See TracChangeset
for help on using the changeset viewer.