f70172129crun without lapic and ioapic, if they are not present if no lapic available, use 8253pit for clock now xv6 runs both on qemu (uniprocessor) and bochs (uniprocessor and MP)
kaashoek
2006-09-07 01:37:58 +00:00
f9bc4452b5nit in console interrupts
kaashoek
2006-09-07 00:00:33 +00:00
0b6ab8416edon't send keyboard interrupts to the second cpu, if we have only one cpu. xv6 seems to work fine on uniprocessor now.
kaashoek
2006-09-03 17:34:09 +00:00
7abf49d2f2remove duplication don't use the same name for two different pieces of code
kaashoek
2006-09-03 15:39:29 +00:00
3b95801addi broke sbrk, fix it
rtm
2006-08-29 17:01:40 +00:00
2b19190c13clean up stale error checks and panics delete unused functions a few comments
rtm
2006-08-29 14:45:45 +00:00
b52151e032some text in readme generate postscript printout
kaashoek
2006-08-28 18:31:33 +00:00
45b6fe7e1aremove smallcap version
kaashoek
2006-08-28 15:24:23 +00:00
03c70cc2e6consistently 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
rtm
2006-08-26 16:31:05 +00:00
a6c28c9779mkdir check error from mknod chdir return -1 if target not a dir
rtm
2006-08-26 15:06:59 +00:00
80f292f830fix writing the indirect block
rtm
2006-08-25 01:25:22 +00:00
5051da6de3inode addrs[NDIRECT] -> NADDRS fix race in mknod / creat use last component in dirent in mknod, not path
rtm
2006-08-25 01:11:30 +00:00
74493bf446kill user process when it generates an unhandled trap (e.g., 13) fix bug in test code of malloc
kaashoek
2006-08-25 00:43:17 +00:00
81d5219998bug in sbrk test malloc
kaashoek
2006-08-24 19:24:36 +00:00
bcfb84b6a9big directory test
rtm
2006-08-24 19:21:19 +00:00
1be7668537fix bugs in indirect-file code clean up test program
kaashoek
2006-08-24 17:28:01 +00:00
ea2909b6b5user-level malloc (untested) nit in sbrk indirect block fix dup to share fd struct
kaashoek
2006-08-24 02:44:41 +00:00
8b58e81077i/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?
kaashoek
2006-08-23 01:09:24 +00:00
f18ab5c04ecompiling, but untested dup
kaashoek
2006-08-20 03:33:01 +00:00
16083d4462removed block system call renumber system calls (run gmake clean!) skeleton for dup system call
kaashoek
2006-08-20 03:08:54 +00:00
8787cd01dfchdir cd in shell nits in mkdir, ls, etc.
kaashoek
2006-08-19 23:41:34 +00:00
ceb0e42796proc[0] can sleep(), at least after it gets to main00() proc[0] calls iget(rootdev, 1) before forking init
rtm
2006-08-16 01:56:00 +00:00
350e63f7a9no 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
rtm
2006-08-15 22:18:20 +00:00
e958c538facommented out code for cwd
kaashoek
2006-08-15 15:53:46 +00:00
d7b3b802f4user-level programs: mkdir and rm shell parses arguments (very simplistic) readme version of README (sh doesn't deal with capital characters) printf recognizes %c nicer output format for ls
kaashoek
2006-08-14 21:22:13 +00:00
bdb6643303set size for directories correctly in wdir and mkfs mkdir ls shows stat info for each dir entry
kaashoek
2006-08-14 14:13:52 +00:00
d15f0d1033start on mkdir stat
kaashoek
2006-08-14 03:00:13 +00:00
e4bcd2a3a9wdir now uses readi/writei
rtm
2006-08-13 20:06:42 +00:00
8abe2bcf15don't print unallocated dir entries
kaashoek
2006-08-13 15:05:58 +00:00
211ff0c67enamei 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
rtm
2006-08-13 12:22:44 +00:00
c372e8dc34zero freed blocks multi-block directories track size of directory (size = number entries in use) should namei (and other code that scans through directories) scan through all blocks of a directory and not use size?
kaashoek
2006-08-13 05:28:04 +00:00
05e975511bzero out all of dirent.name when creating don't increase length of directory
rtm
2006-08-12 22:44:26 +00:00
cd93074e5bLRU disk cache replacement
rtm
2006-08-12 22:34:13 +00:00
22bac2cb9dfree inode only when noone is holding a pointer to it. should fix open-unlink- read problem, but untested
kaashoek
2006-08-12 22:03:01 +00:00
7ce01cf9bemknod set nlink = 1 usertests for concurrent create/delete, and read() after unlink()
rtm
2006-08-12 16:47:48 +00:00
4357207237fix getblk to actually lock the block no more cons_put system calls usertests tests two processes writing files
rtm
2006-08-12 11:38:57 +00:00
1f544842cefstat primitive ls
kaashoek
2006-08-12 04:33:50 +00:00
0633b9715eunlink,mknod,create with multi-component pathnames should work now remove console init code from userfs
kaashoek
2006-08-12 01:25:45 +00:00
24437cd554fix deadlock---iput(dp) asap working unlink, but doesn't free dir blocks that become empty remove out-of-date comment in ioapic
kaashoek
2006-08-11 18:18:38 +00:00
17a856577finit creates console, opens 0/1/2, runs sh sh accepts 0-argument commands (like userfs) reads from console
rtm
2006-08-11 13:55:18 +00:00
5be0039ce9interrupts could be recursive since lapic_eoi() called before rti so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()
rtm
2006-08-10 22:08:14 +00:00
8a8be1b8c3low-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...
rtm
2006-08-10 02:07:10 +00:00
28d9ef04ddprintf convert userfs to use printf bfree ifree writei start on unlink
kaashoek
2006-08-10 01:28:57 +00:00
939f9edeaciread for T_DEV O_RDWR, etc. create file
kaashoek
2006-08-09 19:25:20 +00:00
2601de0032fix test program: don't close before writing set fd to writeable on open for write
kaashoek
2006-08-09 17:25:10 +00:00
6fa5ffb56fdevsw checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works
kaashoek
2006-08-09 16:04:04 +00:00
6c0e444fcdoops, update directory inode too
kaashoek
2006-08-09 01:19:48 +00:00
0e84a0ec6efix 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
rtm
2006-08-08 19:58:06 +00:00