Lab4
| feature |
impl-c |
impl-rs |
| el2→ el1 |
✅ |
❌ |
| vector table & exception handling |
✅ |
❌ |
| el0 timer interrupt |
✅ |
❌ |
| --elective-- |
-- |
-- |
| Async UART |
❌ |
❌ |
| Timer multiplexing |
❌ |
❌ |
| Task queue for bottom-half exception handler |
❌ |
❌ |
| Task queue for bottom-half exception handler |
❌ |
❌ |
| Nested interrupt |
❌ |
❌ |
| Task queue preemption |
❌ |
❌ |
Lab3
| feature |
impl-c |
impl-rs |
| buddy system |
✅ |
❌ |
| slab allocator |
✅ |
❌ |
| startup allocator |
✅ |
❌ |
p.s.
for impl-c
- slab allocator currently use a simplified version
- startup allocator does not impl. alloc interface, hence the space used by buddy system is statically allocated
Lab2
ps. implement bootloader with c
| feature |
impl-c |
impl-rs |
| cpio reader |
✅ |
❌ |
| dtb parsing |
❌ |
❌ |
Lab1
| feature |
impl-c |
impl-rs |
| uart init |
✅ |
✅ |
| basic shell |
✅ |
✅ |
| shell with cursor support |
✅ |
❌ |
Lab4
Lab3
p.s.
for impl-c
Lab2
ps. implement bootloader with c
Lab1