Commit Graph

60 Commits

Author SHA1 Message Date
Matheus d18e0e332f kernel: initial timer abstraction 2023-04-23 16:48:58 -03:00
Matheus db487fdcd3 interrupt: reorder intstatus set on isr 2023-04-23 15:46:26 -03:00
Matheus 5f84cdec3c interrupt: basic ipl handling 2023-04-23 15:42:39 -03:00
Matheus ee63940c68 logging: make failed asserts panic 2023-04-23 15:06:34 -03:00
Matheus cc79f0ee4a panic: disable interrupts 2023-04-23 15:06:19 -03:00
Matheus fefde1793e interrupt: interrupt_set() 2023-04-23 15:06:07 -03:00
Matheus 74232131fd apic: apic timer init and calibration 2023-04-23 01:09:50 -03:00
Matheus 067dd09234 kernel: initial timekeeper implementation 2023-04-22 21:29:07 -03:00
Matheus b57cb385ce time: timespec_add() 2023-04-22 21:27:43 -03:00
Matheus e8c2feb8db hpet: make init return uspertick and add a gettick function 2023-04-22 21:26:31 -03:00
Matheus a3969eea54 kernel: initial hpet support 2023-04-22 19:21:30 -03:00
Matheus a597f6d951 apic: add ioapic number to printf 2023-04-22 19:14:10 -03:00
Matheus 89c867fc3b apic: local apic initialisation 2023-04-21 21:23:11 -03:00
Matheus 5236c195b4 idt: dummy exception isr and vector registering 2023-04-21 21:17:44 -03:00
Matheus 2e7fa1115f interrupt: make sure cpu id is 64bit before bit shift 2023-04-21 21:17:06 -03:00
Matheus 7c59933426 kernel: change apic and acpi external functions to have arch_ before 2023-04-21 14:45:56 -03:00
Matheus 71d61e09aa kernel: i/o apic initialisation and abstractions 2023-04-21 14:29:37 -03:00
Matheus 975059d4bf acpi: madt typedef and a few fixes 2023-04-21 11:47:34 -03:00
Matheus 46e5e6c561 mmu: rename ARCH_MMU_FLAG_* to ARCH_MMU_FLAGS_* 2023-04-21 00:25:31 -03:00
Matheus fdf8724c1c acpi: table parsing 2023-04-20 20:09:12 -03:00
Matheus d94ab16440 logging: make assert failure print as red text 2023-04-20 19:34:38 -03:00
Matheus 794003e932 alloc: remove printf 2023-04-20 12:08:42 -03:00
Matheus 4d9e8d1933 vmm: fix insert 2023-04-20 12:02:01 -03:00
Matheus 6357a66a3c kernel: initial alloc and free implementation 2023-04-20 11:43:06 -03:00
Matheus 7c8f1ef8ef slab: add functions to header 2023-04-20 11:42:07 -03:00
Matheus 6c8f1b3112 slab: cache freeing, purging and fixes 2023-04-19 20:12:16 -03:00
Matheus f5c76c5ff8 slab: deallocation 2023-04-18 23:48:41 -03:00
Matheus 81a50399af slab: big object allocation 2023-04-18 23:13:29 -03:00
Matheus f9d1c046b7 kernel: initial <512 byte object only slab 2023-04-18 22:22:08 -03:00
Matheus 156161e3aa vmm: default vmm_map address to KERNELSPACE_START 2023-04-18 21:37:26 -03:00
Matheus b245108be6 kernel: vmm_unmap() 2023-04-17 00:26:01 -03:00
Matheus f66140c578 util.h: fix round_up 2023-04-16 23:53:22 -03:00
Matheus 57d8dd3ae3 vmm: page fault handling 2023-04-16 21:58:00 -03:00
Matheus 61ad248b72 x86-64 isr: fix iret 2023-04-16 21:57:51 -03:00
Matheus 30d64485fd kernel: initial vmm implementation 2023-04-16 20:47:41 -03:00
Matheus fac767129e kernel: util.h 2023-04-16 20:47:03 -03:00
Matheus bbd6d371c7 mmu: fix newtable() pointer 2023-04-15 20:22:27 -03:00
Matheus 0fad94f43e pmm: fix bitmap not being in hhdm 2023-04-15 20:21:52 -03:00
Matheus d9d2784e4f kernel: x86_64 mmu 2023-04-14 21:45:43 -03:00
Matheus 928b676d78 term: change default colour 2023-04-12 23:29:41 -03:00
Matheus 93a8224aac kernel: use term as printf hook after initialising flanterm 2023-04-12 21:50:51 -03:00
Matheus 1a1de0b568 kernel/term.c: use pmm to allocate flanterm 2023-04-12 21:49:17 -03:00
Matheus c190f0bb74 kernel: mmu.h 2023-04-12 21:48:24 -03:00
Matheus 616b0208c2 kernel: pmm 2023-04-12 21:40:16 -03:00
Matheus d4aef81b43 kernel: fix x86-64 isr macros 2023-04-09 19:26:12 -03:00
Matheus de2800d547 kernel: fix idtentry_t 2023-04-09 19:11:36 -03:00
Matheus 85aaf83ec1 kernel: term 2023-04-09 18:58:11 -03:00
Matheus d660aa7e49 kernel: integrate flanterm into build system 2023-04-09 17:59:50 -03:00
Matheus ad70e8741d kernel: panic 2023-04-08 21:40:31 -03:00
Matheus e364f631e4 x86-64 isr: fix rbp not being pushed 2023-04-08 21:36:25 -03:00