VirtualBox

Changeset 2808 in vbox


Ignore:
Timestamp:
May 23, 2007 2:36:07 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
21420
Message:

Added X86DESC64GENERIC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/x86.h

    r2807 r2808  
    17641764
    17651765/**
     1766 * 64 bits generic descriptor table entry
     1767 * Note: most of these bits have no meaning in long mode.
     1768 */
     1769#pragma pack(1)
     1770typedef struct X86DESC64GENERIC
     1771{
     1772    /** Limit - Low word - *IGNORED*. */
     1773    unsigned    u16LimitLow : 16;
     1774    /** Base address - lowe word. - *IGNORED*
     1775     * Don't try set this to 24 because MSC is doing studing things then. */
     1776    unsigned    u16BaseLow : 16;
     1777    /** Base address - first 8 bits of high word. - *IGNORED* */
     1778    unsigned    u8BaseHigh1 : 8;
     1779    /** Segment Type. */
     1780    unsigned    u4Type : 4;
     1781    /** Descriptor Type. System(=0) or code/data selector */
     1782    unsigned    u1DescType : 1;
     1783    /** Descriptor Privelege level. */
     1784    unsigned    u2Dpl : 2;
     1785    /** Flags selector present(=1) or not. */
     1786    unsigned    u1Present : 1;
     1787    /** Segment limit 16-19. - *IGNORED* */
     1788    unsigned    u4LimitHigh : 4;
     1789    /** Available for system software. - *IGNORED* */
     1790    unsigned    u1Available : 1;
     1791    /** Long mode flag. */
     1792    unsigned    u1Long : 1;
     1793    /** This flags meaning depends on the segment type. Try make sense out
     1794     * of the intel manual yourself.  */
     1795    unsigned    u1DefBig : 1;
     1796    /** Granularity of the limit. If set 4KB granularity is used, if
     1797     * clear byte. - *IGNORED* */
     1798    unsigned    u1Granularity : 1;
     1799    /** Base address - highest 8 bits. - *IGNORED* */
     1800    unsigned    u8BaseHigh2 : 8;
     1801} X86DESC64GENERIC;
     1802#pragma pack()
     1803/** Pointer to a generic descriptor entry. */
     1804typedef X86DESC64GENERIC *PX86DESC64GENERIC;
     1805/** Pointer to a const generic descriptor entry. */
     1806typedef const X86DESC64GENERIC *PCX86DESC64GENERIC;
     1807
     1808/**
    17661809 * System descriptor table entry (64 bits)
    17671810 */
     
    18181861{
    18191862    /** Generic descriptor view. */
    1820     X86DESC64SYSTEM System;
     1863    X86DESC64GENERIC    Gen;
     1864    /** System descriptor view. */
     1865    X86DESC64SYSTEM     System;
    18211866#if 0
    1822     X86DESC64GATE   Gate;
     1867    X86DESC64GATE       Gate;
    18231868#endif
    18241869
    18251870    /** 8 bit unsigned interger view. */
    1826     uint8_t         au8[16];
     1871    uint8_t             au8[16];
    18271872    /** 16 bit unsigned interger view. */
    1828     uint16_t        au16[8];
     1873    uint16_t            au16[8];
    18291874    /** 32 bit unsigned interger view. */
    1830     uint32_t        au32[4];
     1875    uint32_t            au32[4];
    18311876} X86DESC64;
    18321877#pragma pack()
Note: See TracChangeset for help on using the changeset viewer.

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