Changeset 59238 in vbox
- Timestamp:
- Jan 1, 2016 1:48:46 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/x86.h
r59019 r59238 1506 1506 uint32_t u20PageNo : 20; 1507 1507 } X86PTEBITS; 1508 #ifndef VBOX_FOR_DTRACE_LIB 1509 AssertCompileSize(X86PTEBITS, 4); 1510 #endif 1508 1511 /** Pointer to a page table entry. */ 1509 1512 typedef X86PTEBITS *PX86PTEBITS; … … 1527 1530 uint8_t au8[4]; 1528 1531 } X86PTE; 1532 #ifndef VBOX_FOR_DTRACE_LIB 1533 AssertCompileSize(X86PTE, 4); 1534 #endif 1529 1535 /** Pointer to a page table entry. */ 1530 1536 typedef X86PTE *PX86PTE; … … 1569 1575 uint32_t u1NoExecute : 1; 1570 1576 } X86PTEPAEBITS; 1577 #ifndef VBOX_FOR_DTRACE_LIB 1578 AssertCompileSize(X86PTEPAEBITS, 8); 1579 #endif 1571 1580 /** Pointer to a page table entry. */ 1572 1581 typedef X86PTEPAEBITS *PX86PTEPAEBITS; … … 1590 1599 uint8_t au8[8]; 1591 1600 } X86PTEPAE; 1601 #ifndef VBOX_FOR_DTRACE_LIB 1602 AssertCompileSize(X86PTEPAE, 8); 1603 #endif 1592 1604 /** Pointer to a PAE page table entry. */ 1593 1605 typedef X86PTEPAE *PX86PTEPAE; … … 1604 1616 X86PTE a[X86_PG_ENTRIES]; 1605 1617 } X86PT; 1618 #ifndef VBOX_FOR_DTRACE_LIB 1619 AssertCompileSize(X86PT, 4096); 1620 #endif 1606 1621 /** Pointer to a page table. */ 1607 1622 typedef X86PT *PX86PT; … … 1623 1638 X86PTEPAE a[X86_PG_PAE_ENTRIES]; 1624 1639 } X86PTPAE; 1640 #ifndef VBOX_FOR_DTRACE_LIB 1641 AssertCompileSize(X86PTPAE, 4096); 1642 #endif 1625 1643 /** Pointer to a page table. */ 1626 1644 typedef X86PTPAE *PX86PTPAE; … … 1699 1717 uint32_t u20PageNo : 20; 1700 1718 } X86PDEBITS; 1719 #ifndef VBOX_FOR_DTRACE_LIB 1720 AssertCompileSize(X86PDEBITS, 4); 1721 #endif 1701 1722 /** Pointer to a page directory entry. */ 1702 1723 typedef X86PDEBITS *PX86PDEBITS; … … 1740 1761 uint32_t u1NoExecute : 1; 1741 1762 } X86PDEPAEBITS; 1763 #ifndef VBOX_FOR_DTRACE_LIB 1764 AssertCompileSize(X86PDEPAEBITS, 8); 1765 #endif 1742 1766 /** Pointer to a page directory entry. */ 1743 1767 typedef X86PDEPAEBITS *PX86PDEPAEBITS; … … 1804 1828 { 1805 1829 /** Flags whether(=1) or not the page is present. */ 1806 u nsignedu1Present : 1;1830 uint32_t u1Present : 1; 1807 1831 /** Read(=0) / Write(=1) flag. */ 1808 u nsignedu1Write : 1;1832 uint32_t u1Write : 1; 1809 1833 /** User(=1) / Supervisor (=0) flag. */ 1810 u nsignedu1User : 1;1834 uint32_t u1User : 1; 1811 1835 /** Write Thru flag. If PAT enabled, bit 0 of the index. */ 1812 u nsignedu1WriteThru : 1;1836 uint32_t u1WriteThru : 1; 1813 1837 /** Cache disabled flag. If PAT enabled, bit 1 of the index. */ 1814 u nsignedu1CacheDisable : 1;1838 uint32_t u1CacheDisable : 1; 1815 1839 /** Accessed flag. 1816 1840 * Indicates that the page have been read or written to. */ 1817 u nsignedu1Accessed : 1;1841 uint32_t u1Accessed : 1; 1818 1842 /** Dirty flag. 1819 1843 * Indicates that the page has been written to. */ 1820 u nsignedu1Dirty : 1;1844 uint32_t u1Dirty : 1; 1821 1845 /** Page size flag - always 1 for 4MB entries. */ 1822 u nsignedu1Size : 1;1846 uint32_t u1Size : 1; 1823 1847 /** Global flag. */ 1824 u nsignedu1Global : 1;1848 uint32_t u1Global : 1; 1825 1849 /** Available for use to system software. */ 1826 u nsignedu3Available : 3;1850 uint32_t u3Available : 3; 1827 1851 /** Reserved / If PAT enabled, bit 2 of the index. */ 1828 u nsignedu1PAT : 1;1852 uint32_t u1PAT : 1; 1829 1853 /** Bits 32-39 of the page number on AMD64. 1830 1854 * This AMD64 hack allows accessing 40bits of physical memory without PAE. */ 1831 u nsignedu8PageNoHigh : 8;1855 uint32_t u8PageNoHigh : 8; 1832 1856 /** Reserved. */ 1833 u nsignedu1Reserved : 1;1857 uint32_t u1Reserved : 1; 1834 1858 /** Physical Page number of the page. */ 1835 u nsignedu10PageNo : 10;1859 uint32_t u10PageNo : 10; 1836 1860 } X86PDE4MBITS; 1861 #ifndef VBOX_FOR_DTRACE_LIB 1862 AssertCompileSize(X86PDE4MBITS, 4); 1863 #endif 1837 1864 /** Pointer to a page table entry. */ 1838 1865 typedef X86PDE4MBITS *PX86PDE4MBITS; … … 1881 1908 uint32_t u1NoExecute : 1; 1882 1909 } X86PDE2MPAEBITS; 1910 #ifndef VBOX_FOR_DTRACE_LIB 1911 AssertCompileSize(X86PDE2MPAEBITS, 8); 1912 #endif 1883 1913 /** Pointer to a 2MB PAE page table entry. */ 1884 1914 typedef X86PDE2MPAEBITS *PX86PDE2MPAEBITS; … … 1906 1936 uint32_t au32[1]; 1907 1937 } X86PDE; 1938 #ifndef VBOX_FOR_DTRACE_LIB 1939 AssertCompileSize(X86PDE, 4); 1940 #endif 1908 1941 /** Pointer to a page directory entry. */ 1909 1942 typedef X86PDE *PX86PDE; … … 1929 1962 uint32_t au32[2]; 1930 1963 } X86PDEPAE; 1964 #ifndef VBOX_FOR_DTRACE_LIB 1965 AssertCompileSize(X86PDEPAE, 8); 1966 #endif 1931 1967 /** Pointer to a page directory entry. */ 1932 1968 typedef X86PDEPAE *PX86PDEPAE; … … 1942 1978 X86PDE a[X86_PG_ENTRIES]; 1943 1979 } X86PD; 1980 #ifndef VBOX_FOR_DTRACE_LIB 1981 AssertCompileSize(X86PD, 4096); 1982 #endif 1944 1983 /** Pointer to a page directory. */ 1945 1984 typedef X86PD *PX86PD; … … 1961 2000 X86PDEPAE a[X86_PG_PAE_ENTRIES]; 1962 2001 } X86PDPAE; 2002 #ifndef VBOX_FOR_DTRACE_LIB 2003 AssertCompileSize(X86PDPAE, 4096); 2004 #endif 1963 2005 /** Pointer to a PAE page directory. */ 1964 2006 typedef X86PDPAE *PX86PDPAE; … … 2031 2073 uint32_t u12Reserved : 12; 2032 2074 } X86PDPEBITS; 2075 #ifndef VBOX_FOR_DTRACE_LIB 2076 AssertCompileSize(X86PDPEBITS, 8); 2077 #endif 2033 2078 /** Pointer to a page directory pointer table entry. */ 2034 2079 typedef X86PDPEBITS *PX86PTPEBITS; … … 2067 2112 uint32_t u1NoExecute : 1; 2068 2113 } X86PDPEAMD64BITS; 2114 #ifndef VBOX_FOR_DTRACE_LIB 2115 AssertCompileSize(X86PDPEAMD64BITS, 8); 2116 #endif 2069 2117 /** Pointer to a page directory pointer table entry. */ 2070 2118 typedef X86PDPEAMD64BITS *PX86PDPEAMD64BITS; … … 2090 2138 uint32_t au32[2]; 2091 2139 } X86PDPE; 2140 #ifndef VBOX_FOR_DTRACE_LIB 2141 AssertCompileSize(X86PDPE, 8); 2142 #endif 2092 2143 /** Pointer to a page directory pointer table entry. */ 2093 2144 typedef X86PDPE *PX86PDPE; … … 2104 2155 X86PDPE a[X86_PG_AMD64_PDPE_ENTRIES]; 2105 2156 } X86PDPT; 2157 #ifndef VBOX_FOR_DTRACE_LIB 2158 AssertCompileSize(X86PDPT, 4096); 2159 #endif 2106 2160 /** Pointer to a page directory pointer table. */ 2107 2161 typedef X86PDPT *PX86PDPT; … … 2176 2230 uint32_t u1NoExecute : 1; 2177 2231 } X86PML4EBITS; 2232 #ifndef VBOX_FOR_DTRACE_LIB 2233 AssertCompileSize(X86PML4EBITS, 8); 2234 #endif 2178 2235 /** Pointer to a page map level-4 entry. */ 2179 2236 typedef X86PML4EBITS *PX86PML4EBITS; … … 2197 2254 uint32_t au32[2]; 2198 2255 } X86PML4E; 2256 #ifndef VBOX_FOR_DTRACE_LIB 2257 AssertCompileSize(X86PML4E, 8); 2258 #endif 2199 2259 /** Pointer to a page map level-4 entry. */ 2200 2260 typedef X86PML4E *PX86PML4E; … … 2211 2271 X86PML4E a[X86_PG_PAE_ENTRIES]; 2212 2272 } X86PML4; 2273 #ifndef VBOX_FOR_DTRACE_LIB 2274 AssertCompileSize(X86PML4, 4096); 2275 #endif 2213 2276 /** Pointer to a page map level-4. */ 2214 2277 typedef X86PML4 *PX86PML4;
Note:
See TracChangeset
for help on using the changeset viewer.