VirtualBox

忽略:
時間撮記:
2019-8-14 下午02:34:38 (5 年 以前)
作者:
vboxsync
訊息:

VMM: Refactoring VMMR0/* and VMMRZ/* to use VMCC & VMMCPUCC. bugref:9217

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/VMMRZ/VMMRZ.cpp

    r76553 r80274  
    2020*   Header Files                                                                                                                 *
    2121*********************************************************************************************************************************/
     22#define VBOX_BUGREF_9217_PART_I
     23#define LOG_GROUP LOG_GROUP_VMM
    2224#include <VBox/vmm/vmm.h>
    2325#include "VMMInternal.h"
    24 #include <VBox/vmm/vm.h>
     26#include <VBox/vmm/vmcc.h>
    2527#include <VBox/err.h>
    2628
     
    4446 * @param   uArg            The argument to the operation.
    4547 */
    46 VMMRZDECL(int) VMMRZCallRing3(PVM pVM, PVMCPU pVCpu, VMMCALLRING3 enmOperation, uint64_t uArg)
     48VMMRZDECL(int) VMMRZCallRing3(PVMCC pVM, PVMCPUCC pVCpu, VMMCALLRING3 enmOperation, uint64_t uArg)
    4749{
    4850    VMCPU_ASSERT_EMT(pVCpu);
     
    116118 * @param   uArg            The argument to the operation.
    117119 */
    118 VMMRZDECL(int) VMMRZCallRing3NoCpu(PVM pVM, VMMCALLRING3 enmOperation, uint64_t uArg)
     120VMMRZDECL(int) VMMRZCallRing3NoCpu(PVMCC pVM, VMMCALLRING3 enmOperation, uint64_t uArg)
    119121{
    120122    return VMMRZCallRing3(pVM, VMMGetCpu(pVM), enmOperation, uArg);
     
    128130 * @thread  EMT.
    129131 */
    130 VMMRZDECL(void) VMMRZCallRing3Disable(PVMCPU pVCpu)
     132VMMRZDECL(void) VMMRZCallRing3Disable(PVMCPUCC pVCpu)
    131133{
    132134    VMCPU_ASSERT_EMT(pVCpu);
     
    164166 * @thread  EMT.
    165167 */
    166 VMMRZDECL(void) VMMRZCallRing3Enable(PVMCPU pVCpu)
     168VMMRZDECL(void) VMMRZCallRing3Enable(PVMCPUCC pVCpu)
    167169{
    168170    VMCPU_ASSERT_EMT(pVCpu);
     
    198200 * @param   pVCpu               The cross context virtual CPU structure of the calling EMT.
    199201 */
    200 VMMRZDECL(bool) VMMRZCallRing3IsEnabled(PVMCPU pVCpu)
     202VMMRZDECL(bool) VMMRZCallRing3IsEnabled(PVMCPUCC pVCpu)
    201203{
    202204    VMCPU_ASSERT_EMT(pVCpu);
     
    215217 * @return VBox status code.
    216218 */
    217 VMMRZDECL(int) VMMRZCallRing3SetNotification(PVMCPU pVCpu, R0PTRTYPE(PFNVMMR0CALLRING3NOTIFICATION) pfnCallback, RTR0PTR pvUser)
     219VMMRZDECL(int) VMMRZCallRing3SetNotification(PVMCPUCC pVCpu, R0PTRTYPE(PFNVMMR0CALLRING3NOTIFICATION) pfnCallback, RTR0PTR pvUser)
    218220{
    219221    AssertPtrReturn(pVCpu, VERR_INVALID_POINTER);
     
    234236 * @param   pVCpu   The cross context virtual CPU structure.
    235237 */
    236 VMMRZDECL(void) VMMRZCallRing3RemoveNotification(PVMCPU pVCpu)
     238VMMRZDECL(void) VMMRZCallRing3RemoveNotification(PVMCPUCC pVCpu)
    237239{
    238240    pVCpu->vmm.s.pfnCallRing3CallbackR0 = NULL;
     
    246248 * @returns true if there the notification is active, false otherwise.
    247249 */
    248 VMMRZDECL(bool) VMMRZCallRing3IsNotificationSet(PVMCPU pVCpu)
     250VMMRZDECL(bool) VMMRZCallRing3IsNotificationSet(PVMCPUCC pVCpu)
    249251{
    250252    return pVCpu->vmm.s.pfnCallRing3CallbackR0 != NULL;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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