<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kmi/src/regions.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-02T14:34:38Z</updated>
<entry>
<title>check spawn exhaustion</title>
<updated>2024-11-02T14:34:38Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-11-02T14:34:38Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=17fd9daf39cf79ae310c1b7d0eb459802517dc6a'/>
<id>urn:sha1:17fd9daf39cf79ae310c1b7d0eb459802517dc6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>initial exec support</title>
<updated>2024-11-02T13:28:23Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-11-02T13:28:23Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=d127146846f4d6561e15000d1469b715dafdb627'/>
<id>urn:sha1:d127146846f4d6561e15000d1469b715dafdb627</id>
<content type='text'>
</content>
</entry>
<entry>
<title>improvements to shared memory handling</title>
<updated>2024-08-30T16:20:21Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-30T16:20:21Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=314bca3dc19a864c76153bfcd5a58be8c40000f9'/>
<id>urn:sha1:314bca3dc19a864c76153bfcd5a58be8c40000f9</id>
<content type='text'>
+ Now each shared region is reference counter (technically each region
  is refernce counted, private regions just have a count of 1).
  Also, syscalls that touch the TLB get flushed, but should probably
  look into where else this flushing might be needed.
</content>
</entry>
<entry>
<title>fix a couple memory issues</title>
<updated>2024-08-30T15:54:12Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-30T15:54:12Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=ec30538a81c0e900797f4d88c1ee059afa7d9617'/>
<id>urn:sha1:ec30538a81c0e900797f4d88c1ee059afa7d9617</id>
<content type='text'>
+ get_mem_node() clears out the memory so we don't accidentally read
  stale flags

+ Thread creation simplified a bit, each thread references itself
  and data freeing is based on when the reference count reaches zero.
</content>
</entry>
<entry>
<title>convert addr to page in find_closest_used_region</title>
<updated>2024-08-27T16:10:55Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-27T16:10:55Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=cb1fd73f6b76c2297772f6faccb9b46b99f55e2c'/>
<id>urn:sha1:cb1fd73f6b76c2297772f6faccb9b46b99f55e2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix memory leaks destroying threads</title>
<updated>2024-08-26T20:00:55Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-26T20:00:55Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=3f194f1c7264945a63b0018b159cc83bd9385c59'/>
<id>urn:sha1:3f194f1c7264945a63b0018b159cc83bd9385c59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add malloc test</title>
<updated>2024-08-21T20:31:48Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-21T20:31:48Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=97ffab0a8472981b927d0f4e81bb72f6ecd69b86'/>
<id>urn:sha1:97ffab0a8472981b927d0f4e81bb72f6ecd69b86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>small fixes to issues reported by analyzer</title>
<updated>2024-08-17T21:17:35Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-08-17T21:17:35Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=ab011165cd440b5535d39febd8118e3e26b64b57'/>
<id>urn:sha1:ab011165cd440b5535d39febd8118e3e26b64b57</id>
<content type='text'>
+ Currently analyzer has to be run manually with something like

	make CFLAGS='-fanalyzer -Wno-analyzer-infinite-loop'

  I use an infinite loop as an assert, I know it's not great/technically
  UB but it's just a fallback.

+ Analyzer is still somewhat limited, I could add in more
  attributes about different functions, such as memory allocation sizes
  etc.

+ If I ever set up a CI pipeline, remember to use analyzer?
</content>
</entry>
<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>allow regions to have reserved areas</title>
<updated>2024-07-09T16:24:12Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-07-09T16:24:12Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/kmi/commit/?id=89d7cf197b2cae130565467bdfad5d5ef5fed2dd'/>
<id>urn:sha1:89d7cf197b2cae130565467bdfad5d5ef5fed2dd</id>
<content type='text'>
+ A reserved area is an area at the start of the region that should not
  be used unless explicitly asked for, for example null pages.

  As such, a small correction to my previous commit message: There's no
  danger in not locking req_mem() etc, as a null page will only be
  allocated when explicitly asked for.
</content>
</entry>
</feed>
