]>
Devi Nivas Git - cs3210-lab0.git/log
rsc [Mon, 27 Aug 2007 16:57:13 +0000 (16:57 +0000)]
Clean up lapic code.
One initialization function now, not three.
Use #defines instead of enums (consistent with other code, but sigh).
Still boots in Bochs in SMP mode.
rsc [Mon, 27 Aug 2007 16:55:10 +0000 (16:55 +0000)]
nits
rsc [Mon, 27 Aug 2007 16:12:08 +0000 (16:12 +0000)]
nits
rsc [Mon, 27 Aug 2007 16:06:19 +0000 (16:06 +0000)]
nits
rsc [Mon, 27 Aug 2007 16:06:15 +0000 (16:06 +0000)]
oops
rsc [Mon, 27 Aug 2007 15:17:40 +0000 (15:17 +0000)]
Edit exec.
Do not commit to new memory image until
nothing can go wrong, avoiding bad2 case.
Be sure to allocate enough stack space for argv.
Load executable before initializing stack, to
keep ELF loops together.
Make argv loop clearer.
rsc [Mon, 27 Aug 2007 14:39:50 +0000 (14:39 +0000)]
nits
rsc [Mon, 27 Aug 2007 14:37:13 +0000 (14:37 +0000)]
formatting shuffle
rsc [Mon, 27 Aug 2007 14:35:09 +0000 (14:35 +0000)]
fileincref -> filedup (consistent with idup)
rsc [Mon, 27 Aug 2007 14:31:50 +0000 (14:31 +0000)]
nits
rsc [Mon, 27 Aug 2007 14:23:48 +0000 (14:23 +0000)]
tell what an inode is
rsc [Mon, 27 Aug 2007 14:20:24 +0000 (14:20 +0000)]
FS cleanup.
Add utility routines bzero, readsb so that balloc, bfree fit on one page.
Make balloc loop clearer.
rsc [Mon, 27 Aug 2007 14:09:30 +0000 (14:09 +0000)]
Another attempt at the bio.c comment.
Rename B_WRITE to B_DIRTY and then let ide.c
maintain the B_VALID and B_DIRTY flags.
rsc [Mon, 27 Aug 2007 13:34:35 +0000 (13:34 +0000)]
Replace yield system call with sleep.
rsc [Mon, 27 Aug 2007 13:11:13 +0000 (13:11 +0000)]
formatting, fix comment
rsc [Mon, 27 Aug 2007 12:50:36 +0000 (12:50 +0000)]
make kfree loop same as kalloc
rsc [Mon, 27 Aug 2007 12:48:20 +0000 (12:48 +0000)]
nits
rsc [Mon, 27 Aug 2007 12:48:03 +0000 (12:48 +0000)]
cut bootmain to 1 sheet
rsc [Fri, 24 Aug 2007 22:17:54 +0000 (22:17 +0000)]
shuffle for formatting
rsc [Fri, 24 Aug 2007 22:17:41 +0000 (22:17 +0000)]
minor cleanups
rsc [Fri, 24 Aug 2007 21:33:11 +0000 (21:33 +0000)]
nit
rsc [Fri, 24 Aug 2007 21:14:58 +0000 (21:14 +0000)]
nits
rsc [Fri, 24 Aug 2007 21:00:02 +0000 (21:00 +0000)]
first ever correct use of strncpy
rsc [Fri, 24 Aug 2007 20:59:43 +0000 (20:59 +0000)]
remove unused variable
rsc [Fri, 24 Aug 2007 20:54:23 +0000 (20:54 +0000)]
Remove struct uinode.
Remove type arg to mknod (assume T_DEV).
rsc [Fri, 24 Aug 2007 20:28:21 +0000 (20:28 +0000)]
not first anymore
rsc [Fri, 24 Aug 2007 20:28:08 +0000 (20:28 +0000)]
nits
rsc [Fri, 24 Aug 2007 20:27:47 +0000 (20:27 +0000)]
align
rsc [Fri, 24 Aug 2007 20:22:55 +0000 (20:22 +0000)]
make wakeup1 static
rsc [Fri, 24 Aug 2007 20:20:23 +0000 (20:20 +0000)]
test that fork fails gracefully
rsc [Fri, 24 Aug 2007 20:06:14 +0000 (20:06 +0000)]
Reorder spinlock.c: acquire and release first
rsc [Fri, 24 Aug 2007 20:04:53 +0000 (20:04 +0000)]
Add yield system call, for zombie test program (bad idea?).
rsc [Fri, 24 Aug 2007 20:03:40 +0000 (20:03 +0000)]
Remove puts in favor of printf.
Allow multiple arguments to ls.
rtm [Fri, 24 Aug 2007 19:52:49 +0000 (19:52 +0000)]
comment nits
rsc [Fri, 24 Aug 2007 19:46:19 +0000 (19:46 +0000)]
nits
rsc [Fri, 24 Aug 2007 19:37:24 +0000 (19:37 +0000)]
finish comments
rsc [Fri, 24 Aug 2007 19:36:52 +0000 (19:36 +0000)]
tweak
rtm [Fri, 24 Aug 2007 19:32:36 +0000 (19:32 +0000)]
simplify ide queuing
nits in comments
rsc [Fri, 24 Aug 2007 19:25:52 +0000 (19:25 +0000)]
bring bootasm and bootother more in sync
rsc [Fri, 24 Aug 2007 18:52:59 +0000 (18:52 +0000)]
Rework comments a bit.
Move initialization of %sp after
protected mode jump and change to %esp.
rtm [Fri, 24 Aug 2007 14:56:17 +0000 (14:56 +0000)]
add missing iput() at end of _namei()
rtm [Fri, 24 Aug 2007 12:55:15 +0000 (12:55 +0000)]
oops, O_CREATE doesn't truncate, so holes can't exist, thus no bug
rtm [Fri, 24 Aug 2007 12:19:13 +0000 (12:19 +0000)]
test concurrent open/unlink of same file (ok)
test files with holes (not ok)
rsc [Fri, 24 Aug 2007 00:34:54 +0000 (00:34 +0000)]
comment what +m means; omit needless __
rsc [Fri, 24 Aug 2007 00:02:03 +0000 (00:02 +0000)]
omit needless ampersands
rsc [Thu, 23 Aug 2007 23:58:19 +0000 (23:58 +0000)]
align, sort
rsc [Thu, 23 Aug 2007 14:40:30 +0000 (14:40 +0000)]
Use parent pointer instead of ppid.
rsc [Thu, 23 Aug 2007 14:35:28 +0000 (14:35 +0000)]
avoid hardcoding init as pid 1 proc[0]
rsc [Wed, 22 Aug 2007 17:45:52 +0000 (17:45 +0000)]
my mistake found by robert
rsc [Wed, 22 Aug 2007 14:38:00 +0000 (14:38 +0000)]
NREQUEST = NBUF
rsc [Wed, 22 Aug 2007 14:21:05 +0000 (14:21 +0000)]
better comment
rsc [Wed, 22 Aug 2007 06:20:10 +0000 (06:20 +0000)]
tweaks
rsc [Wed, 22 Aug 2007 06:01:32 +0000 (06:01 +0000)]
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
rsc [Wed, 22 Aug 2007 05:57:39 +0000 (05:57 +0000)]
cleanup
rsc [Wed, 22 Aug 2007 05:54:55 +0000 (05:54 +0000)]
add ln
rsc [Wed, 22 Aug 2007 02:21:22 +0000 (02:21 +0000)]
check unlink of non-empty directory
rsc [Tue, 21 Aug 2007 20:01:11 +0000 (20:01 +0000)]
ARGMAX -> MAXARGS
rsc [Tue, 21 Aug 2007 19:58:55 +0000 (19:58 +0000)]
remove namelen parameter
rsc [Tue, 21 Aug 2007 19:22:27 +0000 (19:22 +0000)]
remove dead code
rsc [Tue, 21 Aug 2007 19:22:08 +0000 (19:22 +0000)]
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].
rsc [Mon, 20 Aug 2007 21:00:20 +0000 (21:00 +0000)]
bug in usertests!
rsc [Mon, 20 Aug 2007 19:37:15 +0000 (19:37 +0000)]
checkpoint - simpler namei interface
rsc [Mon, 20 Aug 2007 18:55:51 +0000 (18:55 +0000)]
no more w
rsc [Mon, 20 Aug 2007 18:23:52 +0000 (18:23 +0000)]
shuffle fs.c in bottom-up order
rsc [Tue, 14 Aug 2007 19:42:14 +0000 (19:42 +0000)]
cleanup loop
rsc [Tue, 14 Aug 2007 19:41:56 +0000 (19:41 +0000)]
formatting, cleanup
rsc [Tue, 14 Aug 2007 19:41:38 +0000 (19:41 +0000)]
formatting
rsc [Tue, 14 Aug 2007 19:41:29 +0000 (19:41 +0000)]
nit
rsc [Tue, 14 Aug 2007 19:41:01 +0000 (19:41 +0000)]
fixes
rsc [Tue, 14 Aug 2007 19:31:16 +0000 (19:31 +0000)]
formatting; split kbd constants into kbd.h
rsc [Tue, 14 Aug 2007 19:10:57 +0000 (19:10 +0000)]
i cannot prove that release before wakeup is wrong, but i cannot convince myself it is right either
rsc [Tue, 14 Aug 2007 19:05:48 +0000 (19:05 +0000)]
formatting, simplify
rsc [Tue, 14 Aug 2007 18:46:29 +0000 (18:46 +0000)]
formatting, sleep bug fix
rsc [Tue, 14 Aug 2007 18:42:34 +0000 (18:42 +0000)]
formatting
rsc [Tue, 14 Aug 2007 14:24:09 +0000 (14:24 +0000)]
ide_write unused => gone
rsc [Tue, 14 Aug 2007 04:56:30 +0000 (04:56 +0000)]
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.)
rsc [Tue, 14 Aug 2007 04:55:45 +0000 (04:55 +0000)]
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.
rsc [Tue, 14 Aug 2007 04:06:02 +0000 (04:06 +0000)]
ditto
rsc [Tue, 14 Aug 2007 04:05:27 +0000 (04:05 +0000)]
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.
rsc [Fri, 10 Aug 2007 17:53:09 +0000 (17:53 +0000)]
add test for rm .
rsc [Fri, 10 Aug 2007 17:45:49 +0000 (17:45 +0000)]
nit
rsc [Fri, 10 Aug 2007 17:45:14 +0000 (17:45 +0000)]
correct line numbers
rsc [Fri, 10 Aug 2007 17:19:15 +0000 (17:19 +0000)]
add note
rsc [Fri, 10 Aug 2007 17:17:57 +0000 (17:17 +0000)]
and spinlock
rsc [Fri, 10 Aug 2007 17:17:42 +0000 (17:17 +0000)]
avoid assignments in declarations
rsc [Fri, 10 Aug 2007 17:05:46 +0000 (17:05 +0000)]
replace bogus loops with slightly less bogus loops.
rsc [Fri, 10 Aug 2007 17:02:36 +0000 (17:02 +0000)]
tweak kalloc
rsc [Fri, 10 Aug 2007 17:00:00 +0000 (17:00 +0000)]
cleanup main
rsc [Fri, 10 Aug 2007 16:52:31 +0000 (16:52 +0000)]
various cleanups
rsc [Fri, 10 Aug 2007 16:37:27 +0000 (16:37 +0000)]
Make cp a magic symbol.
rsc [Fri, 10 Aug 2007 16:35:01 +0000 (16:35 +0000)]
move variable declaration up
rsc [Thu, 9 Aug 2007 19:06:37 +0000 (19:06 +0000)]
The final curproc[cpu()] is now cp
rsc [Thu, 9 Aug 2007 19:05:00 +0000 (19:05 +0000)]
Clearer namei
rsc [Thu, 9 Aug 2007 17:53:03 +0000 (17:53 +0000)]
oops
rsc [Thu, 9 Aug 2007 17:32:40 +0000 (17:32 +0000)]
try to use cp only for curproc[cpu()]
rsc [Thu, 9 Aug 2007 16:56:40 +0000 (16:56 +0000)]
spacing
rsc [Wed, 8 Aug 2007 10:32:32 +0000 (10:32 +0000)]
notes
rsc [Wed, 8 Aug 2007 10:29:42 +0000 (10:29 +0000)]
check p->killed for long-lived sleeps
rsc [Wed, 8 Aug 2007 10:27:15 +0000 (10:27 +0000)]
2007
rsc [Wed, 8 Aug 2007 10:27:04 +0000 (10:27 +0000)]
help gcc