Commit graph

505 commits

Author SHA1 Message Date
rtm
902b13f5d6 simplify ide queuing
nits in comments
2007-08-24 19:32:36 +00:00
rsc
2bc72bdd29 bring bootasm and bootother more in sync 2007-08-24 19:25:52 +00:00
rsc
5d1f4b8a3a Rework comments a bit.
Move initialization of %sp after
protected mode jump and change to %esp.
2007-08-24 18:52:59 +00:00
rtm
2036534834 add missing iput() at end of _namei() 2007-08-24 14:56:17 +00:00
rtm
b55513796f oops, O_CREATE doesn't truncate, so holes can't exist, thus no bug 2007-08-24 12:55:15 +00:00
rtm
3d5f21ee1f test concurrent open/unlink of same file (ok)
test files with holes (not ok)
2007-08-24 12:19:13 +00:00
rsc
68ae4cc127 comment what +m means; omit needless __ 2007-08-24 00:34:54 +00:00
rsc
2aae720537 omit needless ampersands 2007-08-24 00:02:03 +00:00
rsc
649bc99fe4 align, sort 2007-08-23 23:58:19 +00:00
rsc
b1fb19b6df Use parent pointer instead of ppid. 2007-08-23 14:40:30 +00:00
rsc
3a057d12ae avoid hardcoding init as pid 1 proc[0] 2007-08-23 14:35:28 +00:00
rsc
1d7839a1da my mistake found by robert 2007-08-22 17:45:52 +00:00
rsc
e9ddc7c099 NREQUEST = NBUF 2007-08-22 14:38:00 +00:00
rsc
15868c4bbf better comment 2007-08-22 14:21:05 +00:00
rsc
f0721f1be4 tweaks 2007-08-22 06:20:10 +00:00
rsc
eaea18cb9c PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf
Various changes made while offline.

 + bwrite sector argument is redundant; use b->sector.
 + reformatting of files for nicer PDF page breaks
 + distinguish between locked, unlocked inodes in type signatures
 + change FD_FILE to FD_INODE
 + move userinit (nee proc0init) to proc.c
 + move ROOTDEV to param.h
 + always parenthesize sizeof argument
2007-08-22 06:01:32 +00:00
rsc
3dcf889c1b cleanup 2007-08-22 05:57:39 +00:00
rsc
6bf2e5c898 add ln 2007-08-22 05:54:55 +00:00
rsc
c88bf235fe check unlink of non-empty directory 2007-08-22 02:21:22 +00:00
rsc
bd39955ecc ARGMAX -> MAXARGS 2007-08-21 20:01:11 +00:00
rsc
fbf9103952 remove namelen parameter 2007-08-21 19:58:55 +00:00
rsc
0073beee52 remove dead code 2007-08-21 19:22:27 +00:00
rsc
f32f3638f4 Various cleanup:
- Got rid of dummy proc[0].  Now proc[0] is init.
 - Added initcode.S to exec /init, so that /init is
   just a regular binary.
 - Moved exec out of sysfile to exec.c
 - Moved code dealing with fs guts (like struct inode)
   from sysfile.c to fs.c.  Code dealing with system call
   arguments stays in sysfile.c
 - Refactored directory routines in fs.c; should be simpler.
 - Changed iget to return *unlocked* inode structure.
   This solves the lookup-then-use race in namei
   without introducing deadlocks.
   It also enabled getting rid of the dummy proc[0].
2007-08-21 19:22:08 +00:00
rsc
2d61a40b20 bug in usertests! 2007-08-20 21:00:20 +00:00
rsc
e2a620da49 checkpoint - simpler namei interface 2007-08-20 19:37:15 +00:00
rsc
ef30c2c749 no more w 2007-08-20 18:55:51 +00:00
rsc
bcca6c6bde shuffle fs.c in bottom-up order 2007-08-20 18:23:52 +00:00
rsc
0655445ba9 cleanup loop 2007-08-14 19:42:14 +00:00
rsc
2186f88c21 formatting, cleanup 2007-08-14 19:41:56 +00:00
rsc
cce27ba9fb formatting 2007-08-14 19:41:38 +00:00
rsc
07ddc0fa82 nit 2007-08-14 19:41:29 +00:00
rsc
fe5f50a03d fixes 2007-08-14 19:41:01 +00:00
rsc
5e8c5d8bb8 formatting; split kbd constants into kbd.h 2007-08-14 19:31:16 +00:00
rsc
ea6e370964 i cannot prove that release before wakeup is wrong, but i cannot convince myself it is right either 2007-08-14 19:10:57 +00:00
rsc
4bc5056c19 formatting, simplify 2007-08-14 19:05:48 +00:00
rsc
8d0a83565a formatting, sleep bug fix 2007-08-14 18:46:29 +00:00
rsc
f1f8dd91bc formatting 2007-08-14 18:42:34 +00:00
rsc
29ff8d495c ide_write unused => gone 2007-08-14 14:24:09 +00:00
rsc
8c4b5fc5b3 Gcc expects to be able to pick up the return
address off the stack, so put one there for it.
(Bug was hidden by bad segment limits.)
2007-08-14 04:56:30 +00:00
rsc
2ef3a64bb4 Because limit gives the address of the last addressable
byte in the segment, the limit argument to SEG16 and SEG
needs to have 1 subtracted from it.
2007-08-14 04:55:45 +00:00
rsc
64659055bd ditto 2007-08-14 04:06:02 +00:00
rsc
3163085ace Cannot use "g" as an arg constraint because
some memory references aren't actually valid
and gcc is a bit too smart in parsing (%0) and
a bit too dumb in knowing which memory refs
are not valid.  Using "r" seems to constrain gcc
to use a register as in (%eax) and not substitute
a memory reference like (-36(%ebp)).

No one really understands these things.
2007-08-14 04:05:27 +00:00
rsc
5e03dd86c8 add test for rm . 2007-08-10 17:53:09 +00:00
rsc
15b326b630 nit 2007-08-10 17:45:49 +00:00
rsc
8908cc9b15 correct line numbers 2007-08-10 17:45:14 +00:00
rsc
8139713c46 add note 2007-08-10 17:19:15 +00:00
rsc
2715cd3592 and spinlock 2007-08-10 17:17:57 +00:00
rsc
dca5b5ca2e avoid assignments in declarations 2007-08-10 17:17:42 +00:00
rsc
6861140a66 replace bogus loops with slightly less bogus loops. 2007-08-10 17:05:46 +00:00
rsc
3d145283a2 tweak kalloc 2007-08-10 17:02:36 +00:00