VirtualBox

Changeset 21285 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Jul 7, 2009 12:53:14 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
49622
Message:

SUPDrv: Export the RTR0MemUser/Kernel APIs. (Needed for the tstRTR0MemUserKernel testcase.)

Location:
trunk/src/VBox/HostDrivers/Support
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.c

    r21136 r21285  
    212212/*DECLASM(RTHCPHYS) UNWIND_WRAP(RTR0MemObjGetPagePhysAddr)(RTR0MEMOBJ MemObj, size_t iPage); - not necessary */
    213213DECLASM(int)    UNWIND_WRAP(RTR0MemObjFree)(RTR0MEMOBJ MemObj, bool fFreeMappings);
     214DECLASM(int)    UNWIND_WRAP(RTR0MemUserCopyFrom)(void *pvDst, RTR3PTR R3PtrSrc, size_t cb);
     215DECLASM(int)    UNWIND_WRAP(RTR0MemUserCopyTo)(RTR3PTR R3PtrDst, void const *pvSrc, size_t cb);
     216/* RTR0MemUserIsValidAddr - not necessary */
     217/* RTR0MemKernelIsValidAddr - not necessary */
     218/* RTR0MemAreKrnlAndUsrDifferent - not necessary */
    214219/* RTProcSelf             - not necessary */
    215220/* RTR0ProcHandleSelf     - not necessary */
     
    368373    { "RTR0MemObjGetPagePhysAddr",              (void *)RTR0MemObjGetPagePhysAddr },
    369374    { "RTR0MemObjFree",                         (void *)UNWIND_WRAP(RTR0MemObjFree) },
     375    { "RTR0MemUserCopyFrom",                    (void *)UNWIND_WRAP(RTR0MemUserCopyFrom) },
     376    { "RTR0MemUserCopyTo",                      (void *)UNWIND_WRAP(RTR0MemUserCopyTo) },
     377    { "RTR0MemUserIsValidAddr",                 (void *)RTR0MemUserIsValidAddr },
     378    { "RTR0MemKernelIsValidAddr",               (void *)RTR0MemKernelIsValidAddr },
     379    { "RTR0MemAreKrnlAndUsrDifferent",          (void *)RTR0MemAreKrnlAndUsrDifferent },
    370380/* These don't work yet on linux - use fast mutexes!
    371381    { "RTSemMutexCreate",                       (void *)RTSemMutexCreate },
  • trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h

    r20860 r21285  
    194194 *          - Nothing.
    195195 */
    196 #define SUPDRV_IOC_VERSION                              0x000e0000
     196#define SUPDRV_IOC_VERSION                              0x000e0001
    197197
    198198/** SUP_IOCTL_COOKIE. */
  • trunk/src/VBox/HostDrivers/Support/SUPR0.def

    r20315 r21285  
    8585    RTR0MemObjGetPagePhysAddr
    8686    RTR0MemObjFree
     87    RTR0MemUserCopyFrom
     88    RTR0MemUserCopyTo
     89    RTR0MemUserIsValidAddr
     90    RTR0MemKernelIsValidAddr
     91    RTR0MemAreKrnlAndUsrDifferent
    8792    RTProcSelf
    8893    ; broken - RTSemMutexCreate
  • trunk/src/VBox/HostDrivers/Support/linux/Makefile

    r19938 r21285  
    8686        r0drv/linux/initterm-r0drv-linux.o \
    8787        r0drv/linux/memobj-r0drv-linux.o \
     88        r0drv/linux/memuserkernel-r0drv-linux.o \
    8889        r0drv/linux/mp-r0drv-linux.o \
    8990        r0drv/linux/mpnotification-r0drv-linux.o \
  • trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv

    r19866 r21285  
    111111    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/initterm-r0drv-linux.c=>r0drv/linux/initterm-r0drv-linux.c \
    112112    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c=>r0drv/linux/memobj-r0drv-linux.c \
     113    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/memuserkernel-r0drv-linux.c=>r0drv/linux/memuserkernel-r0drv-linux.c \
    113114    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c=>r0drv/linux/mp-r0drv-linux.c \
    114115    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/mpnotification-r0drv-linux.c=>r0drv/linux/mpnotification-r0drv-linux.c \
  • trunk/src/VBox/HostDrivers/Support/win/SUPDrvA-win.asm

    r20860 r21285  
    110110;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemObjGetPagePhysAddr - not necessary
    111111NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemObjFree
     112NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemUserCopyFrom
     113NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemUserCopyTo
     114;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemUserIsValidAddr - not necessary
     115;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemKernelIsValidAdd - not necessary
     116;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0MemAreKrnlAndUsrDifferent - not necessary
    112117;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTProcSelf             - not necessary
    113118;NtWrapDyn2DrvFunctionWithAllRegParams  supdrvNtWrap, RTR0ProcHandleSelf     - not necessary
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette