rsc
b6dc6187f7
add DPL_USER constant
2007-08-08 09:02:42 +00:00
rsc
00d0f794cf
fix various bugs
2007-08-08 08:57:37 +00:00
rsc
a7d18bb6f0
comment tweaks; more informative process list
2007-08-08 08:38:38 +00:00
rsc
1656b1b232
move growproc up higher
2006-09-08 14:26:51 +00:00
rsc
d911d83ca1
fix various comments
2006-09-08 13:55:43 +00:00
rsc
b6cac0a53b
check preconditions in sched
2006-09-07 16:54:00 +00:00
rsc
ab17e3198b
debugging prints
2006-09-07 15:45:38 +00:00
rsc
31085bb416
more comments
2006-09-07 14:12:30 +00:00
rsc
1133b215d8
more defensive programming
2006-09-07 01:56:22 +00:00
rsc
50e514be98
fd_* => file_*
2006-09-06 18:43:45 +00:00
rsc
9936bffa45
fd.* -> file.*
2006-09-06 18:40:28 +00:00
rsc
39593d2f1a
struct fd -> struct file
2006-09-06 18:38:56 +00:00
rsc
f552738889
no /* */ comments
2006-09-06 17:50:20 +00:00
rsc
9e9bcaf143
standardize various * conventions
2006-09-06 17:27:19 +00:00
rsc
0992df4b90
clear np->mem after freeing
2006-09-06 16:35:21 +00:00
kaashoek
21a88dd053
some pipe support in sh
...
bug in proc_wait
2006-09-06 15:32:21 +00:00
rtm
2aa4c3bc29
complain if no disk 1
...
lots of cleanup
2006-08-30 18:55:06 +00:00
rtm
18432ed5ed
nits
2006-08-29 21:35:30 +00:00
rtm
7a37578e9e
clear killed flag in exit
...
idecref cwd in exit
2006-08-29 19:59:52 +00:00
rtm
dfcc5b997c
prune unneeded panics and debug output
2006-08-29 19:06:37 +00:00
rtm
3b95801add
i broke sbrk, fix it
2006-08-29 17:01:40 +00:00
rtm
2b19190c13
clean up stale error checks and panics
...
delete unused functions
a few comments
2006-08-29 14:45:45 +00:00
kaashoek
81d5219998
bug in sbrk
...
test malloc
2006-08-24 19:24:36 +00:00
kaashoek
ea2909b6b5
user-level malloc (untested)
...
nit in sbrk
indirect block
fix dup to share fd struct
2006-08-24 02:44:41 +00:00
kaashoek
8b58e81077
i/o redirection in sh
...
better parsing of sh commands (copied from jos sh)
cat: read from 1 if no args
sbrk system call, but untested
getpid system call
moved locks in keyboard intr, but why do we get intr w. null characters from keyboard?
2006-08-23 01:09:24 +00:00
kaashoek
8787cd01df
chdir
...
cd in shell
nits in mkdir, ls, etc.
2006-08-19 23:41:34 +00:00
rtm
350e63f7a9
no more proc[] entry per cpu for idle loop
...
each cpu[] has its own gdt and tss
no per-proc gdt or tss, re-write cpu's in scheduler (you win, cliff)
main0() switches to cpu[0].mpstack
2006-08-15 22:18:20 +00:00
kaashoek
e958c538fa
commented out code for cwd
2006-08-15 15:53:46 +00:00
rtm
9e5970d596
link()
2006-08-13 02:12:44 +00:00
rtm
5be0039ce9
interrupts could be recursive since lapic_eoi() called before rti
...
so fast interrupts overflow the kernel stack
fix: cli() before lapic_eoi()
2006-08-10 22:08:14 +00:00
rtm
0e84a0ec6e
fix race in holding() check in acquire()
...
give cpu1 a TSS and gdt for when it enters scheduler()
and a pseudo proc[] entry for each cpu
cpu0 waits for each other cpu to start up
read() for files
2006-08-08 19:58:06 +00:00
rtm
32630628a9
open()
2006-07-29 09:35:02 +00:00
rtm
c59361f143
primitive exec
2006-07-27 21:10:00 +00:00
rtm
bd228a8156
prevent longjmp / forkret from writing over tf->edi
2006-07-18 19:22:37 +00:00
rsc
0dd4253747
add ide_lock for sleep
2006-07-17 05:00:25 +00:00
rsc
b5f17007f4
standarize on unix-like lowercase struct names
2006-07-17 01:58:13 +00:00
rsc
b5ee516575
add uint and standardize on typedefs instead of unsigned
2006-07-17 01:52:13 +00:00
rsc
ee9c7f3bfc
goodbye PushRegs
2006-07-17 01:36:39 +00:00
rsc
c54c79267f
nitpicks
2006-07-17 01:25:22 +00:00
rsc
564f787e91
Eliminate annoying Pseudodesc structure.
...
Eliminate unnecessary parts of mmu.h.
2006-07-16 16:55:52 +00:00
rsc
ef2bd07ae4
standardize on not using foo_ prefix in struct foo
2006-07-16 15:41:47 +00:00
rsc
51716a869c
Rename fd_reference to more suggestive fd_incref.
...
(Fd_reference sounds like it might just return the ref count.)
2006-07-16 01:49:03 +00:00
rsc
856e1fc1ad
Attempt to clean up newproc somewhat.
...
Also remove all calls to memcpy in favor of
memmove, which has defined semantics when
the ranges overlap. The fact that memcpy was
working in console.c to scroll the screen is not
guaranteed by all implementations.
2006-07-16 01:47:40 +00:00
rsc
65bd8e139a
New scheduler.
...
Removed cli and sti stack in favor of tracking
number of locks held on each CPU and explicit
conditionals in spinlock.c.
2006-07-16 01:15:28 +00:00
rsc
643b122b4a
move everything having to do with proc_table_lock into proc.c
2006-07-15 17:24:54 +00:00
rtm
46bbd72f3e
no more recursive locks
...
wakeup1() assumes you hold proc_table_lock
sleep(chan, lock) provides atomic sleep-and-release to wait for condition
ugly code in swtch/scheduler to implement new sleep
fix lots of bugs in pipes, wait, and exit
fix bugs if timer interrupt goes off in schedule()
console locks per line, not per byte
2006-07-15 12:03:57 +00:00
rtm
6eb6f10c56
passes both usertests
...
exit had acquire where I meant release
swtch now checks that you hold no locks
2006-07-12 15:35:33 +00:00
rtm
8148b6ee53
i think my cmpxchg use was wrong in acquire
...
nesting cli/sti: release shouldn't always enable interrupts
separate setup of lapic from starting of other cpus, so cpu() works earlier
flag to disable locking in console output
make locks work even when curproc==0
(still crashes in clock interrupt)
2006-07-12 11:15:38 +00:00
rtm
664324745e
cvs add spinlock.h
...
fix race in schedule()
2006-07-12 09:10:25 +00:00
rtm
4e8f237be8
no more big kernel lock
...
succeeds at usertests.c pipe test
2006-07-12 01:48:35 +00:00