<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/arch/riscv64/conf/init, 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-07-09T19:12:27Z</updated>
<entry>
<title>start working on tests</title>
<updated>2024-07-09T19:12:27Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-09T19:12:27Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=e8a1df103cc28419dd7d4439c0b1d1739d110f78'/>
<id>urn:sha1:e8a1df103cc28419dd7d4439c0b1d1739d110f78</id>
<content type='text'>
+ Current setup will likely not last long, just a stopgap until I figure
  out how I want to build each testcase etc.

  Probably dir based, but I'll probably add some scripts that generate
  the build rules for each test case (or binary?). Also, should probably
  put ouput files in a build directory and keep the source clean, but
  again, good enough for now.

  Will have to start implementing more extensive tests, and probably
  come up with some way to compare textual output etc.
</content>
</entry>
<entry>
<title>add req_page back in as I realized it's useful</title>
<updated>2024-07-07T18:47:14Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-07T18:47:14Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=219c27d420fe0abe5515cefc2513c6fe60aafdf9'/>
<id>urn:sha1:219c27d420fe0abe5515cefc2513c6fe60aafdf9</id>
<content type='text'>
+ Can be used to pass contiguous memory regions to things like virtio
  block devices for implementing disk drivers etc.
</content>
</entry>
<entry>
<title>make executable entrypoint universal callback</title>
<updated>2024-07-07T15:12:55Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-07T15:12:55Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=fe4c623cb9320226866829317cea8ba0c49e7dbc'/>
<id>urn:sha1:fe4c623cb9320226866829317cea8ba0c49e7dbc</id>
<content type='text'>
+ Effectively means that all executables can be called into, but if an
  exe doesn't want to deal with anyone else it should just set a flag
  like `not_really_a_server` or whatever
</content>
</entry>
<entry>
<title>simplify assertions</title>
<updated>2024-07-07T04:02:46Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-07T04:02:46Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=b97967ab660243b723f246db03c2e4a82e125f3f'/>
<id>urn:sha1:b97967ab660243b723f246db03c2e4a82e125f3f</id>
<content type='text'>
+ No real point having multiple different levels of assertions, just say
  you assert something and be done with it
</content>
</entry>
<entry>
<title>add RAM usage counting</title>
<updated>2024-07-06T19:08:50Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-06T19:08:50Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=3528f88fc36df6964c0efed784ae223cfe93544e'/>
<id>urn:sha1:3528f88fc36df6964c0efed784ae223cfe93544e</id>
<content type='text'>
+ Slightly more overhead but will help track down possible memory leaks
  in the future. Could also add in a flag for turning off/on but I don't
  think the difference in performance is that significant.
</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>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>use nifty variable argument count trick</title>
<updated>2023-07-27T17:29:28Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-07-27T17:29:28Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=3212707a9ab549119ad0ad6441a07fe774c99f3b'/>
<id>urn:sha1:3212707a9ab549119ad0ad6441a07fe774c99f3b</id>
<content type='text'>
+ Found it in newlib. This allows the compiler to more effectively
  optimize away unnecessary register operations. Applied to both kernel
  and init.c for a slight speed increase.

  I really should move init.c to some other repository though, the
  binary files are starting to get annoying
</content>
</entry>
<entry>
<title>add ipc_kick</title>
<updated>2023-07-27T15:39:54Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-07-27T15:39:54Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=a26fb216729ba7a7d0fbfc97c2082c9db512aa36'/>
<id>urn:sha1:a26fb216729ba7a7d0fbfc97c2082c9db512aa36</id>
<content type='text'>
+ Tests will have to come later
</content>
</entry>
<entry>
<title>give compiler more room to optimize rpc invocation</title>
<updated>2023-06-05T17:31:44Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-06-05T17:31:44Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=67831847a3fb211784e1d143d472fd86c0e5fab8'/>
<id>urn:sha1:67831847a3fb211784e1d143d472fd86c0e5fab8</id>
<content type='text'>
+ Try to write arguments to memory as fast as possible to free up some
  registers that the compiler can then play with.
  Qemu runs ~1 700 000 rpc's per second, visionfive2 @1GHz (I think) ~800 000.
</content>
</entry>
</feed>
