feat: a better boot command line parser
[lunaix-os.git] / lunaix-os / arch / i386 / README
1 Lunaix kernel arch specific ABI
2 ======
3
4 This document provides a checklist if one wants to add support for novel architecture
5
6 (It is far from complete, as the refactoring is going on)
7
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
19  
20 Referenced headers
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
27
28 Referenced functions
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