diff --git a/Tests/Cosmos.TestRunner.Core/Engine.Run.cs b/Tests/Cosmos.TestRunner.Core/Engine.Run.cs index 8d1323f8e..7a7cf21e9 100644 --- a/Tests/Cosmos.TestRunner.Core/Engine.Run.cs +++ b/Tests/Cosmos.TestRunner.Core/Engine.Run.cs @@ -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!"); } diff --git a/source/Cosmos.Debug.Hosts/Qemu.cs b/source/Cosmos.Debug.Hosts/Qemu.cs index f40b1c34f..821a50027 100644 --- a/source/Cosmos.Debug.Hosts/Qemu.cs +++ b/source/Cosmos.Debug.Hosts/Qemu.cs @@ -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"; diff --git a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Process.cs b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Process.cs index 4e86d79eb..d1ee6f6c6 100644 --- a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Process.cs +++ b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Process.cs @@ -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[] { new KeyValuePair("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 + "'."); } diff --git a/source/Cosmos.VS.ProjectSystem/BuildSystem/Rules/LaunchConfiguration.xaml b/source/Cosmos.VS.ProjectSystem/BuildSystem/Rules/LaunchConfiguration.xaml index 0906b9571..aadbcf278 100644 --- a/source/Cosmos.VS.ProjectSystem/BuildSystem/Rules/LaunchConfiguration.xaml +++ b/source/Cosmos.VS.ProjectSystem/BuildSystem/Rules/LaunchConfiguration.xaml @@ -28,6 +28,7 @@ + diff --git a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.Designer.cs b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.Designer.cs index 5af38bf08..456d75f83 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.Designer.cs +++ b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.Designer.cs @@ -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; diff --git a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.cs b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.cs index ca090899e..dd9d423e0 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.cs +++ b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/OldCosmosPropertyPageControl.cs @@ -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(); } diff --git a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/ProfilePresets.cs b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/ProfilePresets.cs index 9f9e6e5fb..2514cafcf 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/ProfilePresets.cs +++ b/source/Cosmos.VS.ProjectSystem/ProjectSystem/VS/PropertyPages/ProfilePresets.cs @@ -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"); } } }