VirtualBox

儲存庫 vbox 的更動 12101


忽略:
時間撮記:
2008-9-4 下午06:46:46 (16 年 以前)
作者:
vboxsync
訊息:

VBoxDrv: Some more unwind wrapping.

位置:
trunk/src/VBox/HostDrivers/Support
檔案:
修改 2 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.c

    r12100 r12101  
    189189DECLASM(int)    UNWIND_WRAP(RTR0MemObjMapKernel)(PRTR0MEMOBJ pMemObj, RTR0MEMOBJ MemObjToMap, void *pvFixed, size_t uAlignment, unsigned fProt);
    190190DECLASM(int)    UNWIND_WRAP(RTR0MemObjMapUser)(PRTR0MEMOBJ pMemObj, RTR0MEMOBJ MemObjToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process);
    191 DECLASM(void *) UNWIND_WRAP(RTR0MemObjAddress)(RTR0MEMOBJ MemObj);
    192 DECLASM(RTR3PTR) UNWIND_WRAP(RTR0MemObjAddressR3)(RTR0MEMOBJ MemObj);
    193 DECLASM(size_t) UNWIND_WRAP(RTR0MemObjSize)(RTR0MEMOBJ MemObj);
    194 DECLASM(bool)   UNWIND_WRAP(RTR0MemObjIsMapping)(RTR0MEMOBJ MemObj);
    195 DECLASM(RTHCPHYS) UNWIND_WRAP(RTR0MemObjGetPagePhysAddr)(RTR0MEMOBJ MemObj, size_t iPage);
     191/*DECLASM(void *) UNWIND_WRAP(RTR0MemObjAddress)(RTR0MEMOBJ MemObj); - not necessary */
     192/*DECLASM(RTR3PTR) UNWIND_WRAP(RTR0MemObjAddressR3)(RTR0MEMOBJ MemObj); - not necessary */
     193/*DECLASM(size_t) UNWIND_WRAP(RTR0MemObjSize)(RTR0MEMOBJ MemObj); - not necessary */
     194/*DECLASM(bool)   UNWIND_WRAP(RTR0MemObjIsMapping)(RTR0MEMOBJ MemObj); - not necessary */
     195/*DECLASM(RTHCPHYS) UNWIND_WRAP(RTR0MemObjGetPagePhysAddr)(RTR0MEMOBJ MemObj, size_t iPage); - not necessary */
    196196DECLASM(int)    UNWIND_WRAP(RTR0MemObjFree)(RTR0MEMOBJ MemObj, bool fFreeMappings);
    197197/* RTProcSelf             - not necessary */
     
    278278    { "SUPR0ComponentDeregisterFactory",        (void *)UNWIND_WRAP(SUPR0ComponentDeregisterFactory) },
    279279    { "SUPR0ComponentQueryFactory",             (void *)UNWIND_WRAP(SUPR0ComponentQueryFactory) },
    280     { "SUPR0ObjRegister",                       (void *)SUPR0ObjRegister },
    281     { "SUPR0ObjAddRef",                         (void *)SUPR0ObjAddRef },
    282     { "SUPR0ObjRelease",                        (void *)SUPR0ObjRelease },
    283     { "SUPR0ObjVerifyAccess",                   (void *)SUPR0ObjVerifyAccess },
    284     { "SUPR0LockMem",                           (void *)SUPR0LockMem },
    285     { "SUPR0UnlockMem",                         (void *)SUPR0UnlockMem },
    286     { "SUPR0ContAlloc",                         (void *)SUPR0ContAlloc },
    287     { "SUPR0ContFree",                          (void *)SUPR0ContFree },
    288     { "SUPR0LowAlloc",                          (void *)SUPR0LowAlloc },
    289     { "SUPR0LowFree",                           (void *)SUPR0LowFree },
    290     { "SUPR0MemAlloc",                          (void *)SUPR0MemAlloc },
    291     { "SUPR0MemGetPhys",                        (void *)SUPR0MemGetPhys },
    292     { "SUPR0MemFree",                           (void *)SUPR0MemFree },
    293     { "SUPR0PageAlloc",                         (void *)SUPR0PageAlloc },
    294     { "SUPR0PageFree",                          (void *)SUPR0PageFree },
    295     { "SUPR0Printf",                            (void *)SUPR0Printf },
    296     { "RTMemAlloc",                             (void *)RTMemAlloc },
    297     { "RTMemAllocZ",                            (void *)RTMemAllocZ },
    298     { "RTMemFree",                              (void *)RTMemFree },
    299     /*{ "RTMemDup",                               (void *)RTMemDup },*/
    300     { "RTMemRealloc",                           (void *)RTMemRealloc },
    301     { "RTR0MemObjAllocLow",                     (void *)RTR0MemObjAllocLow },
    302     { "RTR0MemObjAllocPage",                    (void *)RTR0MemObjAllocPage },
    303     { "RTR0MemObjAllocPhys",                    (void *)RTR0MemObjAllocPhys },
    304     { "RTR0MemObjAllocPhysNC",                  (void *)RTR0MemObjAllocPhysNC },
    305     { "RTR0MemObjAllocCont",                    (void *)RTR0MemObjAllocCont },
    306     { "RTR0MemObjLockUser",                     (void *)RTR0MemObjLockUser },
    307     { "RTR0MemObjMapKernel",                    (void *)RTR0MemObjMapKernel },
    308     { "RTR0MemObjMapUser",                      (void *)RTR0MemObjMapUser },
     280    { "SUPR0ObjRegister",                       (void *)UNWIND_WRAP(SUPR0ObjRegister) },
     281    { "SUPR0ObjAddRef",                         (void *)UNWIND_WRAP(SUPR0ObjAddRef) },
     282    { "SUPR0ObjRelease",                        (void *)UNWIND_WRAP(SUPR0ObjRelease) },
     283    { "SUPR0ObjVerifyAccess",                   (void *)UNWIND_WRAP(SUPR0ObjVerifyAccess) },
     284    { "SUPR0LockMem",                           (void *)UNWIND_WRAP(SUPR0LockMem) },
     285    { "SUPR0UnlockMem",                         (void *)UNWIND_WRAP(SUPR0UnlockMem) },
     286    { "SUPR0ContAlloc",                         (void *)UNWIND_WRAP(SUPR0ContAlloc) },
     287    { "SUPR0ContFree",                          (void *)UNWIND_WRAP(SUPR0ContFree) },
     288    { "SUPR0LowAlloc",                          (void *)UNWIND_WRAP(SUPR0LowAlloc) },
     289    { "SUPR0LowFree",                           (void *)UNWIND_WRAP(SUPR0LowFree) },
     290    { "SUPR0MemAlloc",                          (void *)UNWIND_WRAP(SUPR0MemAlloc) },
     291    { "SUPR0MemGetPhys",                        (void *)UNWIND_WRAP(SUPR0MemGetPhys) },
     292    { "SUPR0MemFree",                           (void *)UNWIND_WRAP(SUPR0MemFree) },
     293    { "SUPR0PageAlloc",                         (void *)UNWIND_WRAP(SUPR0PageAlloc) },
     294    { "SUPR0PageFree",                          (void *)UNWIND_WRAP(SUPR0PageFree) },
     295    { "SUPR0Printf",                            (void *)SUPR0Printf }, /** @todo needs wrapping? */
     296    { "RTMemAlloc",                             (void *)UNWIND_WRAP(RTMemAlloc) },
     297    { "RTMemAllocZ",                            (void *)UNWIND_WRAP(RTMemAllocZ) },
     298    { "RTMemFree",                              (void *)UNWIND_WRAP(RTMemFree) },
     299    /*{ "RTMemDup",                               (void *)UNWIND_WRAP(RTMemDup) },
     300    { "RTMemDupEx",                             (void *)UNWIND_WRAP(RTMemDupEx) },*/
     301    { "RTMemRealloc",                           (void *)UNWIND_WRAP(RTMemRealloc) },
     302    { "RTR0MemObjAllocLow",                     (void *)UNWIND_WRAP(RTR0MemObjAllocLow) },
     303    { "RTR0MemObjAllocPage",                    (void *)UNWIND_WRAP(RTR0MemObjAllocPage) },
     304    { "RTR0MemObjAllocPhys",                    (void *)UNWIND_WRAP(RTR0MemObjAllocPhys) },
     305    { "RTR0MemObjAllocPhysNC",                  (void *)UNWIND_WRAP(RTR0MemObjAllocPhysNC) },
     306    { "RTR0MemObjAllocCont",                    (void *)UNWIND_WRAP(RTR0MemObjAllocCont) },
     307    { "RTR0MemObjLockUser",                     (void *)UNWIND_WRAP(RTR0MemObjLockUser) },
     308    { "RTR0MemObjMapKernel",                    (void *)UNWIND_WRAP(RTR0MemObjMapKernel) },
     309    { "RTR0MemObjMapUser",                      (void *)UNWIND_WRAP(RTR0MemObjMapUser) },
    309310    { "RTR0MemObjAddress",                      (void *)RTR0MemObjAddress },
    310311    { "RTR0MemObjAddressR3",                    (void *)RTR0MemObjAddressR3 },
     
    312313    { "RTR0MemObjIsMapping",                    (void *)RTR0MemObjIsMapping },
    313314    { "RTR0MemObjGetPagePhysAddr",              (void *)RTR0MemObjGetPagePhysAddr },
    314     { "RTR0MemObjFree",                         (void *)RTR0MemObjFree },
     315    { "RTR0MemObjFree",                         (void *)UNWIND_WRAP(RTR0MemObjFree) },
    315316/* These don't work yet on linux - use fast mutexes!
    316317    { "RTSemMutexCreate",                       (void *)RTSemMutexCreate },
     
    321322    { "RTProcSelf",                             (void *)RTProcSelf },
    322323    { "RTR0ProcHandleSelf",                     (void *)RTR0ProcHandleSelf },
    323     { "RTSemFastMutexCreate",                   (void *)RTSemFastMutexCreate },
    324     { "RTSemFastMutexDestroy",                  (void *)RTSemFastMutexDestroy },
     324    { "RTSemFastMutexCreate",                   (void *)UNWIND_WRAP(RTSemFastMutexCreate) },
     325    { "RTSemFastMutexDestroy",                  (void *)UNWIND_WRAP(RTSemFastMutexDestroy) },
    325326    { "RTSemFastMutexRequest",                  (void *)UNWIND_WRAP(RTSemFastMutexRequest) },
    326     { "RTSemFastMutexRelease",                  (void *)RTSemFastMutexRelease },
    327     { "RTSemEventCreate",                       (void *)RTSemEventCreate },
    328     { "RTSemEventSignal",                       (void *)RTSemEventSignal },
     327    { "RTSemFastMutexRelease",                  (void *)UNWIND_WRAP(RTSemFastMutexRelease) },
     328    { "RTSemEventCreate",                       (void *)UNWIND_WRAP(RTSemEventCreate) },
     329    { "RTSemEventSignal",                       (void *)UNWIND_WRAP(RTSemEventSignal) },
    329330    { "RTSemEventWait",                         (void *)UNWIND_WRAP(RTSemEventWait) },
    330331    { "RTSemEventWaitNoResume",                 (void *)UNWIND_WRAP(RTSemEventWaitNoResume) },
    331     { "RTSemEventDestroy",                      (void *)RTSemEventDestroy },
    332     { "RTSemEventMultiCreate",                  (void *)RTSemEventMultiCreate },
    333     { "RTSemEventMultiSignal",                  (void *)RTSemEventMultiSignal },
    334     { "RTSemEventMultiReset",                   (void *)RTSemEventMultiReset },
     332    { "RTSemEventDestroy",                      (void *)UNWIND_WRAP(RTSemEventDestroy) },
     333    { "RTSemEventMultiCreate",                  (void *)UNWIND_WRAP(RTSemEventMultiCreate) },
     334    { "RTSemEventMultiSignal",                  (void *)UNWIND_WRAP(RTSemEventMultiSignal) },
     335    { "RTSemEventMultiReset",                   (void *)UNWIND_WRAP(RTSemEventMultiReset) },
    335336    { "RTSemEventMultiWait",                    (void *)UNWIND_WRAP(RTSemEventMultiWait) },
    336337    { "RTSemEventMultiWaitNoResume",            (void *)UNWIND_WRAP(RTSemEventMultiWaitNoResume) },
    337     { "RTSemEventMultiDestroy",                 (void *)RTSemEventMultiDestroy },
    338     { "RTSpinlockCreate",                       (void *)RTSpinlockCreate },
    339     { "RTSpinlockDestroy",                      (void *)RTSpinlockDestroy },
    340     { "RTSpinlockAcquire",                      (void *)RTSpinlockAcquire },
     338    { "RTSemEventMultiDestroy",                 (void *)UNWIND_WRAP(RTSemEventMultiDestroy) },
     339    { "RTSpinlockCreate",                       (void *)UNWIND_WRAP(RTSpinlockCreate) },
     340    { "RTSpinlockDestroy",                      (void *)UNWIND_WRAP(RTSpinlockDestroy) },
     341    { "RTSpinlockAcquire",                      (void *)UNWIND_WRAP(RTSpinlockAcquire) },
    341342    { "RTSpinlockRelease",                      (void *)UNWIND_WRAP(RTSpinlockRelease) },
    342     { "RTSpinlockAcquireNoInts",                (void *)RTSpinlockAcquireNoInts },
     343    { "RTSpinlockAcquireNoInts",                (void *)UNWIND_WRAP(RTSpinlockAcquireNoInts) },
    343344    { "RTSpinlockReleaseNoInts",                (void *)UNWIND_WRAP(RTSpinlockReleaseNoInts) },
    344345    { "RTTimeNanoTS",                           (void *)RTTimeNanoTS },
     
    350351    { "RTThreadYield",                          (void *)UNWIND_WRAP(RTThreadYield) },
    351352#if 0 /* Thread APIs, Part 2. */
    352     { "RTThreadSelf",                           (void *)RTThreadSelf },
    353     { "RTThreadCreate",                         (void *)RTThreadCreate },
    354     { "RTThreadGetNative",                      (void *)RTThreadGetNative },
    355     { "RTThreadWait",                           (void *)RTThreadWait },
    356     { "RTThreadWaitNoResume",                   (void *)RTThreadWaitNoResume },
    357     { "RTThreadGetName",                        (void *)RTThreadGetName },
    358     { "RTThreadSelfName",                       (void *)RTThreadSelfName },
    359     { "RTThreadGetType",                        (void *)RTThreadGetType },
    360     { "RTThreadUserSignal",                     (void *)RTThreadUserSignal },
    361     { "RTThreadUserReset",                      (void *)RTThreadUserReset },
    362     { "RTThreadUserWait",                       (void *)RTThreadUserWait },
    363     { "RTThreadUserWaitNoResume",               (void *)RTThreadUserWaitNoResume },
     353    { "RTThreadSelf",                           (void *)UNWIND_WRAP(RTThreadSelf) },
     354    { "RTThreadCreate",                         (void *)UNWIND_WRAP(RTThreadCreate) }, /** @todo need to wrap the callback */
     355    { "RTThreadGetNative",                      (void *)UNWIND_WRAP(RTThreadGetNative) },
     356    { "RTThreadWait",                           (void *)UNWIND_WRAP(RTThreadWait) },
     357    { "RTThreadWaitNoResume",                   (void *)UNWIND_WRAP(RTThreadWaitNoResume) },
     358    { "RTThreadGetName",                        (void *)UNWIND_WRAP(RTThreadGetName) },
     359    { "RTThreadSelfName",                       (void *)UNWIND_WRAP(RTThreadSelfName) },
     360    { "RTThreadGetType",                        (void *)UNWIND_WRAP(RTThreadGetType) },
     361    { "RTThreadUserSignal",                     (void *)UNWIND_WRAP(RTThreadUserSignal) },
     362    { "RTThreadUserReset",                      (void *)UNWIND_WRAP(RTThreadUserReset) },
     363    { "RTThreadUserWait",                       (void *)UNWIND_WRAP(RTThreadUserWait) },
     364    { "RTThreadUserWaitNoResume",               (void *)UNWIND_WRAP(RTThreadUserWaitNoResume) },
    364365#endif
    365366    { "RTLogDefaultInstance",                   (void *)RTLogDefaultInstance },
     
    374375    { "RTMpGetSet",                             (void *)RTMpGetSet },
    375376    { "RTMpIsCpuOnline",                        (void *)RTMpIsCpuOnline },
    376     { "RTMpOnAll",                              (void *)RTMpOnAll },
    377     { "RTMpOnOthers",                           (void *)RTMpOnOthers },
    378     { "RTMpOnSpecific",                         (void *)RTMpOnSpecific },
     377    { "RTMpOnAll",                              (void *)UNWIND_WRAP(RTMpOnAll) },
     378    { "RTMpOnOthers",                           (void *)UNWIND_WRAP(RTMpOnOthers) },
     379    { "RTMpOnSpecific",                         (void *)UNWIND_WRAP(RTMpOnSpecific) },
    379380    { "RTLogRelDefaultInstance",                (void *)RTLogRelDefaultInstance },
    380     { "RTLogSetDefaultInstanceThread",          (void *)RTLogSetDefaultInstanceThread },
    381     { "RTLogLogger",                            (void *)RTLogLogger },
    382     { "RTLogLoggerEx",                          (void *)RTLogLoggerEx },
    383     { "RTLogLoggerExV",                         (void *)RTLogLoggerExV },
    384     { "RTLogPrintf",                            (void *)RTLogPrintf },
    385     { "RTLogPrintfV",                           (void *)RTLogPrintfV },
    386     { "AssertMsg1",                             (void *)AssertMsg1 },
    387     { "AssertMsg2",                             (void *)AssertMsg2 },
     381    { "RTLogSetDefaultInstanceThread",          (void *)UNWIND_WRAP(RTLogSetDefaultInstanceThread) },
     382    { "RTLogLogger",                            (void *)RTLogLogger }, /** @todo remove this */
     383    { "RTLogLoggerEx",                          (void *)RTLogLoggerEx }, /** @todo remove this */
     384    { "RTLogLoggerExV",                         (void *)UNWIND_WRAP(RTLogLoggerExV) },
     385    { "RTLogPrintf",                            (void *)RTLogPrintf }, /** @todo remove this */
     386    { "RTLogPrintfV",                           (void *)UNWIND_WRAP(RTLogPrintfV) },
     387    { "AssertMsg1",                             (void *)UNWIND_WRAP(AssertMsg1) },
     388    { "AssertMsg2",                             (void *)AssertMsg2 }, /** @todo replace this by RTAssertMsg2V */
    388389};
    389390
  • trunk/src/VBox/HostDrivers/Support/win/SUPDrvA-win.asm

    r12100 r12101  
    391391NtWrapFunctionWith5Params       RTR0MemObjMapKernel
    392392NtWrapFunctionWith6Params       RTR0MemObjMapUser
    393 NtWrapFunctionWithAllRegParams  RTR0MemObjAddress
    394 NtWrapFunctionWithAllRegParams  RTR0MemObjAddressR3
    395 NtWrapFunctionWithAllRegParams  RTR0MemObjSize
    396 NtWrapFunctionWithAllRegParams  RTR0MemObjIsMapping
    397 NtWrapFunctionWithAllRegParams  RTR0MemObjGetPagePhysAddr
     393;NtWrapFunctionWithAllRegParams  RTR0MemObjAddress      - not necessary
     394;NtWrapFunctionWithAllRegParams  RTR0MemObjAddressR3    - not necessary
     395;NtWrapFunctionWithAllRegParams  RTR0MemObjSize         - not necessary
     396;NtWrapFunctionWithAllRegParams  RTR0MemObjIsMapping    - not necessary
     397;NtWrapFunctionWithAllRegParams  RTR0MemObjGetPagePhysAddr - not necessary
    398398NtWrapFunctionWithAllRegParams  RTR0MemObjFree
    399399;NtWrapFunctionWithAllRegParams  RTProcSelf             - not necessary
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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