Changeset 106920 in vbox for trunk/include
- Timestamp:
- Nov 11, 2024 1:09:38 AM (6 months ago)
- svn:sync-xref-src-repo-rev:
- 165846
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/gvm.h
r106061 r106920 105 105 } gvmm; 106 106 107 union 108 { 109 #if defined(VMM_INCLUDED_SRC_include_VMMInternal_h) && defined(IN_RING0) 110 struct VMMR0PERVCPU s; 111 #endif 112 uint8_t padding[896]; 113 } vmmr0; 114 115 #ifndef VBOX_WITH_MINIMAL_R0 116 107 117 /** The HM per vcpu data. */ 108 118 union 109 119 { 110 # if defined(VMM_INCLUDED_SRC_include_HMInternal_h) && defined(IN_RING0)120 # if defined(VMM_INCLUDED_SRC_include_HMInternal_h) && defined(IN_RING0) 111 121 struct HMR0PERVCPU s; 112 # endif122 # endif 113 123 uint8_t padding[1024]; 114 124 } hmr0; 115 125 116 # ifdef VBOX_WITH_NEM_R0126 # ifdef VBOX_WITH_NEM_R0 117 127 /** The NEM per vcpu data. */ 118 128 union 119 129 { 120 # if defined(VMM_INCLUDED_SRC_include_NEMInternal_h) && defined(IN_RING0)130 # if defined(VMM_INCLUDED_SRC_include_NEMInternal_h) && defined(IN_RING0) 121 131 struct NEMR0PERVCPU s; 122 # endif132 # endif 123 133 uint8_t padding[64]; 124 134 } nemr0; 125 #endif 126 127 union 128 { 129 #if defined(VMM_INCLUDED_SRC_include_VMMInternal_h) && defined(IN_RING0) 130 struct VMMR0PERVCPU s; 131 #endif 132 uint8_t padding[896]; 133 } vmmr0; 134 135 union 136 { 137 #if defined(VMM_INCLUDED_SRC_include_PGMInternal_h) && defined(IN_RING0) 135 # endif 136 137 union 138 { 139 # if defined(VMM_INCLUDED_SRC_include_PGMInternal_h) && defined(IN_RING0) 138 140 struct PGMR0PERVCPU s; 139 # endif141 # endif 140 142 uint8_t padding[576]; 141 143 } pgmr0; 142 144 145 #endif /* !VBOX_WITH_MINIMAL_R0 */ 146 143 147 /** Padding the structure size to page boundrary. */ 144 #ifdef VBOX_WITH_NEM_R0 145 uint8_t abPadding3[16384 - 64*2 - 256 - 1024 - 64 - 896 - 576]; 148 #ifdef VBOX_WITH_MINIMAL_R0 149 uint8_t abPadding3[16384 - 64*2 - 256 - 896]; 150 #elif defined(VBOX_WITH_NEM_R0) 151 uint8_t abPadding3[16384 - 64*2 - 256 - 896 - 1024 - 64 - 576]; 146 152 #else 147 uint8_t abPadding3[16384 - 64*2 - 256 - 1024 - 896- 576];153 uint8_t abPadding3[16384 - 64*2 - 256 - 896 - 1024 - 576]; 148 154 #endif 149 155 } GVMCPU; … … 157 163 AssertCompileMemberAlignment(GVMCPU, idCpu, 16384); 158 164 AssertCompileMemberAlignment(GVMCPU, gvmm, 64); 159 # ifdef VBOX_WITH_NEM_R0 165 # ifndef VBOX_WITH_MINIMAL_R0 166 # ifdef VBOX_WITH_NEM_R0 160 167 AssertCompileMemberAlignment(GVMCPU, nemr0, 64); 168 # endif 161 169 # endif 162 170 AssertCompileSizeAlignment(GVMCPU, 16384); … … 216 224 } gvmm; 217 225 226 #ifndef VBOX_WITH_MINIMAL_R0 227 218 228 /** The GMM per vm data. */ 219 229 union 220 230 { 221 # ifdef VMM_INCLUDED_SRC_VMMR0_GMMR0Internal_h231 # ifdef VMM_INCLUDED_SRC_VMMR0_GMMR0Internal_h 222 232 struct GMMPERVM s; 223 # endif233 # endif 224 234 uint8_t padding[1024]; 225 235 } gmm; … … 228 238 union 229 239 { 230 # if defined(VMM_INCLUDED_SRC_include_HMInternal_h) && defined(IN_RING0)240 # if defined(VMM_INCLUDED_SRC_include_HMInternal_h) && defined(IN_RING0) 231 241 struct HMR0PERVM s; 232 # endif242 # endif 233 243 uint8_t padding[256]; 234 244 } hmr0; 235 245 236 # ifdef VBOX_WITH_NEM_R0246 # ifdef VBOX_WITH_NEM_R0 237 247 /** The NEM per vcpu data. */ 238 248 union 239 249 { 240 # if defined(VMM_INCLUDED_SRC_include_NEMInternal_h) && defined(IN_RING0)250 # if defined(VMM_INCLUDED_SRC_include_NEMInternal_h) && defined(IN_RING0) 241 251 struct NEMR0PERVM s; 242 # endif252 # endif 243 253 uint8_t padding[256]; 244 254 } nemr0; 245 # endif255 # endif 246 256 247 257 /** The RAWPCIVM per vm data. */ 248 258 union 249 259 { 250 # ifdef VBOX_INCLUDED_rawpci_h260 # ifdef VBOX_INCLUDED_rawpci_h 251 261 struct RAWPCIPERVM s; 252 # endif262 # endif 253 263 uint8_t padding[64]; 254 264 } rawpci; … … 256 266 union 257 267 { 258 # if defined(VMM_INCLUDED_SRC_include_PDMInternal_h) && defined(IN_RING0)268 # if defined(VMM_INCLUDED_SRC_include_PDMInternal_h) && defined(IN_RING0) 259 269 struct PDMR0PERVM s; 260 # endif270 # endif 261 271 uint8_t padding[3008]; 262 272 } pdmr0; … … 264 274 union 265 275 { 266 # if defined(VMM_INCLUDED_SRC_include_PGMInternal_h) && defined(IN_RING0)276 # if defined(VMM_INCLUDED_SRC_include_PGMInternal_h) && defined(IN_RING0) 267 277 struct PGMR0PERVM s; 268 # endif278 # endif 269 279 uint8_t padding[90112]; 270 280 } pgmr0; … … 272 282 union 273 283 { 274 # if defined(VMM_INCLUDED_SRC_include_IOMInternal_h) && defined(IN_RING0)284 # if defined(VMM_INCLUDED_SRC_include_IOMInternal_h) && defined(IN_RING0) 275 285 struct IOMR0PERVM s; 276 # endif286 # endif 277 287 uint8_t padding[512]; 278 288 } iomr0; … … 280 290 union 281 291 { 282 # if defined(VMM_INCLUDED_SRC_include_APICInternal_h) && defined(IN_RING0)292 # if defined(VMM_INCLUDED_SRC_include_APICInternal_h) && defined(IN_RING0) 283 293 struct APICR0PERVM s; 284 # endif294 # endif 285 295 uint8_t padding[64]; 286 296 } apicr0; … … 288 298 union 289 299 { 290 # if defined(VMM_INCLUDED_SRC_include_DBGFInternal_h) && defined(IN_RING0)300 # if defined(VMM_INCLUDED_SRC_include_DBGFInternal_h) && defined(IN_RING0) 291 301 struct DBGFR0PERVM s; 292 # endif302 # endif 293 303 uint8_t padding[1024]; 294 304 } dbgfr0; … … 296 306 union 297 307 { 298 # if defined(VMM_INCLUDED_SRC_include_TMInternal_h) && defined(IN_RING0)308 # if defined(VMM_INCLUDED_SRC_include_TMInternal_h) && defined(IN_RING0) 299 309 TMR0PERVM s; 300 # endif310 # endif 301 311 uint8_t padding[192]; 302 312 } tmr0; 303 313 314 #endif /* !VBOX_WITH_MINIMAL_R0 */ 315 304 316 union 305 317 { … … 311 323 312 324 /** Padding so aCpus starts on a page boundrary. */ 313 #ifdef VBOX_WITH_NEM_R0 325 #ifdef VBOX_WITH_MINIMAL_R0 326 uint8_t abPadding2[16384*1 - 64 - 4352 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT]; 327 #elif defined(VBOX_WITH_NEM_R0) 314 328 uint8_t abPadding2[16384*7 - 64 - 4352 - 1024 - 256 - 256 - 64 - 3008 - 90112 - 512 - 64 - 1024 - 192 - 704 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT]; 315 329 #else -
trunk/include/VBox/vmm/gvm.mac
r106061 r106920 57 57 .gvmm resb 256 58 58 alignb 64 59 .vmmr0 resb 896 60 alignb 64 59 61 .hmr0 resb 1024 60 62 %ifdef VBOX_WITH_NEM_R0 61 63 .nemr0 resb 64 62 64 %endif 63 alignb 6464 .vmmr0 resb 89665 65 alignb 64 66 66 .pgmr0 resb 576
Note:
See TracChangeset
for help on using the changeset viewer.