Sure, I can attach my code, such as it is. I've only just started, and so far am just looking at the VBoxDevicesRegister entry point, constructor and destructor. Then I will implement the actual functionality later. I was just assuming it was my procedure that was lacking, more than a code bug.
However, now that I've moved from VBox installation to a locally built VBox OSE (in order to debug the problem), the problem has changed.
When using the VBox installation, the VM would start successfully, I would see my VBoxDevicesRegister get called and successfully register my device, but the constructor was never called.
When using my locally built VBox OSE, the VM will not start when my Faux Device is attached with VBoxManage setextradata. I don't understand what's different between installed VBox and VBox OSE in this regard, but it seems from the log that the next step is to track down potential causes of VERR_PDM_NO_REGISTRATION_EXPORT.
Code: Select all
000000562 00:00:00.561693 EMT GIM: KVM: Resetting MSRs
000000563 00:00:00.562617 VMPwrUp VMSetError: /home/rvilbig/vbox/VirtualBox-5.0.0/src/VBox/VMM/VMMR3/VM.cpp(366) int VMR3Create(uint32_t, PCVMM2USERMETHODS, PFNVMATERROR, void*, PFNCFGMCONSTRUCTOR, void*, VM**, UVM**); rc=VERR_PDM_NO_REGISTRATION_EXPORT
000000563 00:00:00.562625 VMPwrUp VMSetError: Couldn't find any export for registration of drivers/devices.
000000563 00:00:00.562801 VMPwrUp ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Couldn't find any export for registration of drivers/devices. (VERR_PDM_NO_REGISTRATION_EXPORT)}, preserve=false aResultDetail=0
000000563 00:00:00.562929 VMPwrUp Console: Machine state changed to 'PoweredOff'
000000625 00:00:00.625021 VMPwrUp Power up failed (vrc=VERR_PDM_NO_REGISTRATION_EXPORT, rc=NS_ERROR_FAILURE (0X80004005))
000000796 00:00:00.796012 main GUI: UIMachineViewNormal::resendSizeHint: Restoring guest size-hint for screen 0 to 800x600
000000797 00:00:00.797107 main ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={7303a66d-433b-25a4-f9a8-fcadf87e0c2a} aComponent={DisplayWrap} aText={The console is not powered up}, preserve=false aResultDetail=0