Changeset 74834 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Oct 15, 2018 7:48:17 AM (6 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r74648 r74834 1877 1877 1878 1878 /** 1879 * Checks whether the given Pin-based VM-execution controls are set when executing a1880 * nested-guest.1879 * Checks whether one of the given Pin-based VM-execution controls are set when 1880 * executing a nested-guest. 1881 1881 * 1882 1882 * @returns @c true if set, @c false otherwise. 1883 1883 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1884 1884 * @param pCtx Pointer to the context. 1885 * @param uPinCtl 1885 * @param uPinCtls The Pin-based VM-execution controls to check. 1886 1886 * 1887 1887 * @remarks This does not check if all given controls are set if more than one 1888 1888 * control is passed in @a uPinCtl. 1889 1889 */ 1890 DECLINLINE(bool) CPUMIsGuestVmxPinCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uPinCtl )1890 DECLINLINE(bool) CPUMIsGuestVmxPinCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uPinCtls) 1891 1891 { 1892 1892 RT_NOREF(pVCpu); … … 1894 1894 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1895 1895 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1896 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32PinCtls & uPinCtl );1897 } 1898 1899 /** 1900 * Checks whether the given Processor-based VM-execution controls are set when1901 * executing a nested-guest.1896 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32PinCtls & uPinCtls); 1897 } 1898 1899 /** 1900 * Checks whether one of the given Processor-based VM-execution controls are set 1901 * when executing a nested-guest. 1902 1902 * 1903 1903 * @returns @c true if set, @c false otherwise. 1904 1904 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1905 1905 * @param pCtx Pointer to the context. 1906 * @param uProcCtl 1906 * @param uProcCtls The Processor-based VM-execution controls to check. 1907 1907 * 1908 1908 * @remarks This does not check if all given controls are set if more than one 1909 1909 * control is passed in @a uProcCtls. 1910 1910 */ 1911 DECLINLINE(bool) CPUMIsGuestVmxProcCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtl )1911 DECLINLINE(bool) CPUMIsGuestVmxProcCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtls) 1912 1912 { 1913 1913 RT_NOREF(pVCpu); … … 1915 1915 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1916 1916 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1917 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls & uProcCtl );1918 } 1919 1920 /** 1921 * Checks whether the given Secondary Processor-based VM-execution controls are set1922 * when executing a nested-guest.1917 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls & uProcCtls); 1918 } 1919 1920 /** 1921 * Checks whether one of the given Secondary Processor-based VM-execution controls 1922 * are set when executing a nested-guest. 1923 1923 * 1924 1924 * @returns @c true if set, @c false otherwise. 1925 1925 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1926 1926 * @param pCtx Pointer to the context. 1927 * @param uProcCtl 2The Secondary Processor-based VM-execution controls to1927 * @param uProcCtls2 The Secondary Processor-based VM-execution controls to 1928 1928 * check. 1929 1929 * 1930 1930 * @remarks This does not check if all given controls are set if more than one 1931 * control is passed in @a uProcCtl2. 1932 * 1933 */ 1934 DECLINLINE(bool) CPUMIsGuestVmxProcCtls2Set(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtl2) 1931 * control is passed in @a uProcCtls2. 1932 */ 1933 DECLINLINE(bool) CPUMIsGuestVmxProcCtls2Set(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uProcCtls2) 1935 1934 { 1936 1935 RT_NOREF(pVCpu); … … 1938 1937 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1939 1938 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1940 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls2 & uProcCtl2); 1939 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls2 & uProcCtls2); 1940 } 1941 1942 1943 /** 1944 * Checks whether one of the given VM-exit controls are set when executing a 1945 * nested-guest. 1946 * 1947 * @returns @c true if set, @c false otherwise. 1948 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 1949 * @param pCtx Pointer to the context. 1950 * @param uExitCtls The VM-exit controls to check. 1951 * 1952 * @remarks This does not check if all given controls are set if more than one 1953 * control is passed in @a uExitCtls. 1954 */ 1955 DECLINLINE(bool) CPUMIsGuestVmxExitCtlsSet(PVMCPU pVCpu, PCCPUMCTX pCtx, uint32_t uExitCtls) 1956 { 1957 RT_NOREF(pVCpu); 1958 Assert(pCtx->hwvirt.enmHwvirt == CPUMHWVIRT_VMX); 1959 Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode); 1960 Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)); 1961 return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ExitCtls & uExitCtls); 1941 1962 } 1942 1963 -
trunk/include/VBox/vmm/iem.h
r74661 r74834 323 323 324 324 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 325 VMM_INT_DECL(VBOXSTRICTRC) IEMExecVmxVmexitExtInt(PVMCPU pVCpu, uint8_t uVector, bool fIntPending); 325 326 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmread(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 326 327 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmwrite(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo);
Note:
See TracChangeset
for help on using the changeset viewer.