Commit Graph

88 Commits

Author SHA1 Message Date
Mark bfcc6d7bdf Add phys init 2019-10-12 13:57:32 +03:00
Mark 6297d1bfb2 Bring old code here 2019-10-12 13:40:48 +03:00
Mark 65dfdaa8ae Remove userspace idle code 2019-10-12 12:34:49 +03:00
Mark 48d47dea94 Now with userspace 2019-10-11 21:16:58 +03:00
Mark 4fcda2bc68 Make gdt per-cpu 2019-10-11 20:46:38 +03:00
Mark 09bb6c4be7 Add _irqsave variant of spinlocks 2019-10-11 19:55:31 +03:00
Mark 3e63a77c9f Add testing sched with idle tasks 2019-10-11 19:32:41 +03:00
Mark 0e287e59bd Add %gs/cpu offsets to asm headers 2019-10-11 16:20:49 +03:00
Mark 31e8fd698e Add per-cpu tick counters 2019-10-11 14:23:10 +03:00
Mark 2c4854e23f Move struct cpu to cpu.h 2019-10-11 14:09:41 +03:00
Mark 416cad5d18 Move SMP init to smp.c, clean up Local APIC 2019-10-11 14:02:04 +03:00
Mark 55aa020738 [smp-broken] Add timer initialization 2019-10-10 20:08:23 +03:00
Mark 9ef897d7b9 Add testing spinlock 2019-10-10 19:29:05 +03:00
Mark b4f0aa7279 Add an option for building without SMP support 2019-10-10 18:06:26 +03:00
Mark 4a737e76df Add MAX_SMP option for AMD64 2019-10-10 17:55:05 +03:00
Mark fe4d07e9c0 move makefiles 2019-10-10 17:43:03 +03:00
Mark 35a5b787d7 Move /etc 2019-10-10 17:40:06 +03:00
Mark 1e55746e18 Update config 2019-10-10 16:44:22 +03:00
Mark 75d48ffdbc Add support for I/O APIC with testing kb mapping 2019-10-10 16:40:19 +03:00
Mark e0039376f3 Fix con scrolling 2019-10-10 15:38:22 +03:00
Mark cb01e8f8da Move timer init outside the APIC.c 2019-10-10 15:34:58 +03:00
Mark 84497ba98e Add IRQ tracing, fix incorrent LAPIC ID code 2019-10-10 13:50:25 +03:00
Mark 2e320b5974 Split IRQ handling macros 2019-10-10 11:50:04 +03:00
Mark a06bccff5f Remap PIC properly, add stack fuckup check in irq0 2019-10-10 11:41:19 +03:00
Mark 1288561b0c Added 0xB8000 console for testing 2019-10-10 10:34:38 +03:00
Mark 992e08a93a Added AP initialization code 2019-10-09 23:45:19 +03:00
Mark c3cc760b2c Working LAPIC timer 2019-10-09 18:24:28 +03:00
Mark c345c3db26 Restore headers 2019-10-08 12:04:46 +03:00
Mark 71eeb5d282 Remove everything 2019-10-04 16:23:18 +03:00
Mark d0c709f772 Testing tty0 2019-10-02 19:19:20 +03:00
Mark 13a2e695b5 Fix problem with sections loading one over other 2019-10-02 16:57:29 +03:00
Mark 1376c18984 [amd64] Make IRQs not crash 2019-10-01 18:00:46 +03:00
Mark dff06deb0f Seems like the problem with syscall/IF is fixed 2019-10-01 17:28:27 +03:00
Mark 24ff3737d4 [amd64] Elf loading kinda works 2019-10-01 16:18:09 +03:00
Mark 93f45d92c7 [tar] Remove useless warning 2019-10-01 14:32:32 +03:00
Mark dd1808b157 Add tarfs/ram-based initrd with file reading 2019-10-01 14:30:53 +03:00
Mark 47485a3876 Add initrd building 2019-10-01 12:53:51 +03:00
Mark 12fb906ccc [amd64] Fixed problem with invalid upper mapping 2019-10-01 12:37:27 +03:00
Mark f4c3fb30b7 [amd64] Move kidle init to a function 2019-09-30 12:10:33 +03:00
Mark 93516ee40f Integrate vfs code into the kernel (just make it build yet) 2019-09-30 11:47:51 +03:00
Mark a71a024348 Add size pretty-printing 2019-09-30 10:39:38 +03:00
Mark 6f35ab11a5 [amd64] Remove test module 2019-09-24 18:21:40 +03:00
Mark b0b7667ec3 [amd64] Add initrd loading support 2019-09-24 18:15:17 +03:00
Mark 131f6963ab Add syscall description file 2019-09-23 12:21:57 +03:00
Mark 789a3ee1a3 [amd64] Move arch/amd64 -> sys/amd64 2019-09-23 11:40:44 +03:00
Mark 47df8cc7ce Move to BSD-ish source tree design 2019-09-23 11:36:15 +03:00
Mark f6c29e3414 [amd64] Implement kernelspace mm_space_t cloning 2019-09-22 12:06:59 +03:00
Mark 8843ff38aa Add systick counter 2019-09-20 23:20:42 +03:00
Mark 5c7e918460 Proper kernel [kidle] thread 2019-09-20 23:07:20 +03:00
Mark 542529a8e6 [amd64] Test kernel+2userspace threads, works 2019-09-20 22:26:51 +03:00