1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:47:35 +00:00
serenity/DevTools/UserspaceEmulator
Andreas Kling 734f63d522 UserspaceEmulator: Add basic TLS (thread-local storage) support
The SoftMMU now receives full X86::LogicalAddress values from SoftCPU.
This allows the MMU to reroute TLS accesses to a special memory region.

The ELF executable's PT_TLS header tells us how to allocate the TLS.

Basically, the GS register points to a magical 4-byte area which has
a pointer to the TCB (thread control block). The TCB lives in normal
flat memory space and is accessed through the DS register.
2020-07-12 01:36:45 +02:00
..
CMakeLists.txt UserspaceEmulator: Start sketching out a SoftMMU class :^) 2020-07-09 16:18:47 +02:00
Emulator.cpp UserspaceEmulator: Add basic TLS (thread-local storage) support 2020-07-12 01:36:45 +02:00
Emulator.h UserspaceEmulator: Symbolicate disassembly output :^) 2020-07-11 17:18:07 +02:00
main.cpp UserspaceEmulator: Symbolicate disassembly output :^) 2020-07-11 17:18:07 +02:00
SoftCPU.cpp UserspaceEmulator: Add basic TLS (thread-local storage) support 2020-07-12 01:36:45 +02:00
SoftCPU.h UserspaceEmulator: Implement STOSB/STOSW/STOSD 2020-07-11 23:57:14 +02:00
SoftMMU.cpp UserspaceEmulator: Add basic TLS (thread-local storage) support 2020-07-12 01:36:45 +02:00
SoftMMU.h UserspaceEmulator: Add basic TLS (thread-local storage) support 2020-07-12 01:36:45 +02:00