diff --git a/include/smp.hpp b/include/smp.hpp index 849f4f2..31fdae7 100644 --- a/include/smp.hpp +++ b/include/smp.hpp @@ -23,26 +23,33 @@ struct CPUData { /** @brief Used by syscall handler */ uint8_t *SystemCallStack; /* gs+0x0 */ + /** @brief Used by syscall handler */ uintptr_t TempStack; /* gs+0x8 */ + /** @brief Used by CPU */ uintptr_t Stack; + /** @brief CPU ID. */ long ID; + /** @brief Local CPU error code. */ long ErrorCode; - /** @brief Is CPU online? */ - bool IsActive; /** @brief Current running process */ Atomic CurrentProcess; + /** @brief Current running thread */ Atomic CurrentThread; /** @brief Architecture-specific data. */ CPUArchData Data; + /** @brief Checksum. Used to verify the integrity of the data. Must be equal to CPU_DATA_CHECKSUM (0xC0FFEE). */ int Checksum; + + /** @brief Is CPU online? */ + bool IsActive; }; CPUData *GetCurrentCPU();