mirror of
https://github.com/danbulant/Cosmos
synced 2026-06-10 18:21:20 +00:00
This commit is contained in:
parent
c2b4150e1a
commit
6fbf7cf6e8
4 changed files with 33 additions and 40 deletions
Binary file not shown.
|
|
@ -4,8 +4,6 @@ virtualHW.version = "7"
|
|||
maxvcpus = "4"
|
||||
scsi0.present = "TRUE"
|
||||
memsize = "256"
|
||||
ide0:0.present = "TRUE"
|
||||
ide0:0.fileName = "Cosmos.vmdk"
|
||||
ide1:0.present = "TRUE"
|
||||
ide1:0.autodetect = "TRUE"
|
||||
ide1:0.deviceType = "cdrom-image"
|
||||
|
|
@ -29,13 +27,12 @@ guestOS = "other"
|
|||
nvram = "Cosmos.nvram"
|
||||
virtualHW.productCompatibility = "hosted"
|
||||
extendedConfigFile = "Cosmos.vmxf"
|
||||
ide1:0.fileName = "C:\source\Cosmos\source2\Users\Kudzu\Breakpoints\bin\Debug\CosmosKernel.iso"
|
||||
uuid.location = "56 4d 17 a5 ee 9a c4 0e-19 fb 42 d2 56 4d c6 22"
|
||||
uuid.bios = "56 4d 17 a5 ee 9a c4 0e-19 fb 42 d2 56 4d c6 22"
|
||||
ide1:0.fileName = "d:\source\Cosmos\source2\Users\Kudzu\Breakpoints\bin\Debug\CosmosKernel.iso"
|
||||
uuid.location = "56 4d c5 98 db 65 ae 42-d4 89 15 cf 1c 43 cf 9a"
|
||||
uuid.bios = "56 4d c5 98 db 65 ae 42-d4 89 15 cf 1c 43 cf 9a"
|
||||
cleanShutdown = "TRUE"
|
||||
replay.supported = "FALSE"
|
||||
replay.filename = ""
|
||||
ide0:0.redo = ""
|
||||
pciBridge0.pciSlotNumber = "17"
|
||||
pciBridge4.pciSlotNumber = "21"
|
||||
pciBridge5.pciSlotNumber = "22"
|
||||
|
|
@ -43,17 +40,20 @@ pciBridge6.pciSlotNumber = "23"
|
|||
pciBridge7.pciSlotNumber = "24"
|
||||
scsi0.pciSlotNumber = "16"
|
||||
vmci0.pciSlotNumber = "32"
|
||||
vmotion.checkpointFBSize = "30474240"
|
||||
vmotion.checkpointFBSize = "23920640"
|
||||
vmci0.id = "1821907405"
|
||||
|
||||
debugStub.listen.guest32 = "TRUE"
|
||||
debugStub.hideBreakpoints = "TRUE"
|
||||
;monitor.debugOnStartGuest32 = "TRUE"
|
||||
monitor.debugOnStartGuest32 = "TRUE"
|
||||
debugStub.listen.guest32.remote = "TRUE"
|
||||
|
||||
serial0.present = "TRUE"
|
||||
serial0.yieldOnMsrRead = "TRUE"
|
||||
serial0.fileType = "pipe"
|
||||
serial0.fileName = "\\.\pipe\CosmosDebug"
|
||||
serial0.pipe.endPoint = "server"
|
||||
serial0.tryNoRxLoss = "TRUE"
|
||||
ide0:0.present = "FALSE"
|
||||
sound.present = "FALSE"
|
||||
floppy0.present = "FALSE"
|
||||
|
|
|
|||
38
source2/Debug/Cosmos.Debug.GDB/FormMain.Designer.cs
generated
38
source2/Debug/Cosmos.Debug.GDB/FormMain.Designer.cs
generated
|
|
@ -62,8 +62,6 @@
|
|||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.lboxRegisters = new System.Windows.Forms.ListBox();
|
||||
this.lboxDisassemble = new System.Windows.Forms.ListBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.lboxDebug = new System.Windows.Forms.ListBox();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
|
|
@ -98,6 +96,7 @@
|
|||
this.lablFlagsText = new System.Windows.Forms.Label();
|
||||
this.lablFlags = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.lboxDisassemble = new System.Windows.Forms.ListBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
|
|
@ -151,8 +150,8 @@
|
|||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.panel3);
|
||||
this.tabPage1.Controls.Add(this.lboxDisassemble);
|
||||
this.tabPage1.Controls.Add(this.panel3);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 4);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
|
|
@ -222,8 +221,7 @@
|
|||
this.panel3.Controls.Add(this.label4);
|
||||
this.panel3.Controls.Add(this.label3);
|
||||
this.panel3.Controls.Add(this.label2);
|
||||
this.panel3.Controls.Add(this.lboxRegisters);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panel3.Location = new System.Drawing.Point(699, 3);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(314, 629);
|
||||
|
|
@ -527,24 +525,6 @@
|
|||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "Registers";
|
||||
//
|
||||
// lboxRegisters
|
||||
//
|
||||
this.lboxRegisters.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.lboxRegisters.FormattingEnabled = true;
|
||||
this.lboxRegisters.Location = new System.Drawing.Point(0, 391);
|
||||
this.lboxRegisters.Name = "lboxRegisters";
|
||||
this.lboxRegisters.Size = new System.Drawing.Size(314, 238);
|
||||
this.lboxRegisters.TabIndex = 1;
|
||||
//
|
||||
// lboxDisassemble
|
||||
//
|
||||
this.lboxDisassemble.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.lboxDisassemble.FormattingEnabled = true;
|
||||
this.lboxDisassemble.Location = new System.Drawing.Point(3, 3);
|
||||
this.lboxDisassemble.Name = "lboxDisassemble";
|
||||
this.lboxDisassemble.Size = new System.Drawing.Size(696, 628);
|
||||
this.lboxDisassemble.TabIndex = 0;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.Controls.Add(this.lboxDebug);
|
||||
|
|
@ -859,6 +839,15 @@
|
|||
this.label11.TabIndex = 58;
|
||||
this.label11.Text = "Flags";
|
||||
//
|
||||
// lboxDisassemble
|
||||
//
|
||||
this.lboxDisassemble.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lboxDisassemble.FormattingEnabled = true;
|
||||
this.lboxDisassemble.Location = new System.Drawing.Point(3, 3);
|
||||
this.lboxDisassemble.Name = "lboxDisassemble";
|
||||
this.lboxDisassemble.Size = new System.Drawing.Size(696, 628);
|
||||
this.lboxDisassemble.TabIndex = 3;
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -886,7 +875,6 @@
|
|||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.ListBox lboxDisassemble;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.Button butnStep;
|
||||
private System.Windows.Forms.ListBox lboxDebug;
|
||||
|
|
@ -895,7 +883,6 @@
|
|||
private System.Windows.Forms.TextBox textSendCmd;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button butnDebugLogClear;
|
||||
private System.Windows.Forms.ListBox lboxRegisters;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.Label lablAH;
|
||||
private System.Windows.Forms.Label lablAX;
|
||||
|
|
@ -957,6 +944,7 @@
|
|||
private System.Windows.Forms.Label lablFlagsText;
|
||||
private System.Windows.Forms.Label lablFlags;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.ListBox lboxDisassemble;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,9 +65,11 @@ namespace Cosmos.Debug.GDB {
|
|||
protected void Disassemble() {
|
||||
var xResult = SendCmd("disassemble");
|
||||
lboxDisassemble.Items.Clear();
|
||||
xResult.RemoveAt(0);
|
||||
xResult.RemoveAt(xResult.Count - 1);
|
||||
lboxDisassemble.Items.AddRange(xResult.ToArray());
|
||||
if (xResult.Count > 0) {
|
||||
xResult.RemoveAt(0);
|
||||
xResult.RemoveAt(xResult.Count - 1);
|
||||
lboxDisassemble.Items.AddRange(xResult.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
private void butnConnect_Click(object sender, EventArgs e) {
|
||||
|
|
@ -89,11 +91,16 @@ namespace Cosmos.Debug.GDB {
|
|||
GetResponse();
|
||||
SendCmd("symbol-file CosmosKernel.obj");
|
||||
//SendCmd("file output.bin");
|
||||
SendCmd("target remote :1234");
|
||||
|
||||
//
|
||||
//SendCmd("target remote :1234"); // QEMU
|
||||
SendCmd("target remote :8832"); // VMWare
|
||||
|
||||
SendCmd("set architecture i386");
|
||||
SendCmd("set language asm");
|
||||
SendCmd("set disassembly-flavor intel");
|
||||
SendCmd("break Kernel_Start");
|
||||
//SendCmd("break *0x0056d2b9");
|
||||
SendCmd("continue");
|
||||
Update();
|
||||
}
|
||||
|
|
@ -139,9 +146,6 @@ namespace Cosmos.Debug.GDB {
|
|||
protected void GetRegisters() {
|
||||
var xResult = SendCmd("info registers");
|
||||
|
||||
lboxRegisters.Items.Clear();
|
||||
lboxRegisters.Items.AddRange(xResult.ToArray());
|
||||
|
||||
int i = 0;
|
||||
CPUReg xReg;
|
||||
while (i < xResult.Count - 1) {
|
||||
|
|
@ -158,6 +162,7 @@ namespace Cosmos.Debug.GDB {
|
|||
lablEIP.Text = xReg.mValue.ToString("X8");
|
||||
lablEIPText.Text = xReg.mText;
|
||||
} else if (xReg.mName == "EFLAGS") {
|
||||
// http://en.wikipedia.org/wiki/FLAGS_register_%28computing%29
|
||||
lablFlags.Text = xReg.mValue.ToString("X8");
|
||||
lablFlagsText.Text = xReg.mText;
|
||||
} else if (xReg.mName == "ESP") {
|
||||
|
|
|
|||
Loading…
Reference in a new issue