You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a working prototype of multicore LIBC and thread local storage.
It works by patching musl pthread_create so that it only initializes the thread area (mmap'd), copy TLS image and returning thread pointer. The thread pointer can be directly inserted into core FS_BASE msr.
There is an issue SystemLog::write. SystemLog::write runs smoothly on CPU#0, but not CPU#N where N>0. The code accesses some memory that is not mapped into the page tables of the aux CPUs. By removing SystemLog I can successfully print text concurrently (patched musl __lockfile with spinlock and away with the futex calls).