kern: write thread handle to tls +0x110 on creation

This commit is contained in:
Alula authored and NaGa committed 2026-04-04 21:30:18 +02:00
1 parent db41e33507
commit 688091abc9
4 files changed
+10 -2

No files matched your search

@@ -27,8 +27,9 @@ namespace ams::svc::arch::arm {
volatile u16 interrupt_flag;
volatile u8 cache_maintenance_flag;
volatile s64 thread_cpu_time;
volatile ams::svc::Handle thread_handle;
/* TODO: Should we bother adding the Nintendo aarch32 thread local context here? */
uintptr_t TODO[(0x200 - 0x110) / sizeof(uintptr_t)];
uintptr_t TODO[(0x200 - 0x114) / sizeof(uintptr_t)];
};
ALWAYS_INLINE ThreadLocalRegion *GetThreadLocalRegion() {
@@ -27,8 +27,9 @@ namespace ams::svc::arch::arm64 {
volatile u16 interrupt_flag;
volatile u8 cache_maintenance_flag;
volatile s64 thread_cpu_time;
volatile ams::svc::Handle thread_handle;
/* TODO: How should we handle libnx vs Nintendo user thread local space? */
uintptr_t TODO[(0x200 - 0x110) / sizeof(uintptr_t)];
uintptr_t TODO[(0x200 - 0x114) / sizeof(uintptr_t)];
};
static_assert(__builtin_offsetof(ThreadLocalRegion, disable_count) == 0x100);
static_assert(__builtin_offsetof(ThreadLocalRegion, interrupt_flag) == 0x102);