VirtualBox

Changeset 45152 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Mar 23, 2013 8:36:23 PM (12 years ago)
Author:
vboxsync
Message:

PDMCritSectRw: Early morphing stage - untested, ring-3 only.

Location:
trunk/include/VBox/vmm
Files:
5 edited

Legend:

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

    r35361 r45152  
    44
    55/*
    6  * Copyright (C) 2006-2010 Oracle Corporation
     6 * Copyright (C) 2006-2013 Oracle Corporation
    77 *
    88 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    3030#include <VBox/vmm/pdmqueue.h>
    3131#include <VBox/vmm/pdmcritsect.h>
     32#include <VBox/vmm/pdmcritsectrw.h>
    3233#include <VBox/vmm/pdmthread.h>
    3334#include <VBox/vmm/pdmifs.h>
  • trunk/include/VBox/vmm/pdmcritsect.h

    r44528 r45152  
    5252} PDMCRITSECT;
    5353
     54VMMR3_INT_DECL(int)     PDMR3CritSectBothTerm(PVM pVM);
     55VMMR3_INT_DECL(void)    PDMR3CritSectLeaveAll(PVM pVM);
     56VMM_INT_DECL(void)      PDMCritSectBothFF(PVMCPU pVCpu);
     57
     58
     59VMMR3DECL(uint32_t) PDMR3CritSectCountOwned(PVM pVM, char *pszNames, size_t cbNames);
     60
    5461VMMR3DECL(int)      PDMR3CritSectInit(PVM pVM, PPDMCRITSECT pCritSect, RT_SRC_POS_DECL, const char *pszNameFmt, ...);
     62VMMR3DECL(int)      PDMR3CritSectEnterEx(PPDMCRITSECT pCritSect, bool fCallRing3);
     63VMMR3DECL(bool)     PDMR3CritSectYield(PPDMCRITSECT pCritSect);
     64VMMR3DECL(const char *) PDMR3CritSectName(PCPDMCRITSECT pCritSect);
     65VMMR3DECL(int)      PDMR3CritSectScheduleExitEvent(PPDMCRITSECT pCritSect, RTSEMEVENT EventToSignal);
     66VMMR3DECL(int)      PDMR3CritSectDelete(PPDMCRITSECT pCritSect);
     67
    5568VMMDECL(int)        PDMCritSectEnter(PPDMCRITSECT pCritSect, int rcBusy);
    5669VMMDECL(int)        PDMCritSectEnterDebug(PPDMCRITSECT pCritSect, int rcBusy, RTHCUINTPTR uId, RT_SRC_POS_DECL);
    5770VMMDECL(int)        PDMCritSectTryEnter(PPDMCRITSECT pCritSect);
    5871VMMDECL(int)        PDMCritSectTryEnterDebug(PPDMCRITSECT pCritSect, RTHCUINTPTR uId, RT_SRC_POS_DECL);
    59 VMMR3DECL(int)      PDMR3CritSectEnterEx(PPDMCRITSECT pCritSect, bool fCallRing3);
    6072VMMDECL(int)        PDMCritSectLeave(PPDMCRITSECT pCritSect);
     73
    6174VMMDECL(bool)       PDMCritSectIsOwner(PCPDMCRITSECT pCritSect);
    6275VMMDECL(bool)       PDMCritSectIsOwnerEx(PCPDMCRITSECT pCritSect, PVMCPU pVCpu);
     
    6477VMMDECL(bool)       PDMCritSectHasWaiters(PCPDMCRITSECT pCritSect);
    6578VMMDECL(uint32_t)   PDMCritSectGetRecursion(PCPDMCRITSECT pCritSect);
    66 VMMR3DECL(bool)     PDMR3CritSectYield(PPDMCRITSECT pCritSect);
    67 VMMR3DECL(const char *) PDMR3CritSectName(PCPDMCRITSECT pCritSect);
    68 VMMR3DECL(int)      PDMR3CritSectScheduleExitEvent(PPDMCRITSECT pCritSect, RTSEMEVENT EventToSignal);
    69 VMMR3DECL(int)      PDMR3CritSectDelete(PPDMCRITSECT pCritSect);
    70 VMMDECL(int)        PDMR3CritSectTerm(PVM pVM);
    71 VMMDECL(void)       PDMCritSectFF(PVMCPU pVCpu);
    72 VMMR3DECL(uint32_t) PDMR3CritSectCountOwned(PVM pVM, char *pszNames, size_t cbNames);
    73 VMMR3DECL(void)     PDMR3CritSectLeaveAll(PVM pVM);
    7479
    7580VMMR3DECL(PPDMCRITSECT)             PDMR3CritSectGetNop(PVM pVM);
  • trunk/include/VBox/vmm/uvm.h

    r44528 r45152  
    125125        struct PDMUSERPERVM     s;
    126126#endif
    127         uint8_t                 padding[128];
     127        uint8_t                 padding[256];
    128128    } pdm;
    129129
  • trunk/include/VBox/vmm/vm.h

    r45097 r45152  
    199199        struct PDMCPU       s;
    200200#endif
    201         uint8_t             padding[128];       /* multiple of 64 */
     201        uint8_t             padding[256];       /* multiple of 64 */
    202202    } pdm;
    203203
     
    222222
    223223    /** Align the following members on page boundary. */
    224     uint8_t                 abAlignment2[1024 - 320 - 128 - 64];
     224    uint8_t                 abAlignment2[448 - 64];
    225225
    226226    /** PGM part. */
  • trunk/include/VBox/vmm/vm.mac

    r45097 r45152  
    139139    .tm                     resb 384
    140140    .vmm                    resb 704
    141     .pdm                    resb 128
     141    .pdm                    resb 256
    142142    .iom                    resb 512
    143143    .dbgf                   resb 64
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