Changeset 74539 in vbox for trunk/include/VBox
- Timestamp:
- Oct 1, 2018 4:09:23 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r74491 r74539 1875 1875 1876 1876 /** 1877 * Checks whether the given Pin-based VM-execution controls are set. 1877 * Checks whether the given Pin-based VM-execution controls are set when executing a 1878 * nested-guest. 1878 1879 * 1879 1880 * @returns @c true if set, @c false otherwise. … … 1881 1882 * @param pCtx Pointer to the context. 1882 1883 * @param uPinCtl The Pin-based VM-execution controls to check. 1884 * 1885 * @remarks This does not check if all given controls are set if more than one 1886 * control is passed in @a uPinCtl. 1883 1887 */ 1884 1888 DECLINLINE(bool) CPUMIsGuestVmxPinCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uPinCtl) … … 1887 1891 if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX) 1888 1892 return false; 1889 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1893 if (!pCtx->hwvirt.vmx.fInVmxNonRootMode) 1894 return false; 1890 1895 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1891 1896 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32PinCtls & uPinCtl); … … 1893 1898 1894 1899 /** 1895 * Checks whether the given Processor-based VM-execution controls are set. 1900 * Checks whether the given Processor-based VM-execution controls are set when 1901 * executing a nested-guest. 1896 1902 * 1897 1903 * @returns @c true if set, @c false otherwise. 1898 1904 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1899 1905 * @param pCtx Pointer to the context. 1900 * @param uPinCtl The Processor-based VM-execution controls to check. 1901 */ 1902 DECLINLINE(bool) CPUMIsGuestVmxProcCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtls) 1906 * @param uProcCtl The Processor-based VM-execution controls to check. 1907 * 1908 * @remarks This does not check if all given controls are set if more than one 1909 * control is passed in @a uProcCtls. 1910 */ 1911 DECLINLINE(bool) CPUMIsGuestVmxProcCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtl) 1903 1912 { 1904 1913 RT_NOREF(pVCpu); 1905 1914 if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX) 1906 1915 return false; 1907 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1916 if (!pCtx->hwvirt.vmx.fInVmxNonRootMode) 1917 return false; 1908 1918 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1909 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls & uProcCtls); 1910 } 1911 1912 /** 1913 * Checks whether the given Secondary Processor-based VM-execution controls are set. 1919 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls & uProcCtl); 1920 } 1921 1922 /** 1923 * Checks whether the given Secondary Processor-based VM-execution controls are set 1924 * when executing a nested-guest. 1914 1925 * 1915 1926 * @returns @c true if set, @c false otherwise. 1916 1927 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1917 1928 * @param pCtx Pointer to the context. 1918 * @param uP inCtlThe Secondary Processor-based VM-execution controls to1929 * @param uProcCtl2 The Secondary Processor-based VM-execution controls to 1919 1930 * check. 1920 */ 1921 DECLINLINE(bool) CPUMIsGuestVmxProcCtls2Set(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtls2) 1931 * 1932 * @remarks This does not check if all given controls are set if more than one 1933 * control is passed in @a uProcCtl2. 1934 * 1935 */ 1936 DECLINLINE(bool) CPUMIsGuestVmxProcCtls2Set(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtl2) 1922 1937 { 1923 1938 RT_NOREF(pVCpu); 1924 1939 if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX) 1925 1940 return false; 1926 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1941 if (!pCtx->hwvirt.vmx.fInVmxNonRootMode) 1942 return false; 1927 1943 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1928 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls2 & uProcCtl s2);1944 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls2 & uProcCtl2); 1929 1945 } 1930 1946
Note:
See TracChangeset
for help on using the changeset viewer.