Commit Graph

43 Commits

Author SHA1 Message Date
Matheus 220416e16f kernel: default print to e9 2023-05-13 22:29:54 -03:00
Matheus 0e0c538b15 scheduler: assign pids and tids 2023-05-13 22:29:35 -03:00
Matheus 4cc16b8462 kernel: getpid syscall 2023-05-13 22:27:53 -03:00
Matheus cbb7c7544f read: fix file offset 2023-05-13 21:13:32 -03:00
Matheus af2459a042 scheduler: init stdin, stdout and stderr 2023-05-13 21:13:20 -03:00
Matheus 18bea63d1c kernel: write syscall 2023-05-13 21:12:09 -03:00
Matheus eb6edee82f kernel: close syscall 2023-05-10 20:43:51 -03:00
Matheus f985051d87 mmap: do MAP_FIXED 2023-05-10 20:38:15 -03:00
Matheus 28db87fae9 kernel: seek syscall 2023-05-10 20:37:38 -03:00
Matheus 40caded8ae kernel: read syscall 2023-05-10 20:14:27 -03:00
Matheus cfdab9598d scheduler: getcwd, getroot, and initialise process cwd and root to vfsroot 2023-05-09 23:25:56 -03:00
Matheus 4cfb83f4fe syscall: openat 2023-05-09 23:25:29 -03:00
Matheus e785da6cb3 kernel: file_t, fd_t and a few helper functions 2023-05-09 00:13:51 -03:00
Matheus 43e6623a42 kernel: mmap syscall 2023-05-08 22:17:17 -03:00
Matheus 1cb49908e2 elf: lazy allocate some parts of the executables 2023-05-08 20:06:49 -03:00
Matheus a49e6358be scheduler: load init with interpreter 2023-05-07 22:36:42 -03:00
Matheus fa97996fcc elf: fix zeroing of first loaded page, header base and stack alignment 2023-05-07 22:36:14 -03:00
Matheus 94057abfaf kernel: print syscall 2023-05-07 20:36:58 -03:00
Matheus 2a0103fc46 kernel: basic elf loading 2023-05-07 20:26:21 -03:00
Matheus 25778838ba scheduler: runinit 2023-05-07 20:26:12 -03:00
Matheus 8c3b2f4947 kernel: syscalls 2023-05-07 20:22:51 -03:00
Matheus 75671f1ca2 interrupt: fix ipl check 2023-05-04 19:36:15 -03:00
Matheus 3987e7bca6 interrupt: split setipl into raiseipl and loweripl 2023-05-04 13:52:35 -03:00
Matheus 433155bb74 scheduler: sleeping support 2023-05-03 20:19:05 -03:00
Matheus b5d4fc07e2 scheduler: have a separate stack for yield 2023-05-03 19:11:40 -03:00
Matheus 459f1d6b92 scheduler: runqueuenext() priority checking and intstatus fix 2023-04-28 22:35:41 -03:00
Matheus 1bcf8dfcf3 interrupt: set proper intstatus on isr return 2023-04-28 22:28:13 -03:00
Matheus 5d33fe828f scheduler: initial implementation 2023-04-27 23:34:57 -03:00
Matheus 03a134445a interrupt: change how interrupts are handled on the general isr 2023-04-27 23:34:32 -03:00
Matheus 16f1823897 timer: repeat support and running status 2023-04-27 23:33:55 -03:00
Matheus 015d8b4093 interrupt: default interrupts being off in isr 2023-04-24 22:31:02 -03:00
Matheus 72744c19b1 timer: resume and stop 2023-04-24 22:17:35 -03:00
Matheus 0394165361 kernel: spinlocks 2023-04-23 17:12:05 -03:00
Matheus 15deda3a3d interrupt: fix ipl check 2023-04-23 16:49:06 -03:00
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 fefde1793e interrupt: interrupt_set() 2023-04-23 15:06:07 -03:00
Matheus 067dd09234 kernel: initial timekeeper implementation 2023-04-22 21:29:07 -03:00
Matheus 2e7fa1115f interrupt: make sure cpu id is 64bit before bit shift 2023-04-21 21:17:06 -03:00
Matheus ad70e8741d kernel: panic 2023-04-08 21:40:31 -03:00
Matheus 7b58504b01 kernel: x86-64 idt 2023-04-08 21:13:43 -03:00
Matheus a9f490b431 kernel: initial interrupt abstraction implementation 2023-04-08 20:16:16 -03:00