VirtualBox

Changeset 47172 in vbox


Ignore:
Timestamp:
Jul 15, 2013 11:24:11 PM (12 years ago)
Author:
vboxsync
Message:

Started on exception dispatching testcase to check rare paths.

Location:
trunk/include/iprt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asmdefs.mac

    r47034 r47172  
    7373
    7474;;
     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;;
    7580; Align code, pad with INT3.
    7681%define ALIGNCODE(alignment) align alignment, db 0cch
     
    297302%ifdef ASM_FORMAT_MACHO
    298303 %ifdef __YASM__
    299  [section .text]
    300  [section .data]
     304  section .text
     305  section .data
    301306 %endif
    302307%endif
     
    311316%else
    312317%macro BEGINCODE 0
    313 [section .text]
     318 section .text
    314319%endmacro
    315320%endif
     
    328333 %macro BEGINCONST 0
    329334  %ifdef ASM_FORMAT_MACHO ;; @todo check the other guys too.
    330    [section .rodata]
     335   section .rodata
    331336  %else
    332    [section .text]
     337   section .text
    333338  %endif
    334339 %endmacro
     
    343348%else
    344349%macro BEGINDATA 0
    345 [section .data]
     350 section .data
    346351%endmacro
    347352%endif
     
    355360%else
    356361%macro BEGINBSS 0
    357 [section .bss]
     362 section .bss
    358363%endmacro
    359364%endif
  • trunk/include/iprt/x86.h

    r47152 r47172  
    22812281typedef struct X86DESCGENERIC
    22822282{
    2283     /** Limit - Low word. */
     2283    /** 00 - Limit - Low word. */
    22842284    unsigned    u16LimitLow : 16;
    2285     /** Base address - lowe word.
     2285    /** 10 - Base address - lowe word.
    22862286     * Don't try set this to 24 because MSC is doing stupid things then. */
    22872287    unsigned    u16BaseLow : 16;
    2288     /** Base address - first 8 bits of high word. */
     2288    /** 20 - Base address - first 8 bits of high word. */
    22892289    unsigned    u8BaseHigh1 : 8;
    2290     /** Segment Type. */
     2290    /** 28 - Segment Type. */
    22912291    unsigned    u4Type : 4;
    2292     /** Descriptor Type. System(=0) or code/data selector */
     2292    /** 2c - Descriptor Type. System(=0) or code/data selector */
    22932293    unsigned    u1DescType : 1;
    2294     /** Descriptor Privelege level. */
     2294    /** 2d - Descriptor Privelege level. */
    22952295    unsigned    u2Dpl : 2;
    2296     /** Flags selector present(=1) or not. */
     2296    /** 2f - Flags selector present(=1) or not. */
    22972297    unsigned    u1Present : 1;
    2298     /** Segment limit 16-19. */
     2298    /** 30 - Segment limit 16-19. */
    22992299    unsigned    u4LimitHigh : 4;
    2300     /** Available for system software. */
     2300    /** 34 - Available for system software. */
    23012301    unsigned    u1Available : 1;
    2302     /** 32 bits mode: Reserved - 0, long mode: Long Attribute Bit. */
     2302    /** 35 - 32 bits mode: Reserved - 0, long mode: Long Attribute Bit. */
    23032303    unsigned    u1Long : 1;
    2304     /** This flags meaning depends on the segment type. Try make sense out
     2304    /** 36 - This flags meaning depends on the segment type. Try make sense out
    23052305     * of the intel manual yourself.  */
    23062306    unsigned    u1DefBig : 1;
    2307     /** Granularity of the limit. If set 4KB granularity is used, if
     2307    /** 37 - Granularity of the limit. If set 4KB granularity is used, if
    23082308     * clear byte. */
    23092309    unsigned    u1Granularity : 1;
    2310     /** Base address - highest 8 bits. */
     2310    /** 38 - Base address - highest 8 bits. */
    23112311    unsigned    u8BaseHigh2 : 8;
    23122312} X86DESCGENERIC;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette