1 Lunaix kernel arch specific ABI
4 This document provides a checklist if one wants to add support for novel architecture
6 (It is far from complete, as the refactoring is going on)
8 Implementation checklist:
9 [ ] An entry point that recieve control from second stage bootloader.
10 [ ] Interrupt vectoring must be done before invoking kernel_bootstrap.
11 [ ] Prepare the boot_handoff state struct, according to system info provided
12 by upstream bootloader
13 [ ] Invoke the kernel_bootstrap, pass the boot_handoff as it's only argument
14 This will transfer the control to Lunaix kernel.
15 [ ] A syscall handler, syscall table, and the syscall vectoring
16 [ ] A interrupt handler, must take care of context save/restore, signal handling
17 [ ] A system virtual memory map
18 [ ] Implement the following abstractions
21 * <some_arch>/includes/sys/abi.h
22 * <some_arch>/includes/sys/interrupt.h
23 * <some_arch>/includes/sys/port_io.h
24 * <some_arch>/includes/sys/pci_hba.h
25 * <some_arch>/includes/mm/mempart.h
26 * <some_arch>/includes/cpu.h
29 * includes/hal/hwtimer.h:hwtimer_choose
30 * includes/hal/hwrtc.h:hwrtc_choose
31 * includes/hal/intc.h:intc_init
32 * includes/lunaix/process.h:proc_init_transfer