Changeset 30718 in vbox for trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
- Timestamp:
- Jul 7, 2010 5:04:11 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
r30715 r30718 27 27 #include <VBox/log.h> 28 28 #include <VBox/param.h> 29 #include <VBox/mm.h> 29 30 #include <VBox/pgm.h> 30 31 #include <VBox/err.h> … … 47 48 #ifdef VBOX_WITH_HGCM 48 49 # include "VMMDevHGCM.h" 49 #endif50 #ifndef VBOX_WITHOUT_TESTING_FEATURES51 # include "VMMDevTesting.h"52 50 #endif 53 51 … … 2730 2728 pThis->pDrv->pfnUpdateGuestCapabilities(pThis->pDrv, pThis->guestCaps); 2731 2729 2732 /* Generate a unique session id for this VM; it will be changed for each start, reset or restore. 2730 /* Generate a unique session id for this VM; it will be changed for each start, reset or restore. 2733 2731 * This can be used for restore detection inside the guest. 2734 2732 */ 2735 2733 pThis->idSession = ASMReadTSC(); 2736 }2737 2738 2739 /**2740 * @interface_method_impl{PDMDEVREG,pfnRelocate}2741 */2742 static DECLCALLBACK(void) vmmdevRelocate(PPDMDEVINS pDevIns, RTGCINTPTR offDelta)2743 {2744 NOREF(pDevIns);2745 NOREF(offDelta);2746 2734 } 2747 2735 … … 2757 2745 Assert(iInstance == 0); 2758 2746 PDMDEV_CHECK_VERSIONS_RETURN(pDevIns); 2747 2748 /* 2749 * Validate and read the configuration. 2750 */ 2751 if (!CFGMR3AreValuesValid(pCfg, 2752 "GetHostTimeDisabled\0" 2753 "BackdoorLogDisabled\0" 2754 "KeepCredentials\0" 2755 "HeapEnabled\0" 2756 )) 2757 return VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES; 2758 2759 rc = CFGMR3QueryBoolDef(pCfg, "GetHostTimeDisabled", &pThis->fGetHostTimeDisabled, false); 2760 if (RT_FAILURE(rc)) 2761 return PDMDEV_SET_ERROR(pDevIns, rc, 2762 N_("Configuration error: Failed querying \"GetHostTimeDisabled\" as a boolean")); 2763 2764 rc = CFGMR3QueryBoolDef(pCfg, "BackdoorLogDisabled", &pThis->fBackdoorLogDisabled, false); 2765 if (RT_FAILURE(rc)) 2766 return PDMDEV_SET_ERROR(pDevIns, rc, 2767 N_("Configuration error: Failed querying \"BackdoorLogDisabled\" as a boolean")); 2768 2769 rc = CFGMR3QueryBoolDef(pCfg, "KeepCredentials", &pThis->fKeepCredentials, false); 2770 if (RT_FAILURE(rc)) 2771 return PDMDEV_SET_ERROR(pDevIns, rc, 2772 N_("Configuration error: Failed querying \"KeepCredentials\" as a boolean")); 2773 2774 rc = CFGMR3QueryBoolDef(pCfg, "HeapEnabled", &pThis->fHeapEnabled, true); 2775 if (RT_FAILURE(rc)) 2776 return PDMDEV_SET_ERROR(pDevIns, rc, 2777 N_("Configuration error: Failed querying \"HeapEnabled\" as a boolean")); 2759 2778 2760 2779 /* … … 2809 2828 #endif 2810 2829 2811 /* 2812 * Validate and read the configuration. 2813 */ 2814 PDMDEV_VALIDATE_CONFIG_RETURN(pDevIns, 2815 "GetHostTimeDisabled|" 2816 "BackdoorLogDisabled|" 2817 "KeepCredentials|" 2818 "HeapEnabled|" 2819 "RamSize|" 2820 "TestingEnabled" 2821 , 2822 ""); 2823 2824 rc = CFGMR3QueryU64(pCfg, "RamSize", &pThis->cbGuestRAM); 2825 if (RT_FAILURE(rc)) 2826 return PDMDEV_SET_ERROR(pDevIns, rc, 2827 N_("Configuration error: Failed querying \"RamSize\" as a 64-bit unsigned integer")); 2828 2829 rc = CFGMR3QueryBoolDef(pCfg, "GetHostTimeDisabled", &pThis->fGetHostTimeDisabled, false); 2830 if (RT_FAILURE(rc)) 2831 return PDMDEV_SET_ERROR(pDevIns, rc, 2832 N_("Configuration error: Failed querying \"GetHostTimeDisabled\" as a boolean")); 2833 2834 rc = CFGMR3QueryBoolDef(pCfg, "BackdoorLogDisabled", &pThis->fBackdoorLogDisabled, false); 2835 if (RT_FAILURE(rc)) 2836 return PDMDEV_SET_ERROR(pDevIns, rc, 2837 N_("Configuration error: Failed querying \"BackdoorLogDisabled\" as a boolean")); 2838 2839 rc = CFGMR3QueryBoolDef(pCfg, "KeepCredentials", &pThis->fKeepCredentials, false); 2840 if (RT_FAILURE(rc)) 2841 return PDMDEV_SET_ERROR(pDevIns, rc, 2842 N_("Configuration error: Failed querying \"KeepCredentials\" as a boolean")); 2843 2844 rc = CFGMR3QueryBoolDef(pCfg, "HeapEnabled", &pThis->fHeapEnabled, true); 2845 if (RT_FAILURE(rc)) 2846 return PDMDEV_SET_ERROR(pDevIns, rc, 2847 N_("Configuration error: Failed querying \"HeapEnabled\" as a boolean")); 2848 2849 rc = CFGMR3QueryBoolDef(pCfg, "RZEnabled", &pThis->fRZEnabled, true); 2850 if (RT_FAILURE(rc)) 2851 return PDMDEV_SET_ERROR(pDevIns, rc, 2852 N_("Configuration error: Failed querying \"RZEnabled\" as a boolean")); 2853 2854 #ifndef VBOX_WITHOUT_TESTING_FEATURES 2855 rc = CFGMR3QueryBoolDef(pCfg, "TestingEnabled", &pThis->fTestingEnabled, false); 2856 if (RT_FAILURE(rc)) 2857 return PDMDEV_SET_ERROR(pDevIns, rc, 2858 N_("Configuration error: Failed querying \"TestingEnabled\" as a boolean")); 2859 # ifdef DEBUG_bird /* lazy bird */ 2860 pThis->fTestingEnabled = true; 2861 # endif 2862 /** @todo image-to-load-filename? */ 2863 #endif 2830 /** @todo convert this into a config parameter like we do everywhere else! */ 2831 pThis->cbGuestRAM = MMR3PhysGetRamSize(PDMDevHlpGetVM(pDevIns)); 2864 2832 2865 2833 /* … … 2922 2890 } 2923 2891 2924 #ifndef VBOX_WITHOUT_TESTING_FEATURES2925 /*2926 * Initialize testing.2927 */2928 rc = vmmdevTestingInitialize(pDevIns);2929 if (RT_FAILURE(rc))2930 return rc;2931 #endif2932 2933 2892 /* 2934 2893 * Get the corresponding connector interface … … 2990 2949 pThis->u32HGCMEnabled = 0; 2991 2950 #endif /* VBOX_WITH_HGCM */ 2992 2993 2951 /* In this version of VirtualBox the GUI checks whether "needs host cursor" 2994 2952 * changes. */ … … 2997 2955 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMemBalloonChunks, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, "Memory balloon size", "/Devices/VMMDev/BalloonChunks"); 2998 2956 2999 /* Generate a unique session id for this VM; it will be changed for each start, reset or restore. 2957 /* Generate a unique session id for this VM; it will be changed for each start, reset or restore. 3000 2958 * This can be used for restore detection inside the guest. 3001 2959 */ … … 3014 2972 "VMMDev", 3015 2973 /* szRCMod */ 3016 " VBoxDDGC.gc",2974 "", 3017 2975 /* szR0Mod */ 3018 " VBoxDDR0.r0",2976 "", 3019 2977 /* pszDescription */ 3020 2978 "VirtualBox VMM Device\n", 3021 2979 /* fFlags */ 3022 PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT | PDM_DEVREG_FLAGS_GUEST_BITS_DEFAULT | PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0,2980 PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT | PDM_DEVREG_FLAGS_GUEST_BITS_DEFAULT, 3023 2981 /* fClass */ 3024 2982 PDM_DEVREG_CLASS_VMM_DEV, … … 3032 2990 NULL, 3033 2991 /* pfnRelocate */ 3034 vmmdevRelocate,2992 NULL, 3035 2993 /* pfnIOCtl */ 3036 2994 NULL,
Note:
See TracChangeset
for help on using the changeset viewer.