Commit graph

74 commits

Author SHA1 Message Date
rsc b6095304b7 Make cp a magic symbol. 2007-08-10 16:37:27 +00:00
rsc 9583b476bf try to use cp only for curproc[cpu()] 2007-08-09 17:32:40 +00:00
rsc 453c6a65a2 convert syscall dispatch to table 2007-08-08 09:41:21 +00:00
rsc 224f6598c1 refactor syscall code 2006-09-07 14:13:26 +00:00
rsc 05a7bbe08b comment fixes 2006-09-07 13:07:52 +00:00
rsc db8fb62e4d for vs while 2006-09-06 18:47:51 +00:00
rsc 9936bffa45 fd.* -> file.* 2006-09-06 18:40:28 +00:00
rsc 2685309fb4 split syscall.c into sysfile.c and sysproc.c 2006-09-06 18:19:11 +00:00
rsc d4c64e5d43 writeable => writable 2006-09-06 18:06:04 +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
rtm 2aa4c3bc29 complain if no disk 1
lots of cleanup
2006-08-30 18:55:06 +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
rtm 03c70cc2e6 consistently ignore more than 14 chars in path component
forbid create or write of existing directory
mkdir("d1/d2/d3"), .. should refer to d2, not cwd
mkdir increase parent link count
2006-08-26 16:31:05 +00:00
rtm a6c28c9779 mkdir check error from mknod
chdir return -1 if target not a dir
2006-08-26 15:06:59 +00:00
rtm 5051da6de3 inode addrs[NDIRECT] -> NADDRS
fix race in mknod / creat
use last component in dirent in mknod, not path
2006-08-25 01:11:30 +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 f18ab5c04e compiling, but untested dup 2006-08-20 03:33:01 +00:00
kaashoek 16083d4462 removed block system call
renumber system calls (run gmake clean!)
skeleton for dup system call
2006-08-20 03:08:54 +00:00
kaashoek 8787cd01df chdir
cd in shell
nits in mkdir, ls, etc.
2006-08-19 23:41:34 +00:00
kaashoek bdb6643303 set size for directories correctly in wdir and mkfs
mkdir
ls shows stat info for each dir entry
2006-08-14 14:13:52 +00:00
kaashoek d15f0d1033 start on mkdir
stat
2006-08-14 03:00:13 +00:00
rtm 17e3cf15ba fix iget() bug that allocated in-use inode[] entries 2006-08-13 15:51:58 +00:00
rtm 211ff0c67e namei returns locked parent dir inode for create / unlink
don't hold fd table lock across idecref() (latter does block i/o)
idecref calls iput() in case last ref -> freeing inode
dir size is 512 * # blocks, so readi/writei &c work
unlink deletes dirent even if ip->nlink > 0
2006-08-13 12:22:44 +00:00
rtm 9e5970d596 link() 2006-08-13 02:12:44 +00:00
rtm 4357207237 fix getblk to actually lock the block
no more cons_put system calls
usertests tests two processes writing files
2006-08-12 11:38:57 +00:00
kaashoek 1f544842ce fstat
primitive ls
2006-08-12 04:33:50 +00:00
kaashoek 0633b9715e unlink,mknod,create with multi-component pathnames should work now
remove console init code from userfs
2006-08-12 01:25:45 +00:00
kaashoek 24437cd554 fix deadlock---iput(dp) asap
working unlink, but doesn't free dir blocks that become empty
remove out-of-date comment in ioapic
2006-08-11 18:18:38 +00:00
rtm 17a856577f init creates console, opens 0/1/2, runs sh
sh accepts 0-argument commands (like userfs)
reads from console
2006-08-11 13:55:18 +00:00
rtm 8a8be1b8c3 low-level keyboard input (not hooked up to /dev yet)
fix acquire() to cli() *before* incrementing nlock
make T_SYSCALL a trap gate, not an interrupt gate
sadly, various crashes if you hold down a keyboard key...
2006-08-10 02:07:10 +00:00
kaashoek 28d9ef04dd printf
convert userfs to use printf
bfree
ifree
writei
start on unlink
2006-08-10 01:28:57 +00:00
kaashoek 939f9edeac iread for T_DEV
O_RDWR, etc.
create file
2006-08-09 19:25:20 +00:00
kaashoek 2601de0032 fix test program: don't close before writing
set fd to writeable on open for write
2006-08-09 17:25:10 +00:00
kaashoek 6fa5ffb56f devsw
checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works
2006-08-09 16:04:04 +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
kaashoek e8d11c2e84 mknod,ialloc,iupdate 2006-08-08 18:07:37 +00:00
kaashoek 104207726b bwrite 2006-08-07 01:38:46 +00:00
kaashoek c8b29f6d03 better interrupt plan---this one appears to work
ioapic
2006-08-04 18:12:31 +00:00
rtm 32630628a9 open() 2006-07-29 09:35:02 +00:00
rtm 8455980b27 exec arguments 2006-07-28 22:33:07 +00:00
rtm c59361f143 primitive exec 2006-07-27 21:10:00 +00:00
rtm 9d3fb67141 namei 2006-07-21 22:10:40 +00:00
rtm 11a9947f1a bread
iget
mkfs makes a file system image
put this in your .bochsrc:
ata0-slave: type=disk, mode=flat, path="fs.img", cylinders=1024, heads=1, spt=1
2006-07-21 13:18:04 +00:00
rtm 2927081628 uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
rtm bd228a8156 prevent longjmp / forkret from writing over tf->edi 2006-07-18 19:22:37 +00:00