twizzler-operating-system / twizzler

The Twizzler Operating System
BSD 3-Clause "New" or "Revised" License
62 stars 13 forks source link

Implement TLS Variant I in the Twizzler ABI #142

Closed PandaZ3D closed 10 months ago

PandaZ3D commented 10 months ago

Similar to #128, we implement TLS Variant I which is used by some architectures other than x86, namely ARM. The right TLS variant is chosen in the arch part of the twizzler-abi crate. Once we had TLS "working" we found out that the data segment of the init program's ELF executable was partially mapped to a read-only slot. So we ended up setting the offset of where data segment starts for the aarch64-unknown-twizzler triple. After this we are able to get the init program to run, and print "Hello, World 42." It gets to the point where it waits for the device manager which we have yet to implement support for on aarch64.

Summary