mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-24 12:35:31 +00:00
This commit is contained in:
parent
41336096c5
commit
219d253444
7 changed files with 13 additions and 6 deletions
|
|
@ -34,6 +34,7 @@ namespace Cosmos.Kernel {
|
||||||
Console.Write("Creating IDT...");
|
Console.Write("Creating IDT...");
|
||||||
Hardware.CPU.CreateIDT();
|
Hardware.CPU.CreateIDT();
|
||||||
Console.WriteLine("Done");
|
Console.WriteLine("Done");
|
||||||
|
TestATA();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static uint TickCount {
|
public static uint TickCount {
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@ namespace Cosmos.Kernel {
|
||||||
xCurrentBlock->Next->State = MemoryBlockState.Free;
|
xCurrentBlock->Next->State = MemoryBlockState.Free;
|
||||||
}
|
}
|
||||||
xCurrentBlock->State = MemoryBlockState.Used;
|
xCurrentBlock->State = MemoryBlockState.Used;
|
||||||
|
DebugUtil.SendMM_Alloc((uint)xCurrentBlock, aLength);
|
||||||
return ((uint)xCurrentBlock) + 5;
|
return ((uint)xCurrentBlock) + 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,9 @@ namespace Cosmos.Kernel {
|
||||||
public static void Initialize() {
|
public static void Initialize() {
|
||||||
CPU.Init ();
|
CPU.Init ();
|
||||||
|
|
||||||
queue = new Cosmos.Kernel.Staging.DefaultStageQueue ();
|
//queue = new Cosmos.Kernel.Staging.DefaultStageQueue ();
|
||||||
queue.Run ();
|
//queue.Run ();
|
||||||
|
Console.WriteLine("Do Stages.Initialize now");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Teardown() {
|
public static void Teardown() {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ namespace Cosmos.Shell.Console {
|
||||||
System.Console.WriteLine ("Cosmos creation complete");
|
System.Console.WriteLine ("Cosmos creation complete");
|
||||||
Kernel.Interrupts.DoTest ();
|
Kernel.Interrupts.DoTest ();
|
||||||
|
|
||||||
Kernel.Stages.Teardown ();
|
//Kernel.Stages.Teardown ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@ using Mono.Cecil.Cil;
|
||||||
|
|
||||||
namespace Indy.IL2CPU.IL.X86.Win32 {
|
namespace Indy.IL2CPU.IL.X86.Win32 {
|
||||||
public class Call: X86.Call {
|
public class Call: X86.Call {
|
||||||
public Call(Instruction aInstruction, MethodInformation aMethodInfo): base(aInstruction, aMethodInfo) {
|
public Call(Instruction aInstruction, MethodInformation aMethodInfo)
|
||||||
|
: base(aInstruction, aMethodInfo) {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void HandleDebuggerBreak() {
|
protected override void HandleDebuggerBreak() {
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,9 @@ namespace Indy.IL2CPU.IL.X86 {
|
||||||
|
|
||||||
public Call(Instruction aInstruction, MethodInformation aMethodInfo)
|
public Call(Instruction aInstruction, MethodInformation aMethodInfo)
|
||||||
: base(aInstruction, aMethodInfo) {
|
: base(aInstruction, aMethodInfo) {
|
||||||
|
if (aInstruction.ToString() == "Callvirt !0[] System.Collections.Generic.List`1<System.String>::ToArray()") {
|
||||||
|
System.Diagnostics.Debugger.Break();
|
||||||
|
}
|
||||||
MethodReference xMethod = ((MethodReference)aInstruction.Operand);
|
MethodReference xMethod = ((MethodReference)aInstruction.Operand);
|
||||||
Initialize(xMethod);
|
Initialize(xMethod);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#define EXT_DEBUG
|
//#define EXT_DEBUG
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Indy.IL2CPU.Assembler;
|
using Indy.IL2CPU.Assembler;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue