<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wkern.git/kernel, branch master</title>
<subtitle>a UNIX-like RISC-V kernel written from scratch
</subtitle>
<id>https://git.itsnat.dev/wkern.git/atom?h=master</id>
<link rel='self' href='https://git.itsnat.dev/wkern.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/'/>
<updated>2026-07-30T00:11:29Z</updated>
<entry>
<title>create basic MMIO handler for console</title>
<updated>2026-07-30T00:11:29Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-07-30T00:11:29Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=1329d1db52ede274d63b56a7aa37dd25c833ec67'/>
<id>urn:sha1:1329d1db52ede274d63b56a7aa37dd25c833ec67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: update ELF parser</title>
<updated>2026-07-27T01:26:58Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-07-27T01:26:58Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=dcf065f3438b53b9bfd9628810040f94619d8c18'/>
<id>urn:sha1:dcf065f3438b53b9bfd9628810040f94619d8c18</id>
<content type='text'>
- added more header validity checks
- create section name retrieval
</content>
</entry>
<entry>
<title>fix: km_init fails to find memory</title>
<updated>2026-07-26T21:11:47Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-07-26T21:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=e98a69fd70533aa9f9b2bd1367e1ec158579d4c0'/>
<id>urn:sha1:e98a69fd70533aa9f9b2bd1367e1ec158579d4c0</id>
<content type='text'>
This resolves an issue where km_init would fail to find the memory
property if it was not the first node that it looked at.
</content>
</entry>
<entry>
<title>create ringbuffer for logging</title>
<updated>2026-07-26T20:26:49Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-07-26T20:25:22Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=5c12f756189373fb25220fe8824d4df785e61742'/>
<id>urn:sha1:5c12f756189373fb25220fe8824d4df785e61742</id>
<content type='text'>
</content>
</entry>
<entry>
<title>create elf.h</title>
<updated>2026-07-12T17:45:05Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-07-12T17:42:31Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=24fdac29fb8a1c7766869b05e7a17b2c4cc98ce1'/>
<id>urn:sha1:24fdac29fb8a1c7766869b05e7a17b2c4cc98ce1</id>
<content type='text'>
The ELF parser needs more work, there are more structs to be added.
memcpy was refactored from mem.h into common.h
endianness conversions were standardized in types.h
</content>
</entry>
<entry>
<title>create kzalloc</title>
<updated>2026-06-25T15:08:12Z</updated>
<author>
<name>Nathan</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-25T15:08:12Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=5d9942d70ca61af4d12cd2a531a190c98052c9c4'/>
<id>urn:sha1:5d9942d70ca61af4d12cd2a531a190c98052c9c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix memory allocator logic</title>
<updated>2026-06-25T15:03:22Z</updated>
<author>
<name>Nathan</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-25T15:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=27a91e1d9d6d312c519429965b201dd294065085'/>
<id>urn:sha1:27a91e1d9d6d312c519429965b201dd294065085</id>
<content type='text'>
- fixed an edge case in `kmalloc` where the broken block from a split
  may be too small to accomodate another `struct page`. this was fixed
such that if we do not have enough room to allocate another `struct
page` then `kmalloc` simply returns the entire page.
- fixed empty and single-element `free_list` edge cases in `kfree`
</content>
</entry>
<entry>
<title>update kmalloc</title>
<updated>2026-06-25T04:06:44Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-25T04:06:44Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=746212c43067836488b77b146c01852eafe07b14'/>
<id>urn:sha1:746212c43067836488b77b146c01852eafe07b14</id>
<content type='text'>
</content>
</entry>
<entry>
<title>create kmalloc and km_init</title>
<updated>2026-06-24T17:55:38Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-24T17:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=95e5618b0e4cf354c80d75b00b60539b5ed47150'/>
<id>urn:sha1:95e5618b0e4cf354c80d75b00b60539b5ed47150</id>
<content type='text'>
</content>
</entry>
<entry>
<title>create dtb allocator</title>
<updated>2026-06-20T00:05:01Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-20T00:05:01Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=5c15e93fa87800b1f8fae7ef688a9d41221526f1'/>
<id>urn:sha1:5c15e93fa87800b1f8fae7ef688a9d41221526f1</id>
<content type='text'>
the parent commit (b106df2447d23d6b3fcffa7cc87edde218d054f3) discussed
the possibility of creating dtb device discovery. for that, we have
replaced wdt device discovery with dtb device discovery. in the future,
we will use the pci kernel module to use device discovery via a PCI
controller
</content>
</entry>
</feed>
