<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/arch/riscv64/source.mk, 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-08-30T15:52:55Z</updated>
<entry>
<title>specify mabi and march</title>
<updated>2024-08-30T15:52:55Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-30T15:52:55Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=5cc76c436fa1234323bad51d72d1291d95991da6'/>
<id>urn:sha1:5cc76c436fa1234323bad51d72d1291d95991da6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cleanup riscv64/conf</title>
<updated>2024-07-17T16:34:03Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-17T16:34:03Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=83f8e82c421fa9013ac813b1560abf1c749822ca'/>
<id>urn:sha1:83f8e82c421fa9013ac813b1560abf1c749822ca</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>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>slight improvements to building</title>
<updated>2023-06-07T18:30:44Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-06-07T18:30:44Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=4b3799eaf4b7ef32eaf40910a7abf2719ce0fa6c'/>
<id>urn:sha1:4b3799eaf4b7ef32eaf40910a7abf2719ce0fa6c</id>
<content type='text'>
+ User can now specify debug, release and assert handling
</content>
</entry>
<entry>
<title>disable LTO with LLVM</title>
<updated>2023-05-11T21:43:03Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-05-11T21:43:03Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=50693b398afd65120f6ac62b9b28c7af7765c75a'/>
<id>urn:sha1:50693b398afd65120f6ac62b9b28c7af7765c75a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix LLVM compilation</title>
<updated>2023-05-11T21:36:18Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-05-11T21:36:18Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=4cde8bceb1ff14896884c224850f6c7611551175'/>
<id>urn:sha1:4cde8bceb1ff14896884c224850f6c7611551175</id>
<content type='text'>
+ RELEASE=1 doesn't work for some reason, though
</content>
</entry>
<entry>
<title>arbitrary load address and RAM base detection</title>
<updated>2023-05-11T19:55:31Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-05-11T19:55:31Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=27ffa747f36aee9c1d5bbc61395a078238366070'/>
<id>urn:sha1:27ffa747f36aee9c1d5bbc61395a078238366070</id>
<content type='text'>
+ Both kind of go hand in hand, made sense to do both at the same time.

Some parts feel slightly hacky, the loader works by placing everything
on the stack and avoiding global values. Still, seems to work?
</content>
</entry>
<entry>
<title>make cross compile more conformant</title>
<updated>2023-05-06T17:33:53Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2023-05-06T17:33:53Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=6973772c26a0975e2df5623a705d91573b4bfd45'/>
<id>urn:sha1:6973772c26a0975e2df5623a705d91573b4bfd45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>riscv32 boots and advances as far as riscv64</title>
<updated>2022-09-14T18:21:27Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2022-09-11T18:50:55Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=025778e89e7d0fe3cd1ad53537c9cc6f3cd819cc'/>
<id>urn:sha1:025778e89e7d0fe3cd1ad53537c9cc6f3cd819cc</id>
<content type='text'>
</content>
</entry>
</feed>
