Cosmos/source/Cosmos.Core.Plugs/CPUImpl.cs
2016-09-28 23:24:04 -05:00

58 lines
1.5 KiB
C#

using Cosmos.IL2CPU.Plugs;
using Cosmos.IL2CPU.Plugs.Assemblers;
using Cosmos.IL2CPU.Plugs.Assemblers.CPU;
namespace Cosmos.Core.Plugs
{
[Plug(Target = typeof(CPU))]
public class CPUImpl
{
[PlugMethod(Assembler = typeof(CPUUpdateIDTAsm))]
public static void UpdateIDT(CPU aThis, bool aEnableInterruptsImmediately)
{
}
[PlugMethod(Assembler = typeof(CPUGetAmountOfRAMAsm))]
public static uint GetAmountOfRAM()
{
return 0;
}
[PlugMethod(Assembler = typeof(CPUGetEndOfKernelAsm))]
public static uint GetEndOfKernel()
{
return 0;
}
[PlugMethod(Assembler = typeof(CPUZeroFillAsm))]
// TODO: implement this using REP STOSB and REPO STOSD
public static void ZeroFill(uint aStartAddress, uint aLength)
{
}
[PlugMethod(Assembler = typeof(CPUInitFloatAsm))]
public static void InitFloat(CPU aThis)
{
}
[PlugMethod(Assembler = typeof(CPUInitSSEAsm))]
public static void InitSSE(CPU aThis)
{
}
[PlugMethod(Assembler = typeof(CPUHaltAsm))]
public static void Halt(CPU aThis)
{
}
[PlugMethod(Assembler = typeof(CPUDisableINTsAsm))]
public static void DoDisableInterrupts()
{
}
[PlugMethod(Assembler = typeof(CPUEnableINTsAsm))]
public static void DoEnableInterrupts()
{
}
}
}