mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-21 05:18:38 +00:00
Merge branch 'master'.
This commit is contained in:
commit
9c90f7eaae
20 changed files with 515 additions and 167 deletions
BIN
Build/HyperV/Filesystem.vhdx
Normal file
BIN
Build/HyperV/Filesystem.vhdx
Normal file
Binary file not shown.
|
|
@ -96,6 +96,8 @@ Source: ".\Artwork\Cosmos.ico"; DestDir: "{app}"; Flags: ignoreversion uninsremo
|
|||
Source: ".\Artwork\XSharp\XSharp.ico"; DestDir: "{app}\XSharp\"; Flags: ignoreversion uninsremovereadonly
|
||||
Source: ".\source\Cosmos.Debug.DebugStub\*.xs"; DestDir: "{app}\XSharp\DebugStub\"; Flags: ignoreversion uninsremovereadonly
|
||||
; VMware
|
||||
Source: ".\Build\HyperV\*"; DestDir: "{app}\Build\HyperV"; Flags: ignoreversion uninsremovereadonly overwritereadonly recursesubdirs
|
||||
; VMware
|
||||
Source: ".\Build\VMware\*"; DestDir: "{app}\Build\VMware"; Flags: ignoreversion uninsremovereadonly overwritereadonly recursesubdirs
|
||||
; ISO
|
||||
Source: ".\Build\ISO\*"; DestDir: "{app}\Build\ISO"
|
||||
|
|
|
|||
|
|
@ -15,10 +15,27 @@ namespace Cosmos.Compiler.Tests.Bcl.System.Collections.Generic
|
|||
{
|
||||
{"echo", "ECHO"},
|
||||
{"reboot", "REBOOT" },
|
||||
{"shutdown", "SHUTDOWN"}
|
||||
{"shutdown", "SHUTDOWN"},
|
||||
{"integer", 500}
|
||||
};
|
||||
|
||||
Assert.IsTrue(commands.ContainsKey("echo"), "Dictionary ContainsKey does not work");
|
||||
Assert.IsTrue(commands.ContainsKey("echo"), "Dictionary ContainsKey does not work1");
|
||||
Assert.IsFalse(commands.ContainsKey("musterror"), "Dictionary ContainsKey does not work 2");
|
||||
|
||||
|
||||
|
||||
//String test
|
||||
Assert.IsTrue((string)commands["echo"] == "ECHO", "Dictionary string not work");
|
||||
commands["echo"] = "notEcho";
|
||||
Assert.IsTrue((string)commands["echo"] == "notEcho", "Dictionary string been reset not working");
|
||||
|
||||
|
||||
//Integer test
|
||||
Assert.IsTrue((int)commands["integer"] == 500, "Dictionary integer not working");
|
||||
commands["integer"] = 321;
|
||||
Assert.IsTrue((int)commands["integer"] == 321, "Dictionary integer been reset not working");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ namespace Cosmos.TestRunner.Core
|
|||
// If you want to test only specific platforms, add them to the list, like next line. By default, all platforms are run.
|
||||
engine.RunTargets.Add(RunTargetEnum.Bochs);
|
||||
//engine.RunTargets.Add(RunTargetEnum.VMware);
|
||||
//engine.RunTargets.Add(RunTargetEnum.HyperV);
|
||||
|
||||
// If you're working on the compiler (or other lower parts), you can choose to run the compiler in process
|
||||
// one thing to keep in mind though, is that this only works with 1 kernel at a time!
|
||||
|
|
|
|||
36
Tests/Cosmos.TestRunner.Core/Engine.HyperV.cs
Normal file
36
Tests/Cosmos.TestRunner.Core/Engine.HyperV.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
using Cosmos.Build.Common;
|
||||
using Cosmos.Debug.DebugConnectors;
|
||||
using Cosmos.Debug.Hosts;
|
||||
|
||||
namespace Cosmos.TestRunner.Core
|
||||
{
|
||||
partial class Engine
|
||||
{
|
||||
private void RunIsoInHyperV(string iso, string harddisk)
|
||||
{
|
||||
if (!File.Exists(harddisk))
|
||||
{
|
||||
throw new FileNotFoundException("Harddisk file not found!", harddisk);
|
||||
}
|
||||
|
||||
var xParams = new Dictionary<string, string>();
|
||||
|
||||
xParams.Add("ISOFile", iso);
|
||||
xParams.Add(BuildPropertyNames.VisualStudioDebugPortString, "Pipe: CosmosSerial");
|
||||
|
||||
var xDebugConnector = new DebugConnectorPipeClient(DebugConnectorPipeClient.DefaultCosmosPipeName);
|
||||
InitializeDebugConnector(xDebugConnector);
|
||||
|
||||
var xHyperV = new HyperV(xParams, RunWithGDB, harddisk);
|
||||
xHyperV.OnShutDown = (a, b) =>
|
||||
{
|
||||
mKernelRunning = false;
|
||||
};
|
||||
|
||||
HandleRunning(xDebugConnector, xHyperV);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -29,9 +29,21 @@ namespace Cosmos.TestRunner.Core
|
|||
RunTask("Ld", () => RunLd(xTempObjectFile, xObjectFile));
|
||||
RunTask("ExtractMapFromElfFile", () => RunExtractMapFromElfFile(mBaseWorkingDirectory, xObjectFile));
|
||||
}
|
||||
var xHarddiskPath = Path.Combine(mBaseWorkingDirectory, "Harddisk.vmdk");
|
||||
var xOriginalHarddiskPath = Path.Combine(GetCosmosUserkitFolder(), "Build", "VMware", "Workstation", "Filesystem.vmdk");
|
||||
File.Copy(xOriginalHarddiskPath, xHarddiskPath);
|
||||
|
||||
string xHarddiskPath;
|
||||
if (configuration.RunTarget == RunTargetEnum.HyperV)
|
||||
{
|
||||
xHarddiskPath = Path.Combine(mBaseWorkingDirectory, "Harddisk.vhdx");
|
||||
var xOriginalHarddiskPath = Path.Combine(GetCosmosUserkitFolder(), "Build", "HyperV", "Filesystem.vhdx");
|
||||
File.Copy(xOriginalHarddiskPath, xHarddiskPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
xHarddiskPath = Path.Combine(mBaseWorkingDirectory, "Harddisk.vmdk");
|
||||
var xOriginalHarddiskPath = Path.Combine(GetCosmosUserkitFolder(), "Build", "VMware", "Workstation", "Filesystem.vmdk");
|
||||
File.Copy(xOriginalHarddiskPath, xHarddiskPath);
|
||||
}
|
||||
|
||||
RunTask("MakeISO", () => MakeIso(xObjectFile, xIsoFile));
|
||||
switch (configuration.RunTarget)
|
||||
{
|
||||
|
|
@ -41,6 +53,9 @@ namespace Cosmos.TestRunner.Core
|
|||
case RunTargetEnum.VMware:
|
||||
RunTask("RunISO", () => RunIsoInVMware(xIsoFile, xHarddiskPath));
|
||||
break;
|
||||
case RunTargetEnum.HyperV:
|
||||
RunTask("RunISO", () => RunIsoInHyperV(xIsoFile, xHarddiskPath));
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException("RunTarget " + configuration.RunTarget + " not implemented!");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
public enum RunTargetEnum
|
||||
{
|
||||
Bochs,
|
||||
VMware
|
||||
VMware,
|
||||
HyperV
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,14 +104,13 @@ namespace Cosmos.Build.Common
|
|||
Description = "Makes a USB device such as a flash drive or external hard disk bootable.";
|
||||
Deployment = DeploymentType.USB;
|
||||
Launch = LaunchType.None;
|
||||
|
||||
}
|
||||
else if (aName == "VMware")
|
||||
{
|
||||
Description = "Use VMware Player or Workstation to deploy and debug.";
|
||||
Deployment = DeploymentType.ISO;
|
||||
Launch = LaunchType.VMware;
|
||||
|
||||
VisualStudioDebugPort = @"Pipe: Cosmos\Serial";
|
||||
}
|
||||
else if (aName == "PXE")
|
||||
{
|
||||
|
|
@ -126,6 +125,7 @@ namespace Cosmos.Build.Common
|
|||
Description = "Use Bochs emulator to deploy and debug.";
|
||||
Deployment = DeploymentType.ISO;
|
||||
Launch = LaunchType.Bochs;
|
||||
VisualStudioDebugPort = @"Pipe: Cosmos\Serial";
|
||||
}
|
||||
else if (aName == "IntelEdison")
|
||||
{
|
||||
|
|
@ -133,6 +133,13 @@ namespace Cosmos.Build.Common
|
|||
Deployment = DeploymentType.BinaryImage;
|
||||
Launch = LaunchType.IntelEdison;
|
||||
}
|
||||
else if (aName == "HyperV")
|
||||
{
|
||||
Description = "Use Hyper-V to deploy and debug.";
|
||||
Deployment = DeploymentType.ISO;
|
||||
Launch = LaunchType.HyperV;
|
||||
VisualStudioDebugPort = "Pipe: CosmosSerial";
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteProfile(string aPrefix)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Reflection;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Cosmos.Build.Common
|
||||
{
|
||||
|
|
@ -31,6 +31,8 @@ namespace Cosmos.Build.Common
|
|||
Bochs,
|
||||
[Description("Intel Edison")]
|
||||
IntelEdison,
|
||||
[Description("Hyper-V")]
|
||||
HyperV
|
||||
}
|
||||
|
||||
public enum VMwareEdition
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@
|
|||
<PackageReference Include="System.Threading.Thread" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using System.IO.Pipes;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
|
||||
namespace Cosmos.Debug.DebugConnectors
|
||||
{
|
||||
/// <summary>Use a named pipe client to implement wire transfer protocol between a Debug Stub
|
||||
/// hosted in a debugged Cosmos Kernel and our Debug Engine hosted in Visual Studio.
|
||||
/// Hyper-V provides a pipe server to expose guest serial ports.</summary>
|
||||
public class DebugConnectorPipeClient : DebugConnectorStreamWithoutTimeouts
|
||||
{
|
||||
// private AutoResetEvent mWaitConnectEvent = new AutoResetEvent(false);
|
||||
private NamedPipeClientStream mPipe;
|
||||
|
||||
public const string DefaultCosmosPipeName = "CosmosSerial";
|
||||
|
||||
public DebugConnectorPipeClient(string aName)
|
||||
{
|
||||
mPipe = new NamedPipeClientStream(".", aName, PipeDirection.InOut, PipeOptions.WriteThrough);
|
||||
Start();
|
||||
}
|
||||
|
||||
protected override int TryRead(byte[] buffer, int offset, int count, int timeout)
|
||||
{
|
||||
var xStream = mStream;
|
||||
if (xStream == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
uint xBytesAvailable = 0;
|
||||
if (PeekNamedPipe(mPipe.SafePipeHandle.DangerousGetHandle(), null, 0, IntPtr.Zero, ref xBytesAvailable, IntPtr.Zero))
|
||||
{
|
||||
if (xBytesAvailable > 0)
|
||||
{
|
||||
return xStream.Read(buffer, offset, count);
|
||||
}
|
||||
}
|
||||
Thread.Sleep(timeout);
|
||||
if (PeekNamedPipe(mPipe.SafePipeHandle.DangerousGetHandle(), null, 0, IntPtr.Zero, ref xBytesAvailable, IntPtr.Zero))
|
||||
{
|
||||
if (xBytesAvailable > 0)
|
||||
{
|
||||
return xStream.Read(buffer, offset, count);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public override bool IsConnected
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.IsConnected && mPipe.IsConnected;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void InitializeBackground()
|
||||
{
|
||||
mPipe.Connect();
|
||||
mStream = mPipe;
|
||||
}
|
||||
|
||||
protected override bool GetIsConnectedToDebugStub()
|
||||
{
|
||||
return mPipe.IsConnected;
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll", EntryPoint = "PeekNamedPipe", SetLastError = true)]
|
||||
private static extern bool PeekNamedPipe(IntPtr handle,
|
||||
byte[] buffer, uint nBufferSize, IntPtr bytesRead,
|
||||
ref uint bytesAvail, IntPtr BytesLeftThisMessage);
|
||||
}
|
||||
}
|
||||
109
source/Cosmos.Debug.Hosts/HyperV.cs
Normal file
109
source/Cosmos.Debug.Hosts/HyperV.cs
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
#if false
|
||||
using System.Management.Automation;
|
||||
using System.Management.Automation.Runspaces;
|
||||
#endif
|
||||
using System.Security.Principal;
|
||||
|
||||
using Cosmos.Build.Common;
|
||||
|
||||
namespace Cosmos.Debug.Hosts
|
||||
{
|
||||
public class HyperV : Host
|
||||
{
|
||||
protected string mHarddiskPath;
|
||||
protected Process mProcess;
|
||||
|
||||
#if false
|
||||
private static bool IsProcessAdministrator => (new WindowsPrincipal(WindowsIdentity.GetCurrent())).IsInRole(WindowsBuiltInRole.Administrator);
|
||||
#else
|
||||
private static bool IsProcessAdministrator => true;
|
||||
#endif
|
||||
|
||||
public HyperV(Dictionary<string, string> aParams, bool aUseGDB, string harddisk = "Filesystem.vhdx") : base(aParams, aUseGDB)
|
||||
{
|
||||
if (!IsProcessAdministrator)
|
||||
{
|
||||
throw new Exception("Visual Studio must be run as administrator for Hyper-V to work");
|
||||
}
|
||||
|
||||
mHarddiskPath = Path.Combine(CosmosPaths.Build, harddisk);
|
||||
}
|
||||
|
||||
public override void Start()
|
||||
{
|
||||
CreateVirtualMachine();
|
||||
|
||||
// Target exe or file
|
||||
var info = new ProcessStartInfo(@"C:\Windows\sysnative\VmConnect.exe", @"""localhost"" ""Cosmos""")
|
||||
{
|
||||
UseShellExecute = true
|
||||
};
|
||||
|
||||
mProcess = new Process();
|
||||
mProcess.StartInfo = info;
|
||||
mProcess.EnableRaisingEvents = true;
|
||||
mProcess.Exited += (Object aSender, EventArgs e) =>
|
||||
{
|
||||
OnShutDown?.Invoke(aSender, e);
|
||||
};
|
||||
mProcess.Start();
|
||||
|
||||
RunPowershellScript("Start-VM -Name Cosmos");
|
||||
}
|
||||
|
||||
public override void Stop()
|
||||
{
|
||||
RunPowershellScript("Stop-VM -Name Cosmos -TurnOff -ErrorAction Ignore");
|
||||
mProcess.Kill();
|
||||
}
|
||||
|
||||
protected void CreateVirtualMachine()
|
||||
{
|
||||
RunPowershellScript("Stop-VM -Name Cosmos -TurnOff -ErrorAction Ignore");
|
||||
|
||||
RunPowershellScript("Remove-VM -Name Cosmos -Force -ErrorAction Ignore");
|
||||
RunPowershellScript("New-VM -Name Cosmos -MemoryStartupBytes 268435456 -BootDevice CD");
|
||||
if (!File.Exists(mHarddiskPath))
|
||||
{
|
||||
RunPowershellScript($@"New-VHD -SizeBytes 268435456 -Dynamic -Path ""{mHarddiskPath}""");
|
||||
}
|
||||
|
||||
RunPowershellScript($@"Add-VMHardDiskDrive -VMName Cosmos -ControllerNumber 0 -ControllerLocation 0 -Path ""{mHarddiskPath}""");
|
||||
RunPowershellScript($@"Set-VMDvdDrive -VMName Cosmos -ControllerNumber 1 -ControllerLocation 0 -Path ""{mParams["ISOFile"]}""");
|
||||
RunPowershellScript(@"Set-VMComPort -VMName Cosmos -Path \\.\pipe\CosmosSerial -Number 1");
|
||||
}
|
||||
|
||||
private static void RunPowershellScript(string text)
|
||||
{
|
||||
// Workaround
|
||||
ProcessStartInfo xStartInfo = new ProcessStartInfo("powershell");
|
||||
xStartInfo.Arguments = text;
|
||||
|
||||
var xProcess = Process.Start(xStartInfo);
|
||||
xProcess.WaitForExit();
|
||||
|
||||
#if false
|
||||
using (Runspace runspace = RunspaceFactory.CreateRunspace())
|
||||
{
|
||||
runspace.Open();
|
||||
|
||||
Pipeline pipeline = runspace.CreatePipeline();
|
||||
|
||||
pipeline.Commands.AddScript(text);
|
||||
pipeline.Commands.Add("Out-String");
|
||||
|
||||
Collection<PSObject> results = pipeline.Invoke();
|
||||
foreach (PSObject obj in results)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine(obj.ToString());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Metadata;
|
||||
|
|
@ -143,6 +143,8 @@ namespace Cosmos.IL2CPU.ILOpCodes
|
|||
case Code.Ldelem_U1:
|
||||
case Code.Ldelem_U2:
|
||||
case Code.Ldelem_U4:
|
||||
case Code.Ldelem_R4:
|
||||
case Code.Ldelem_R8:
|
||||
return 2;
|
||||
case Code.Ldnull:
|
||||
return 0;
|
||||
|
|
@ -276,7 +278,9 @@ namespace Cosmos.IL2CPU.ILOpCodes
|
|||
case Code.Ldelem_U1:
|
||||
case Code.Ldelem_U2:
|
||||
case Code.Ldelem_U4:
|
||||
return 1;
|
||||
case Code.Ldelem_R4:
|
||||
case Code.Ldelem_R8:
|
||||
return 1;
|
||||
case Code.Ldnull:
|
||||
return 1;
|
||||
case Code.Dup:
|
||||
|
|
@ -470,10 +474,15 @@ namespace Cosmos.IL2CPU.ILOpCodes
|
|||
case Code.Ldelem_U4:
|
||||
StackPushTypes[0] = typeof(uint);
|
||||
return;
|
||||
case Code.Ldelem_R4:
|
||||
StackPushTypes[0] = typeof(float);
|
||||
return;
|
||||
case Code.Ldelem_R8:
|
||||
StackPushTypes[0] = typeof(double);
|
||||
return;
|
||||
case Code.Ldnull:
|
||||
StackPushTypes[0] = typeof(NullRef);
|
||||
return;
|
||||
|
||||
case Code.Ldind_I:
|
||||
StackPushTypes[0] = typeof(IntPtr);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
|
||||
namespace Cosmos.System
|
||||
{
|
||||
|
|
@ -142,6 +142,7 @@ namespace Cosmos.System
|
|||
case ConsoleKeyEx.Sleep:
|
||||
return ConsoleKey.Sleep;
|
||||
case ConsoleKeyEx.BiggerThan:
|
||||
case ConsoleKeyEx.ExclamationPoint:
|
||||
case ConsoleKeyEx.Period:
|
||||
return ConsoleKey.OemPeriod;
|
||||
case ConsoleKeyEx.LowerThan:
|
||||
|
|
@ -149,10 +150,36 @@ namespace Cosmos.System
|
|||
return ConsoleKey.OemComma;
|
||||
case ConsoleKeyEx.NumPeriod:
|
||||
return ConsoleKey.Decimal;
|
||||
case ConsoleKeyEx.NumPlus:
|
||||
return ConsoleKey.Add;
|
||||
case ConsoleKeyEx.NumEnter:
|
||||
return ConsoleKey.Enter;
|
||||
case ConsoleKeyEx.Num0:
|
||||
return ConsoleKey.D0;
|
||||
case ConsoleKeyEx.Num1:
|
||||
return ConsoleKey.D1;
|
||||
case ConsoleKeyEx.Num2:
|
||||
return ConsoleKey.D2;
|
||||
case ConsoleKeyEx.Num3:
|
||||
return ConsoleKey.D3;
|
||||
case ConsoleKeyEx.Num4:
|
||||
return ConsoleKey.D4;
|
||||
case ConsoleKeyEx.Num5:
|
||||
return ConsoleKey.D5;
|
||||
case ConsoleKeyEx.Num6:
|
||||
return ConsoleKey.D6;
|
||||
case ConsoleKeyEx.Num7:
|
||||
return ConsoleKey.D7;
|
||||
case ConsoleKeyEx.Num8:
|
||||
return ConsoleKey.D8;
|
||||
case ConsoleKeyEx.Num9:
|
||||
return ConsoleKey.D9;
|
||||
case ConsoleKeyEx.NumDivide:
|
||||
return ConsoleKey.Divide;
|
||||
case ConsoleKeyEx.NumMultiply:
|
||||
return ConsoleKey.Multiply;
|
||||
case ConsoleKeyEx.NumMinus:
|
||||
return ConsoleKey.OemMinus;
|
||||
case ConsoleKeyEx.NumPlus:
|
||||
return ConsoleKey.OemPlus;
|
||||
case ConsoleKeyEx.Backslash:
|
||||
return ConsoleKey.Oem5;
|
||||
case ConsoleKeyEx.LBracket:
|
||||
|
|
@ -175,6 +202,10 @@ namespace Cosmos.System
|
|||
//TODO: .Net Core
|
||||
//case ConsoleKeyEx.OEM102:
|
||||
// return ConsoleKey.Oem102;
|
||||
//case ConsoleKeyEx.LWin:
|
||||
// return ConsoleKey.LeftWindows;
|
||||
//case ConsoleKeyEx.RWin:
|
||||
// return ConsoleKey.RightWindows;
|
||||
default:
|
||||
throw new Exception("KeyEx not implemented!");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.VisualStudio;
|
||||
using Microsoft.VisualStudio.Debugger.Interop;
|
||||
|
||||
using Cosmos.Debug.Common;
|
||||
using Cosmos.VS.DebugEngine.AD7.Definitions;
|
||||
using Cosmos.VS.DebugEngine.Engine.Impl;
|
||||
using Cosmos.VS.DebugEngine.Properties;
|
||||
using Microsoft.VisualStudio;
|
||||
using Microsoft.VisualStudio.Debugger.Interop;
|
||||
|
||||
namespace Cosmos.VS.DebugEngine.AD7.Impl
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,18 +5,18 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Cosmos.Debug.DebugConnectors;
|
||||
using Cosmos.Debug.Symbols;
|
||||
using Cosmos.VS.DebugEngine.Engine.Impl;
|
||||
using Cosmos.VS.DebugEngine.Utilities;
|
||||
using Microsoft.Internal.VisualStudio.PlatformUI;
|
||||
using Microsoft.VisualStudio;
|
||||
using Microsoft.VisualStudio.Debugger.Interop;
|
||||
using Label = Cosmos.Debug.Symbols.Label;
|
||||
using Cosmos.Build.Common;
|
||||
using Cosmos.Debug.Common;
|
||||
using Cosmos.Debug.DebugConnectors;
|
||||
using Cosmos.Debug.Hosts;
|
||||
using Cosmos.Debug.Symbols;
|
||||
using Cosmos.VS.DebugEngine.Engine.Impl;
|
||||
using Cosmos.VS.DebugEngine.Properties;
|
||||
using Cosmos.VS.DebugEngine.Utilities;
|
||||
using Label = Cosmos.Debug.Symbols.Label;
|
||||
|
||||
namespace Cosmos.VS.DebugEngine.AD7.Impl
|
||||
{
|
||||
|
|
@ -316,7 +316,14 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl
|
|||
switch (xPortType)
|
||||
{
|
||||
case "pipe:":
|
||||
mDbgConnector = new DebugConnectorPipeServer(xPortParam);
|
||||
if (xLaunch == "HyperV")
|
||||
{
|
||||
mDbgConnector = new DebugConnectorPipeClient(xPortParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
mDbgConnector = new DebugConnectorPipeServer(xPortParam);
|
||||
}
|
||||
break;
|
||||
#if SERIAL_PORT
|
||||
case "serial:":
|
||||
|
|
@ -481,6 +488,9 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl
|
|||
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 + "'.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ namespace Cosmos.VS.ProjectSystem
|
|||
Add("Bochs", "Bochs");
|
||||
}
|
||||
Add("IntelEdison", "Intel Edison Serial boot");
|
||||
Add("HyperV", "Hyper-V");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -96,6 +96,7 @@
|
|||
this.cmboSlavePort = new System.Windows.Forms.ComboBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.tabHyperV = new System.Windows.Forms.TabPage();
|
||||
this.panel1.SuspendLayout();
|
||||
this.TabControl1.SuspendLayout();
|
||||
this.tabProfile.SuspendLayout();
|
||||
|
|
@ -117,9 +118,9 @@
|
|||
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;
|
||||
|
|
@ -127,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);
|
||||
|
|
@ -155,6 +156,7 @@
|
|||
this.TabControl1.Controls.Add(this.tabDeployment);
|
||||
this.TabControl1.Controls.Add(this.tabLaunch);
|
||||
this.TabControl1.Controls.Add(this.tabVMware);
|
||||
this.TabControl1.Controls.Add(this.tabHyperV);
|
||||
this.TabControl1.Controls.Add(this.tabBochs);
|
||||
this.TabControl1.Controls.Add(this.tabPXE);
|
||||
this.TabControl1.Controls.Add(this.tabUSB);
|
||||
|
|
@ -167,9 +169,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 +183,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 +194,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 +204,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 +214,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 +227,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 +237,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 +247,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 +257,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 +276,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);
|
||||
|
|
@ -292,10 +294,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;
|
||||
|
|
@ -307,18 +309,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;
|
||||
|
|
@ -326,9 +328,9 @@
|
|||
this.comboFramework.Name = "comboFramework";
|
||||
this.comboFramework.Size = new System.Drawing.Size(228, 21);
|
||||
this.comboFramework.TabIndex = 5;
|
||||
//
|
||||
//
|
||||
// buttonOutputBrowse
|
||||
//
|
||||
//
|
||||
this.buttonOutputBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.buttonOutputBrowse.Location = new System.Drawing.Point(430, 37);
|
||||
this.buttonOutputBrowse.Name = "buttonOutputBrowse";
|
||||
|
|
@ -336,10 +338,10 @@
|
|||
this.buttonOutputBrowse.TabIndex = 20;
|
||||
this.buttonOutputBrowse.Text = "..";
|
||||
this.buttonOutputBrowse.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
//
|
||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
|
|
@ -350,19 +352,19 @@
|
|||
this.label2.TabIndex = 19;
|
||||
this.label2.Text = "Output path:";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
// textOutputPath
|
||||
//
|
||||
this.textOutputPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
//
|
||||
this.textOutputPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textOutputPath.Location = new System.Drawing.Point(34, 38);
|
||||
this.textOutputPath.Name = "textOutputPath";
|
||||
this.textOutputPath.Size = new System.Drawing.Size(390, 20);
|
||||
this.textOutputPath.TabIndex = 4;
|
||||
//
|
||||
//
|
||||
// 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;
|
||||
|
|
@ -374,9 +376,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);
|
||||
|
|
@ -385,10 +387,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;
|
||||
|
|
@ -400,9 +402,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);
|
||||
|
|
@ -410,9 +412,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);
|
||||
|
|
@ -423,9 +425,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";
|
||||
|
|
@ -433,9 +435,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);
|
||||
|
|
@ -443,9 +445,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);
|
||||
|
|
@ -454,18 +456,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);
|
||||
|
|
@ -473,9 +475,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";
|
||||
|
|
@ -484,9 +486,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);
|
||||
|
|
@ -496,18 +498,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);
|
||||
|
|
@ -517,9 +519,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);
|
||||
|
|
@ -528,18 +530,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);
|
||||
|
|
@ -550,9 +552,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";
|
||||
|
|
@ -560,18 +562,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[] {
|
||||
|
|
@ -585,9 +587,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[] {
|
||||
|
|
@ -601,18 +603,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";
|
||||
|
|
@ -620,9 +622,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);
|
||||
|
|
@ -630,9 +632,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";
|
||||
|
|
@ -640,9 +642,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);
|
||||
|
|
@ -650,9 +652,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);
|
||||
|
|
@ -664,9 +666,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";
|
||||
|
|
@ -674,9 +676,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);
|
||||
|
|
@ -686,18 +688,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);
|
||||
|
|
@ -705,9 +707,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);
|
||||
|
|
@ -717,9 +719,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);
|
||||
|
|
@ -728,9 +730,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";
|
||||
|
|
@ -738,9 +740,9 @@
|
|||
this.checkEnableBochsDebug.TabIndex = 21;
|
||||
this.checkEnableBochsDebug.Text = "Enable Bochs Debugger";
|
||||
this.checkEnableBochsDebug.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
// tabPXE
|
||||
//
|
||||
//
|
||||
this.tabPXE.Controls.Add(this.butnPxeRefresh);
|
||||
this.tabPXE.Controls.Add(this.comboPxeInterface);
|
||||
this.tabPXE.Controls.Add(this.label1);
|
||||
|
|
@ -751,10 +753,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);
|
||||
|
|
@ -763,25 +764,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";
|
||||
|
|
@ -790,18 +791,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";
|
||||
|
|
@ -810,17 +811,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);
|
||||
|
|
@ -830,9 +831,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[] {
|
||||
|
|
@ -846,18 +847,28 @@
|
|||
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);
|
||||
this.tabHyperV.Size = new System.Drawing.Size(627, 486);
|
||||
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);
|
||||
|
|
@ -971,5 +982,6 @@
|
|||
private System.Windows.Forms.GroupBox debugStubGroupBox;
|
||||
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.TabPage tabHyperV;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,16 +48,21 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
}
|
||||
|
||||
protected ProfilePresets mPresets = new ProfilePresets();
|
||||
|
||||
protected int mVMwareAndBochsDebugPipe;
|
||||
protected int mHyperVDebugPipe;
|
||||
|
||||
protected bool mShowTabBochs;
|
||||
protected bool mShowTabDebug;
|
||||
protected bool mShowTabDeployment;
|
||||
protected bool mShowTabLaunch;
|
||||
protected bool mShowTabVMware;
|
||||
protected bool mShowTabHyperV;
|
||||
protected bool mShowTabPXE;
|
||||
protected bool mShowTabUSB;
|
||||
protected bool mShowTabISO;
|
||||
protected bool mShowTabSlave;
|
||||
|
||||
protected bool FreezeEvents;
|
||||
|
||||
public CosmosPage()
|
||||
|
|
@ -182,7 +187,6 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
|
||||
#endregion
|
||||
|
||||
|
||||
#region VMware
|
||||
|
||||
cmboVMwareEdition.SelectedIndexChanged += delegate (Object sender, EventArgs e)
|
||||
|
|
@ -291,8 +295,6 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
}
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
checkEnableGDB.CheckedChanged += delegate (Object sender, EventArgs e)
|
||||
{
|
||||
if (FreezeEvents) return;
|
||||
|
|
@ -344,6 +346,7 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
IsDirty = true;
|
||||
}
|
||||
};
|
||||
#endregion
|
||||
}
|
||||
|
||||
public override void ApplyChanges()
|
||||
|
|
@ -371,6 +374,7 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
RemoveTab(tabDeployment);
|
||||
RemoveTab(tabLaunch);
|
||||
RemoveTab(tabVMware);
|
||||
RemoveTab(tabHyperV);
|
||||
RemoveTab(tabPXE);
|
||||
RemoveTab(tabUSB);
|
||||
RemoveTab(tabISO);
|
||||
|
|
@ -407,6 +411,10 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
{
|
||||
TabControl1.TabPages.Add(tabVMware);
|
||||
}
|
||||
if (mShowTabHyperV)
|
||||
{
|
||||
TabControl1.TabPages.Add(tabHyperV);
|
||||
}
|
||||
if (mShowTabSlave)
|
||||
{
|
||||
TabControl1.TabPages.Add(tabSlave);
|
||||
|
|
@ -455,6 +463,15 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
cmboVisualStudioDebugPort.SelectedIndex = mVMwareAndBochsDebugPipe;
|
||||
|
||||
}
|
||||
else if (mProps.Profile == "HyperV")
|
||||
{
|
||||
mShowTabHyperV = true;
|
||||
chckEnableDebugStub.Checked = true;
|
||||
chkEnableStackCorruptionDetection.Checked = true;
|
||||
cmboCosmosDebugPort.Enabled = false;
|
||||
cmboVisualStudioDebugPort.Enabled = false;
|
||||
cmboVisualStudioDebugPort.SelectedIndex = mHyperVDebugPipe;
|
||||
}
|
||||
else if (mProps.Profile == "PXE")
|
||||
{
|
||||
chckEnableDebugStub.Checked = false;
|
||||
|
|
@ -546,6 +563,7 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
mShowTabPXE = mProps.Deployment == DeploymentType.PXE;
|
||||
//
|
||||
mShowTabVMware = mProps.Launch == LaunchType.VMware;
|
||||
mShowTabHyperV = mProps.Launch == LaunchType.HyperV;
|
||||
mShowTabSlave = mProps.Launch == LaunchType.Slave;
|
||||
mShowTabBochs = (LaunchType.Bochs == mProps.Launch);
|
||||
//
|
||||
|
|
@ -784,6 +802,7 @@ namespace Cosmos.VS.ProjectSystem.PropertyPages
|
|||
cmboVisualStudioDebugPort.Items.Clear();
|
||||
FillComPorts(cmboVisualStudioDebugPort.Items);
|
||||
mVMwareAndBochsDebugPipe = cmboVisualStudioDebugPort.Items.Add(@"Pipe: Cosmos\Serial");
|
||||
mHyperVDebugPipe = cmboVisualStudioDebugPort.Items.Add(@"Pipe: CosmosSerial");
|
||||
|
||||
comboDebugMode.Items.AddRange(EnumValue.GetEnumValues(typeof(DebugMode), false));
|
||||
comboTraceMode.Items.AddRange(EnumValue.GetEnumValues(typeof(TraceAssemblies), false));
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ namespace Cosmos.System.Plugs.System.Collections.Generic
|
|||
{
|
||||
public static EqualityComparer<T> CreateComparer()
|
||||
{
|
||||
|
||||
throw new Exception("Create comparer not yet implemented!");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue