Commit Graph

459 Commits

Author SHA1 Message Date
Kevin Lange
ddc71135af [proc] Fix some latent management bugs 2011-12-15 21:08:48 -06:00
Kevin Lange
b8d8140530 QEMU may default to 128MB, that's bad, we need at least 256 2011-12-15 20:34:57 -06:00
Kevin Lange
324cba6f57 [printf] Add one more little catch, just in case... 2011-12-15 17:46:57 -06:00
Kevin Lange
021585e9ef [misc] Massive improvements to process handling
- Free process resources when a process exits (reaped in next process
  cycle; should probably reap after a wait() or something)
- Free process struct after wait()
- Fix page allocation
- Fix fork() return value for child process (attempted to write to an
  invalid point in kernel-stack memory)

We shouldn't be triple faulting randomly anymore!

Continue investigating the fork() return value, as there was a bugged
return at some point during executon of a test run of thrash-process.
2011-12-15 17:21:28 -06:00
Kevin Lange
37c3ab67ce [sys] Fix fork syscall return values 2011-12-15 15:31:18 -06:00
Kevin Lange
dae4083454 [panic] Updated panic messages 2011-12-15 01:46:22 -06:00
Kevin Lange
67343548a7 Only mount hard disk if requested 2011-12-14 22:30:46 -06:00
Kevin Lange
8c548c0db0 Restructure directory tree for kernel modules 2011-12-14 22:15:47 -06:00
Kevin Lange
5d0f3f0f3d [text/io] Better text output management
- Fixes a number of bugs with VGA text-mode (including crashes and
  colors)
- Makes it far easier to include more console drivers in the kernel,
  though this will be terribly redundant in the future.
- Actually check for video graphics modes before attempting to draw the
  mouse cursor.
2011-12-14 21:50:34 -06:00
Kevin Lange
20fab345a8 [user] Simple little test app that triggers a stack overflow 2011-12-14 20:06:09 -06:00
Kevin Lange
258e2bfbfe [log] More logging, make output of dmesg prettier 2011-12-14 19:43:14 -06:00
Kevin Lange
6d27ef0ffe [log] vsprintf, fix va logging 2011-12-14 19:19:51 -06:00
Kevin Lange
3b6512a6ae [log] Fix logging, and log some init functions 2011-12-14 19:06:11 -06:00
Kevin Lange
748a8e8d28 [log] Simple logging facility 2011-12-14 17:47:30 -06:00
Kevin Lange
b108375731 [docs] NOTICE: We are moving soon!
Be prepared to change your pull URLs and any bookmarks you may
have as we are moving to acm-uiuc/toaruos
2011-12-14 15:58:38 -06:00
Kevin Lange
cbc60a89cf [proc] Documentation, in my code? 2011-12-14 02:37:43 -06:00
Kevin Lange
9834979e38 [task] Comments 2011-12-14 02:29:23 -06:00
Kevin Lange
4373e904ac [misc] Actually enter user mode properly so our TSS gets used 2011-12-13 16:06:45 -06:00
Kevin Lange
2fdf993af7 [ide] Minor updates 2011-12-13 00:48:04 -06:00
Kevin Lange
d7d52555c9 [user] Redundant -O 2011-12-12 04:11:07 -06:00
Kevin Lange
9f4bb37123 [docs] Update TODO 2011-12-12 02:29:59 -06:00
Kevin Lange
61bdd8f11d [misc] Various, meaningless edits 2011-12-12 02:17:14 -06:00
Kevin Lange
16989b65b0 [locks] Locks 2011-12-10 19:15:12 -06:00
Kevin Lange
145c4274d5 [misc] Also the include files... 2011-12-10 17:45:04 -06:00
Kevin Lange
3670757dc9 [misc] Make those all uniform, remove redundant ones 2011-12-10 17:42:41 -06:00
Kevin Lange
385fdae86c [misc] Add vim hints to the top of all modules 2011-12-10 17:34:10 -06:00
Kevin Lange
15c01ce442 [misc] Fix working directory handling 2011-12-08 15:37:11 -06:00
Kevin Lange
2a1b0d3dcf [process] Massive commit: New process model 2011-12-08 15:25:48 -06:00
Kevin Lange
3f513579e1 initial work on new process model 2011-12-07 20:59:08 -06:00
Kevin Lange
9f165800b7 [tree] Add some new functions 2011-12-07 20:58:47 -06:00
Kevin Lange
3d916ea911 [kbd/mouse] Clean up 2011-12-07 20:58:25 -06:00
Kevin Lange
c54de06083 [esh] Support &, search path 2011-12-07 15:08:40 -06:00
Kevin Lange
c4fe97af6d [kbd] Cleanup 2011-12-07 15:01:31 -06:00
Kevin Lange
fa09f76582 [esh] Handle bad execs 2011-12-06 20:36:40 -06:00
Kevin Lange
04a5f4a833 [sys] Pass on values for failed executions 2011-12-06 20:36:25 -06:00
Kevin Lange
dca46fffc4 [sys] wait(pid) 2011-12-06 20:13:20 -06:00
Kevin Lange
d52e73e71e [esh] Esh, the experimental shell 2011-12-06 19:46:35 -06:00
Kevin Lange
8d0ebc5042 Fix forking? 2011-12-06 19:46:22 -06:00
Kevin Lange
fb2759e01a [mem] Add some new page fault special things 2011-12-06 19:43:45 -06:00
Kevin Lange
abcbefece3 [ext2] *Should* be a working inode writer 2011-12-06 18:04:42 -06:00
Kevin Lange
cf6b4081b2 [ext2] remove STOP from inode allocator 2011-12-05 00:27:25 -06:00
Kevin Lange
a9555e28ce [ext2] Bitmap allocation, we can (almost) allocate inodes 2011-12-05 00:21:56 -06:00
Kevin Lange
d7e5cb2556 [build] That entire rule was unused... 2011-12-01 01:09:12 -06:00
Kevin Lange
942d10d923 [docs] Forgot to note that genext2fs is a build requirement for the ramdisks 2011-11-30 23:24:17 -06:00
Kevin Lange
8f6d345039 [userspace] Nyancat!
Also works on a standard xterm:
    gcc -o nyancat nyancat.c
    ./nyancat
(Be sure to set your terminal to at least 128 wide and 64 tall)
2011-11-29 23:41:02 -06:00
Kevin Lange
a9661400e2 [fs] Use the path canonicalization function for opening and cd'ing 2011-11-29 20:19:30 -06:00
Kevin Lange
7ecd1bd440 [shell] Various testing functions 2011-11-29 13:33:25 -06:00
Kevin Lange
80db0f331d [vfs] Proper path canonicalization available 2011-11-29 13:28:36 -06:00
Kevin Lange
05860ee7c7 [list] Fix remove and pop 2011-11-29 13:07:59 -06:00
Kevin Lange
30326e5dd3 [ext2] Fix bad allocations for block objects 2011-11-29 13:06:41 -06:00