<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/src/bkl.c, branch master</title>
<subtitle>ACTIVE - Kernel with migrating threads as IPC</subtitle>
<id>https://metanimi.dy.fi/cgit/kmi/atom?h=master</id>
<link rel='self' href='https://metanimi.dy.fi/cgit/kmi/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/'/>
<updated>2024-10-29T19:17:31Z</updated>
<entry>
<title>start moving towards threads always being in rpc</title>
<updated>2024-10-29T19:17:31Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-10-29T19:17:31Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=5976ad390a15726c3ddfacf8c8b282c8350f9554'/>
<id>urn:sha1:5976ad390a15726c3ddfacf8c8b282c8350f9554</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix LLVM</title>
<updated>2024-07-08T15:04:03Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-08T14:43:59Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=e134202611a50b358c147c92bfb8a7f443030b8b'/>
<id>urn:sha1:e134202611a50b358c147c92bfb8a7f443030b8b</id>
<content type='text'>
+ Anything extern is right out as LLVM doesn't produce correct code for
  them. Maybe if I added some extra attributes but I'm skeptical.
  Replaced with static variables and getters/setters.

+ Inline ASM is apparently a bit buggy, so use an assembly stub when jumping to init.

+ Minimize work done in main() to minimize chance of LLVM doing something silly.
  Still not 100% certain that I shouldn't just write the main() as an assembly stub
  in arch/riscv64 to be absolutely sure everything works as intended.

+ Make .kernel.start section SHF_ALLOC, otherwise lld complains about
  pc-relative addressing

Probably some other stuff as well that I'm forgetting right now. But at least with
LLVM14 LTO seems to work, which is pretty cool?
</content>
</entry>
<entry>
<title>pretty massive virtual memory rewrite</title>
<updated>2024-07-06T15:14:04Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-06T15:14:04Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=76517486919657ecadda9867125dc6730f29a5b7'/>
<id>urn:sha1:76517486919657ecadda9867125dc6730f29a5b7</id>
<content type='text'>
+ The system is now a bit simpler and hopefully easier to understand, while also
  extending the shared memory to be 1:N, where there is one owner who
  may become a zombie while waiting for the N to die.
</content>
</entry>
<entry>
<title>implement bkl</title>
<updated>2024-07-05T18:02:52Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-05T18:02:52Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=608f44306a6f0d5692f5c81bcbfe7a621ec254ba'/>
<id>urn:sha1:608f44306a6f0d5692f5c81bcbfe7a621ec254ba</id>
<content type='text'>
+ Start out using big kernel lock, apparently seL4 thinks its good
  enough. I might have a go at using a more fair lock, and possibly
  moving to more fine-grained locks if I really feel the need to get
  scalability up.
</content>
</entry>
</feed>
