VirtualBox

Changeset 70977 in vbox for trunk/include


Ignore:
Timestamp:
Feb 12, 2018 8:45:31 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
120824
Message:

NEM: Working on PGM notifications. bugref:9044

Location:
trunk/include
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm.h

    r70948 r70977  
    4949 *
    5050 * @param   a_pVM       The cross context VM structure.
    51  * @sa      VM_IS_HM_OR_NEM_ENABLED, VM_IS_RAW_MODE_ENABLED,
    52  *          HMIsEnabledNotMacro, HMR3IsEnabled
     51 * @deprecated Please use VM_IS_RAW_MODE_ENABLED, VM_IS_HM_OR_NEM_ENABLED, or
     52 *             VM_IS_HM_ENABLED instead.
    5353 * @internal
    5454 */
  • trunk/include/VBox/vmm/nem.h

    r70956 r70977  
    5353
    5454VMMR3_INT_DECL(int)  NEMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb);
    55 VMMR3_INT_DECL(int)  NEMR3NotifyPhysMmioExMap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, uint32_t fFlags);
     55VMMR3_INT_DECL(int)  NEMR3NotifyPhysMmioExMap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, uint32_t fFlags, void *pvMmio2);
    5656VMMR3_INT_DECL(int)  NEMR3NotifyPhysMmioExUnmap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, uint32_t fFlags);
    5757/** @name Flags for NEMR3NotifyPhysMmioExMap and NEMR3NotifyPhysMmioExUnmap.
     
    6363/** @} */
    6464
    65 VMMR3_INT_DECL(int)  NEMR3NotifyPhysRomRegisterEarly(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, uint32_t fFlags);
    66 VMMR3_INT_DECL(int)  NEMR3NotifyPhysRomRegisterLate(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, uint32_t fFlags);
     65VMMR3_INT_DECL(int)  NEMR3NotifyPhysRomRegisterEarly(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, uint32_t fFlags);
     66VMMR3_INT_DECL(int)  NEMR3NotifyPhysRomRegisterLate(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, uint32_t fFlags);
    6767/** @name Flags for NEMR3NotifyPhysRomRegisterEarly and NEMR3NotifyPhysRomRegisterLate.
    6868 * @{ */
     
    8484VMM_INT_DECL(void) NEMHCNotifyHandlerPhysicalModify(PVM pVM, PGMPHYSHANDLERKIND enmKind, RTGCPHYS GCPhysOld,
    8585                                                    RTGCPHYS GCPhysNew, RTGCPHYS cb, bool fRestoreAsRAM);
     86
     87VMM_INT_DECL(int)  NEMHCNotifyPhysPageAllocated(PVM pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, uint32_t fPageProt,
     88                                                PGMPAGETYPE enmType, uint8_t *pu2State);
     89VMM_INT_DECL(void) NEMHCNotifyPhysPageProtChanged(PVM pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, uint32_t fPageProt,
     90                                                  PGMPAGETYPE enmType, uint8_t *pu2State);
     91VMM_INT_DECL(void) NEMHCNotifyPhysPageChanged(PVM pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhysPrev, RTHCPHYS HCPhysNew,
     92                                              uint32_t fPageProt, PGMPAGETYPE enmType, uint8_t *pu2State);
     93/** @name NEM_PAGE_PROT_XXX - Page protection
     94 * @{ */
     95#define NEM_PAGE_PROT_NONE      UINT32_C(0)     /**< All access causes VM exits. */
     96#define NEM_PAGE_PROT_READ      RT_BIT(0)       /**< Read access. */
     97#define NEM_PAGE_PROT_EXECUTE   RT_BIT(1)       /**< Execute access. */
     98#define NEM_PAGE_PROT_WRITE     RT_BIT(2)       /**< write access. */
     99/** @} */
     100
    86101/** @} */
    87102
  • trunk/include/VBox/vmm/pgm.h

    r69107 r70977  
    516516} PGMPAGETYPE;
    517517AssertCompile(PGMPAGETYPE_END == 8);
     518
     519/** @name PGM page type predicates.
     520 * @{ */
     521#define PGMPAGETYPE_IS_READABLE(a_enmType)  ( (a_enmType) <= PGMPAGETYPE_ROM )
     522#define PGMPAGETYPE_IS_WRITEABLE(a_enmType) ( (a_enmType) <= PGMPAGETYPE_ROM_SHADOW )
     523#define PGMPAGETYPE_IS_RWX(a_enmType)       ( (a_enmType) <= PGMPAGETYPE_ROM_SHADOW )
     524#define PGMPAGETYPE_IS_ROX(a_enmType)       ( (a_enmType) == PGMPAGETYPE_ROM )
     525#define PGMPAGETYPE_IS_NP(a_enmType)        ( (a_enmType) == PGMPAGETYPE_MMIO )
     526/** @} */
     527
    518528
    519529VMM_INT_DECL(PGMPAGETYPE) PGMPhysGetPageType(PVM pVM, RTGCPHYS GCPhys);
  • trunk/include/VBox/vmm/vm.h

    r70953 r70977  
    965965 *
    966966 * @param   a_pVM       The cross context VM structure.
    967  * @sa      HMR3IsEnabled, HMIsEnabled
     967 * @sa      VM_IS_HM_OR_NEM_ENABLED, VM_IS_HM_ENABLED, VM_IS_NEM_ENABLED.
    968968 * @internal
    969969 */
     
    981981 *
    982982 * @param   a_pVM       The cross context VM structure.
    983  * @sa      VM_IS_RAW_MODE_ENABLED, HMIsEnabled, HMR3IsEnabled
     983 * @sa      VM_IS_RAW_MODE_ENABLED, VM_IS_HM_ENABLED, VM_IS_NEM_ENABLED.
    984984 * @internal
    985985 */
    986986#define VM_IS_HM_OR_NEM_ENABLED(a_pVM)      ((a_pVM)->bMainExecutionEngine != VM_EXEC_ENGINE_RAW_MODE)
     987
     988/**
     989 * Checks whether HM is being used by this VM.
     990 *
     991 * @retval  true if HM (VT-x/AMD-v) is used.
     992 * @retval  false if not.
     993 *
     994 * @param   a_pVM       The cross context VM structure.
     995 * @sa      VM_IS_NEM_ENABLED, VM_IS_RAW_MODE_ENABLED, VM_IS_HM_OR_NEM_ENABLED.
     996 * @internal
     997 */
     998#define VM_IS_HM_ENABLED(a_pVM)             ((a_pVM)->bMainExecutionEngine == VM_EXEC_ENGINE_HW_VIRT)
     999
     1000/**
     1001 * Checks whether NEM is being used by this VM.
     1002 *
     1003 * @retval  true if a native hypervisor API is used.
     1004 * @retval  false if not.
     1005 *
     1006 * @param   a_pVM       The cross context VM structure.
     1007 * @sa      VM_IS_HM_ENABLED, VM_IS_RAW_MODE_ENABLED, VM_IS_HM_OR_NEM_ENABLED.
     1008 * @internal
     1009 */
     1010#define VM_IS_NEM_ENABLED(a_pVM)             ((a_pVM)->bMainExecutionEngine == VM_EXEC_ENGINE_NATIVE_API)
    9871011
    9881012
  • trunk/include/iprt/nt/nt.h

    r70873 r70977  
    137137# pragma warning(pop)
    138138
     139# ifndef OBJ_DONT_REPARSE
     140#  define RTNT_NEED_CLIENT_ID
     141# endif
    139142
    140143# undef _FILE_INFORMATION_CLASS
     
    503506
    504507
    505 #ifdef IPRT_NT_USE_WINTERNL
     508#ifdef RTNT_NEED_CLIENT_ID
    506509typedef struct _CLIENT_ID
    507510{
     
    509512    HANDLE UniqueThread;
    510513} CLIENT_ID;
     514#endif
     515#ifdef IPRT_NT_USE_WINTERNL
    511516typedef CLIENT_ID *PCLIENT_ID;
    512517#endif
  • trunk/include/iprt/win/windows.h

    r69105 r70977  
    3535# pragma warning(push)
    3636# pragma warning(disable:4668)
     37# pragma warning(disable:4480) /* W10/wincrypt.h(9193) : warning C4480: nonstandard extension used: specifying underlying type for enum 'CertKeyType' */
    3738# if _MSC_VER >= 1800 /*RT_MSC_VER_VC120*/
    3839#  pragma warning(disable:4005) /* sdk/v7.1/include/sal_supp.h(57) : warning C4005: '__useHeader' : macro redefinition */
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