<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/arch/riscv64/kernel/smp.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-11-01T08:28:04Z</updated>
<entry>
<title>formatting and docs updates</title>
<updated>2024-11-01T08:28:04Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-10-31T12:05:25Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=89e162f3916de5a4faef5bd626590d004bdcdc39'/>
<id>urn:sha1:89e162f3916de5a4faef5bd626590d004bdcdc39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>smp on visionfive2 'works'</title>
<updated>2024-11-01T08:27:51Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-10-30T14:23:15Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=d5e5afae9249da312b417bc4f5f45ac164404846'/>
<id>urn:sha1:d5e5afae9249da312b417bc4f5f45ac164404846</id>
<content type='text'>
</content>
</entry>
<entry>
<title>most of the way to passing tests</title>
<updated>2024-10-29T22:57:33Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-10-29T22:57:33Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=44a73ecab6e91519627786a5101cd4f1a2f2b0d7'/>
<id>urn:sha1:44a73ecab6e91519627786a5101cd4f1a2f2b0d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make sys_create() better + test</title>
<updated>2024-08-26T16:54:48Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-26T16:54:48Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=1b5a553194f47066d60bb1c9475af1f413af8f4a'/>
<id>urn:sha1:1b5a553194f47066d60bb1c9475af1f413af8f4a</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>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>smp now seems to work</title>
<updated>2024-07-07T04:00:43Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-07T04:00:43Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=122374c362ba8bb9082385da3c82e264ab594f15'/>
<id>urn:sha1:122374c362ba8bb9082385da3c82e264ab594f15</id>
<content type='text'>
+ Had some minor issues with a wraparound of size_t that effectively
  meant that some regions were allocated twice. Also, booting should be
  a bit more reliable now, turned out that the previous iteration of the
  booting was just accidentally working due to the kernel being placed
  'close enough' in RAM to where it was linked to. Fixed by allocating a
  vmem of O1 that maps the kernel to a 2MiB boundary at boot, pretty
  nifty.
</content>
</entry>
<entry>
<title>core bringup + various warnings</title>
<updated>2024-07-06T20:37:11Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-06T20:37:11Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=3fedbb6e1f849c5e0a4033d68201d60c2fc48121'/>
<id>urn:sha1:3fedbb6e1f849c5e0a4033d68201d60c2fc48121</id>
<content type='text'>
+ dbg_fdt() is apparently broken, possibly due to UB or something, but
  it causes some issues with optimizations enabled. Remove it
  temporarily
</content>
</entry>
<entry>
<title>move rpc stack handling to arch-specific code</title>
<updated>2023-10-09T13:15:06Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-10-09T11:57:18Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=9c9d589ea310f1290e4d6d2019fc8b51d9a86e42'/>
<id>urn:sha1:9c9d589ea310f1290e4d6d2019fc8b51d9a86e42</id>
<content type='text'>
+ Fairly considerable speedup, as we don't have to look up the rpc pte
  every time separately, instead cacheing them. Adds an architecture
  specific limitation to total rpc stack size, though.
</content>
</entry>
<entry>
<title>fix warnings in smp.c</title>
<updated>2023-08-04T17:56:05Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-08-04T17:55:47Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=7d327cbc68f30615b2f15ee403a986e068650b27'/>
<id>urn:sha1:7d327cbc68f30615b2f15ee403a986e068650b27</id>
<content type='text'>
+ Only occur with my version of riscv64-linux-gnu-gcc. Funny, that.
</content>
</entry>
</feed>
