Skip to content

Commit 7c14490

Browse files
authored
Update README.md
1 parent ae24534 commit 7c14490

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,57 @@ we have the splash window when the kernel boots(grub draws it):
5555
When the kernel is fully ready, the `default console` (which you can navigate to by `Alt+F1`) is displayed, there are other 6 consoles initiated by [`/usr/bin/userland_init`](https://github.com/chillancezen/ZeldaOS/blob/master/application/userland_init/etc/userland.init), you can switch the console by `Alt+F2 ... Alt+F7`, you will observe console as below:
5656

5757
![image_of_console0](https://raw.githubusercontent.com/chillancezen/misc/master/image/zelda_os_console0.png)
58+
59+
### Feature inventory
60+
61+
##### Archeticture Features:
62+
- [X] x86
63+
- [X] PIC, APIC will be supported in ZeldaOS.x86_64.
64+
- [X] interrupt management.
65+
- [ ] x86_64 will support in [ZeldaOS.x86_64](https://github.com/chillancezen/ZeldaOS.x86_64).
66+
- [ ] Symmetric multiprocessing (SMP).
67+
##### memory Features:
68+
- [X] physical memory management.
69+
- [X] 4K paging(No 3G barrier break) for both kernel and PL3 tasks.
70+
- [X] Virtual Memory Area(VMA) management(per-task VMAs and kernel VMAs).
71+
- [X] paging fault handling, including page non-presence and page permission fault.
72+
- [X] kernel memory allocator.
73+
##### Kernel Features:
74+
- [X] multitasking (PL0 tasks and PL3 tasks).
75+
- [X] task signal framework.
76+
- [X] Elf32 executable loading.
77+
- [X] task exception detection(e.g. illegal instruction, #GP, paging permission violation).
78+
- [X] Elf32 executable loading.
79+
- [X] Wait queue.
80+
- [X] Timer.
81+
- [ ] bottom half schedule.
82+
- [X] kernel panic.
83+
- [X] various logging options.
84+
##### Filesystem Features:
85+
- [X] Virtual File System (VFS).
86+
- [X] `zeldafs` as initramfs in Linux.
87+
- [X] `memfs` as tmpfs in Linux.
88+
- [X] `devfs` to expose kernel runtime data to userland.
89+
##### Network Features:
90+
- [X] net packets management.
91+
- [X] Ethernet device interface.
92+
- [ ] L2 multi-bridging(VLAN+MAC learning).
93+
- [ ] L3 multi-routing(ARP, ICMP).
94+
- [ ] overlay support(vxlan).
95+
- [ ] userland networking extension(LWIP).
96+
##### Device Features:
97+
- [X] Legacy virtio-net ethernet device driver(with revisionid == 0).
98+
- [ ] vmxnet3 ethernet device support.
99+
- [X] PS/2 keyboard management.
100+
- [X] Programmable Interval Timer(PIT) management.
101+
- [X] serial port input/output management and `serial console`.
102+
- [x] ~~ATA/IDE drive management~~.
103+
- [x] Lower level Text mode video buffer management.
104+
- [x] `pseudo terminal console` management.
105+
##### Miscellaneous Features:
106+
- [X] ZeldaOS [runtime](https://github.com/chillancezen/ZeldaOS/tree/master/runtime).
107+
- [X] `newlib` libc and libm port
108+
- [ ] dynamic programming language support
109+
- [X] [`system call list`](https://github.com/chillancezen/ZeldaOS/blob/master/runtime/syscall_inventory0.c)
110+
- [X] [`signal list`](https://github.com/chillancezen/ZeldaOS/blob/master/kernel/include/zelda_posix.h)
111+
- [X] multiple [Applications](https://github.com/chillancezen/ZeldaOS/tree/master/application) running at Privilege Level 3

0 commit comments

Comments
 (0)