aboutsummaryrefslogtreecommitdiff
path: root/kernel/string.S
Commit message (Collapse)AuthorAgeFilesLines
* Move string.S to the lib directoryMiquel Sabaté Solà2024-11-261-97/+0
| | | | | | | 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à <mikisabate@gmail.com>
* Move 'memcpy' to assemblyMiquel Sabaté Solà2024-11-261-1/+26
| | | | | | | And apparently 'memmove' is not needed anymore, so we dodged a bullet there. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Initial parsing of the provided initrd fileMiquel Sabaté Solà2024-11-211-1/+27
| | | | | | | | | | | | 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à <mikisabate@gmail.com>
* string: Cleanup leading tabsMiquel Sabaté Solà2024-11-201-3/+3
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Fetch the initrd address from the DTB blobMiquel Sabaté Solà2024-11-201-0/+46
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->linux,initrd-start" and "chosen->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à <mikisabate@gmail.com>