Commit Graph

1507 Commits

Author SHA1 Message Date
Matheus c1c84cffbb kernel: semaphores 2023-05-03 21:07:43 -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 393e34a04e kernel: ringbuffer 2023-05-02 21:19:44 -03:00
Matheus 768ee865a0 kernel: pseudodevices (null, full and zero) 2023-05-01 22:05:41 -03:00
Matheus c943023ffa devfs: create fix and change set/get attr behaviour 2023-05-01 22:04:50 -03:00
Matheus b4d0d45702 tmpfs: handle devices on open 2023-05-01 21:33:02 -03:00
Matheus c80f3db385 kernel: devfs 2023-05-01 21:25:34 -03:00
Matheus f36b06cd19 tmpfs: fix inode number and fix node vfs 2023-05-01 21:25:26 -03:00
Matheus 442c527174 tmpfs: handle inode number properly 2023-05-01 19:22:02 -03:00
Matheus 9ab2ad5095 vfs: change how the vfs_create return argument works and split the rdev vattr member 2023-05-01 19:21:39 -03:00
Matheus a30a0b1d19 cpu: remove unused header include 2023-05-01 14:14:26 -03:00
Matheus 48e12c89aa tmpfs: handle dotentries 2023-05-01 01:23:52 -03:00
Matheus 13982e15b7 hashtable: keep track of entry count 2023-05-01 01:01:10 -03:00
Matheus ade8aa4e2b kernel: initrd unpacking 2023-05-01 00:47:01 -03:00
Matheus d90f8d0950 vfs: fix trailing slashes on lookup 2023-05-01 00:44:56 -03:00
Matheus c2e15306b3 Makefile: initrd creation 2023-04-30 22:58:31 -03:00
Matheus 6aef90a979 vfs: fix lookup VFS_LOOKUP_NOLINK flag 2023-04-30 21:19:25 -03:00
Matheus 6d42a6f91c tmpfs: initial implementation 2023-04-30 21:14:59 -03:00
Matheus b4c98c4a47 vfs: initial implementation 2023-04-30 21:13:59 -03:00
Matheus 610fdae5e7 kernel: abi header 2023-04-30 20:55:08 -03:00
Matheus 694dcdc91e hashtable: fix FOREACH macro 2023-04-30 20:54:53 -03:00
Matheus 5a856a6b22 kernel: vfs skeleton 2023-04-29 18:56:26 -03:00
Matheus a7545ef040 kernel: hashtables 2023-04-29 18:50:35 -03:00
Matheus bdf5cfd0d5 kernel: errno abi 2023-04-29 18:49:51 -03:00
Matheus 86fdfd114f string: memcmp() 2023-04-29 18:48:41 -03:00
Matheus fef3d97989 vmm: fragmentation checks on insert and entry freeing 2023-04-28 23:23:06 -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 06e755e36a context: misc useful macros and functions 2023-04-27 23:32:25 -03:00
Matheus bebf7a832a kernel: build with debug options 2023-04-27 23:31:28 -03:00
Matheus 015d8b4093 interrupt: default interrupts being off in isr 2023-04-24 22:31:02 -03:00
Matheus 47ff33982e vmm: export vmm_kernelctx 2023-04-24 22:17:59 -03:00
Matheus 72744c19b1 timer: resume and stop 2023-04-24 22:17:35 -03:00
Matheus ff478b51ed alloc: fix free 2023-04-23 22:05:54 -03:00
Matheus d85ec56503 mmu: make kernel panic on unhandled page fault 2023-04-23 19:05:27 -03:00
Matheus 0394165361 kernel: spinlocks 2023-04-23 17:12:05 -03:00
Matheus f16091656a mmu: register exception as IPL_MAX 2023-04-23 17:11:10 -03:00
Matheus de50abc786 apic: register timer 2023-04-23 16:49:42 -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 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