Changeset 93593 in vbox for trunk/include/VBox
- Timestamp:
- Feb 3, 2022 9:05:05 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 149730
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/gvm.h
r93115 r93593 133 133 /** Padding the structure size to page boundrary. */ 134 134 #ifdef VBOX_WITH_NEM_R0 135 uint8_t abPadding3[ 4096- 64*2 - 256 - 1024 - 64 - 896 - 64];135 uint8_t abPadding3[16384 - 64*2 - 256 - 1024 - 64 - 896 - 64]; 136 136 #else 137 uint8_t abPadding3[ 4096- 64*2 - 256 - 1024 - 896 - 64];137 uint8_t abPadding3[16384 - 64*2 - 256 - 1024 - 896 - 64]; 138 138 #endif 139 139 } GVMCPU; … … 144 144 # pragma GCC diagnostic ignored "-Winvalid-offsetof" 145 145 #endif 146 AssertCompileMemberAlignment(GVMCPU, idCpu, 4096);146 AssertCompileMemberAlignment(GVMCPU, idCpu, 16384); 147 147 AssertCompileMemberAlignment(GVMCPU, gvmm, 64); 148 148 #ifdef VBOX_WITH_NEM_R0 149 149 AssertCompileMemberAlignment(GVMCPU, nemr0, 64); 150 150 #endif 151 AssertCompileSizeAlignment(GVMCPU, 4096);151 AssertCompileSizeAlignment(GVMCPU, 16384); 152 152 #if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 153 153 # pragma GCC diagnostic pop … … 300 300 /** Padding so aCpus starts on a page boundrary. */ 301 301 #ifdef VBOX_WITH_NEM_R0 302 uint8_t abPadding2[ 4096*2 - 64 - 256 - 256 - 1024- 256 - 64 - 2176 - 640 - 512 - 64 - 1024 - 128 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];302 uint8_t abPadding2[16384 - 64 - 4352 - 1024 - 256 - 256 - 64 - 2176 - 640 - 512 - 64 - 1024 - 128 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT]; 303 303 #else 304 uint8_t abPadding2[ 4096*2 - 64 - 256 - 256 - 1024- 64 - 2176 - 640 - 512 - 64 - 1024 - 128 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];304 uint8_t abPadding2[16384 - 64 - 4352 - 1024 - 256 - - 64 - 2176 - 640 - 512 - 64 - 1024 - 128 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT]; 305 305 #endif 306 306 … … 326 326 AssertCompileMemberAlignment(GVM, rawpci, 64); 327 327 AssertCompileMemberAlignment(GVM, pdmr0, 64); 328 AssertCompileMemberAlignment(GVM, aCpus, 4096);329 AssertCompileSizeAlignment(GVM, 4096);328 AssertCompileMemberAlignment(GVM, aCpus, 16384); 329 AssertCompileSizeAlignment(GVM, 16384); 330 330 #if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 331 331 # pragma GCC diagnostic pop -
trunk/include/VBox/vmm/gvm.mac
r93115 r93593 31 31 struc GVMCPU 32 32 .s resb VMCPU_size 33 33 34 .idCpu resd 1 34 35 … … 54 55 alignb 64 55 56 .pgmr0 resb 64 56 alignb 409657 alignb 16384 57 58 endstruc 58 59 … … 60 61 struc GVM 61 62 .s resb VM_size 63 62 64 .u32Magic resd 1 63 65 .hSelf resd 1 … … 93 95 .tmr0 resb 128 94 96 95 times ((($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB + 4095) & ~4095) - ($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB)) resb 197 times ((($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB + 16383) & ~16383) - ($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB)) resb 1 96 98 .apCpusR0 RTR0PTR_RES VMM_MAX_CPU_COUNT 97 99 98 alignb 4096100 alignb 16384 99 101 .aCpus resb GVMCPU_size 100 102 endstruc -
trunk/include/VBox/vmm/vm.h
r93115 r93593 316 316 uint8_t padding[40960]; /* multiple of 4096 */ 317 317 } em; 318 319 /** Align the structure size on 16384 boundrary for arm64 purposes. */ 320 uint8_t abStructPadding[4096]; 318 321 } VMCPU; 319 322 320 323 321 324 #ifndef VBOX_FOR_DTRACE_LIB 322 AssertCompileSizeAlignment(VMCPU, 4096);325 AssertCompileSizeAlignment(VMCPU, 16384); 323 326 324 327 /** @name Operations on VMCPU::enmState … … 1256 1259 /** @todo this is rather bloated because of static MSR range allocation. 1257 1260 * Probably a good idea to move it to a separate R0 allocation... */ 1258 uint8_t padding[8832 + 128*8192 ];/* multiple of 64 */1261 uint8_t padding[8832 + 128*8192 + 0x1d00]; /* multiple of 64 */ 1259 1262 } cpum; 1263 1264 /** PGM part. 1265 * @note 16384 aligned for zero and mmio page storage. */ 1266 union 1267 { 1268 #ifdef VMM_INCLUDED_SRC_include_PGMInternal_h 1269 struct PGM s; 1270 #endif 1271 uint8_t padding[53888]; /* multiple of 64 */ 1272 } pgm; 1260 1273 1261 1274 /** VMM part. */ … … 1267 1280 uint8_t padding[1600]; /* multiple of 64 */ 1268 1281 } vmm; 1269 1270 /** PGM part. */1271 union1272 {1273 #ifdef VMM_INCLUDED_SRC_include_PGMInternal_h1274 struct PGM s;1275 #endif1276 uint8_t padding[21120]; /* multiple of 64 */1277 } pgm;1278 1282 1279 1283 /** HM part. */ … … 1454 1458 1455 1459 /** Padding for aligning the structure size on a page boundrary. */ 1456 uint8_t abAlignment2[ 1752- sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT];1460 uint8_t abAlignment2[6616 - sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT]; 1457 1461 1458 1462 /* ---- end small stuff ---- */ … … 1460 1464 /** Array of VMCPU ring-3 pointers. */ 1461 1465 PVMCPUR3 apCpusR3[VMM_MAX_CPU_COUNT]; 1466 1467 /* This point is aligned on a 16384 boundrary (for arm64 purposes). */ 1462 1468 } VM; 1469 #ifndef VBOX_FOR_DTRACE_LIB 1470 AssertCompileSizeAlignment(VM, 16384); 1471 #endif 1463 1472 1464 1473 -
trunk/include/VBox/vmm/vm.mac
r93115 r93593 95 95 alignb 4096 96 96 .em resb 40960 97 alignb 409697 alignb 16384 98 98 endstruc 99 99 … … 130 130 alignb 64 131 131 .cpum resb 8832 + 128*8192 132 alignb 16384 133 .pgm resb 53888 132 134 alignb 64 133 135 .vmm resb 1600 134 alignb 64135 .pgm resb 21120136 136 alignb 64 137 137 .hm resb 5504 … … 165 165 .R0Stats resb 64 166 166 167 times ((($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB + 4095) & ~4095) - ($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB)) resb 1167 times ((($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB + 16383) & ~16383) - ($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB)) resb 1 168 168 .apCpusR3 RTR3PTR_RES VMM_MAX_CPU_COUNT 169 alignb 4096169 alignb 16384 170 170 171 171 endstruc
Note:
See TracChangeset
for help on using the changeset viewer.