VirtualBox

Changeset 43131 in vbox for trunk/src/VBox/Main/src-client


Ignore:
Timestamp:
Aug 31, 2012 11:34:49 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
80500
Message:

EFI: permanent NVRAM storage.

Location:
trunk/src/VBox/Main/src-client
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/ConsoleImpl.cpp

    r43064 r43131  
    5757#include "SharedFolderImpl.h"
    5858#include "AudioSnifferInterface.h"
     59#include "Nvram.h"
    5960#ifdef VBOX_WITH_USB_VIDEO
    6061# include "UsbWebcamInterface.h"
     
    377378    , m_pVMMDev(NULL)
    378379    , mAudioSniffer(NULL)
     380    , mNvram(NULL)
    379381#ifdef VBOX_WITH_USB_VIDEO
    380382    , mUsbWebcamInterface(NULL)
     
    535537        unconst(mAudioSniffer) = new AudioSniffer(this);
    536538        AssertReturn(mAudioSniffer, E_FAIL);
     539
     540        FirmwareType_T enmFirmwareType;
     541        mMachine->COMGETTER(FirmwareType)(&enmFirmwareType);
     542        if (   enmFirmwareType == FirmwareType_EFI
     543            || enmFirmwareType == FirmwareType_EFI32
     544            || enmFirmwareType == FirmwareType_EFI64
     545            || enmFirmwareType == FirmwareType_EFIDUAL)
     546        {
     547            unconst(mNvram) = new Nvram(this);
     548            AssertReturn(mNvram, E_FAIL);
     549        }
     550
    537551#ifdef VBOX_WITH_USB_VIDEO
    538552        unconst(mUsbWebcamInterface) = new UsbWebcamInterface(this);
     
    628642        RTMemFree((void *)mpVmm2UserMethods);
    629643        mpVmm2UserMethods = NULL;
     644    }
     645
     646    if (mNvram)
     647    {
     648        delete mNvram;
     649        unconst(mNvram) = NULL;
    630650    }
    631651
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r43023 r43131  
    15131513                InsertConfigInteger(pCfg, "DmiExposeMemoryTable", 1);
    15141514            }
     1515            PCFGMNODE pDrv;
     1516            InsertConfigNode(pInst,    "LUN#0", &pLunL0);
     1517            InsertConfigString(pLunL0, "Driver", "NvramStorage");
     1518            InsertConfigNode(pLunL0,   "Config", &pCfg);
     1519            InsertConfigInteger(pCfg,  "Object", (uint64_t)mNvram);
    15151520        }
    15161521
  • trunk/src/VBox/Main/src-client/VBoxDriversRegister.cpp

    r42551 r43131  
    2525#include "VMMDev.h"
    2626#include "AudioSnifferInterface.h"
     27#include "Nvram.h"
    2728#ifdef VBOX_WITH_USB_VIDEO
    2829# include "UsbWebcamInterface.h"
     
    7374        return rc;
    7475
     76    rc = pCallbacks->pfnRegister(pCallbacks, &Nvram::DrvReg);
     77    if (RT_FAILURE(rc))
     78        return rc;
     79
    7580#ifdef VBOX_WITH_USB_VIDEO
    7681    rc = pCallbacks->pfnRegister(pCallbacks, &UsbWebcamInterface::DrvReg);
Note: See TracChangeset for help on using the changeset viewer.

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