<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wkern.git/kernel/mem.c, 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-12T17:45:05Z</updated>
<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>
<entry>
<title>create wdt device discovery</title>
<updated>2026-06-17T18:05:15Z</updated>
<author>
<name>Nathan Lee</name>
<email>me@nwlee.tech</email>
</author>
<published>2026-06-17T18:05:15Z</published>
<link rel='alternate' type='text/html' href='https://git.itsnat.dev/wkern.git/commit/?id=b106df2447d23d6b3fcffa7cc87edde218d054f3'/>
<id>urn:sha1:b106df2447d23d6b3fcffa7cc87edde218d054f3</id>
<content type='text'>
discuss: per wrv32em status, consider moving custom wdt format to dtb or
pci device discovery (potentially both: we have the framework for pci.ko
extension after using dtb to discover memory and pci devices)
</content>
</entry>
</feed>
