Kernel/LibC: add flag to enable/disable sse support

SSE support is very experimental and causes GP. I decided to make
SSE not default until I get to fixing it :)
This commit is contained in:
Bananymous
2023-09-23 02:28:25 +03:00
parent 6bb2c80bdd
commit 7a7c5e433e
5 changed files with 24 additions and 2 deletions

View File

@@ -82,8 +82,10 @@ namespace Kernel
bool is_userspace() const { return m_is_userspace; }
#if __enable_sse
void save_sse() { asm volatile("fxsave %0" :: "m"(m_sse_storage)); }
void load_sse() { asm volatile("fxrstor %0" :: "m"(m_sse_storage)); }
#endif
private:
Thread(pid_t tid, Process*);
@@ -114,7 +116,9 @@ namespace Kernel
uint64_t m_terminate_blockers { 0 };
#if __enable_sse
alignas(16) uint8_t m_sse_storage[512] {};
#endif
friend class Scheduler;
};