Changeset 2808 in vbox
- Timestamp:
- May 23, 2007 2:36:07 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21420
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/x86.h
r2807 r2808 1764 1764 1765 1765 /** 1766 * 64 bits generic descriptor table entry 1767 * Note: most of these bits have no meaning in long mode. 1768 */ 1769 #pragma pack(1) 1770 typedef 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. */ 1804 typedef X86DESC64GENERIC *PX86DESC64GENERIC; 1805 /** Pointer to a const generic descriptor entry. */ 1806 typedef const X86DESC64GENERIC *PCX86DESC64GENERIC; 1807 1808 /** 1766 1809 * System descriptor table entry (64 bits) 1767 1810 */ … … 1818 1861 { 1819 1862 /** Generic descriptor view. */ 1820 X86DESC64SYSTEM System; 1863 X86DESC64GENERIC Gen; 1864 /** System descriptor view. */ 1865 X86DESC64SYSTEM System; 1821 1866 #if 0 1822 X86DESC64GATE Gate;1867 X86DESC64GATE Gate; 1823 1868 #endif 1824 1869 1825 1870 /** 8 bit unsigned interger view. */ 1826 uint8_t au8[16];1871 uint8_t au8[16]; 1827 1872 /** 16 bit unsigned interger view. */ 1828 uint16_t au16[8];1873 uint16_t au16[8]; 1829 1874 /** 32 bit unsigned interger view. */ 1830 uint32_t au32[4];1875 uint32_t au32[4]; 1831 1876 } X86DESC64; 1832 1877 #pragma pack()
Note:
See TracChangeset
for help on using the changeset viewer.