Commit Graph

135 Commits

Author SHA1 Message Date
Ali Mashtizadeh
1160570250 Implemented OSThreadExit and a nonblocking OSThreadWait 2015-01-16 19:41:27 -08:00
Ali Mashtizadeh
5a3d86aa7b Implemented OSThreadCreate system call 2015-01-16 17:57:21 -08:00
Ali Mashtizadeh
114b35bbbc Fix overflow in KTime_GetEpochNS 2015-01-16 17:08:29 -08:00
Ali Mashtizadeh
c408b47966 Keep track of process wait times 2015-01-16 15:25:36 -08:00
Ali Mashtizadeh
6953d03cb3 Fix bug in timer wheel 2015-01-16 15:25:13 -08:00
Ali Mashtizadeh
a01b839b67 Fix bug in KTime_GetEpochNS() 2015-01-16 15:16:44 -08:00
Ali Mashtizadeh
2342aefe9e Support sleep(0) 2015-01-16 14:52:20 -08:00
Ali Mashtizadeh
60799c824e Support thread sleep system call 2015-01-16 14:50:10 -08:00
Ali Mashtizadeh
35b633417f Fix time keeping, TSC ticks per second, and implement generic timer infrastructure. 2015-01-16 14:32:47 -08:00
Ali Mashtizadeh
64f2ca2259 Fix a bug in the scheduler 2015-01-15 21:24:15 -08:00
Ali Mashtizadeh
e1f9737450 Improve slab debugging 2015-01-15 21:24:04 -08:00
Ali Mashtizadeh
858f3cff69 Plumbing thread related system calls into user-level 2015-01-14 14:57:47 -08:00
Ali Mashtizadeh
156e25fcc5 Improving process debugging code and scheduler queues 2015-01-14 14:44:32 -08:00
Ali Mashtizadeh
9d9f301bdd Begin refactoring to support both threads and processes 2015-01-14 14:28:43 -08:00
Ali Mashtizadeh
408cb2adc0 Cleanup thread and loader code 2015-01-05 17:06:35 -08:00
Ali Mashtizadeh
9b4e8af58c Basic NIC enumeration and wrapping 2014-12-31 19:31:25 -08:00
Ali Mashtizadeh
907baa75a7 Fix bug that caused a crash if an interrupt was triggered while loading a binary. 2014-12-30 21:13:29 -08:00
Ali Mashtizadeh
266dfcc857 Basic time functions and fix time system call 2014-12-30 17:54:42 -08:00
Ali Mashtizadeh
989dad3726 Fix comment in palloc 2014-12-08 22:47:57 -08:00
Ali Mashtizadeh
438b073151 Implement reference counting for the page allocator 2014-12-08 22:37:40 -08:00
Ali Mashtizadeh
6d9ca7f578 Add ls to shell, readdir support, and fix a bug in opening root directory. 2014-12-05 18:05:53 -08:00
Ali Mashtizadeh
645b8f18e0 Basic shell commands and bug fixes 2014-12-05 14:07:28 -08:00
Ali Mashtizadeh
39562233bf Support opening, reading and stating files from userlevel 2014-12-05 00:25:20 -08:00
Ali Mashtizadeh
4b6006bd9a Basic log level support 2014-11-29 16:39:48 -08:00
Ali Mashtizadeh
44195fd034 Fix TSS kernel stack pointer switching 2014-11-29 15:46:17 -08:00
Ali Mashtizadeh
796a7f0cbb Segment registers and TSS bugfix that caused triple faults. Also includes part of the Spawn system call implementation. 2014-11-26 13:49:17 -08:00
Ali Mashtizadeh
8d9580b273 Basic sysctl infrastructure 2014-11-25 12:07:14 -08:00
Ali Mashtizadeh
287b3bc043 C11 and KTime improvements 2014-11-25 00:22:05 -08:00
Ali Mashtizadeh
a379454139 Connect time syscall 2014-11-24 23:47:58 -08:00
Ali Mashtizadeh
f58694ca12 Implemented from and to epoch 2014-11-24 22:21:37 -08:00
Ali Mashtizadeh
bcc331a3d8 Reorganization of kernel time code 2014-11-24 16:17:17 -08:00
Ali Mashtizadeh
3fc2949c5c Basic stdio.h support working 2014-10-14 19:07:19 -07:00
Ali Mashtizadeh
331b8aba6e Implement support for Console IO 2014-10-14 16:24:47 -07:00
Ali Mashtizadeh
5852ce5727 Fixes to CopyIn/CopyOut 2014-10-14 16:23:50 -07:00
Ali Mashtizadeh
a8aeb1a3c5 Implement strncmp 2014-10-14 14:07:55 -07:00
Ali Mashtizadeh
fa86208a82 Add copy.c into build 2014-10-14 13:58:34 -07:00
Ali Mashtizadeh
4e76a9a922 Improving kernel ELF loader 2014-10-12 20:22:52 -07:00
Ali Mashtizadeh
b2c2b7c45a Implement copyin/copyout 2014-10-12 13:17:18 -07:00
Ali Mashtizadeh
3610f34c63 Enable more C warnings and fix a few instances of those warnings. 2014-09-29 13:46:38 -07:00
Ali Mashtizadeh
0e8b1ecea3 Fixing bugs in the slab allocator and xmem. 2014-09-05 18:34:51 -07:00
Ali Mashtizadeh
e5fd27f2f2 Switch to using the slab allocator for common objects. 2014-09-05 18:06:03 -07:00
Ali Mashtizadeh
b84ee76c20 Fix a bug in the slab allocator and improve the debugging output. 2014-09-05 18:04:33 -07:00
Ali Mashtizadeh
03343a774c Simple slab allocator allocator 2014-09-04 23:26:02 -07:00
Ali Mashtizadeh
3ada1a4fcc Fixing warnings and small fixes. 2014-09-04 18:21:18 -07:00
Ali Mashtizadeh
bad9c2b470 Support PS2 keyboard in debug console 2014-09-03 17:38:34 -07:00
Ali Mashtizadeh
41b659b558 Generic handle infrastructure 2014-08-08 13:55:12 -07:00
Ali Mashtizadeh
2611795d6f Implementing and testing a few system calls 2014-08-07 17:58:41 -07:00
Ali Mashtizadeh
6bddaeffe7 Switch loader to use VFS and a few bug fixes 2014-08-01 15:50:04 -07:00
Ali Mashtizadeh
2a79939b79 Beginning O2FS and VFS code along with superblock and root directory reading. 2014-08-01 14:15:06 -07:00
Ali Mashtizadeh
008488413a Implement memcmp 2014-07-31 18:16:08 -07:00
Ali Mashtizadeh
e901bdc7ce Implement disk cache and improve other related parts of the kernel. 2014-07-30 17:19:24 -07:00
Ali Mashtizadeh
0d1847269a Placeholder for system calls 2014-07-28 14:35:00 -07:00
Ali Mashtizadeh
3aef9e4cd8 Improving kernel ASSERT messages 2014-07-28 14:25:34 -07:00
Ali Mashtizadeh
0dd593fff2 User space working 2014-07-27 17:09:31 -07:00
Ali Mashtizadeh
b8b91d3e33 Cleanup and locking for the IDE driver. 2014-07-25 01:43:23 -07:00
Ali Mashtizadeh
ff2be2e406 rdtsc and improved spinlock statistics 2014-07-24 20:25:17 -07:00
Ali Mashtizadeh
82af1f6801 Disk infrastructure and working read support 2014-07-24 16:38:35 -07:00
Ali Mashtizadeh
cfa5135302 Cleanup and implement Spinlock_Destroy 2014-07-23 18:14:54 -07:00
Ali Mashtizadeh
c184e7fa0a Implement kernel threads and a round-robin scheduler 2014-07-23 18:07:07 -07:00
Ali Mashtizadeh
a3cf5d9ad9 Spinlock debugging 2014-07-23 18:06:21 -07:00
Ali Mashtizadeh
73359af474 Merge branch 'master' of bitbucket.org:/mashtizadeh/castor 2014-07-21 23:43:43 -07:00
Ali Mashtizadeh
76108674d1 Build improvements 2014-07-21 23:43:01 -07:00
Ali Mashtizadeh
23117cf815 Fix to debugger 2014-07-21 12:49:45 -07:00
Ali Mashtizadeh
a71418733a Generate array of debug commands in a segment to remove static code. 2014-07-20 13:45:57 -07:00
Ali Mashtizadeh
c523345a4a Adding pcidump command to debugger 2014-07-17 01:14:49 -07:00
Ali Mashtizadeh
d5b94390f8 Support up to 6GBs of RAM and improve debugging 2014-07-16 17:21:18 -07:00
Ali Mashtizadeh
95fbcc08b0 Remove some unused variables 2014-07-15 17:25:48 -07:00
Ali Mashtizadeh
12c5b196d9 Various interrupt bug fixes and improvements. 2014-07-15 17:00:16 -07:00
Ali Mashtizadeh
27c65e8992 Refactoring and improvements 2014-07-13 23:16:54 -07:00
Ali Mashtizadeh
eb6efaa773 Add reboot command to debugger 2014-07-13 17:05:19 -07:00
Ali Mashtizadeh
24cb178868 Import FreeBSD AMD64 disassembler 2014-07-13 16:52:18 -07:00
Ali Mashtizadeh
4cb35eee1c Fix warnings in kern/debug.c 2014-07-13 14:48:41 -07:00
Ali Mashtizadeh
b553da4d10 Implement Dump and Registers commands 2014-07-13 14:44:05 -07:00
Ali Mashtizadeh
befee0cf6b Debug console working over serial 2014-07-13 14:22:59 -07:00
Ali Mashtizadeh
6b0d427898 Improving libc and printf 2014-07-13 14:09:36 -07:00
Ali Mashtizadeh
c9750e4834 Basic debugger support over serial 2014-07-13 13:36:43 -07:00
Ali Mashtizadeh
dd0e90c84d Starting Kernel Debugger 2014-07-13 13:07:19 -07:00
Ali Mashtizadeh
3c09132308 Implement spinlocks 2014-07-10 15:55:32 -07:00
Ali Mashtizadeh
8cf8d7f4f5 Create and improve headers for various modules 2014-07-06 14:30:09 -07:00
Ali Mashtizadeh
25ff76e4d7 Fixing warnings and checking AHCI caps 2014-07-06 00:07:32 -07:00
Ali Mashtizadeh
696101f277 AHCI fixes and debugging improvements 2014-07-03 17:36:31 -07:00
Ali Mashtizadeh
f0b4968b62 Add memcpy 2014-07-02 16:18:40 -07:00
Ali Mashtizadeh
255f560351 Basic page mapping, allocator, and PCI code 2014-06-30 15:52:35 -07:00
Ali Mashtizadeh
35dc79b899 Initial page allocator 2014-02-18 10:48:35 -08:00
Ali Mashtizadeh
11c151b60e Initial commit 2014-02-12 13:47:13 -08:00