Changeset 7097 in vbox for trunk/include/VBox
- Timestamp:
- Feb 22, 2008 1:28:35 PM (17 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/cpum.h
r7095 r7097 117 117 uint64_t rcx; 118 118 }; 119 union 120 { 121 /* Note: we rely on the exact layout, because we use lss esp, [] in the switcher */ 122 struct 123 { 124 uint32_t esp; 125 RTSEL ss; 126 RTSEL ssPadding; 127 }; 128 struct 129 { 130 uint64_t rsp; 131 RTSEL ss64; 132 RTSEL ss64Padding; 133 }; 134 }; 119 /* Note: we rely on the exact layout, because we use lss esp, [] in the switcher */ 120 uint32_t esp; 121 RTSEL ss; 122 RTSEL ssPadding; 123 /* Note: no overlap with esp here. */ 124 uint64_t rsp; 135 125 136 126 RTSEL gs; … … 143 133 RTSEL dsPadding; 144 134 RTSEL cs; 145 RTSEL csPadding ;135 RTSEL csPadding[3]; /* 3 words to force 8 byte alignment for the remainder */ 146 136 147 137 union … … 230 220 uint64_t rcx; 231 221 }; 232 union 233 { 234 /* Note: we rely on the exact layout, because we use lss esp, [] in the switcher */ 235 struct 236 { 237 uint32_t esp; 238 RTSEL ss; 239 RTSEL ssPadding; 240 }; 241 struct 242 { 243 uint64_t rsp; 244 RTSEL ss64; 245 RTSEL ss64Padding; 246 }; 247 }; 222 /* Note: we rely on the exact layout, because we use lss esp, [] in the switcher */ 223 uint32_t esp; 224 RTSEL ss; 225 RTSEL ssPadding; 226 /* Note: no overlap with esp here. */ 227 uint64_t rsp; 248 228 249 229 RTSEL gs; … … 256 236 RTSEL dsPadding; 257 237 RTSEL cs; 258 RTSEL csPadding ;238 RTSEL csPadding[3]; /* 3 words to force 8 byte alignment for the remainder */ 259 239 260 240 union … … 340 320 341 321 /* padding to get 32byte aligned size */ 342 uint32_t padding[ 6];322 uint32_t padding[4]; 343 323 } CPUMCTX; 344 324 #pragma pack() -
trunk/include/VBox/cpum.mac
r7095 r7097 43 43 .esp resd 1 44 44 .ss resw 1 45 .ssPadding resw 3 45 .ssPadding resw 1 46 .rsp resq 1 46 47 .gs resw 1 47 48 .gsPadding resw 1 … … 53 54 .dsPadding resw 1 54 55 .cs resw 1 55 .csPadding resw 156 .csPadding resw 3 56 57 .eflags resq 1 57 58 .eip resq 1 … … 105 106 .esp resd 1 106 107 .ss resw 1 107 .ssPadding resw 3 108 .ssPadding resw 1 109 .rsp resq 1 108 110 .gs resw 1 109 111 .gsPadding resw 1 … … 115 117 .dsPadding resw 1 116 118 .cs resw 1 117 .csPadding resw 1119 .csPadding resw 3 118 120 .eflags resq 1 119 121 .eip resq 1 … … 179 181 .trPadding resw 1 180 182 181 .SysEnter.cs resb 8182 .SysEnter.eip resb 8183 .SysEnter.esp resb 8183 .SysEnter.cs resb 8 184 .SysEnter.eip resb 8 185 .SysEnter.esp resb 8 184 186 185 187 .ldtrHid.u32Base resd 1 … … 192 194 193 195 ; padding 194 .padding resd 6196 .padding resd 4 195 197 endstruc 196 198
Note:
See TracChangeset
for help on using the changeset viewer.