<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fbos/kernel/string.S, branch main</title>
<subtitle>A RISC-V operating system devoted to running fizz/buzz processes.
</subtitle>
<id>https://git.mssola.com/os/fbos/atom?h=main</id>
<link rel='self' href='https://git.mssola.com/os/fbos/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/'/>
<updated>2024-11-26T21:38:35Z</updated>
<entry>
<title>Move string.S to the lib directory</title>
<updated>2024-11-26T21:38:35Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-11-26T21:38:35Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/commit/?id=053f93edecf6aa02ec29366621adf2de6522cdf3'/>
<id>urn:sha1:053f93edecf6aa02ec29366621adf2de6522cdf3</id>
<content type='text'>
It was weird enough to have it in the 'kernel' directory, as it's way
more fitting to have it on 'lib'.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Move 'memcpy' to assembly</title>
<updated>2024-11-26T21:27:02Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-11-26T21:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/commit/?id=fa8f9e9f44d47f5b2d0b4cc6a2cc8f328e0caa80'/>
<id>urn:sha1:fa8f9e9f44d47f5b2d0b4cc6a2cc8f328e0caa80</id>
<content type='text'>
And apparently 'memmove' is not needed anymore, so we dodged a bullet
there.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Initial parsing of the provided initrd file</title>
<updated>2024-11-21T12:09:21Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-11-21T12:09:21Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/commit/?id=40ffc517e20c381ce8fdb3a881726a26a52e35db'/>
<id>urn:sha1:40ffc517e20c381ce8fdb3a881726a26a52e35db</id>
<content type='text'>
We expect a CPIO archive with the 'newc' format for the initrd. Parse
this archive from the given initrd address and fetch the address for
each ELF executable while also pairing which task correspond to which
ELF.

This commit leaves to do the actual parsing of the ELF file for each
task, while also leaving some string utilities to be refined.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>string: Cleanup leading tabs</title>
<updated>2024-11-20T10:52:21Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-11-20T10:52:21Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/commit/?id=bc649fa5a63c187d3bf1c5ec8813469e13e7b0fd'/>
<id>urn:sha1:bc649fa5a63c187d3bf1c5ec8813469e13e7b0fd</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fetch the initrd address from the DTB blob</title>
<updated>2024-11-20T10:43:08Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-11-20T10:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/os/fbos/commit/?id=fb9627cc985912a57de8b4bedc98991e290e4075'/>
<id>urn:sha1:fb9627cc985912a57de8b4bedc98991e290e4075</id>
<content type='text'>
The kernel entry has a pointer to the DTB blob as a parameter. From this
pointer we can parse the the DTB blob to find the properties
"chosen-&gt;linux,initrd-start" and "chosen-&gt;linux,initrd-start". These
properties are guaranteed to have 64-bit addresses which point where the
initrd is in memory, which we need to fetch the binaries to be loaded.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
</feed>
