Commit Graph

92 Commits

Author SHA1 Message Date
Mark 2cbd3e65c4 Signals kinda work! 2019-12-29 16:29:16 +02:00
Mark ccc13ef0d5 Add thread cleanup after termination 2019-12-29 14:15:09 +02:00
Mark eae21dc70b Remove acpica compat for __linux__-compilers 2019-12-28 21:51:45 +02:00
Mark 5d8556a317 Add opendir/readdir/closedir (libc), add readdir syscall 2019-12-28 16:57:48 +02:00
Mark d17c1ba115 Added execve() system call 2019-11-05 16:49:18 +02:00
Mark 0f2404cb00 Fix problem with sched_add to nonexistent CPU queues 2019-11-04 13:40:26 +02:00
Mark 0772681210 fork() works 2019-11-04 13:25:33 +02:00
Mark 4ded684f92 Add in_send and ICMP echo request/reply 2019-11-03 14:50:15 +02:00
Mark 05f2838df4 Add UDP reception support 2019-11-02 22:48:38 +02:00
Mark 6082e68bc0 rtl8139: Receive packets 2019-11-01 14:56:31 +02:00
Mark b1ffb2afd9 Add LAPIC Timer calibration code 2019-11-01 12:27:58 +02:00
Mark 601be56c33 Add a context to IRQ handler so there's no need for globals 2019-11-01 10:32:38 +02:00
Mark 45ad5614a7 Add brk() system call 2019-10-30 12:33:14 +02:00
Mark 1a334aaafb Added errno.h, fixed vfs mapper find() 2019-10-29 15:21:14 +02:00
Mark 69396c1d60 Add open()/stat()/close() syscalls 2019-10-29 14:02:36 +02:00
Mark b02354e766 Merge userspace makefiles 2019-10-29 12:30:20 +02:00
Mark b846ee2ad4 Add sys_exit() and fix problem with %rax getting clobbered 2019-10-29 11:29:08 +02:00
Mark 8c8bfabb39 Added RTC driver 2019-10-28 17:30:35 +02:00
Mark 7686fa44cf Use ring buffer for keyboard input 2019-10-26 16:14:49 +03:00
Mark 84464623ff Keyboard input and write syscalls (VFS) 2019-10-25 16:26:44 +03:00
Mark 91373c5fed Execute userspace init! 2019-10-25 13:54:55 +03:00
Mark 0d1c8a1bdb Add tarfs/initrd support 2019-10-25 11:46:56 +03:00
Mark 822120af3a Add ram block device + tarfs 2019-10-25 11:25:22 +03:00
Mark 1040973125 Integrate VFS/ext2 code 2019-10-25 11:20:30 +03:00
Mark 6033a7c2d5 Fix RS232_COM0 -> RS232_COM1 2019-10-25 09:42:45 +03:00
Mark 8051cf953c Add global constructor invocation on boot 2019-10-24 21:50:58 +03:00
Mark 11cfcbf1c6 Add device class/ID handlers to PCI 2019-10-24 17:50:36 +03:00
Mark 2a444c4248 Added partition reading 2019-10-24 17:26:19 +03:00
Mark 61b1477873 Add partition enumeration for SATA drives (MBR) 2019-10-24 15:30:05 +03:00
Mark 778eec2582 Add AHCI PCI IRQ handling 2019-10-23 18:21:42 +03:00
Mark 4067092423 Fix legacy IRQ -> I/O APIC GSI mapping 2019-10-23 15:46:48 +03:00
Mark 6798480797 Better IRQ handling 2019-10-23 15:40:32 +03:00
Mark 1af3d0dd78 Add IDE ATA read using PIO/DMA 2019-10-22 01:09:22 +03:00
Mark 9acc2c6064 IDE ATA/ATAPI device identification 2019-10-21 22:58:43 +03:00
Mark e210b9c60e Added AHCI SATA sector reading 2019-10-21 16:55:20 +03:00
Mark 61dd73b79f Add AHCI SATA device enumeration + SATA device IDENTIFY 2019-10-21 16:14:34 +03:00
Mark 902a16771d Cleanup PCI address scheme 2019-10-18 20:23:57 +03:00
Mark 178add3f33 Messing around with PCI 2019-10-18 14:41:01 +03:00
Mark 22bf2f1cf1 Integrate ACPICA into kernel, obtain PCI Interrupt routing table 2019-10-17 14:24:25 +03:00
Mark f053e0a87b Various 2019-10-16 15:34:39 +03:00
Mark 6fe3cfc690 Some stuff on PCI and IRQ routing 2019-10-15 11:55:40 +03:00
Mark a420918e65 Move thread init to thread.c 2019-10-14 14:05:27 +03:00
Mark 2f3aee2d46 SYSCALL looks interruptible enough to me 2019-10-12 19:27:10 +03:00
Mark 64084eb1e4 Enable SMP-compatible syscall entry 2019-10-12 17:57:39 +03:00
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 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