Skip to content

AAA TODOs and misc ideas for Tilck

Vladislav K. Valtchev edited this page Oct 5, 2024 · 5 revisions

This is an informal list of TODOs and nice ideas for the Tilck project.

Legend

  • S = Size (1-10)

    • 1 means less than 100 LoC
    • 2 means up to hundreds of LoC
    • 3 means 1-2k LoC
    • 4 means 2-3k LoC
    • 5 means at least 3-4k LoC
    • 8 means at least 7-8k LoC, hopefully less than 10k
    • 10 means at least 10k-15k LoC or more
  • C = Complexity (1-10), for an experienced kernel engineer (L4-L5 level).

    • 1 means trivial
    • 2-3 means simple
    • 5-6 means medium
    • 7 means challenging
    • 8-9 means difficult
    • 10 means extremely difficult

For non-kernel engineers, it's totally non-obvious how to do determine the complexity of a task. It depends a lot on the particular profile of the person. Generally speaking, the subjective complexity of a task raises when the person is less experienced. For example, depending on the person, a simple or medium task might be perceived subjectively as difficult.

Idea / Task / Project S C Status Component
Make Tilck work on x86-64 10 10 in progress everything
Add support for SMBIOS table 2 3 not started kernel
Design and implement utils to test corner cases 2 2 not started sys tests
Write unit tests for the console ANSI sequences 3 2 not started unit tests
Use QEMU's QMP instead of the human monitor for tests 4 4 not started test infra
Implement sys_statx() in Tilck 2 3 not started kernel
Implement CoW of page tables for faster fork() 3 8 not started kernel
Make the latest VIM run on Tilck 3 7 not started kernel
Support SIGTTIN and SIGTTOU for job control 3 7 not started kernel
Add support for dynamic linking 3 8 not started kernel
Add support for IDE disks 3 6 not started kernel
Add support for SATA disks 6 8 not started kernel
Add support for SCSI disks 6 8 not started kernel
Intr. block devices and rethink VFS 6 9 not started kernel
Make the FAT32 use block dev abstraction 4 7 not started kernel
Intr. a full ext2 implementation 9 8 not started kernel
Write a minimal driver for a network device (e1000) 5 8 not started kernel
Introduce abstractions and syscalls for networking 8 8 not started kernel
Make Tilck run on AARCH64 (Raspberry PI) 10 10 not started everything
Clone this wiki locally