2236639dc6
minor bug in process that could leak a kernel allocation when handling an error
master
twistdroach
2023-01-15 19:47:00 -05:00
7d1a910a76
Minor fat16 bug: elf32_off should be unsigned
Zachary D. Rowitsch
2023-01-15 01:33:36 -05:00
16065b19d9
Begin framebuffer abstraction, add BGA driver
Zachary D. Rowitsch
2023-01-15 01:26:19 -05:00
b363386005
Begin adding support for Bochs VGA Adapter, some PCI device support
twistdroach
2023-01-09 00:30:50 -05:00
c76d7aa1c6
Code formatting cleanup...
Zachary D. Rowitsch
2023-01-04 22:37:08 -05:00
dddd7ce692
Basic shift key support
Zachary D. Rowitsch
2023-01-04 22:11:48 -05:00
6c7c3e672d
add va_end to printf function
Zachary D. Rowitsch
2023-01-02 22:46:09 -05:00
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 -05:00
a5f83d8c98
Add userspace interface for fseek, fstat, fclose. Also userspace testing as well
Zachary D. Rowitsch
2022-12-31 23:24:59 -05:00
4f6bf99986
Add checking for null ptr to fread
twistdroach
2022-12-31 02:51:21 -05:00
e4e301c16c
Expose status.h to stdlib. Implement stdlib implementation of fopen and fread.
Zachary D. Rowitsch
2022-12-31 02:12:33 -05:00
c522dd99dd
Add scrolling to terminal, expand beyond 20 rows
Zachary D. Rowitsch
2022-12-26 01:22:05 -05:00
9deb4a2e34
Minor comment updates
Zachary D. Rowitsch
2022-12-26 01:20:29 -05:00
2c198155d9
Add some decoding to the exception handling so we at least know what exception was thrown
twistdroach
2022-12-25 13:18:25 -05:00
784ebb93d4
begin adding some string.h userland testing
Zachary D. Rowitsch
2022-12-25 03:20:33 -05:00
4e676a575a
Add proof of concept stdlib test, move userspace linker script to common place
Zachary D. Rowitsch
2022-12-25 01:43:45 -05:00
99a0757faf
Add assert(), assertf(), refactor panic() and print() calls out of kernel.h/c
Zachary D. Rowitsch
2022-12-24 00:38:46 -05:00
f490bce1e8
Adapt some userspace stdlib to work in the kernel, remove some redundancy
Zachary D. Rowitsch
2022-12-23 15:03:33 -05:00
c52ec69591
Update fatcopy commit
Zachary D. Rowitsch
2022-12-23 09:34:18 -05:00
a5fddfaa73
Update README with some other ideas
Zachary D. Rowitsch
2022-12-23 09:33:54 -05:00
1255313ef5
Use fatcopy instead of mounted filesystem to copy in binaries to OS image
Zachary D. Rowitsch
2022-12-23 09:28:39 -05:00
0214ec9205
Kernel Makefile refactoring
Zachary D. Rowitsch
2022-12-19 23:55:10 -05:00
5ababc74b1
add readme
Zachary D. Rowitsch
2022-12-18 02:37:06 -05:00
39b94b50b0
go back to launching the shell
Zachary D. Rowitsch
2022-12-18 02:35:42 -05:00
46843e334b
Fix various memory leaks, mostly in error handling. One overrun in fat16 string parsing
Zachary D. Rowitsch
2022-12-18 02:27:14 -05:00
6ea8959f83
Fix: restore general purpose registers corrupts ebp
Zachary D. Rowitsch
2022-12-18 02:26:07 -05:00
1f88f23ac8
Very basic task switching
Zachary D. Rowitsch
2022-12-18 02:00:01 -05:00
63893dc973
Add capslock support
Zachary D. Rowitsch
2022-12-17 13:24:27 -05:00
3ee9472592
Add process exit system call
Zachary D. Rowitsch
2022-12-17 07:48:29 -05:00
f930a6a282
Handle program crashes and process termination/cleanup
Zachary D. Rowitsch
2022-12-17 05:41:14 -05:00
399feb643a
Add ability for cmd line arguments to be passed
Zachary D. Rowitsch
2022-12-17 05:03:59 -05:00
a5a0121974
Fix user space malloc to actually map/unmap the mallocd memory
Zachary D. Rowitsch
2022-12-16 04:57:29 -05:00
44d6f17821
Fixup stdlib Makefile, need to do the kernel Makefiles as well
Zachary D. Rowitsch
2022-12-15 19:48:44 -05:00
f946103ff7
Add memory.h and stdlib.h to stdlib, add strtok function
Zachary D. Rowitsch
2022-12-15 19:48:12 -05:00
8ac0c1fb08
syscall to start another process from file
Zachary D. Rowitsch
2022-12-11 22:09:38 -05:00
27c8f697ce
Fix bug in elfloader to return error when file can't be read
Zachary D. Rowitsch
2022-12-11 22:09:08 -05:00
0975995c77
add itoa and printf, putchar and getkey syscalls
Zachary D. Rowitsch
2022-12-11 19:45:12 -05:00
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 -05:00
0265e3c6a3
Add ability to load simple, statically linked elf executables
Zachary D. Rowitsch
2022-12-10 00:54:57 -05:00
4bf8208216
add backspace
Zachary D. Rowitsch
2022-12-05 23:21:15 -05:00
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 -05:00
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 -05:00