X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/1fe5f5eb5378a47bf0f3451762743c162e40faad..aa2843fdbdd9b5cc579d198fd1a9ec874642706e:/lunaix-os/arch/i386/README?ds=inline diff --git a/lunaix-os/arch/i386/README b/lunaix-os/arch/i386/README new file mode 100644 index 0000000..e87a8c0 --- /dev/null +++ b/lunaix-os/arch/i386/README @@ -0,0 +1,32 @@ +Lunaix kernel arch specific ABI +====== + +This document provides a checklist if one wants to add support for novel architecture + +(It is far from complete, as the refactoring is going on) + +Implementation checklist: + [ ] An entry point that recieve control from second stage bootloader. + [ ] Interrupt vectoring must be done before invoking kernel_bootstrap. + [ ] Prepare the boot_handoff state struct, according to system info provided + by upstream bootloader + [ ] Invoke the kernel_bootstrap, pass the boot_handoff as it's only argument + This will transfer the control to Lunaix kernel. + [ ] A syscall handler, syscall table, and the syscall vectoring + [ ] A interrupt handler, must take care of context save/restore, signal handling + [ ] A system virtual memory map + [ ] Implement the following abstractions + +Referenced headers + * /includes/sys/abi.h + * /includes/sys/interrupt.h + * /includes/sys/port_io.h + * /includes/sys/pci_hba.h + * /includes/mm/mempart.h + * /includes/cpu.h + +Referenced functions + * includes/hal/hwtimer.h:hwtimer_choose + * includes/hal/hwrtc.h:hwrtc_choose + * includes/hal/intc.h:intc_init + * includes/lunaix/process.h:proc_init_transfer \ No newline at end of file