<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/src/timer.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>2026-01-24T20:34:12Z</updated>
<entry>
<title>improve timer handling</title>
<updated>2026-01-24T20:34:12Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-01-24T20:34:12Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=1eaac15cdb220df7536c74774a1ce7d1f0519c63'/>
<id>urn:sha1:1eaac15cdb220df7536c74774a1ce7d1f0519c63</id>
<content type='text'>
+ Previous code assumed a timer would only trigger when requested, but
  didn't explicitly disable timers during init. Newer versions of qemu
  (&gt;= 10?) seem to have some kind of timer set, unsure if that's via
  OpenSBI or what exactly but some slower tests were failing because of
  it.
</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>add orphan checking to timer and irq handling</title>
<updated>2024-07-08T14:38:59Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-08T14:38:59Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=7e828ec1e1479ff9a8afe845539d08ca0dfada5f'/>
<id>urn:sha1:7e828ec1e1479ff9a8afe845539d08ca0dfada5f</id>
<content type='text'>
</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>
<entry>
<title>more complete interrupt handling outline</title>
<updated>2024-07-02T18:40:10Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-02T18:40:10Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=8a3452098267e1af127d6c4f1836a9d82cd23f38'/>
<id>urn:sha1:8a3452098267e1af127d6c4f1836a9d82cd23f38</id>
<content type='text'>
+ Still largely untested, should really try to come up with a proper
  testsuite, at the moment it's mostly me trying things out in the (as
  of yet unreleased) kmx repo
</content>
</entry>
<entry>
<title>expand notifications into interrupt handlers</title>
<updated>2024-07-01T20:34:57Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-01T20:34:57Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=7ad9c01dad7b1b46eced8290b8b991383d648188'/>
<id>urn:sha1:7ad9c01dad7b1b46eced8290b8b991383d648188</id>
<content type='text'>
+ Terminology is still a bit poor, and will still have to write
  documentation + implement ipis properly
</content>
</entry>
<entry>
<title>slight tweaks to sptree stuff</title>
<updated>2024-06-01T12:22:06Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-06-01T12:22:06Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=e8f80bae97a835b6b256228d4bbeaf48ae16dcbb'/>
<id>urn:sha1:e8f80bae97a835b6b256228d4bbeaf48ae16dcbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rename common to src</title>
<updated>2024-05-24T15:13:43Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-05-24T10:24:27Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=bc600ecc3bdf0f189861dfb840f70c2339a7a853'/>
<id>urn:sha1:bc600ecc3bdf0f189861dfb840f70c2339a7a853</id>
<content type='text'>
+ I keep starting to type src and wondering why autocomplete won't work,
  I guess src is just uncounciously a better name
</content>
</entry>
</feed>
