VirtualBox

Changeset 2902 in vbox


Ignore:
Timestamp:
May 29, 2007 9:58:40 AM (18 years ago)
Author:
vboxsync
Message:

FE/BFE: added -bootmenu parameter, some cosmetical changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp

    r2899 r2902  
    166166#endif
    167167//static bool fPacketSniffer = false;
    168 static char *hdaFile   = NULL;
    169 static char *cdromFile = NULL;
    170 static char *fdaFile   = NULL;
     168static char *g_pszHdaFile   = NULL;
     169static char *g_pszCdromFile = NULL;
     170static char *g_pszFdaFile   = NULL;
    171171static const char *pszBootDevice = "IDE";
    172 static uint32_t memorySize = 128;
    173 static uint32_t vramSize = 4;
     172static uint32_t g_u32MemorySizeMB = 128;
     173static uint32_t g_u32VRamSizeMB = 4;
    174174#ifdef VBOXSDL_ADVANCED_OPTIONS
    175175static bool g_fRawR0 = true;
     
    179179#endif
    180180static bool g_fPreAllocRam = false;
     181static int  g_iBootMenu = 2;
    181182static bool g_fReleaseLog = true; /**< Set if we should open the release. */
    182183
     
    286287             "  -cdrom <file>      Set CDROM to file/device ('none' to unmount)\n"
    287288             "  -boot <a|c|d>      Set boot device (a = floppy, c = first hard disk, d = DVD)\n"
     289             "  -boot menu <0|1|2> Boot menu (0 = disable, 1 = menu only, 2 = message + menu)\n"
    288290             "  -m <size>          Set memory size in megabytes (default 128MB)\n"
    289291             "  -vram <size>       Set size of video memory in megabytes\n"
     
    409411            }
    410412        }
     413        else if (strcmp(pszArg, "-bootmenu") == 0)
     414        {
     415            if (++curArg >= argc)
     416                return SyntaxError("missing argument for boot menu!\n");
     417            if (strlen(argv[curArg]) != 1 || *argv[curArg] < '0' || *argv[curArg] > '2')
     418                return SyntaxError("invalid argument for boot menu! (%s)\n", argv[curArg]);
     419            rc = VINF_SUCCESS;
     420            g_iBootMenu = *argv[curArg] - 0;
     421        }
    411422        else if (strcmp(pszArg, "-m") == 0)
    412423        {
    413424            if (++curArg >= argc)
    414425                return SyntaxError("missing argument for memory size!\n");
    415             rc = RTStrToUInt32Ex(argv[curArg], NULL, 0, &memorySize);
     426            rc = RTStrToUInt32Ex(argv[curArg], NULL, 0, &g_u32MemorySizeMB);
    416427            if (VBOX_FAILURE(rc))
    417428                return SyntaxError("cannot grok the memory size: %s (%Vrc)\n",
     
    422433            if (++curArg >= argc)
    423434                return SyntaxError("missing argument for vram size!\n");
    424             rc = RTStrToUInt32Ex(argv[curArg], NULL, 0, &vramSize);
     435            rc = RTStrToUInt32Ex(argv[curArg], NULL, 0, &g_u32VRamSizeMB);
    425436            if (VBOX_FAILURE(rc))
    426437                return SyntaxError("cannot grok the vram size: %s (%Vrc)\n",
     
    457468            /* resolve it. */
    458469            if (RTPathExists(argv[curArg]))
    459                 hdaFile = RTPathRealDup(argv[curArg]);
    460             if (!hdaFile)
     470                g_pszHdaFile = RTPathRealDup(argv[curArg]);
     471            if (!g_pszHdaFile)
    461472                return SyntaxError("The path to the specified harddisk, '%s', could not be resolved.\n", argv[curArg]);
    462473        }
     
    468479            /* resolve it. */
    469480            if (RTPathExists(argv[curArg]))
    470                 fdaFile = RTPathRealDup(argv[curArg]);
    471             if (!fdaFile)
     481                g_pszFdaFile = RTPathRealDup(argv[curArg]);
     482            if (!g_pszFdaFile)
    472483                return SyntaxError("The path to the specified floppy disk, '%s', could not be resolved.\n", argv[curArg]);
    473484        }
     
    479490            /* resolve it. */
    480491            if (RTPathExists(argv[curArg]))
    481                 cdromFile = RTPathRealDup(argv[curArg]);
    482             if (!cdromFile)
     492                g_pszCdromFile = RTPathRealDup(argv[curArg]);
     493            if (!g_pszCdromFile)
    483494                return SyntaxError("The path to the specified cdrom, '%s', could not be resolved.\n", argv[curArg]);
    484495        }
     
    704715#ifdef __L4__
    705716    /* The L4 console provides (currently) a fixed resolution. */
    706     if (vramSize * _1M >=   gFramebuffer->getHostXres()
     717    if (g_u32VRamSizeMB * _1M >=   gFramebuffer->getHostXres()
    707718                          * gFramebuffer->getHostYres()
    708719                          * (gDisplay->getColorDepth() / 8))
     
    10431054    int rc;
    10441055
    1045 #define UPDATERC() do { if (VBOX_FAILURE(rc) && VBOX_SUCCESS(rcAll)) rcAll = rc; } while (0)
    1046 #undef CHECK_RC                         /** @todo r=bird: clashes with VBox/com/Assert.h.  */
    1047 #define CHECK_RC()  UPDATERC()
     1056#define UPDATE_RC() do { if (VBOX_FAILURE(rc) && VBOX_SUCCESS(rcAll)) rcAll = rc; } while (0)
    10481057
    10491058    /*
     
    10511060     */
    10521061    PCFGMNODE pRoot = CFGMR3GetRoot(pVM);
    1053     rc = CFGMR3InsertString(pRoot,  "Name",                 "Default VM");
    1054     UPDATERC();
    1055     rc = CFGMR3InsertInteger(pRoot, "RamSize",              memorySize * _1M);
    1056     UPDATERC();
     1062    rc = CFGMR3InsertString(pRoot,  "Name",                 "Default VM");          UPDATE_RC();
     1063    rc = CFGMR3InsertInteger(pRoot, "RamSize",              g_u32MemorySizeMB * _1M);      UPDATE_RC();
    10571064    if (g_fPreAllocRam)
    10581065    {
    1059         rc = CFGMR3InsertInteger(pRoot, "PreAllocRam",      1);
    1060         UPDATERC();
    1061     }
    1062     rc = CFGMR3InsertInteger(pRoot, "TimerMillies",         10);
    1063     UPDATERC();
     1066        rc = CFGMR3InsertInteger(pRoot, "PreAllocRam",      1);                     UPDATE_RC();
     1067    }
     1068    rc = CFGMR3InsertInteger(pRoot, "TimerMillies",         10);                    UPDATE_RC();
    10641069#ifdef VBOXSDL_ADVANCED_OPTIONS
    1065     rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         g_fRawR3);
    1066     UPDATERC();
    1067     rc = CFGMR3InsertInteger(pRoot, "RawR0Enabled",         g_fRawR0);
    1068     UPDATERC();
    1069     rc = CFGMR3InsertInteger(pRoot, "PATMEnabled",          g_fPATM);
    1070     UPDATERC();
    1071     rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          g_fCSAM);
     1070    rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         g_fRawR3);              UPDATE_RC();
     1071    rc = CFGMR3InsertInteger(pRoot, "RawR0Enabled",         g_fRawR0);              UPDATE_RC();
     1072    rc = CFGMR3InsertInteger(pRoot, "PATMEnabled",          g_fPATM);               UPDATE_RC();
     1073    rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          g_fCSAM);               UPDATE_RC();
    10721074#else
    1073     rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         1);
    1074     UPDATERC();
    1075     rc = CFGMR3InsertInteger(pRoot, "RawR0Enabled",         1);
    1076     UPDATERC();
    1077     rc = CFGMR3InsertInteger(pRoot, "PATMEnabled",          1);
    1078     UPDATERC();
    1079     rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          1);
    1080 #endif
    1081     UPDATERC();
     1075    rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         1);                     UPDATE_RC();
     1076    rc = CFGMR3InsertInteger(pRoot, "RawR0Enabled",         1);                     UPDATE_RC();
     1077    rc = CFGMR3InsertInteger(pRoot, "PATMEnabled",          1);                     UPDATE_RC();
     1078    rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          1);                     UPDATE_RC();
     1079#endif
    10821080
    10831081    /*
    10841082     * PDM.
    10851083     */
    1086     rc = PDMR3RegisterDrivers(pVM, VBoxDriversRegister);
    1087     UPDATERC();
     1084    rc = PDMR3RegisterDrivers(pVM, VBoxDriversRegister);                            UPDATE_RC();
    10881085
    10891086    /*
     
    10911088     */
    10921089    PCFGMNODE pDevices = NULL;
    1093     rc = CFGMR3InsertNode(pRoot, "Devices", &pDevices);
    1094     UPDATERC();
     1090    rc = CFGMR3InsertNode(pRoot, "Devices", &pDevices);                             UPDATE_RC();
    10951091    /* device */
    10961092    PCFGMNODE pDev = NULL;
     
    11031099     * PC Arch.
    11041100     */
    1105     rc = CFGMR3InsertNode(pDevices, "pcarch", &pDev);
    1106     UPDATERC();
    1107     rc = CFGMR3InsertNode(pDev,     "0", &pInst);
    1108     UPDATERC();
    1109     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);         /* boolean */
    1110     UPDATERC();
    1111     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);
    1112     UPDATERC();
     1101    rc = CFGMR3InsertNode(pDevices, "pcarch", &pDev);                               UPDATE_RC();
     1102    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1103    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1104    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
    11131105
    11141106    /*
    11151107     * PC Bios.
    11161108     */
    1117     rc = CFGMR3InsertNode(pDevices, "pcbios", &pDev);
    1118     UPDATERC();
    1119     rc = CFGMR3InsertNode(pDev,     "0", &pInst);
    1120     UPDATERC();
    1121     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);         /* boolean */
    1122     UPDATERC();
    1123     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);
    1124     UPDATERC();
    1125     rc = CFGMR3InsertInteger(pCfg,  "RamSize",              memorySize * _1M);
    1126     UPDATERC();
    1127     rc = CFGMR3InsertString(pCfg,   "BootDevice0",          pszBootDevice);
    1128     UPDATERC();
    1129     rc = CFGMR3InsertString(pCfg,   "BootDevice1",          "NONE");
    1130     UPDATERC();
    1131     rc = CFGMR3InsertString(pCfg,   "BootDevice2",          "NONE");
    1132     UPDATERC();
    1133     rc = CFGMR3InsertString(pCfg,   "BootDevice3",          "NONE");
    1134     UPDATERC();
    1135     rc = CFGMR3InsertString(pCfg,   "HardDiskDevice",       "piix3ide");
    1136     UPDATERC();
    1137     rc = CFGMR3InsertString(pCfg,   "FloppyDevice",         "i82078");
    1138     UPDATERC();
    1139     rc = CFGMR3InsertInteger(pCfg,  "IOAPIC",               g_fIOAPIC);
    1140     UPDATERC();
     1109    rc = CFGMR3InsertNode(pDevices, "pcbios", &pDev);                               UPDATE_RC();
     1110    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1111    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1112    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1113    rc = CFGMR3InsertInteger(pCfg,  "RamSize",              g_u32MemorySizeMB * _1M);      UPDATE_RC();
     1114    rc = CFGMR3InsertString(pCfg,   "BootDevice0",          pszBootDevice);         UPDATE_RC();
     1115    rc = CFGMR3InsertString(pCfg,   "BootDevice1",          "NONE");                UPDATE_RC();
     1116    rc = CFGMR3InsertString(pCfg,   "BootDevice2",          "NONE");                UPDATE_RC();
     1117    rc = CFGMR3InsertString(pCfg,   "BootDevice3",          "NONE");                UPDATE_RC();
     1118    rc = CFGMR3InsertString(pCfg,   "HardDiskDevice",       "piix3ide");            UPDATE_RC();
     1119    rc = CFGMR3InsertString(pCfg,   "FloppyDevice",         "i82078");              UPDATE_RC();
     1120    rc = CFGMR3InsertInteger(pCfg,  "IOAPIC",               g_fIOAPIC);             UPDATE_RC();
    11411121
    11421122    /* Default: no bios logo. */
    1143     rc = CFGMR3InsertInteger(pCfg,  "FadeIn",               1);
    1144     UPDATERC();
    1145     rc = CFGMR3InsertInteger(pCfg,  "FadeOut",              0);
    1146     UPDATERC();
    1147     rc = CFGMR3InsertInteger(pCfg,  "LogoTime",             0);
    1148     UPDATERC();
    1149     rc = CFGMR3InsertString(pCfg,   "LogoFile",             "");
    1150     UPDATERC();
     1123    rc = CFGMR3InsertInteger(pCfg,  "FadeIn",               1);                     UPDATE_RC();
     1124    rc = CFGMR3InsertInteger(pCfg,  "FadeOut",              0);                     UPDATE_RC();
     1125    rc = CFGMR3InsertInteger(pCfg,  "LogoTime",             0);                     UPDATE_RC();
     1126    rc = CFGMR3InsertString(pCfg,   "LogoFile",             "");                    UPDATE_RC();
     1127
     1128    /* Boot menu */
     1129    rc = CFGMR3InsertInteger(pCfg,  "ShowBootMenu",         g_iBootMenu);           UPDATE_RC();
     1130
    11511131
    11521132    /*
     
    11551135    if (g_fACPI)
    11561136    {
    1157         rc = CFGMR3InsertNode(pDevices, "acpi", &pDev);                             CHECK_RC();
    1158         rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               CHECK_RC();
    1159         rc = CFGMR3InsertInteger(pInst, "Trusted", 1);              /* boolean */   CHECK_RC();
    1160         rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           CHECK_RC();
    1161         rc = CFGMR3InsertInteger(pCfg,  "RamSize", memorySize * _1M);               CHECK_RC();
    1162         rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                       CHECK_RC();
    1163         rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          7);                 CHECK_RC();
    1164         rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 CHECK_RC();
    1165 
    1166         rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          CHECK_RC();
    1167         rc = CFGMR3InsertString(pLunL0, "Driver",               "ACPIHost");        CHECK_RC();
    1168         rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           CHECK_RC();
     1137        rc = CFGMR3InsertNode(pDevices, "acpi", &pDev);                             UPDATE_RC();
     1138        rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               UPDATE_RC();
     1139        rc = CFGMR3InsertInteger(pInst, "Trusted", 1);              /* boolean */   UPDATE_RC();
     1140        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           UPDATE_RC();
     1141        rc = CFGMR3InsertInteger(pCfg,  "RamSize", g_u32MemorySizeMB * _1M);        UPDATE_RC();
     1142        rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                       UPDATE_RC();
     1143        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          7);                 UPDATE_RC();
     1144        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 UPDATE_RC();
     1145
     1146        rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          UPDATE_RC();
     1147        rc = CFGMR3InsertString(pLunL0, "Driver",               "ACPIHost");        UPDATE_RC();
     1148        rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           UPDATE_RC();
    11691149    }
    11701150
     
    11721152     * PCI bus.
    11731153     */
    1174     rc = CFGMR3InsertNode(pDevices, "pci", &pDev); /* piix3 */
    1175     UPDATERC();
    1176     rc = CFGMR3InsertNode(pDev,     "0", &pInst);
    1177     UPDATERC();
    1178     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);         /* boolean */
    1179     UPDATERC();
    1180     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);
    1181     UPDATERC();
    1182     rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                       CHECK_RC();
     1154    rc = CFGMR3InsertNode(pDevices, "pci", &pDev); /* piix3 */                      UPDATE_RC();
     1155    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1156    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1157    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1158    rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                           UPDATE_RC();
    11831159
    11841160    /*
    11851161     * DMA
    11861162     */
    1187     rc = CFGMR3InsertNode(pDevices, "8237A", &pDev);                                CHECK_RC();
    1188     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1189     rc = CFGMR3InsertInteger(pInst, "Trusted", 1);                  /* boolean */   CHECK_RC();
     1163    rc = CFGMR3InsertNode(pDevices, "8237A", &pDev);                                UPDATE_RC();
     1164    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1165    rc = CFGMR3InsertInteger(pInst, "Trusted", 1);                  /* boolean */   UPDATE_RC();
    11901166
    11911167    /*
    11921168     * PCI bus.
    11931169     */
    1194     rc = CFGMR3InsertNode(pDevices, "pci", &pDev); /* piix3 */                      CHECK_RC();
    1195     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1196     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1197     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
     1170    rc = CFGMR3InsertNode(pDevices, "pci", &pDev); /* piix3 */                      UPDATE_RC();
     1171    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1172    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1173    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
    11981174
    11991175    /*
    12001176     * PS/2 keyboard & mouse.
    12011177     */
    1202     rc = CFGMR3InsertNode(pDevices, "pckbd", &pDev);                                CHECK_RC();
    1203     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1204     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1205     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1206 
    1207     rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              CHECK_RC();
    1208     rc = CFGMR3InsertString(pLunL0, "Driver",               "KeyboardQueue");       CHECK_RC();
    1209     rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               CHECK_RC();
    1210     rc = CFGMR3InsertInteger(pCfg,  "QueueSize",            64);                    CHECK_RC();
    1211 
    1212     rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                     CHECK_RC();
    1213     rc = CFGMR3InsertString(pLunL1, "Driver",               "MainKeyboard");        CHECK_RC();
    1214     rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                               CHECK_RC();
    1215     rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gKeyboard);            CHECK_RC();
    1216 
    1217     rc = CFGMR3InsertNode(pInst,    "LUN#1", &pLunL0);                              CHECK_RC();
    1218     rc = CFGMR3InsertString(pLunL0, "Driver",               "MouseQueue");          CHECK_RC();
    1219     rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               CHECK_RC();
    1220     rc = CFGMR3InsertInteger(pCfg,  "QueueSize",            128);                   CHECK_RC();
    1221 
    1222     rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                     CHECK_RC();
    1223     rc = CFGMR3InsertString(pLunL1, "Driver",               "MainMouse");           CHECK_RC();
    1224     rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                               CHECK_RC();
    1225     rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gMouse);               CHECK_RC();
     1178    rc = CFGMR3InsertNode(pDevices, "pckbd", &pDev);                                UPDATE_RC();
     1179    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1180    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1181    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1182
     1183    rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              UPDATE_RC();
     1184    rc = CFGMR3InsertString(pLunL0, "Driver",               "KeyboardQueue");       UPDATE_RC();
     1185    rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               UPDATE_RC();
     1186    rc = CFGMR3InsertInteger(pCfg,  "QueueSize",            64);                    UPDATE_RC();
     1187
     1188    rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                     UPDATE_RC();
     1189    rc = CFGMR3InsertString(pLunL1, "Driver",               "MainKeyboard");        UPDATE_RC();
     1190    rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                               UPDATE_RC();
     1191    rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gKeyboard);            UPDATE_RC();
     1192
     1193    rc = CFGMR3InsertNode(pInst,    "LUN#1", &pLunL0);                              UPDATE_RC();
     1194    rc = CFGMR3InsertString(pLunL0, "Driver",               "MouseQueue");          UPDATE_RC();
     1195    rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               UPDATE_RC();
     1196    rc = CFGMR3InsertInteger(pCfg,  "QueueSize",            128);                   UPDATE_RC();
     1197
     1198    rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                     UPDATE_RC();
     1199    rc = CFGMR3InsertString(pLunL1, "Driver",               "MainMouse");           UPDATE_RC();
     1200    rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                               UPDATE_RC();
     1201    rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gMouse);               UPDATE_RC();
    12261202
    12271203
     
    12291205     * i82078 Floppy drive controller
    12301206     */
    1231     rc = CFGMR3InsertNode(pDevices, "i82078",    &pDev);                            CHECK_RC();
    1232     rc = CFGMR3InsertNode(pDev,     "0",         &pInst);                           CHECK_RC();
    1233     rc = CFGMR3InsertInteger(pInst, "Trusted",   1);                                CHECK_RC();
    1234     rc = CFGMR3InsertNode(pInst,    "Config",    &pCfg);                            CHECK_RC();
    1235     rc = CFGMR3InsertInteger(pCfg,  "IRQ",       6);                                CHECK_RC();
    1236     rc = CFGMR3InsertInteger(pCfg,  "DMA",       2);                                CHECK_RC();
    1237     rc = CFGMR3InsertInteger(pCfg,  "MemMapped", 0 );                               CHECK_RC();
    1238     rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x3f0);                            CHECK_RC();
     1207    rc = CFGMR3InsertNode(pDevices, "i82078",    &pDev);                            UPDATE_RC();
     1208    rc = CFGMR3InsertNode(pDev,     "0",         &pInst);                           UPDATE_RC();
     1209    rc = CFGMR3InsertInteger(pInst, "Trusted",   1);                                UPDATE_RC();
     1210    rc = CFGMR3InsertNode(pInst,    "Config",    &pCfg);                            UPDATE_RC();
     1211    rc = CFGMR3InsertInteger(pCfg,  "IRQ",       6);                                UPDATE_RC();
     1212    rc = CFGMR3InsertInteger(pCfg,  "DMA",       2);                                UPDATE_RC();
     1213    rc = CFGMR3InsertInteger(pCfg,  "MemMapped", 0 );                               UPDATE_RC();
     1214    rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x3f0);                            UPDATE_RC();
    12391215
    12401216    /* Attach the status driver */
    1241     rc = CFGMR3InsertNode(pInst,    "LUN#999", &pLunL0);                            CHECK_RC();
    1242     rc = CFGMR3InsertString(pLunL0, "Driver",               "MainStatus");          CHECK_RC();
    1243     rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               CHECK_RC();
    1244     rc = CFGMR3InsertInteger(pCfg,  "papLeds", (uintptr_t)&mapFDLeds[0]);           CHECK_RC();
    1245     rc = CFGMR3InsertInteger(pCfg,  "First",    0);                                 CHECK_RC();
    1246     rc = CFGMR3InsertInteger(pCfg,  "Last",     0);                                 CHECK_RC();
    1247 
    1248     if (fdaFile)
    1249     {
    1250         rc = CFGMR3InsertNode(pInst,    "LUN#0",     &pLunL0);                      CHECK_RC();
    1251         rc = CFGMR3InsertString(pLunL0, "Driver",    "Block");                      CHECK_RC();
    1252         rc = CFGMR3InsertNode(pLunL0,   "Config",    &pCfg);                        CHECK_RC();
    1253         rc = CFGMR3InsertString(pCfg,   "Type",      "Floppy 1.44");                CHECK_RC();
    1254         rc = CFGMR3InsertInteger(pCfg,  "Mountable", 1);                            CHECK_RC();
    1255 
    1256         rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 CHECK_RC();
    1257         rc = CFGMR3InsertString(pLunL1, "Driver",          "RawImage");             CHECK_RC();
    1258         rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           CHECK_RC();
    1259         rc = CFGMR3InsertString(pCfg,   "Path",         fdaFile);                   CHECK_RC();
     1217    rc = CFGMR3InsertNode(pInst,    "LUN#999", &pLunL0);                            UPDATE_RC();
     1218    rc = CFGMR3InsertString(pLunL0, "Driver",               "MainStatus");          UPDATE_RC();
     1219    rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               UPDATE_RC();
     1220    rc = CFGMR3InsertInteger(pCfg,  "papLeds", (uintptr_t)&mapFDLeds[0]);           UPDATE_RC();
     1221    rc = CFGMR3InsertInteger(pCfg,  "First",    0);                                 UPDATE_RC();
     1222    rc = CFGMR3InsertInteger(pCfg,  "Last",     0);                                 UPDATE_RC();
     1223
     1224    if (g_pszFdaFile)
     1225    {
     1226        rc = CFGMR3InsertNode(pInst,    "LUN#0",     &pLunL0);                      UPDATE_RC();
     1227        rc = CFGMR3InsertString(pLunL0, "Driver",    "Block");                      UPDATE_RC();
     1228        rc = CFGMR3InsertNode(pLunL0,   "Config",    &pCfg);                        UPDATE_RC();
     1229        rc = CFGMR3InsertString(pCfg,   "Type",      "Floppy 1.44");                UPDATE_RC();
     1230        rc = CFGMR3InsertInteger(pCfg,  "Mountable", 1);                            UPDATE_RC();
     1231
     1232        rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 UPDATE_RC();
     1233        rc = CFGMR3InsertString(pLunL1, "Driver",          "RawImage");             UPDATE_RC();
     1234        rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           UPDATE_RC();
     1235        rc = CFGMR3InsertString(pCfg,   "Path",         g_pszFdaFile);              UPDATE_RC();
    12601236    }
    12611237
     
    12631239     * i8254 Programmable Interval Timer And Dummy Speaker
    12641240     */
    1265     rc = CFGMR3InsertNode(pDevices, "i8254", &pDev);                                CHECK_RC();
    1266     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1267     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
     1241    rc = CFGMR3InsertNode(pDevices, "i8254", &pDev);                                UPDATE_RC();
     1242    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1243    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
    12681244#ifdef DEBUG
    1269     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
     1245    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
    12701246#endif
    12711247
     
    12731249     * i8259 Programmable Interrupt Controller.
    12741250     */
    1275     rc = CFGMR3InsertNode(pDevices, "i8259", &pDev);                                CHECK_RC();
    1276     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1277     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1278     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
     1251    rc = CFGMR3InsertNode(pDevices, "i8259", &pDev);                                UPDATE_RC();
     1252    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1253    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1254    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
    12791255
    12801256    /*
    12811257     * Advanced Programmable Interrupt Controller.
    12821258     */
    1283     rc = CFGMR3InsertNode(pDevices, "apic", &pDev);                                 CHECK_RC();
    1284     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1285     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1286     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1287     rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                           CHECK_RC();
     1259    rc = CFGMR3InsertNode(pDevices, "apic", &pDev);                                 UPDATE_RC();
     1260    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1261    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1262    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1263    rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", g_fIOAPIC);                           UPDATE_RC();
    12881264
    12891265    /*
     
    12921268    if (g_fIOAPIC)
    12931269    {
    1294         rc = CFGMR3InsertNode(pDevices, "ioapic", &pDev);                           CHECK_RC();
    1295         rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               CHECK_RC();
    1296         rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   CHECK_RC();
    1297         rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           CHECK_RC();
     1270        rc = CFGMR3InsertNode(pDevices, "ioapic", &pDev);                           UPDATE_RC();
     1271        rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               UPDATE_RC();
     1272        rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   UPDATE_RC();
     1273        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           UPDATE_RC();
    12981274    }
    12991275
     
    13011277     * RTC MC146818.
    13021278     */
    1303     rc = CFGMR3InsertNode(pDevices, "mc146818", &pDev);                             CHECK_RC();
    1304     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1305     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
     1279    rc = CFGMR3InsertNode(pDevices, "mc146818", &pDev);                             UPDATE_RC();
     1280    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1281    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
    13061282
    13071283    /*
    13081284     * Serial ports
    13091285     */
    1310     rc = CFGMR3InsertNode(pDevices, "serial", &pDev);                               CHECK_RC();
    1311     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1312     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1313     rc = CFGMR3InsertInteger(pCfg,  "IRQ",       4);                                CHECK_RC();
    1314     rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x3f8);                            CHECK_RC();
    1315 
    1316     rc = CFGMR3InsertNode(pDev,     "1", &pInst);                                   CHECK_RC();
    1317     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1318     rc = CFGMR3InsertInteger(pCfg,  "IRQ",       3);                                CHECK_RC();
    1319     rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x2f8);                            CHECK_RC();
     1286    rc = CFGMR3InsertNode(pDevices, "serial", &pDev);                               UPDATE_RC();
     1287    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1288    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1289    rc = CFGMR3InsertInteger(pCfg,  "IRQ",       4);                                UPDATE_RC();
     1290    rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x3f8);                            UPDATE_RC();
     1291
     1292    rc = CFGMR3InsertNode(pDev,     "1", &pInst);                                   UPDATE_RC();
     1293    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1294    rc = CFGMR3InsertInteger(pCfg,  "IRQ",       3);                                UPDATE_RC();
     1295    rc = CFGMR3InsertInteger(pCfg,  "IOBase",    0x2f8);                            UPDATE_RC();
    13201296
    13211297    /*
    13221298     * VGA.
    13231299     */
    1324     rc = CFGMR3InsertNode(pDevices, "vga", &pDev);                                  CHECK_RC();
    1325     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1326     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1327     rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          2);                     CHECK_RC();
    1328     rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     CHECK_RC();
    1329     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1330     rc = CFGMR3InsertInteger(pCfg,  "VRamSize",             vramSize * _1M);        CHECK_RC();
     1300    rc = CFGMR3InsertNode(pDevices, "vga", &pDev);                                  UPDATE_RC();
     1301    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1302    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1303    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          2);                     UPDATE_RC();
     1304    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     UPDATE_RC();
     1305    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1306    rc = CFGMR3InsertInteger(pCfg,  "VRamSize",             g_u32VRamSizeMB * _1M); UPDATE_RC();
    13311307
    13321308#ifdef __L4ENV__
    13331309    /* XXX hard-coded */
    1334     rc = CFGMR3InsertInteger(pCfg,  "HeightReduction", 18);                         CHECK_RC();
    1335     rc = CFGMR3InsertInteger(pCfg,  "CustomVideoModes", 1);                         CHECK_RC();
     1310    rc = CFGMR3InsertInteger(pCfg,  "HeightReduction", 18);                         UPDATE_RC();
     1311    rc = CFGMR3InsertInteger(pCfg,  "CustomVideoModes", 1);                         UPDATE_RC();
    13361312    char szBuf[64];
    13371313    /* Tell the guest which is the ideal video mode to use */
     
    13401316                gFramebuffer->getHostYres(),
    13411317                gFramebuffer->getHostBitsPerPixel());
    1342     rc = CFGMR3InsertString(pCfg,   "CustomVideoMode1", szBuf);                     CHECK_RC();
    1343 #endif
    1344 
    1345     rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              CHECK_RC();
    1346     rc = CFGMR3InsertString(pLunL0, "Driver",               "MainDisplay");         CHECK_RC();
    1347     rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               CHECK_RC();
    1348     rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gDisplay);             CHECK_RC();
     1318    rc = CFGMR3InsertString(pCfg,   "CustomVideoMode1", szBuf);                     UPDATE_RC();
     1319#endif
     1320
     1321    rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              UPDATE_RC();
     1322    rc = CFGMR3InsertString(pLunL0, "Driver",               "MainDisplay");         UPDATE_RC();
     1323    rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               UPDATE_RC();
     1324    rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gDisplay);             UPDATE_RC();
    13491325
    13501326    /*
    13511327     * IDE (update this when the main interface changes)
    13521328     */
    1353     rc = CFGMR3InsertNode(pDevices, "piix3ide", &pDev); /* piix3 */                 CHECK_RC();
    1354     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1355     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1356     rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          1);                     CHECK_RC();
    1357     rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        1);                     CHECK_RC();
    1358     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1359 
    1360     if (hdaFile)
    1361     {
    1362         rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          CHECK_RC();
    1363         rc = CFGMR3InsertString(pLunL0, "Driver",              "Block");            CHECK_RC();
    1364         rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           CHECK_RC();
    1365         rc = CFGMR3InsertString(pCfg,   "Type",                "HardDisk");         CHECK_RC();
    1366         rc = CFGMR3InsertInteger(pCfg,  "Mountable",            0);                 CHECK_RC();
    1367 
    1368         rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 CHECK_RC();
    1369         rc = CFGMR3InsertString(pLunL1, "Driver",              "VBoxHDD");          CHECK_RC();
    1370         rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           CHECK_RC();
    1371         rc = CFGMR3InsertString(pCfg,   "Path",                 hdaFile);           CHECK_RC();
    1372     }
    1373 
    1374     if (cdromFile)
     1329    rc = CFGMR3InsertNode(pDevices, "piix3ide", &pDev); /* piix3 */                 UPDATE_RC();
     1330    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1331    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1332    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          1);                     UPDATE_RC();
     1333    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        1);                     UPDATE_RC();
     1334    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1335
     1336    if (g_pszHdaFile)
     1337    {
     1338        rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          UPDATE_RC();
     1339        rc = CFGMR3InsertString(pLunL0, "Driver",              "Block");            UPDATE_RC();
     1340        rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           UPDATE_RC();
     1341        rc = CFGMR3InsertString(pCfg,   "Type",                "HardDisk");         UPDATE_RC();
     1342        rc = CFGMR3InsertInteger(pCfg,  "Mountable",            0);                 UPDATE_RC();
     1343
     1344        rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 UPDATE_RC();
     1345        rc = CFGMR3InsertString(pLunL1, "Driver",              "VBoxHDD");          UPDATE_RC();
     1346        rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           UPDATE_RC();
     1347        rc = CFGMR3InsertString(pCfg,   "Path",                 g_pszHdaFile);      UPDATE_RC();
     1348    }
     1349
     1350    if (g_pszCdromFile)
    13751351    {
    13761352        // ASSUME: DVD drive is always attached to LUN#2 (i.e. secondary IDE master)
    1377         rc = CFGMR3InsertNode(pInst,    "LUN#2", &pLunL0);                          CHECK_RC();
    1378         rc = CFGMR3InsertString(pLunL0, "Driver",               "Block");           CHECK_RC();
    1379         rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           CHECK_RC();
    1380         rc = CFGMR3InsertString(pCfg,   "Type",                 "DVD");             CHECK_RC();
    1381         rc = CFGMR3InsertInteger(pCfg,  "Mountable",            1);                 CHECK_RC();
    1382 
    1383         rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 CHECK_RC();
    1384         rc = CFGMR3InsertString(pLunL1, "Driver",          "MediaISO");             CHECK_RC();
    1385         rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           CHECK_RC();
    1386         rc = CFGMR3InsertString(pCfg,   "Path",             cdromFile);             CHECK_RC();
     1353        rc = CFGMR3InsertNode(pInst,    "LUN#2", &pLunL0);                          UPDATE_RC();
     1354        rc = CFGMR3InsertString(pLunL0, "Driver",               "Block");           UPDATE_RC();
     1355        rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           UPDATE_RC();
     1356        rc = CFGMR3InsertString(pCfg,   "Type",                 "DVD");             UPDATE_RC();
     1357        rc = CFGMR3InsertInteger(pCfg,  "Mountable",            1);                 UPDATE_RC();
     1358
     1359        rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);                 UPDATE_RC();
     1360        rc = CFGMR3InsertString(pLunL1, "Driver",          "MediaISO");             UPDATE_RC();
     1361        rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                           UPDATE_RC();
     1362        rc = CFGMR3InsertString(pCfg,   "Path",             g_pszCdromFile);        UPDATE_RC();
    13871363    }
    13881364
     
    13901366     * Network adapters
    13911367     */
    1392     rc = CFGMR3InsertNode(pDevices, "pcnet", &pDev);                                CHECK_RC();
     1368    rc = CFGMR3InsertNode(pDevices, "pcnet", &pDev);                                UPDATE_RC();
    13931369    for (ULONG ulInstance = 0; ulInstance < NetworkAdapterCount; ulInstance++)
    13941370    {
     
    13971373            char szInstance[4];
    13981374            RTStrPrintf(szInstance, sizeof(szInstance), "%lu", ulInstance);
    1399             rc = CFGMR3InsertNode(pDev, szInstance, &pInst);                        CHECK_RC();
    1400             rc = CFGMR3InsertInteger(pInst, "Trusted", 1);                          CHECK_RC();
     1375            rc = CFGMR3InsertNode(pDev, szInstance, &pInst);                        UPDATE_RC();
     1376            rc = CFGMR3InsertInteger(pInst, "Trusted", 1);                          UPDATE_RC();
    14011377            rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",
    1402                                             !ulInstance ? 3 : ulInstance - 1 + 8);  CHECK_RC();
    1403             rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo", 0);                    CHECK_RC();
    1404             rc = CFGMR3InsertNode(pInst, "Config", &pCfg);                          CHECK_RC();
     1378                                            !ulInstance ? 3 : ulInstance - 1 + 8);  UPDATE_RC();
     1379            rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo", 0);                    UPDATE_RC();
     1380            rc = CFGMR3InsertNode(pInst, "Config", &pCfg);                          UPDATE_RC();
    14051381            rc = CFGMR3InsertBytes(pCfg, "MAC", &g_aNetDevs[ulInstance].Mac, sizeof(PDMMAC));
    1406                                                                                     CHECK_RC();
     1382                                                                                    UPDATE_RC();
    14071383
    14081384            /*
     
    14121388            {
    14131389                /* insert the sniffer filter driver. */
    1414                 rc = CFGMR3InsertNode(pInst, "LUN#0", &pLunL0);                     CHECK_RC();
    1415                 rc = CFGMR3InsertString(pLunL0, "Driver", "NetSniffer");            CHECK_RC();
    1416                 rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     CHECK_RC();
     1390                rc = CFGMR3InsertNode(pInst, "LUN#0", &pLunL0);                     UPDATE_RC();
     1391                rc = CFGMR3InsertString(pLunL0, "Driver", "NetSniffer");            UPDATE_RC();
     1392                rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     UPDATE_RC();
    14171393                if (g_aNetDevs[ulInstance].pszSniff)
    14181394                {
    1419                     rc = CFGMR3InsertString(pCfg, "File", g_aNetDevs[ulInstance].pszSniff);  CHECK_RC();
     1395                    rc = CFGMR3InsertString(pCfg, "File", g_aNetDevs[ulInstance].pszSniff);
     1396                                                                                    UPDATE_RC();
    14201397                }
    14211398            }
     
    14281405                if (g_aNetDevs[ulInstance].fSniff)
    14291406                {
    1430                     rc = CFGMR3InsertNode(pLunL0, "AttachedDriver", &pLunL0);       CHECK_RC();
     1407                    rc = CFGMR3InsertNode(pLunL0, "AttachedDriver", &pLunL0);       UPDATE_RC();
    14311408                }
    14321409                else
    14331410                {
    1434                     rc = CFGMR3InsertNode(pInst, "LUN#0", &pLunL0);                 CHECK_RC();
     1411                    rc = CFGMR3InsertNode(pInst, "LUN#0", &pLunL0);                 UPDATE_RC();
    14351412                }
    1436                 rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     CHECK_RC();
     1413                rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     UPDATE_RC();
    14371414            }
    14381415
     
    14421419            if (g_aNetDevs[ulInstance].enmType == BFENETDEV::NAT)
    14431420            {
    1444                 rc = CFGMR3InsertString(pLunL0, "Driver", "NAT");                   CHECK_RC();
    1445                 rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     CHECK_RC();
     1421                rc = CFGMR3InsertString(pLunL0, "Driver", "NAT");                   UPDATE_RC();
     1422                rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     UPDATE_RC();
    14461423                /* (Port forwarding goes here.) */
    14471424            }
    14481425            else if (g_aNetDevs[ulInstance].enmType == BFENETDEV::HIF)
    14491426            {
    1450                 rc = CFGMR3InsertString(pLunL0, "Driver", "HostInterface");         CHECK_RC();
    1451                 rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     CHECK_RC();
     1427                rc = CFGMR3InsertString(pLunL0, "Driver", "HostInterface");         UPDATE_RC();
     1428                rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);                     UPDATE_RC();
    14521429
    14531430#if defined(__LINUX__)
    14541431                if (g_aNetDevs[ulInstance].fHaveFd)
    14551432                {
    1456                     rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);        CHECK_RC();
    1457                     rc = CFGMR3InsertInteger(pCfg, "FileHandle", g_aNetDevs[ulInstance].fd);        CHECK_RC();
     1433                    rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);
     1434                                                                                    UPDATE_RC();
     1435                    rc = CFGMR3InsertInteger(pCfg, "FileHandle", g_aNetDevs[ulInstance].fd);
     1436                                                                                    UPDATE_RC();
    14581437                }
    14591438                else
     
    15081487                    }
    15091488
    1510                     rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);        CHECK_RC();
    1511                     rc = CFGMR3InsertInteger(pCfg, "FileHandle", (RTFILE)tapFD);                    CHECK_RC();
     1489                    rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);        UPDATE_RC();
     1490                    rc = CFGMR3InsertInteger(pCfg, "FileHandle", (RTFILE)tapFD);                    UPDATE_RC();
    15121491
    15131492#elif defined(__WIN__)
     
    15151494                     * We need the GUID too here...
    15161495                     */
    1517                     rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);            CHECK_RC();
    1518                     rc = CFGMR3InsertString(pCfg, "HostInterfaceName", g_aNetDevs[ulInstance].pszName); CHECK_RC();
    1519                     rc = CFGMR3InsertString(pCfg, "GUID", g_aNetDevs[ulInstance].pszName /*pszGUID*/);  CHECK_RC();
     1496                    rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);            UPDATE_RC();
     1497                    rc = CFGMR3InsertString(pCfg, "HostInterfaceName", g_aNetDevs[ulInstance].pszName); UPDATE_RC();
     1498                    rc = CFGMR3InsertString(pCfg, "GUID", g_aNetDevs[ulInstance].pszName /*pszGUID*/);  UPDATE_RC();
    15201499
    15211500
     
    15311510                 * Internal networking.
    15321511                 */
    1533                 rc = CFGMR3InsertString(pCfg, "Network", g_aNetDevs[ulInstance].pszName); CHECK_RC();
     1512                rc = CFGMR3InsertString(pCfg, "Network", g_aNetDevs[ulInstance].pszName); UPDATE_RC();
    15341513            }
    15351514        }
     
    15391518     * VMM Device
    15401519     */
    1541     rc = CFGMR3InsertNode(pDevices, "VMMDev", &pDev);                               CHECK_RC();
    1542     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   CHECK_RC();
    1543     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               CHECK_RC();
    1544     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   CHECK_RC();
    1545     rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          4);                     CHECK_RC();
    1546     rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     CHECK_RC();
     1520    rc = CFGMR3InsertNode(pDevices, "VMMDev", &pDev);                               UPDATE_RC();
     1521    rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   UPDATE_RC();
     1522    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               UPDATE_RC();
     1523    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   UPDATE_RC();
     1524    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          4);                     UPDATE_RC();
     1525    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     UPDATE_RC();
    15471526
    15481527    /* the VMM device's Main driver */
    1549     rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              CHECK_RC();
    1550     rc = CFGMR3InsertString(pLunL0, "Driver",               "MainVMMDev");          CHECK_RC();
    1551     rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               CHECK_RC();
    1552     rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gVMMDev);              CHECK_RC();
     1528    rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                              UPDATE_RC();
     1529    rc = CFGMR3InsertString(pLunL0, "Driver",               "MainVMMDev");          UPDATE_RC();
     1530    rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                               UPDATE_RC();
     1531    rc = CFGMR3InsertInteger(pCfg,  "Object",     (uintptr_t)gVMMDev);              UPDATE_RC();
    15531532
    15541533    /*
     
    15591538        rc = CFGMR3InsertNode(pDevices, "ichac97", &pDev);
    15601539        rc = CFGMR3InsertNode(pDev,     "0", &pInst);
    1561         rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   CHECK_RC();
    1562         rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",      5);                     CHECK_RC();
    1563         rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",    0);                     CHECK_RC();
     1540        rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   UPDATE_RC();
     1541        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",      5);                     UPDATE_RC();
     1542        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",    0);                     UPDATE_RC();
    15641543        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);
    15651544
    15661545        /* the Audio driver */
    1567         rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          CHECK_RC();
    1568         rc = CFGMR3InsertString(pLunL0, "Driver",               "AUDIO");           CHECK_RC();
    1569         rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           CHECK_RC();
     1546        rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          UPDATE_RC();
     1547        rc = CFGMR3InsertString(pLunL0, "Driver",               "AUDIO");           UPDATE_RC();
     1548        rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           UPDATE_RC();
    15701549#ifdef __WIN__
    1571         rc = CFGMR3InsertString(pCfg, "AudioDriver", "winmm");                      CHECK_RC();
     1550        rc = CFGMR3InsertString(pCfg, "AudioDriver", "winmm");                      UPDATE_RC();
    15721551#elif defined(__DARWIN__)
    1573         rc = CFGMR3InsertString(pCfg, "AudioDriver", "coreaudio");                  CHECK_RC();
     1552        rc = CFGMR3InsertString(pCfg, "AudioDriver", "coreaudio");                  UPDATE_RC();
    15741553#elif defined(__LINUX__)
    1575         rc = CFGMR3InsertString(pCfg, "AudioDriver", "oss");                        CHECK_RC();
     1554        rc = CFGMR3InsertString(pCfg, "AudioDriver", "oss");                        UPDATE_RC();
    15761555#else /* portme */
    1577         rc = CFGMR3InsertString(pCfg, "AudioDriver", "none");                       CHECK_RC();
     1556        rc = CFGMR3InsertString(pCfg, "AudioDriver", "none");                       UPDATE_RC();
    15781557#endif /* !__WIN__ */
    15791558    }
     
    15851564    if (g_fUSB)
    15861565    {
    1587         rc = CFGMR3InsertNode(pDevices, "usb-ohci", &pDev);                         CHECK_RC();
    1588         rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               CHECK_RC();
    1589         rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           CHECK_RC();
    1590         rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   CHECK_RC();
    1591         rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",      6);                     CHECK_RC();
    1592         rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",    0);                     CHECK_RC();
    1593 
    1594         rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          CHECK_RC();
    1595         rc = CFGMR3InsertString(pLunL0, "Driver",               "VUSBRootHub");     CHECK_RC();
    1596         rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           CHECK_RC();
     1566        rc = CFGMR3InsertNode(pDevices, "usb-ohci", &pDev);                         UPDATE_RC();
     1567        rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               UPDATE_RC();
     1568        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           UPDATE_RC();
     1569        rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   UPDATE_RC();
     1570        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",      6);                     UPDATE_RC();
     1571        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",    0);                     UPDATE_RC();
     1572
     1573        rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          UPDATE_RC();
     1574        rc = CFGMR3InsertString(pLunL0, "Driver",               "VUSBRootHub");     UPDATE_RC();
     1575        rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           UPDATE_RC();
    15971576    }
    15981577#endif /* VBOXBFE_WITH_USB */
    15991578
    1600 #undef UPDATERC
    1601 #undef CHECK_RC
     1579#undef UPDATE_RC
     1580#undef UPDATE_RC
    16021581
    16031582    return rc;
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