From dc76654709f59faa804b5301f2a630bb45fca737 Mon Sep 17 00:00:00 2001 From: kudzu_cp <6d05c8c8ef5431987001abfdb2eadc9593ac9498> Date: Sat, 21 Aug 2010 01:20:56 +0000 Subject: [PATCH] --- .../Assemblers/ClearInterruptsTable.cs | 20 --------- .../Assemblers/CreateGDT.cs | 43 ------------------- .../Assemblers/GetEndOfKernel.cs | 15 ------- .../Assemblers/GetEndOfStack.cs | 19 -------- .../Cosmos.Kernel.Plugs/Assemblers/Halt.cs | 16 ------- .../Assemblers/IORead16.cs | 21 --------- .../Assemblers/IORead32.cs | 18 -------- .../Cosmos.Kernel.Plugs/Assemblers/IORead8.cs | 21 --------- .../Assemblers/IOWrite16.cs | 17 -------- .../Assemblers/IOWrite32.cs | 17 -------- .../Assemblers/IOWrite8.cs | 17 -------- .../Assemblers/ZeroFill.cs | 32 -------------- .../Cosmos.Kernel.Plugs.csproj | 14 ------ source/Cosmos/Cosmos.Kernel.Plugs/Hardware.cs | 26 ----------- .../Cosmos.Kernel.Plugs/ValueTypeImpl.cs | 12 ------ 15 files changed, 308 deletions(-) delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ClearInterruptsTable.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/CreateGDT.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfKernel.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfStack.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/Halt.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead16.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead32.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead8.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite16.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite32.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite8.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ZeroFill.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/Hardware.cs delete mode 100644 source/Cosmos/Cosmos.Kernel.Plugs/ValueTypeImpl.cs diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ClearInterruptsTable.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ClearInterruptsTable.cs deleted file mode 100644 index bb5a3649a..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ClearInterruptsTable.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using CPUx86 = Cosmos.Compiler.Assembler.X86; -using CPUAll = Cosmos.Compiler.Assembler; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public class ClearInterruptsTable: AssemblerMethod { - - public override void AssembleNew(object aAssembler, object aMethodInfo) { - new CPUx86.ClrInterruptFlag(); - new CPUx86.Move { DestinationRef = CPUAll.ElementReference.New("_NATIVE_IDT_Pointer"), DestinationIsIndirect = true, Size = 16, SourceValue = 0 }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceRef = CPUAll.ElementReference.New("_NATIVE_IDT_Pointer") }; - new CPUx86.Lidt { DestinationReg = CPUx86.Registers.EAX, DestinationIsIndirect = true }; - new CPUx86.Sti(); - } - } -} diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/CreateGDT.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/CreateGDT.cs deleted file mode 100644 index 344f1fe11..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/CreateGDT.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUAll = Cosmos.Compiler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; -using System.Collections.Generic; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public class CreateGDT: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - string xFieldName = "_NATIVE_GDT_Contents"; - string xFieldData // Null Segment - = "0,0,0,0,0,0,0,0" // Code Segment - + ", 0xFF, 0xFF, 0, 0, 0, 0x99, 0xCF, 0" // Data Segment - + ", 0xFF,0xFF,0,0,0,0x93,0xCF,0"; - //aAssembler.DataMembers.Add(new KeyValuePair (aAssembler.CurrentGroup,new DataMember(xFieldName, "db", xFieldData))); - //xFieldName = "_NATIVE_GDT_Pointer"; - ////xFieldData = "0x17, (_NATIVE_GDT_Contents and 0xFFFF), (_NATIVE_GDT_Contents shr 16)"; - //aAssembler.DataMembers.Add(new KeyValuePair (aAssembler.CurrentGroup,new DataMember(xFieldName, "dw", "0x37,0,0"))); - var xAssembler = (Assembler)aAssembler; - xAssembler.DataMembers.Add(new CPUAll.DataMember(xFieldName, new byte[] {0,0,0,0,0,0,0,0 // Code Segment - , 0xFF, 0xFF, 0, 0, 0, 0x99, 0xCF, 0 // Data Segment - , 0xFF,0xFF,0,0,0,0x93,0xCF,0})); - xAssembler.DataMembers.Add(new CPUAll.DataMember("_NATIVE_GDT_Pointer", new ushort[] { 0x17, 0, 0 })); - - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceRef = CPUAll.ElementReference.New("_NATIVE_GDT_Pointer") }; - new CPUx86.Move { DestinationRef = CPUAll.ElementReference.New("_NATIVE_GDT_Pointer"), DestinationIsIndirect = true, DestinationDisplacement = 2, SourceRef = CPUAll.ElementReference.New("_NATIVE_GDT_Contents") }; - - new CPUAll.Label(".RegisterGDT"); - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceRef = CPUAll.ElementReference.New("_NATIVE_GDT_Pointer") }; - new CPUx86.Lgdt { DestinationReg = CPUx86.Registers.EAX, DestinationIsIndirect = true }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.AX, SourceValue = 0x10 }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.DS, SourceReg = CPUx86.Registers.AX }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.ES, SourceReg = CPUx86.Registers.AX }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.FS, SourceReg = CPUx86.Registers.AX }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.GS, SourceReg = CPUx86.Registers.AX }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.SS, SourceReg = CPUx86.Registers.AX }; - // Force reload of code segement - new CPUx86.JumpToSegment { Segment = 8, DestinationLabel = "flush__GDT__table" }; - new CPUAll.Label("flush__GDT__table"); - } - } -} diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfKernel.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfKernel.cs deleted file mode 100644 index 50ba45bde..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfKernel.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using Cosmos.IL2CPU.Plugs; - -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUAll = Cosmos.Compiler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; -using HW = Cosmos.Hardware2; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public class GetEndOfKernel: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - new CPUx86.Push { DestinationRef = CPUAll.ElementReference.New("_end_code") }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfStack.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfStack.cs deleted file mode 100644 index 13a57103b..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/GetEndOfStack.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using Cosmos.IL2CPU.Plugs; -using CPUx86 = Cosmos.Compiler.Assembler.X86; -using Cosmos.Compiler.Assembler; - -namespace Cosmos.Kernel.Plugs.Assemblers -{ - public class GetEndOfStack : AssemblerMethod - { - public override void AssembleNew(object aAssembler, object aMethodInfo) - { - new CPUx86.Push - { - DestinationRef = ElementReference.New("Kernel_Stack") - }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/Halt.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/Halt.cs deleted file mode 100644 index cc8ffbfca..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/Halt.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - - public class Halt: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - new CPUx86.Halt(); - } - } -} diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead16.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead16.cs deleted file mode 100644 index be7fe6f8e..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead16.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IORead16: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to read a port. We need to have some kind of inline ASM option that can emit a single out instruction - //TODO: Also make an attribute that forces normal inlining fo a method - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; - //TODO: Do we need to clear rest of EAX first? - // MTW: technically not, as in other places, it _should_ be working with AL too.. - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceValue = 0 }; - new CPUx86.In { DestinationReg = CPUx86.Registers.AX }; - new CPUx86.Push { DestinationReg = CPUx86.Registers.EAX }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead32.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead32.cs deleted file mode 100644 index 338307dff..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead32.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IORead32: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to read a port. We need to have some kind of inline ASM option that can emit a single out instruction - //TODO: Also make an attribute that forces normal inlining fo a method - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; - new CPUx86.In { DestinationReg = CPUx86.Registers.EAX }; - new CPUx86.Push { DestinationReg = CPUx86.Registers.EAX }; - } - } -} diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead8.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead8.cs deleted file mode 100644 index 06656769c..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IORead8.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IORead8: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to read a port. We need to have some kind of inline ASM option that can emit a single out instruction - //TODO: Also make an attribute that forces normal inlining fo a method - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; - //TODO: Do we need to clear rest of EAX first? - // MTW: technically not, as in other places, it _should_ be working with AL too.. - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceValue = 0 }; - new CPUx86.In { DestinationReg = CPUx86.Registers.AL }; - new CPUx86.Push { DestinationReg = CPUx86.Registers.EAX }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite16.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite16.cs deleted file mode 100644 index 32ce93962..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite16.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IOWrite16: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to write to a single port. We need to have some kind of inline ASM option that can emit a single out instruction - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0xC }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; - new CPUx86.Out { DestinationReg = CPUx86.Registers.AX }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite32.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite32.cs deleted file mode 100644 index c854313c6..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite32.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IOWrite32: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to write to a single port. We need to have some kind of inline ASM option that can emit a single out instruction - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0xC }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; - new CPUx86.Out { DestinationReg = CPUx86.Registers.EAX }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite8.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite8.cs deleted file mode 100644 index 33e8e9ed4..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/IOWrite8.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public sealed class IOWrite8: AssemblerMethod { - public override void AssembleNew(object aAssembler, object aMethodInfo) { - //TODO: This is a lot of work to write to a single port. We need to have some kind of inline ASM option that can emit a single out instruction - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDX, SourceReg = CPUx86.Registers.EBP, SourceDisplacement = 0xC, SourceIsIndirect = true }; - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.EBP, SourceDisplacement = 0x8, SourceIsIndirect = true }; - new CPUx86.Out { DestinationReg = CPUx86.Registers.AL }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ZeroFill.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ZeroFill.cs deleted file mode 100644 index a3d8844e2..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Assemblers/ZeroFill.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Cosmos.IL2CPU.Plugs; -using Assembler = Cosmos.Compiler.Assembler.Assembler; -using CPUAll = Cosmos.Compiler.Assembler; -using CPUx86 = Cosmos.Compiler.Assembler.X86; - -using CosAssembler = Cosmos.Compiler.Assembler.Assembler; -using CosCPUAll = Cosmos.Compiler.Assembler; -using CosCPUx86 = Cosmos.Compiler.Assembler.X86; - -namespace Cosmos.Kernel.Plugs.Assemblers { - public class ZeroFill: AssemblerMethod { - - // public static void ZeroFill(uint aStartAddress, uint aLength) {} - public override void AssembleNew(object aAssembler, object aMethodInfo) - { - new CPUx86.ClrDirFlag(); - new CPUx86.Move { DestinationReg = CPUx86.Registers.EDI, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0xC }; //address - new CPUx86.Move { DestinationReg = CPUx86.Registers.ECX, SourceReg = CPUx86.Registers.EBP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; //length - new CPUx86.Move { DestinationReg = CPUx86.Registers.EAX, SourceValue = 0 }; - new CPUx86.ShiftRight { DestinationReg = CPUx86.Registers.ECX, SourceValue = 1 }; - new CPUx86.ConditionalJump { Condition = CPUx86.ConditionalTestEnum.Below, DestinationLabel = ".step2" }; - new CPUx86.StoreByteInString(); - new CPUAll.Label(".step2"); - new CPUx86.ShiftRight { DestinationReg = CPUx86.Registers.ECX, SourceValue = 1 }; - new CPUx86.ConditionalJump { Condition = CPUx86.ConditionalTestEnum.Below, DestinationLabel = ".step3" }; - new CPUx86.StoreWordInString(); - new CPUAll.Label(".step3"); - new CPUx86.Stos { Size = 32, Prefixes = CPUx86.InstructionPrefixes.Repeat }; - } - } -} \ No newline at end of file diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Cosmos.Kernel.Plugs.csproj b/source/Cosmos/Cosmos.Kernel.Plugs/Cosmos.Kernel.Plugs.csproj index c874ea707..115975d8a 100644 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Cosmos.Kernel.Plugs.csproj +++ b/source/Cosmos/Cosmos.Kernel.Plugs/Cosmos.Kernel.Plugs.csproj @@ -67,7 +67,6 @@ - @@ -78,32 +77,19 @@ - - - - - - - - - - - - - diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/Hardware.cs b/source/Cosmos/Cosmos.Kernel.Plugs/Hardware.cs deleted file mode 100644 index ff393c32e..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/Hardware.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Cosmos.IL2CPU.Plugs; -using HW = Cosmos.Hardware2; - -namespace Cosmos.Kernel.Plugs.Other { - [Plug(Target = typeof(HW.Hardware))] - public static class Hardware { - [PlugMethod(Assembler = typeof(Assemblers.IOWrite8))] - public static void IOWriteByte(ushort aPort, byte aData) { - } - [PlugMethod(Assembler = typeof(Assemblers.IORead8))] - public static byte IOReadByte(ushort aPort) { - return 0; - } - [PlugMethod(Assembler = typeof(Assemblers.IOWrite16))] - public static void IOWriteWord(ushort aPort, ushort aData) { - } - [PlugMethod(Assembler = typeof(Assemblers.IORead16))] - public static ushort IOReadWord(ushort aPort) { - return 0; - } - - } -} diff --git a/source/Cosmos/Cosmos.Kernel.Plugs/ValueTypeImpl.cs b/source/Cosmos/Cosmos.Kernel.Plugs/ValueTypeImpl.cs deleted file mode 100644 index f358aeffd..000000000 --- a/source/Cosmos/Cosmos.Kernel.Plugs/ValueTypeImpl.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using Cosmos.IL2CPU.Plugs; - -namespace Cosmos.Kernel.Plugs { - [Plug(Target=typeof(ValueType))] - public class ValueTypeImpl { - public static bool Equals(ValueType aThis, object aObject) { - throw new NotImplementedException("ValueType.Equals Not Implemented!"); - } - } -}