Implement APIC, RTC, basic ACPI parser and timer support
authorMinep <zelong56@gmail.com>
Sat, 12 Mar 2022 01:21:58 +0000 (01:21 +0000)
committerMinep <zelong56@gmail.com>
Sat, 12 Mar 2022 01:21:58 +0000 (01:21 +0000)
commit05b7549a0f980efa33265a091a5174a78851ce05
treef09c54abe233a7c3c05d8a421f891a2d4329c3ac
parent37fb1e9cee287c9ae8c065ff517c508eb5f9d7dd
Implement APIC, RTC, basic ACPI parser and timer support
more flexible interrupt handler design
rename the libc to klibc to avoid the confusion between user space and kernel space c std lib
improved logging experience, the kprintf
Some shitty workarounds on vm in order to make my ACPI parser happy
Not trust on multiboot's mem map anymore!
53 files changed:
lunaix-os/.gitignore
lunaix-os/.vscode/launch.json
lunaix-os/arch/x86/boot.S
lunaix-os/bochs.cfg
lunaix-os/config/make-cc
lunaix-os/hal/acpi/acpi.c [new file with mode: 0644]
lunaix-os/hal/acpi/parser/madt_parser.c [new file with mode: 0644]
lunaix-os/hal/acpi/parser/madt_parser.h [new file with mode: 0644]
lunaix-os/hal/apic.c [new file with mode: 0644]
lunaix-os/hal/cpu.c
lunaix-os/hal/ioapic.c [new file with mode: 0644]
lunaix-os/hal/rtc.c
lunaix-os/includes/arch/x86/boot/multiboot.h
lunaix-os/includes/arch/x86/idt.h
lunaix-os/includes/arch/x86/interrupts.h
lunaix-os/includes/hal/acpi/acpi.h [new file with mode: 0644]
lunaix-os/includes/hal/acpi/madt.h [new file with mode: 0644]
lunaix-os/includes/hal/acpi/sdt.h [new file with mode: 0644]
lunaix-os/includes/hal/apic.h [new file with mode: 0644]
lunaix-os/includes/hal/cpu.h
lunaix-os/includes/hal/ioapic.h [new file with mode: 0644]
lunaix-os/includes/hal/pic.h
lunaix-os/includes/hal/rtc.h
lunaix-os/includes/klibc/stdio.h [new file with mode: 0644]
lunaix-os/includes/klibc/stdlib.h [moved from lunaix-os/includes/libc/stdlib.h with 100% similarity]
lunaix-os/includes/klibc/string.h [moved from lunaix-os/includes/libc/string.h with 89% similarity]
lunaix-os/includes/libc/stdio.h [deleted file]
lunaix-os/includes/lunaix/mm/kalloc.h
lunaix-os/includes/lunaix/mm/vmm.h
lunaix-os/includes/lunaix/spike.h
lunaix-os/includes/lunaix/syslog.h [new file with mode: 0644]
lunaix-os/includes/lunaix/tty/tty.h
lunaix-os/kernel/asm/x86/idt.c
lunaix-os/kernel/asm/x86/interrupt.S
lunaix-os/kernel/asm/x86/interrupts.c
lunaix-os/kernel/asm/x86/intr_routines.c [new file with mode: 0644]
lunaix-os/kernel/asm/x86/prologue.S
lunaix-os/kernel/k_init.c
lunaix-os/kernel/k_main.c
lunaix-os/kernel/kprintf.c [new file with mode: 0644]
lunaix-os/kernel/mm/kalloc.c
lunaix-os/kernel/mm/vmm.c
lunaix-os/kernel/spike.c
lunaix-os/kernel/tty/tty.c
lunaix-os/libs/klibc/stdio/sprintf.c [moved from lunaix-os/libs/libc/stdio/sprintf.c with 92% similarity]
lunaix-os/libs/klibc/stdlib/itoa.c [moved from lunaix-os/libs/libc/stdlib/itoa.c with 97% similarity]
lunaix-os/libs/klibc/string/mem.c [moved from lunaix-os/libs/libc/string/mem.c with 97% similarity]
lunaix-os/libs/klibc/string/strchr.c [moved from lunaix-os/libs/libc/string/strchr.c with 89% similarity]
lunaix-os/libs/klibc/string/strcpy.c [new file with mode: 0644]
lunaix-os/libs/klibc/string/strlen.c [moved from lunaix-os/libs/libc/string/strlen.c with 90% similarity]
lunaix-os/libs/libc/stdio/printf.c [deleted file]
lunaix-os/libs/libc/string/strcpy.c [deleted file]
lunaix-os/makefile