This commit is contained in:
Charles Betros 2020-10-19 13:41:49 -05:00
parent f3dbded749
commit a28e982d9f
7 changed files with 182 additions and 150 deletions

View file

@ -54,15 +54,15 @@ namespace Cosmos.TestRunner.Core
case RunTargetEnum.Bochs:
RunTask("RunISO", () => RunIsoInBochs(xIsoFile, xHarddiskPath, workingDirectory));
break;
case RunTargetEnum.Qemu:
RunTask("RunISO", () => RunIsoInQemu(xIsoFile, xHarddiskPath, workingDirectory));
break;
case RunTargetEnum.VMware:
RunTask("RunISO", () => RunIsoInVMware(xIsoFile, xHarddiskPath));
break;
case RunTargetEnum.HyperV:
RunTask("RunISO", () => RunIsoInHyperV(xIsoFile, xHarddiskPath));
break;
case RunTargetEnum.Qemu:
RunTask("RunISO", () => RunIsoInQemu(xIsoFile, xHarddiskPath, workingDirectory));
break;
default:
throw new ArgumentOutOfRangeException("RunTarget " + configuration.RunTarget + " not implemented!");
}

View file

@ -35,9 +35,9 @@ namespace Cosmos.Debug.Hosts
_harddiskFile = aHarddisk;
}
if (aParams.ContainsKey(BuildPropertyNames.IsoFileString))
if (aParams.ContainsKey("ISOFile"))
{
_isoFile = aParams[BuildPropertyNames.IsoFileString];
_isoFile = aParams["IOSFile"];
}
_debugPortString = "Cosmos\\Serial";

View file

@ -281,7 +281,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl
private void CreateDebugConnector()
{
mDbgConnector = null;
mDebugInfo.TryGetValue(BuildPropertyNames.VisualStudioDebugPortString, out var xPort);
// using (var xDebug = new StreamWriter(@"e:\debug.info", false))
@ -557,12 +557,6 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl
//((Host.Bochs)mHost).FixBochsConfiguration(new KeyValuePair<string, string>[] { new KeyValuePair<string, string>("IsoFileName", mISO) });
break;
case LaunchType.IntelEdison:
mHost = new IntelEdison(mDebugInfo, false);
break;
case LaunchType.HyperV:
mHost = new HyperV(mDebugInfo, false);
break;
case LaunchType.Qemu:
if (!QemuSupport.QemuEnabled)
{
@ -570,6 +564,12 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl
}
mHost = new Qemu(mDebugInfo, xUseGDB);
break;
case LaunchType.IntelEdison:
mHost = new IntelEdison(mDebugInfo, false);
break;
case LaunchType.HyperV:
mHost = new HyperV(mDebugInfo, false);
break;
default:
throw new Exception("Invalid Launch value: '" + mLaunch + "'.");
}

View file

@ -28,6 +28,7 @@
<EnumValue Name="VMware" DisplayName="VMware" />
<EnumValue Name="Slave" DisplayName="Attached Slave (CanaKit)" />
<EnumValue Name="Bochs" DisplayName="Bochs" />
<EnumValue Name="Qemu" DisplayName="Qemu" />
<EnumValue Name="IntelEdison" DisplayName="Intel Edison" />
<EnumValue Name="HyperV" DisplayName="Hyper-V" />
</EnumProperty>

View file

@ -82,6 +82,7 @@
this.tabBochs = new System.Windows.Forms.TabPage();
this.checkStartBochsDebugGui = new System.Windows.Forms.CheckBox();
this.checkEnableBochsDebug = new System.Windows.Forms.CheckBox();
this.tabQemu = new System.Windows.Forms.TabPage();
this.tabPXE = new System.Windows.Forms.TabPage();
this.butnPxeRefresh = new System.Windows.Forms.Button();
this.comboPxeInterface = new System.Windows.Forms.ComboBox();
@ -111,14 +112,15 @@
this.tabLaunch.SuspendLayout();
this.tabVMware.SuspendLayout();
this.tabBochs.SuspendLayout();
this.tabQemu.SuspendLayout();
this.tabPXE.SuspendLayout();
this.tabUSB.SuspendLayout();
this.tabISO.SuspendLayout();
this.tabSlave.SuspendLayout();
this.SuspendLayout();
//
//
// panel1
//
//
this.panel1.Controls.Add(this.lablCurrentProfile);
this.panel1.Controls.Add(this.label11);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
@ -126,27 +128,27 @@
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(635, 43);
this.panel1.TabIndex = 3;
//
//
// lablCurrentProfile
//
//
this.lablCurrentProfile.AutoSize = true;
this.lablCurrentProfile.Location = new System.Drawing.Point(99, 17);
this.lablCurrentProfile.Name = "lablCurrentProfile";
this.lablCurrentProfile.Size = new System.Drawing.Size(41, 13);
this.lablCurrentProfile.TabIndex = 1;
this.lablCurrentProfile.Text = "label12";
//
//
// label11
//
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(17, 17);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(76, 13);
this.label11.TabIndex = 0;
this.label11.Text = "Current Profile:";
//
//
// TabControl1
//
//
this.TabControl1.Controls.Add(this.tabProfile);
this.TabControl1.Controls.Add(this.tabCompile);
this.TabControl1.Controls.Add(this.tabAssembler);
@ -156,6 +158,7 @@
this.TabControl1.Controls.Add(this.tabVMware);
this.TabControl1.Controls.Add(this.tabHyperV);
this.TabControl1.Controls.Add(this.tabBochs);
this.TabControl1.Controls.Add(this.tabQemu);
this.TabControl1.Controls.Add(this.tabPXE);
this.TabControl1.Controls.Add(this.tabUSB);
this.TabControl1.Controls.Add(this.tabISO);
@ -167,9 +170,9 @@
this.TabControl1.SelectedIndex = 0;
this.TabControl1.Size = new System.Drawing.Size(635, 512);
this.TabControl1.TabIndex = 1;
//
//
// tabProfile
//
//
this.tabProfile.Controls.Add(this.lablPreset);
this.tabProfile.Controls.Add(this.panel2);
this.tabProfile.Controls.Add(this.lablDeployText);
@ -181,9 +184,9 @@
this.tabProfile.TabIndex = 8;
this.tabProfile.Text = "Profile";
this.tabProfile.UseVisualStyleBackColor = true;
//
//
// lablPreset
//
//
this.lablPreset.AutoSize = true;
this.lablPreset.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lablPreset.ForeColor = System.Drawing.SystemColors.HotTrack;
@ -192,9 +195,9 @@
this.lablPreset.Size = new System.Drawing.Size(247, 13);
this.lablPreset.TabIndex = 7;
this.lablPreset.Text = "** This is a preset. Some options are restricted.";
//
//
// panel2
//
//
this.panel2.Controls.Add(this.lboxProfile);
this.panel2.Controls.Add(this.toolStrip1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Left;
@ -202,9 +205,9 @@
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(200, 480);
this.panel2.TabIndex = 6;
//
//
// lboxProfile
//
//
this.lboxProfile.Dock = System.Windows.Forms.DockStyle.Fill;
this.lboxProfile.FormattingEnabled = true;
this.lboxProfile.Location = new System.Drawing.Point(0, 27);
@ -212,9 +215,9 @@
this.lboxProfile.Size = new System.Drawing.Size(200, 453);
this.lboxProfile.Sorted = true;
this.lboxProfile.TabIndex = 3;
//
//
// toolStrip1
//
//
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.butnProfileClone,
@ -225,9 +228,9 @@
this.toolStrip1.Size = new System.Drawing.Size(200, 27);
this.toolStrip1.TabIndex = 2;
this.toolStrip1.Text = "toolStrip1";
//
//
// butnProfileClone
//
//
this.butnProfileClone.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.butnProfileClone.Image = ((System.Drawing.Image)(resources.GetObject("butnProfileClone.Image")));
this.butnProfileClone.ImageTransparentColor = System.Drawing.Color.Magenta;
@ -235,9 +238,9 @@
this.butnProfileClone.Size = new System.Drawing.Size(24, 24);
this.butnProfileClone.Text = "Clone";
this.butnProfileClone.ToolTipText = "Create a new profile from an existing one.";
//
//
// butnProfileDelete
//
//
this.butnProfileDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.butnProfileDelete.Image = ((System.Drawing.Image)(resources.GetObject("butnProfileDelete.Image")));
this.butnProfileDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
@ -245,9 +248,9 @@
this.butnProfileDelete.Size = new System.Drawing.Size(24, 24);
this.butnProfileDelete.Text = "Delete";
this.butnProfileDelete.ToolTipText = "Delete selected profile";
//
//
// butnProfileRename
//
//
this.butnProfileRename.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.butnProfileRename.Image = ((System.Drawing.Image)(resources.GetObject("butnProfileRename.Image")));
this.butnProfileRename.ImageTransparentColor = System.Drawing.Color.Magenta;
@ -255,17 +258,17 @@
this.butnProfileRename.Size = new System.Drawing.Size(24, 24);
this.butnProfileRename.Text = "Rename";
this.butnProfileRename.ToolTipText = "Rename selected profile.";
//
//
// lablDeployText
//
//
this.lablDeployText.Location = new System.Drawing.Point(217, 44);
this.lablDeployText.Name = "lablDeployText";
this.lablDeployText.Size = new System.Drawing.Size(228, 137);
this.lablDeployText.TabIndex = 4;
this.lablDeployText.Text = "label1";
//
//
// lablBuildOnly
//
//
this.lablBuildOnly.AutoSize = true;
this.lablBuildOnly.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lablBuildOnly.ForeColor = System.Drawing.SystemColors.HotTrack;
@ -274,9 +277,9 @@
this.lablBuildOnly.Size = new System.Drawing.Size(310, 13);
this.lablBuildOnly.TabIndex = 3;
this.lablBuildOnly.Text = "** This is a build only option. No process will be launched.";
//
//
// tabCompile
//
//
this.tabCompile.AutoScroll = true;
this.tabCompile.Controls.Add(this.labelBinFormat);
this.tabCompile.Controls.Add(this.comboBinFormat);
@ -290,10 +293,10 @@
this.tabCompile.TabIndex = 0;
this.tabCompile.Text = "Compile";
this.tabCompile.UseVisualStyleBackColor = true;
//
//
// labelBinFormat
//
this.labelBinFormat.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
//
this.labelBinFormat.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.labelBinFormat.AutoSize = true;
this.labelBinFormat.Enabled = false;
@ -305,18 +308,18 @@
this.labelBinFormat.TabIndex = 23;
this.labelBinFormat.Text = "Bin format:";
this.labelBinFormat.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
//
// comboBinFormat
//
//
this.comboBinFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBinFormat.FormattingEnabled = true;
this.comboBinFormat.Location = new System.Drawing.Point(34, 136);
this.comboBinFormat.Name = "comboBinFormat";
this.comboBinFormat.Size = new System.Drawing.Size(228, 21);
this.comboBinFormat.TabIndex = 22;
//
//
// comboFramework
//
//
this.comboFramework.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboFramework.Enabled = false;
this.comboFramework.FormattingEnabled = true;
@ -324,10 +327,10 @@
this.comboFramework.Name = "comboFramework";
this.comboFramework.Size = new System.Drawing.Size(228, 21);
this.comboFramework.TabIndex = 5;
//
//
// labelFramework
//
this.labelFramework.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
//
this.labelFramework.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.labelFramework.AutoSize = true;
this.labelFramework.Enabled = false;
@ -339,9 +342,9 @@
this.labelFramework.TabIndex = 21;
this.labelFramework.Text = "Framework:";
this.labelFramework.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
//
// tabAssembler
//
//
this.tabAssembler.Controls.Add(this.checkUseInternalAssembler);
this.tabAssembler.Controls.Add(this.labelInternalAssembler);
this.tabAssembler.Location = new System.Drawing.Point(4, 22);
@ -350,10 +353,10 @@
this.tabAssembler.TabIndex = 10;
this.tabAssembler.Text = "Assembler";
this.tabAssembler.UseVisualStyleBackColor = true;
//
//
// checkUseInternalAssembler
//
this.checkUseInternalAssembler.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
//
this.checkUseInternalAssembler.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.checkUseInternalAssembler.AutoSize = true;
this.checkUseInternalAssembler.Enabled = false;
@ -365,9 +368,9 @@
this.checkUseInternalAssembler.TabIndex = 6;
this.checkUseInternalAssembler.Text = "Use Internal Assembler";
this.checkUseInternalAssembler.UseVisualStyleBackColor = true;
//
//
// labelInternalAssembler
//
//
this.labelInternalAssembler.Enabled = false;
this.labelInternalAssembler.Location = new System.Drawing.Point(40, 32);
this.labelInternalAssembler.Margin = new System.Windows.Forms.Padding(44, 0, 3, 0);
@ -375,9 +378,9 @@
this.labelInternalAssembler.Size = new System.Drawing.Size(224, 18);
this.labelInternalAssembler.TabIndex = 20;
this.labelInternalAssembler.Text = "Experimental. Check if you like to crash!";
//
//
// tabDebug
//
//
this.tabDebug.AutoScroll = true;
this.tabDebug.Controls.Add(this.chckEnableDebugStub);
this.tabDebug.Controls.Add(this.panlDebugSettings);
@ -388,9 +391,9 @@
this.tabDebug.TabIndex = 2;
this.tabDebug.Text = "Debug";
this.tabDebug.UseVisualStyleBackColor = true;
//
//
// chckEnableDebugStub
//
//
this.chckEnableDebugStub.AutoSize = true;
this.chckEnableDebugStub.Location = new System.Drawing.Point(14, 6);
this.chckEnableDebugStub.Name = "chckEnableDebugStub";
@ -398,9 +401,9 @@
this.chckEnableDebugStub.TabIndex = 7;
this.chckEnableDebugStub.Text = "Enable Remote Debugging";
this.chckEnableDebugStub.UseVisualStyleBackColor = true;
//
//
// panlDebugSettings
//
//
this.panlDebugSettings.Controls.Add(this.stackCorruptionDetectionGroupBox);
this.panlDebugSettings.Controls.Add(this.debugLevelGroupBox);
this.panlDebugSettings.Controls.Add(this.debugStubGroupBox);
@ -408,9 +411,9 @@
this.panlDebugSettings.Name = "panlDebugSettings";
this.panlDebugSettings.Size = new System.Drawing.Size(280, 400);
this.panlDebugSettings.TabIndex = 33;
//
//
// stackCorruptionDetectionGroupBox
//
//
this.stackCorruptionDetectionGroupBox.Controls.Add(this.label12);
this.stackCorruptionDetectionGroupBox.Controls.Add(this.comboStackCorruptionDetectionLevel);
this.stackCorruptionDetectionGroupBox.Controls.Add(this.chkEnableStackCorruptionDetection);
@ -419,18 +422,18 @@
this.stackCorruptionDetectionGroupBox.Size = new System.Drawing.Size(260, 90);
this.stackCorruptionDetectionGroupBox.TabIndex = 34;
this.stackCorruptionDetectionGroupBox.TabStop = false;
//
//
// label12
//
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(3, 42);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(85, 13);
this.label12.TabIndex = 30;
this.label12.Text = "Detection Level:";
//
//
// comboStackCorruptionDetectionLevel
//
//
this.comboStackCorruptionDetectionLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboStackCorruptionDetectionLevel.FormattingEnabled = true;
this.comboStackCorruptionDetectionLevel.Location = new System.Drawing.Point(33, 58);
@ -438,9 +441,9 @@
this.comboStackCorruptionDetectionLevel.Size = new System.Drawing.Size(220, 21);
this.comboStackCorruptionDetectionLevel.TabIndex = 9;
this.comboStackCorruptionDetectionLevel.SelectedIndexChanged += new System.EventHandler(this.stackCorruptionDetectionLevelComboBox_SelectedIndexChanged);
//
//
// chkEnableStackCorruptionDetection
//
//
this.chkEnableStackCorruptionDetection.AutoSize = true;
this.chkEnableStackCorruptionDetection.Location = new System.Drawing.Point(6, 19);
this.chkEnableStackCorruptionDetection.Name = "chkEnableStackCorruptionDetection";
@ -449,9 +452,9 @@
this.chkEnableStackCorruptionDetection.Text = "Enable Stack Corruption Detection";
this.chkEnableStackCorruptionDetection.UseVisualStyleBackColor = true;
this.chkEnableStackCorruptionDetection.CheckedChanged += new System.EventHandler(this.chkEnableStacckCorruptionDetection_CheckedChanged);
//
//
// debugLevelGroupBox
//
//
this.debugLevelGroupBox.Controls.Add(this.comboTraceMode);
this.debugLevelGroupBox.Controls.Add(this.label5);
this.debugLevelGroupBox.Controls.Add(this.label4);
@ -461,18 +464,18 @@
this.debugLevelGroupBox.Size = new System.Drawing.Size(260, 125);
this.debugLevelGroupBox.TabIndex = 34;
this.debugLevelGroupBox.TabStop = false;
//
//
// comboTraceMode
//
//
this.comboTraceMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboTraceMode.FormattingEnabled = true;
this.comboTraceMode.Location = new System.Drawing.Point(34, 94);
this.comboTraceMode.Name = "comboTraceMode";
this.comboTraceMode.Size = new System.Drawing.Size(220, 21);
this.comboTraceMode.TabIndex = 10;
//
//
// label5
//
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(3, 73);
@ -482,9 +485,9 @@
this.label5.TabIndex = 26;
this.label5.Text = "Tracing:";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
//
// label4
//
//
this.label4.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.Location = new System.Drawing.Point(3, 19);
this.label4.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
@ -493,18 +496,18 @@
this.label4.TabIndex = 24;
this.label4.Text = "Debug Level:";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
//
// comboDebugMode
//
//
this.comboDebugMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboDebugMode.FormattingEnabled = true;
this.comboDebugMode.Location = new System.Drawing.Point(34, 46);
this.comboDebugMode.Name = "comboDebugMode";
this.comboDebugMode.Size = new System.Drawing.Size(220, 21);
this.comboDebugMode.TabIndex = 9;
//
//
// debugStubGroupBox
//
//
this.debugStubGroupBox.Controls.Add(this.checkIgnoreDebugStubAttribute);
this.debugStubGroupBox.Controls.Add(this.label9);
this.debugStubGroupBox.Controls.Add(this.cmboVisualStudioDebugPort);
@ -515,9 +518,9 @@
this.debugStubGroupBox.Size = new System.Drawing.Size(260, 140);
this.debugStubGroupBox.TabIndex = 31;
this.debugStubGroupBox.TabStop = false;
//
//
// checkIgnoreDebugStubAttribute
//
//
this.checkIgnoreDebugStubAttribute.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkIgnoreDebugStubAttribute.Location = new System.Drawing.Point(6, 19);
this.checkIgnoreDebugStubAttribute.Name = "checkIgnoreDebugStubAttribute";
@ -525,18 +528,18 @@
this.checkIgnoreDebugStubAttribute.TabIndex = 11;
this.checkIgnoreDebugStubAttribute.Text = "Ignore DebugStub Attribute Settings";
this.checkIgnoreDebugStubAttribute.UseVisualStyleBackColor = true;
//
//
// label9
//
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(6, 42);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(69, 13);
this.label9.TabIndex = 29;
this.label9.Text = "Cosmos Port:";
//
//
// cmboVisualStudioDebugPort
//
//
this.cmboVisualStudioDebugPort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmboVisualStudioDebugPort.FormattingEnabled = true;
this.cmboVisualStudioDebugPort.Items.AddRange(new object[] {
@ -550,9 +553,9 @@
this.cmboVisualStudioDebugPort.Size = new System.Drawing.Size(220, 21);
this.cmboVisualStudioDebugPort.Sorted = true;
this.cmboVisualStudioDebugPort.TabIndex = 13;
//
//
// cmboCosmosDebugPort
//
//
this.cmboCosmosDebugPort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmboCosmosDebugPort.FormattingEnabled = true;
this.cmboCosmosDebugPort.Items.AddRange(new object[] {
@ -566,18 +569,18 @@
this.cmboCosmosDebugPort.Size = new System.Drawing.Size(220, 21);
this.cmboCosmosDebugPort.Sorted = true;
this.cmboCosmosDebugPort.TabIndex = 12;
//
//
// label10
//
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(6, 90);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(93, 13);
this.label10.TabIndex = 30;
this.label10.Text = "Visual Studio Port:";
//
//
// tabDeployment
//
//
this.tabDeployment.Controls.Add(this.lboxDeployment);
this.tabDeployment.Location = new System.Drawing.Point(4, 22);
this.tabDeployment.Name = "tabDeployment";
@ -585,9 +588,9 @@
this.tabDeployment.TabIndex = 11;
this.tabDeployment.Text = "Deployment";
this.tabDeployment.UseVisualStyleBackColor = true;
//
//
// lboxDeployment
//
//
this.lboxDeployment.Dock = System.Windows.Forms.DockStyle.Left;
this.lboxDeployment.FormattingEnabled = true;
this.lboxDeployment.Location = new System.Drawing.Point(0, 0);
@ -595,9 +598,9 @@
this.lboxDeployment.Size = new System.Drawing.Size(206, 486);
this.lboxDeployment.Sorted = true;
this.lboxDeployment.TabIndex = 15;
//
//
// tabLaunch
//
//
this.tabLaunch.Controls.Add(this.lboxLaunch);
this.tabLaunch.Location = new System.Drawing.Point(4, 22);
this.tabLaunch.Name = "tabLaunch";
@ -605,9 +608,9 @@
this.tabLaunch.TabIndex = 12;
this.tabLaunch.Text = "Launch";
this.tabLaunch.UseVisualStyleBackColor = true;
//
//
// lboxLaunch
//
//
this.lboxLaunch.Dock = System.Windows.Forms.DockStyle.Left;
this.lboxLaunch.FormattingEnabled = true;
this.lboxLaunch.Location = new System.Drawing.Point(0, 0);
@ -615,9 +618,9 @@
this.lboxLaunch.Size = new System.Drawing.Size(206, 486);
this.lboxLaunch.Sorted = true;
this.lboxLaunch.TabIndex = 16;
//
//
// tabVMware
//
//
this.tabVMware.Controls.Add(this.checkEnableGDB);
this.tabVMware.Controls.Add(this.checkStartCosmosGDB);
this.tabVMware.Controls.Add(this.label3);
@ -629,9 +632,9 @@
this.tabVMware.TabIndex = 4;
this.tabVMware.Text = "VMware";
this.tabVMware.UseVisualStyleBackColor = true;
//
//
// checkEnableGDB
//
//
this.checkEnableGDB.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkEnableGDB.Location = new System.Drawing.Point(9, 77);
this.checkEnableGDB.Name = "checkEnableGDB";
@ -639,9 +642,9 @@
this.checkEnableGDB.TabIndex = 19;
this.checkEnableGDB.Text = "Enable GDB Debugger";
this.checkEnableGDB.UseVisualStyleBackColor = true;
//
//
// checkStartCosmosGDB
//
//
this.checkStartCosmosGDB.AutoSize = true;
this.checkStartCosmosGDB.Enabled = false;
this.checkStartCosmosGDB.Location = new System.Drawing.Point(24, 103);
@ -651,18 +654,18 @@
this.checkStartCosmosGDB.TabIndex = 20;
this.checkStartCosmosGDB.Text = "Use Cosmos GDB Client";
this.checkStartCosmosGDB.UseVisualStyleBackColor = true;
//
//
// label3
//
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(6, 12);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(42, 13);
this.label3.TabIndex = 18;
this.label3.Text = "Edition:";
//
//
// cmboVMwareEdition
//
//
this.cmboVMwareEdition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmboVMwareEdition.FormattingEnabled = true;
this.cmboVMwareEdition.Location = new System.Drawing.Point(26, 37);
@ -670,9 +673,9 @@
this.cmboVMwareEdition.Size = new System.Drawing.Size(143, 21);
this.cmboVMwareEdition.Sorted = true;
this.cmboVMwareEdition.TabIndex = 18;
//
//
// tabBochs
//
//
this.tabBochs.Controls.Add(this.checkStartBochsDebugGui);
this.tabBochs.Controls.Add(this.checkEnableBochsDebug);
this.tabBochs.Location = new System.Drawing.Point(4, 22);
@ -682,9 +685,9 @@
this.tabBochs.TabIndex = 5;
this.tabBochs.Text = "Bochs";
this.tabBochs.UseVisualStyleBackColor = true;
//
//
// checkStartBochsDebugGui
//
//
this.checkStartBochsDebugGui.Enabled = false;
this.checkStartBochsDebugGui.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkStartBochsDebugGui.Location = new System.Drawing.Point(24, 43);
@ -693,9 +696,9 @@
this.checkStartBochsDebugGui.TabIndex = 35;
this.checkStartBochsDebugGui.Text = "Use Bochs Debugger GUI";
this.checkStartBochsDebugGui.UseVisualStyleBackColor = true;
//
//
// checkEnableBochsDebug
//
//
this.checkEnableBochsDebug.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkEnableBochsDebug.Location = new System.Drawing.Point(9, 17);
this.checkEnableBochsDebug.Name = "checkEnableBochsDebug";
@ -703,9 +706,19 @@
this.checkEnableBochsDebug.TabIndex = 21;
this.checkEnableBochsDebug.Text = "Enable Bochs Debugger";
this.checkEnableBochsDebug.UseVisualStyleBackColor = true;
//
//
// tabQemu
//
this.tabQemu.Location = new System.Drawing.Point(4, 22);
this.tabQemu.Name = "tabQemu";
this.tabQemu.Padding = new System.Windows.Forms.Padding(3);
this.tabQemu.Size = new System.Drawing.Size(627, 486);
this.tabQemu.TabIndex = 5;
this.tabQemu.Text = "Qemu";
this.tabQemu.UseVisualStyleBackColor = true;
//
// tabPXE
//
//
this.tabPXE.Controls.Add(this.butnPxeRefresh);
this.tabPXE.Controls.Add(this.comboPxeInterface);
this.tabPXE.Controls.Add(this.label1);
@ -716,9 +729,9 @@
this.tabPXE.TabIndex = 6;
this.tabPXE.Text = "PXE";
this.tabPXE.UseVisualStyleBackColor = true;
//
//
// butnPxeRefresh
//
//
this.butnPxeRefresh.AutoSize = true;
this.butnPxeRefresh.Image = ((System.Drawing.Image)(resources.GetObject("butnPxeRefresh.Image")));
this.butnPxeRefresh.Location = new System.Drawing.Point(177, 31);
@ -727,25 +740,25 @@
this.butnPxeRefresh.Size = new System.Drawing.Size(23, 23);
this.butnPxeRefresh.TabIndex = 23;
this.butnPxeRefresh.UseVisualStyleBackColor = true;
//
//
// comboPxeInterface
//
//
this.comboPxeInterface.Location = new System.Drawing.Point(28, 32);
this.comboPxeInterface.Name = "comboPxeInterface";
this.comboPxeInterface.Size = new System.Drawing.Size(146, 21);
this.comboPxeInterface.TabIndex = 22;
//
//
// label1
//
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(13, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(52, 13);
this.label1.TabIndex = 0;
this.label1.Text = "Interface:";
//
//
// tabUSB
//
//
this.tabUSB.Controls.Add(this.label7);
this.tabUSB.Location = new System.Drawing.Point(4, 22);
this.tabUSB.Name = "tabUSB";
@ -754,18 +767,18 @@
this.tabUSB.TabIndex = 7;
this.tabUSB.Text = "USB";
this.tabUSB.UseVisualStyleBackColor = true;
//
//
// label7
//
//
this.label7.Location = new System.Drawing.Point(16, 15);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(375, 102);
this.label7.TabIndex = 1;
this.label7.Text = "There are no current USB options. The target drive will be requested when you run" +
" the project.";
//
//
// tabISO
//
//
this.tabISO.Controls.Add(this.label8);
this.tabISO.Location = new System.Drawing.Point(4, 22);
this.tabISO.Name = "tabISO";
@ -774,17 +787,17 @@
this.tabISO.TabIndex = 8;
this.tabISO.Text = "ISO";
this.tabISO.UseVisualStyleBackColor = true;
//
//
// label8
//
//
this.label8.Location = new System.Drawing.Point(17, 16);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(375, 102);
this.label8.TabIndex = 1;
this.label8.Text = "There are currently no ISO options.";
//
//
// tabSlave
//
//
this.tabSlave.Controls.Add(this.cmboSlavePort);
this.tabSlave.Controls.Add(this.label6);
this.tabSlave.Location = new System.Drawing.Point(4, 22);
@ -794,9 +807,9 @@
this.tabSlave.TabIndex = 13;
this.tabSlave.Text = "Slave";
this.tabSlave.UseVisualStyleBackColor = true;
//
//
// cmboSlavePort
//
//
this.cmboSlavePort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmboSlavePort.FormattingEnabled = true;
this.cmboSlavePort.Items.AddRange(new object[] {
@ -810,18 +823,18 @@
this.cmboSlavePort.Size = new System.Drawing.Size(146, 21);
this.cmboSlavePort.Sorted = true;
this.cmboSlavePort.TabIndex = 23;
//
//
// label6
//
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(15, 15);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(59, 13);
this.label6.TabIndex = 34;
this.label6.Text = "Slave Port:";
//
//
// tabHyperV
//
//
this.tabHyperV.Location = new System.Drawing.Point(4, 22);
this.tabHyperV.Name = "tabHyperV";
this.tabHyperV.Padding = new System.Windows.Forms.Padding(3);
@ -829,9 +842,9 @@
this.tabHyperV.TabIndex = 14;
this.tabHyperV.Text = "Hyper-V";
this.tabHyperV.UseVisualStyleBackColor = true;
//
//
// CosmosPage
//
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.TabControl1);
@ -865,6 +878,7 @@
this.tabVMware.ResumeLayout(false);
this.tabVMware.PerformLayout();
this.tabBochs.ResumeLayout(false);
this.tabQemu.ResumeLayout(false);
this.tabPXE.ResumeLayout(false);
this.tabPXE.PerformLayout();
this.tabUSB.ResumeLayout(false);
@ -909,6 +923,7 @@
private System.Windows.Forms.CheckBox checkIgnoreDebugStubAttribute;
private System.Windows.Forms.TabPage tabBochs;
private System.Windows.Forms.CheckBox checkEnableBochsDebug;
private System.Windows.Forms.TabPage tabQemu;
private System.Windows.Forms.TabPage tabVMware;
private System.Windows.Forms.CheckBox checkEnableGDB;
private System.Windows.Forms.CheckBox checkStartCosmosGDB;

View file

@ -36,6 +36,7 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
protected int mHyperVDebugPipe;
protected bool mShowTabBochs;
protected bool mShowTabQemu;
protected bool mShowTabDebug;
protected bool mShowTabDeployment;
protected bool mShowTabLaunch;
@ -98,8 +99,8 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
if (xValue != mViewModel.BuildProperties.Launch)
{
mViewModel.BuildProperties.Launch = xValue;
// Bochs requires an ISO. Force Deployment property.
if (LaunchType.Bochs == xValue)
// Bochs and Qemu requires an ISO. Force Deployment property.
if (xValue == LaunchType.Bochs)
{
if (DeploymentType.ISO != mViewModel.BuildProperties.Deployment)
{
@ -329,6 +330,7 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
RemoveTab(tabISO);
RemoveTab(tabSlave);
RemoveTab(tabBochs);
RemoveTab(tabQemu);
if (mShowTabDebug)
{
@ -372,6 +374,10 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
{
TabControl1.TabPages.Add(tabBochs);
}
if (mShowTabQemu)
{
TabControl1.TabPages.Add(tabQemu);
}
if (TabControl1.TabPages.Contains(xTab))
{
@ -435,6 +441,15 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
cmboVisualStudioDebugPort.Enabled = false;
cmboVisualStudioDebugPort.SelectedIndex = mVMwareAndBochsDebugPipe;
}
else if (mViewModel.BuildProperties.Profile == "Qemu")
{
mShowTabQemu = true;
chckEnableDebugStub.Checked = true;
chkEnableStackCorruptionDetection.Checked = true;
cmboCosmosDebugPort.Enabled = false;
cmboVisualStudioDebugPort.Enabled = false;
cmboVisualStudioDebugPort.SelectedIndex = mVMwareAndBochsDebugPipe;
}
else if (mViewModel.BuildProperties.Profile == "IntelEdison")
{
mShowTabBochs = false;
@ -513,7 +528,8 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
mShowTabVMware = mViewModel.BuildProperties.Launch == LaunchType.VMware;
mShowTabHyperV = mViewModel.BuildProperties.Launch == LaunchType.HyperV;
mShowTabSlave = mViewModel.BuildProperties.Launch == LaunchType.Slave;
mShowTabBochs = (LaunchType.Bochs == mViewModel.BuildProperties.Launch);
mShowTabBochs = mViewModel.BuildProperties.Launch == LaunchType.Bochs;
mShowTabQemu = mViewModel.BuildProperties.Launch == LaunchType.Qemu;
//
UpdateTabs();
}

View file

@ -15,12 +15,12 @@ namespace Cosmos.VS.ProjectSystem.VS.PropertyPages
{
Add("Bochs", "Bochs");
}
Add("IntelEdison", "Intel Edison Serial boot");
Add("HyperV", "Hyper-V");
if (QemuSupport.QemuEnabled)
{
Add("Qemu", "Qemu");
}
Add("IntelEdison", "Intel Edison Serial boot");
Add("HyperV", "Hyper-V");
}
}
}