From 2aa182808db7a60528fd2b34344d9bc243b70add Mon Sep 17 00:00:00 2001 From: Elia Sulimanov Date: Wed, 17 Jun 2020 22:29:31 +0300 Subject: [PATCH] Done CPU api docs --- source/Cosmos.Core/CPU.cs | 43 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/source/Cosmos.Core/CPU.cs b/source/Cosmos.Core/CPU.cs index 13a1c1a88..5f9f7ea77 100644 --- a/source/Cosmos.Core/CPU.cs +++ b/source/Cosmos.Core/CPU.cs @@ -3,32 +3,59 @@ using IL2CPU.API.Attribs; namespace Cosmos.Core { // Non hardware class, only used by core and hardware drivers for ports etc. + /// + /// CPU class. Non hardware class, only used by core and hardware drivers for ports etc. + /// public class CPU { // Amount of RAM in MB's. // needs to be static, as Heap needs it before we can instantiate objects + /// + /// Get amount of RAM in MB's. Plugged. + /// [PlugMethod(PlugRequired = true)] public static uint GetAmountOfRAM() => throw null; // needs to be static, as Heap needs it before we can instantiate objects + /// + /// Get end of the kernel. Plugged. + /// [PlugMethod(PlugRequired = true)] public static uint GetEndOfKernel() => throw null; + /// + /// Update IDT. Plugged. + /// [PlugMethod(PlugRequired = true)] public void UpdateIDT(bool aEnableInterruptsImmediately) => throw null; + /// + /// Init float. Plugged. + /// [PlugMethod(PlugRequired = true)] public void InitFloat() => throw null; + /// + /// Init SSE. Plugged. + /// [PlugMethod(PlugRequired = true)] public void InitSSE() => throw null; + /// + /// Zero fill. Plugged. + /// [PlugMethod(PlugRequired = true)] public static void ZeroFill(uint aStartAddress, uint aLength) => throw null; + /// + /// Hult the CPU. Plugged. + /// [PlugMethod(PlugRequired = true)] public void Halt() => throw null; + /// + /// Reboot the CPU. + /// public void Reboot() { // Disable all interrupts @@ -42,15 +69,27 @@ namespace Cosmos.Core Halt(); // If it didn't work, Halt the CPU } + /// + /// Enable interrupts. Plugged. + /// [PlugMethod(PlugRequired = true)] private static void DoEnableInterrupts() => throw null; + /// + /// Disable interrupts. Plugged. + /// [PlugMethod(PlugRequired = true)] private static void DoDisableInterrupts() => throw null; + /// + /// Check if interrupts enabled. + /// [AsmMarker(AsmMarker.Type.Processor_IntsEnabled)] public static bool mInterruptsEnabled; + /// + /// Enable interrupts. + /// public static void EnableInterrupts() { mInterruptsEnabled = true; @@ -58,9 +97,9 @@ namespace Cosmos.Core } /// - /// Returns if the interrupts were actually enabled + /// Returns if the interrupts were actually enabled. /// - /// + /// bool value. public static bool DisableInterrupts() { DoDisableInterrupts();