Changeset 47172 in vbox
- Timestamp:
- Jul 15, 2013 11:24:11 PM (12 years ago)
- Location:
- trunk/include/iprt
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asmdefs.mac
r47034 r47172 73 73 74 74 ;; 75 ; Makes a 32-bit unsigned (not type safe, but whatever) out of four byte values. 76 %define RT_MAKE_U32_FROM_U8(b0, b1, b2, b3) ( (b3 << 24) | (b2 << 16) | (b1 << 8) | b0) ) 77 78 79 ;; 75 80 ; Align code, pad with INT3. 76 81 %define ALIGNCODE(alignment) align alignment, db 0cch … … 297 302 %ifdef ASM_FORMAT_MACHO 298 303 %ifdef __YASM__ 299 [section .text]300 [section .data]304 section .text 305 section .data 301 306 %endif 302 307 %endif … … 311 316 %else 312 317 %macro BEGINCODE 0 313 [section .text] 318 section .text 314 319 %endmacro 315 320 %endif … … 328 333 %macro BEGINCONST 0 329 334 %ifdef ASM_FORMAT_MACHO ;; @todo check the other guys too. 330 [section .rodata]335 section .rodata 331 336 %else 332 [section .text]337 section .text 333 338 %endif 334 339 %endmacro … … 343 348 %else 344 349 %macro BEGINDATA 0 345 [section .data] 350 section .data 346 351 %endmacro 347 352 %endif … … 355 360 %else 356 361 %macro BEGINBSS 0 357 [section .bss] 362 section .bss 358 363 %endmacro 359 364 %endif -
trunk/include/iprt/x86.h
r47152 r47172 2281 2281 typedef struct X86DESCGENERIC 2282 2282 { 2283 /** Limit - Low word. */2283 /** 00 - Limit - Low word. */ 2284 2284 unsigned u16LimitLow : 16; 2285 /** Base address - lowe word.2285 /** 10 - Base address - lowe word. 2286 2286 * Don't try set this to 24 because MSC is doing stupid things then. */ 2287 2287 unsigned u16BaseLow : 16; 2288 /** Base address - first 8 bits of high word. */2288 /** 20 - Base address - first 8 bits of high word. */ 2289 2289 unsigned u8BaseHigh1 : 8; 2290 /** Segment Type. */2290 /** 28 - Segment Type. */ 2291 2291 unsigned u4Type : 4; 2292 /** Descriptor Type. System(=0) or code/data selector */2292 /** 2c - Descriptor Type. System(=0) or code/data selector */ 2293 2293 unsigned u1DescType : 1; 2294 /** Descriptor Privelege level. */2294 /** 2d - Descriptor Privelege level. */ 2295 2295 unsigned u2Dpl : 2; 2296 /** Flags selector present(=1) or not. */2296 /** 2f - Flags selector present(=1) or not. */ 2297 2297 unsigned u1Present : 1; 2298 /** Segment limit 16-19. */2298 /** 30 - Segment limit 16-19. */ 2299 2299 unsigned u4LimitHigh : 4; 2300 /** Available for system software. */2300 /** 34 - Available for system software. */ 2301 2301 unsigned u1Available : 1; 2302 /** 3 2 bits mode: Reserved - 0, long mode: Long Attribute Bit. */2302 /** 35 - 32 bits mode: Reserved - 0, long mode: Long Attribute Bit. */ 2303 2303 unsigned u1Long : 1; 2304 /** This flags meaning depends on the segment type. Try make sense out2304 /** 36 - This flags meaning depends on the segment type. Try make sense out 2305 2305 * of the intel manual yourself. */ 2306 2306 unsigned u1DefBig : 1; 2307 /** Granularity of the limit. If set 4KB granularity is used, if2307 /** 37 - Granularity of the limit. If set 4KB granularity is used, if 2308 2308 * clear byte. */ 2309 2309 unsigned u1Granularity : 1; 2310 /** Base address - highest 8 bits. */2310 /** 38 - Base address - highest 8 bits. */ 2311 2311 unsigned u8BaseHigh2 : 8; 2312 2312 } X86DESCGENERIC;
Note:
See TracChangeset
for help on using the changeset viewer.