Commit Graph

  • 2236639dc6 minor bug in process that could leak a kernel allocation when handling an error master twistdroach 2023-01-15 19:47:00 -0500
  • 7d1a910a76 Minor fat16 bug: elf32_off should be unsigned Zachary D. Rowitsch 2023-01-15 01:33:36 -0500
  • 16065b19d9 Begin framebuffer abstraction, add BGA driver Zachary D. Rowitsch 2023-01-15 01:26:19 -0500
  • b363386005 Begin adding support for Bochs VGA Adapter, some PCI device support twistdroach 2023-01-09 00:30:50 -0500
  • c76d7aa1c6 Code formatting cleanup... Zachary D. Rowitsch 2023-01-04 22:37:08 -0500
  • dddd7ce692 Basic shift key support Zachary D. Rowitsch 2023-01-04 22:11:48 -0500
  • 6c7c3e672d add va_end to printf function Zachary D. Rowitsch 2023-01-02 22:46:09 -0500
  • 1a5cd147dc Add assumption of 0:/ prefixed to userspace fopen calls, check seek size correctly for SEEK_CUR, fix a number of fread bugs: updates pos pointer, returns number of items read correctly, won't read beyond EOF Zachary D. Rowitsch 2023-01-02 21:57:35 -0500
  • a5f83d8c98 Add userspace interface for fseek, fstat, fclose. Also userspace testing as well Zachary D. Rowitsch 2022-12-31 23:24:59 -0500
  • 4f6bf99986 Add checking for null ptr to fread twistdroach 2022-12-31 02:51:21 -0500
  • e4e301c16c Expose status.h to stdlib. Implement stdlib implementation of fopen and fread. Zachary D. Rowitsch 2022-12-31 02:12:33 -0500
  • c522dd99dd Add scrolling to terminal, expand beyond 20 rows Zachary D. Rowitsch 2022-12-26 01:22:05 -0500
  • 9deb4a2e34 Minor comment updates Zachary D. Rowitsch 2022-12-26 01:20:29 -0500
  • 2c198155d9 Add some decoding to the exception handling so we at least know what exception was thrown twistdroach 2022-12-25 13:18:25 -0500
  • 784ebb93d4 begin adding some string.h userland testing Zachary D. Rowitsch 2022-12-25 03:20:33 -0500
  • 4e676a575a Add proof of concept stdlib test, move userspace linker script to common place Zachary D. Rowitsch 2022-12-25 01:43:45 -0500
  • 99a0757faf Add assert(), assertf(), refactor panic() and print() calls out of kernel.h/c Zachary D. Rowitsch 2022-12-24 00:38:46 -0500
  • f490bce1e8 Adapt some userspace stdlib to work in the kernel, remove some redundancy Zachary D. Rowitsch 2022-12-23 15:03:33 -0500
  • c52ec69591 Update fatcopy commit Zachary D. Rowitsch 2022-12-23 09:34:18 -0500
  • a5fddfaa73 Update README with some other ideas Zachary D. Rowitsch 2022-12-23 09:33:54 -0500
  • 1255313ef5 Use fatcopy instead of mounted filesystem to copy in binaries to OS image Zachary D. Rowitsch 2022-12-23 09:28:39 -0500
  • 0214ec9205 Kernel Makefile refactoring Zachary D. Rowitsch 2022-12-19 23:55:10 -0500
  • 5ababc74b1 add readme Zachary D. Rowitsch 2022-12-18 02:37:06 -0500
  • 39b94b50b0 go back to launching the shell Zachary D. Rowitsch 2022-12-18 02:35:42 -0500
  • 46843e334b Fix various memory leaks, mostly in error handling. One overrun in fat16 string parsing Zachary D. Rowitsch 2022-12-18 02:27:14 -0500
  • 6ea8959f83 Fix: restore general purpose registers corrupts ebp Zachary D. Rowitsch 2022-12-18 02:26:07 -0500
  • 1f88f23ac8 Very basic task switching Zachary D. Rowitsch 2022-12-18 02:00:01 -0500
  • 63893dc973 Add capslock support Zachary D. Rowitsch 2022-12-17 13:24:27 -0500
  • 3ee9472592 Add process exit system call Zachary D. Rowitsch 2022-12-17 07:48:29 -0500
  • f930a6a282 Handle program crashes and process termination/cleanup Zachary D. Rowitsch 2022-12-17 05:41:14 -0500
  • 399feb643a Add ability for cmd line arguments to be passed Zachary D. Rowitsch 2022-12-17 05:03:59 -0500
  • a5a0121974 Fix user space malloc to actually map/unmap the mallocd memory Zachary D. Rowitsch 2022-12-16 04:57:29 -0500
  • 44d6f17821 Fixup stdlib Makefile, need to do the kernel Makefiles as well Zachary D. Rowitsch 2022-12-15 19:48:44 -0500
  • f946103ff7 Add memory.h and stdlib.h to stdlib, add strtok function Zachary D. Rowitsch 2022-12-15 19:48:12 -0500
  • 8ac0c1fb08 syscall to start another process from file Zachary D. Rowitsch 2022-12-11 22:09:38 -0500
  • 27c8f697ce Fix bug in elfloader to return error when file can't be read Zachary D. Rowitsch 2022-12-11 22:09:08 -0500
  • 0975995c77 add itoa and printf, putchar and getkey syscalls Zachary D. Rowitsch 2022-12-11 19:45:12 -0500
  • 8d585e6e23 Begin stdlib.h, malloc & free exposed to userland, fix to elf loading: use elf memsz instead of filesz to figure out how much mem to allocate Zachary D. Rowitsch 2022-12-10 23:55:00 -0500
  • 0265e3c6a3 Add ability to load simple, statically linked elf executables Zachary D. Rowitsch 2022-12-10 00:54:57 -0500
  • ee2f57f97c Fix diskstreamer_read buffer overflow Zachary D. Rowitsch 2022-12-05 23:33:11 -0500
  • 4bf8208216 add backspace Zachary D. Rowitsch 2022-12-05 23:21:15 -0500
  • 89a72d935f keyboard input all the way to userspace, missing shift, backspace, etc. putchar to print the char from userspace Zachary D. Rowitsch 2022-12-05 23:15:30 -0500
  • aca9de208f Update idt to be able to use dynamically registered interrupt handlers implemented in c, begin adding PS2 keyboard driver Zachary D. Rowitsch 2022-12-04 19:38:15 -0500
  • 344f348901 Add keyboard virt layer Zachary D. Rowitsch 2022-12-02 20:04:22 -0500
  • 02b25012fb Add ability to get kernel command parameters from a task's stack Zachary D. Rowitsch 2022-11-30 23:07:01 -0500
  • 37dcc78935 Add ability for userspace to call kernel commands via interrupt 0x80 Zachary D. Rowitsch 2022-11-30 00:40:07 -0500
  • 599ec53b40 process loading functional enough to launch an executable binary Zachary D. Rowitsch 2022-11-28 23:31:30 -0500
  • f2d577b18d begin adding tasks & processes Zachary D. Rowitsch 2022-11-26 20:12:33 -0500
  • b32ff4bffa Add fclose for fat16, vfs. add simple panic for now Zachary D. Rowitsch 2022-11-25 05:22:55 -0500
  • 4641352194 Implement fstat for vfs and fat16 layers Zachary D. Rowitsch 2022-11-25 05:06:12 -0500
  • f4902bd24b Add fread for VFS layer and fat16, add gdb script to launch qemu and load symbols Zachary D. Rowitsch 2022-11-24 19:59:47 -0500
  • 41dfd43abe Add some filesystem support + fat16 fopen Zachary D. Rowitsch 2022-11-24 05:09:59 -0500
  • 0e592bb76d Add some disk support.. twistdroach 2022-11-23 03:40:26 -0500
  • 9a77083536 Add paging twistdroach 2022-11-21 05:18:03 -0500
  • 6eacb54485 Add io functions, initialize null interrupt handlers twistdroach 2022-11-19 08:27:05 -0500
  • 07c7f3ecef Begin setting the Interrupt Descriptor Table twistdroach 2022-11-19 00:26:00 -0500
  • 878818c821 Add limited print ability twistdroach 2022-11-18 23:26:12 -0500
  • 9694d0987d booting into c code working twistdroach 2022-11-18 21:27:35 -0500
  • 787943f52e enable A20 line in boot loader twistdroach 2022-11-17 05:06:23 -0500
  • 9f0d96e8d4 refactoring project structure twistdroach 2022-11-17 05:01:27 -0500
  • 303e2f6ff5 Initial commit, boot loader gets into protected mode twistdroach 2022-11-17 04:56:48 -0500