diff --git a/source/Cosmos/Cosmos.Kernel/CPU.cs b/source/Cosmos/Cosmos.Kernel/CPU.cs index d091f05b7..881f4e888 100644 --- a/source/Cosmos/Cosmos.Kernel/CPU.cs +++ b/source/Cosmos/Cosmos.Kernel/CPU.cs @@ -34,6 +34,7 @@ namespace Cosmos.Kernel { Console.Write("Creating IDT..."); Hardware.CPU.CreateIDT(); Console.WriteLine("Done"); + TestATA(); } public static uint TickCount { diff --git a/source/Cosmos/Cosmos.Kernel/Heap.cs b/source/Cosmos/Cosmos.Kernel/Heap.cs index f9c6bab11..acf0a56c8 100644 --- a/source/Cosmos/Cosmos.Kernel/Heap.cs +++ b/source/Cosmos/Cosmos.Kernel/Heap.cs @@ -91,6 +91,7 @@ namespace Cosmos.Kernel { xCurrentBlock->Next->State = MemoryBlockState.Free; } xCurrentBlock->State = MemoryBlockState.Used; + DebugUtil.SendMM_Alloc((uint)xCurrentBlock, aLength); return ((uint)xCurrentBlock) + 5; } diff --git a/source/Cosmos/Cosmos.Kernel/Stages.cs b/source/Cosmos/Cosmos.Kernel/Stages.cs index 2a0494384..04f5699ce 100644 --- a/source/Cosmos/Cosmos.Kernel/Stages.cs +++ b/source/Cosmos/Cosmos.Kernel/Stages.cs @@ -7,10 +7,11 @@ namespace Cosmos.Kernel { private static Staging.DefaultStageQueue queue; public static void Initialize() { - CPU.Init (); + CPU.Init (); - queue = new Cosmos.Kernel.Staging.DefaultStageQueue (); - queue.Run (); + //queue = new Cosmos.Kernel.Staging.DefaultStageQueue (); + //queue.Run (); + Console.WriteLine("Do Stages.Initialize now"); } public static void Teardown() { diff --git a/source/Cosmos/Cosmos.Shell.Console/Program.cs b/source/Cosmos/Cosmos.Shell.Console/Program.cs index bcc11d9dd..0fd7e6d5a 100644 --- a/source/Cosmos/Cosmos.Shell.Console/Program.cs +++ b/source/Cosmos/Cosmos.Shell.Console/Program.cs @@ -10,7 +10,7 @@ namespace Cosmos.Shell.Console { System.Console.WriteLine ("Cosmos creation complete"); Kernel.Interrupts.DoTest (); - Kernel.Stages.Teardown (); + //Kernel.Stages.Teardown (); } } } diff --git a/source/Indy.IL2CPU.IL.X86.Win32/Call.cs b/source/Indy.IL2CPU.IL.X86.Win32/Call.cs index fcecbefc0..91a5d1e04 100644 --- a/source/Indy.IL2CPU.IL.X86.Win32/Call.cs +++ b/source/Indy.IL2CPU.IL.X86.Win32/Call.cs @@ -6,7 +6,8 @@ using Mono.Cecil.Cil; namespace Indy.IL2CPU.IL.X86.Win32 { 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() { diff --git a/source/Indy.IL2CPU.IL.X86/Call.cs b/source/Indy.IL2CPU.IL.X86/Call.cs index 9d8f149ee..0c626a57f 100644 --- a/source/Indy.IL2CPU.IL.X86/Call.cs +++ b/source/Indy.IL2CPU.IL.X86/Call.cs @@ -62,6 +62,9 @@ namespace Indy.IL2CPU.IL.X86 { public Call(Instruction aInstruction, MethodInformation aMethodInfo) : base(aInstruction, aMethodInfo) { + if (aInstruction.ToString() == "Callvirt !0[] System.Collections.Generic.List`1::ToArray()") { + System.Diagnostics.Debugger.Break(); + } MethodReference xMethod = ((MethodReference)aInstruction.Operand); Initialize(xMethod); } diff --git a/source/Indy.IL2CPU.IL.X86/X86MethodHeaderOp.cs b/source/Indy.IL2CPU.IL.X86/X86MethodHeaderOp.cs index c28a12d90..d9852b944 100644 --- a/source/Indy.IL2CPU.IL.X86/X86MethodHeaderOp.cs +++ b/source/Indy.IL2CPU.IL.X86/X86MethodHeaderOp.cs @@ -1,4 +1,4 @@ -#define EXT_DEBUG +//#define EXT_DEBUG using System; using System.Linq; using Indy.IL2CPU.Assembler;