Commit Graph

  • 1be7668537 fix bugs in indirect-file code clean up test program kaashoek 2006-08-24 17:28:01 +0000
  • ea2909b6b5 user-level malloc (untested) nit in sbrk indirect block fix dup to share fd struct kaashoek 2006-08-24 02:44:41 +0000
  • 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? kaashoek 2006-08-23 01:09:24 +0000
  • f18ab5c04e compiling, but untested dup kaashoek 2006-08-20 03:33:01 +0000
  • 16083d4462 removed block system call renumber system calls (run gmake clean!) skeleton for dup system call kaashoek 2006-08-20 03:08:54 +0000
  • 8787cd01df chdir cd in shell nits in mkdir, ls, etc. kaashoek 2006-08-19 23:41:34 +0000
  • ceb0e42796 proc[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 +0000
  • 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 rtm 2006-08-15 22:18:20 +0000
  • 69332d1918 oops kaashoek 2006-08-15 15:54:53 +0000
  • e958c538fa commented out code for cwd kaashoek 2006-08-15 15:53:46 +0000
  • d7b3b802f4 user-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 +0000
  • bdb6643303 set size for directories correctly in wdir and mkfs mkdir ls shows stat info for each dir entry kaashoek 2006-08-14 14:13:52 +0000
  • d15f0d1033 start on mkdir stat kaashoek 2006-08-14 03:00:13 +0000
  • e4bcd2a3a9 wdir now uses readi/writei rtm 2006-08-13 20:06:42 +0000
  • 17e3cf15ba fix iget() bug that allocated in-use inode[] entries rtm 2006-08-13 15:51:58 +0000
  • 8abe2bcf15 don't print unallocated dir entries kaashoek 2006-08-13 15:05:58 +0000
  • 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 rtm 2006-08-13 12:22:44 +0000
  • c372e8dc34 zero 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 +0000
  • 9e5970d596 link() rtm 2006-08-13 02:12:44 +0000
  • 05e975511b zero out all of dirent.name when creating don't increase length of directory rtm 2006-08-12 22:44:26 +0000
  • cd93074e5b LRU disk cache replacement rtm 2006-08-12 22:34:13 +0000
  • 22bac2cb9d free 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 +0000
  • 14938f9392 buffer cache, fifo replacement rtm 2006-08-12 17:17:35 +0000
  • 7ce01cf9be mknod set nlink = 1 usertests for concurrent create/delete, and read() after unlink() rtm 2006-08-12 16:47:48 +0000
  • 4357207237 fix 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 +0000
  • 1f544842ce fstat primitive ls kaashoek 2006-08-12 04:33:50 +0000
  • 0633b9715e unlink,mknod,create with multi-component pathnames should work now remove console init code from userfs kaashoek 2006-08-12 01:25:45 +0000
  • 24437cd554 fix 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 +0000
  • 17a856577f init 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 +0000
  • 5be0039ce9 interrupts 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 +0000
  • 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... rtm 2006-08-10 02:07:10 +0000
  • 28d9ef04dd printf convert userfs to use printf bfree ifree writei start on unlink kaashoek 2006-08-10 01:28:57 +0000
  • 939f9edeac iread for T_DEV O_RDWR, etc. create file kaashoek 2006-08-09 19:25:20 +0000
  • 2601de0032 fix test program: don't close before writing set fd to writeable on open for write kaashoek 2006-08-09 17:25:10 +0000
  • 6fa5ffb56f devsw checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works kaashoek 2006-08-09 16:04:04 +0000
  • 6c0e444fcd oops, update directory inode too kaashoek 2006-08-09 01:19:48 +0000
  • 241113985f block bitmap balloc kaashoek 2006-08-09 01:09:36 +0000
  • 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 rtm 2006-08-08 19:58:06 +0000
  • e8d11c2e84 mknod,ialloc,iupdate kaashoek 2006-08-08 18:07:37 +0000
  • 104207726b bwrite kaashoek 2006-08-07 01:38:46 +0000
  • 8ec6530fee generalize async read to support write too kaashoek 2006-08-06 20:28:15 +0000
  • 366189214e nit kaashoek 2006-08-04 18:23:23 +0000
  • c8b29f6d03 better interrupt plan---this one appears to work ioapic kaashoek 2006-08-04 18:12:31 +0000
  • 32630628a9 open() rtm 2006-07-29 09:35:02 +0000
  • e46fb46fcf acquire+release ide_lock in ide_intr kaashoek 2006-07-29 01:20:15 +0000
  • 8455980b27 exec arguments rtm 2006-07-28 22:33:07 +0000
  • c59361f143 primitive exec rtm 2006-07-27 21:10:00 +0000
  • 54a4b00346 update rtm 2006-07-26 10:17:39 +0000
  • 9d3fb67141 namei rtm 2006-07-21 22:10:40 +0000
  • 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 rtm 2006-07-21 13:18:04 +0000
  • 2927081628 uint32_t -> uint &c rtm 2006-07-20 09:07:53 +0000
  • bd228a8156 prevent longjmp / forkret from writing over tf->edi rtm 2006-07-18 19:22:37 +0000
  • 0dd4253747 add ide_lock for sleep rsc 2006-07-17 05:00:25 +0000
  • b5f17007f4 standarize on unix-like lowercase struct names rsc 2006-07-17 01:58:13 +0000
  • e0966f459f no more cons_putc; real_cons_putc -> cons_putc rsc 2006-07-17 01:53:43 +0000
  • b5ee516575 add uint and standardize on typedefs instead of unsigned rsc 2006-07-17 01:52:13 +0000
  • 857d60cb0c cleaner rsc 2006-07-17 01:51:47 +0000
  • ee9c7f3bfc goodbye PushRegs rsc 2006-07-17 01:36:39 +0000
  • f15a3ae263 cleaner rsc 2006-07-17 01:36:32 +0000
  • c54c79267f nitpicks rsc 2006-07-17 01:25:22 +0000
  • 564f787e91 Eliminate annoying Pseudodesc structure. Eliminate unnecessary parts of mmu.h. rsc 2006-07-16 16:55:52 +0000
  • 6e6a1dd7d7 various little fixes that should have been in earlier checkins rsc 2006-07-16 16:06:03 +0000
  • 84d79573da more idiomatic c rsc 2006-07-16 16:05:37 +0000
  • 96e16b96c9 no memlayout.h rsc 2006-07-16 16:04:44 +0000
  • 9692d5add5 was empty; gone rsc 2006-07-16 16:04:15 +0000
  • 8a7eb80e47 fix main return type rsc 2006-07-16 16:03:51 +0000
  • b75c11b20e add %s to cprintf for cons_puts rsc 2006-07-16 16:00:03 +0000
  • b74f4b57ae Keep interrupts disabled during startup. rsc 2006-07-16 15:50:13 +0000
  • ef2bd07ae4 standardize on not using foo_ prefix in struct foo rsc 2006-07-16 15:41:47 +0000
  • 6b765c480f rename swtch.S to setjmp.S rsc 2006-07-16 15:40:51 +0000
  • b53f99d0d2 standardize on #include "foo" not <foo> rsc 2006-07-16 15:40:05 +0000
  • 4763a042c8 add minimal comments to generator vector table rsc 2006-07-16 15:38:56 +0000
  • 679a977cb2 remove acquire1 and release1 rsc 2006-07-16 15:38:13 +0000
  • f3d290220f add cons_puts for atomic (readable) output rsc 2006-07-16 15:38:00 +0000
  • 9b37d1bfaa Add user.h for prototypes. Add cons_puts for cleaner output. rsc 2006-07-16 15:36:31 +0000
  • b903b693ec tidy up rsc 2006-07-16 15:35:18 +0000
  • 72fef4f855 Don't kill process when inside kernel. rsc 2006-07-16 02:09:45 +0000
  • 4ed974f5ea more name cleanup rsc 2006-07-16 02:04:58 +0000
  • 6f2b626d28 remove non-idiomatic increment/decrement rsc 2006-07-16 01:52:22 +0000
  • 51716a869c Rename fd_reference to more suggestive fd_incref. (Fd_reference sounds like it might just return the ref count.) rsc 2006-07-16 01:49:03 +0000
  • 856e1fc1ad Attempt to clean up newproc somewhat. rsc 2006-07-16 01:47:40 +0000
  • 65bd8e139a New scheduler. rsc 2006-07-16 01:15:28 +0000
  • 40a2a08319 Undo change from this morning that wasn't intended to get in. rsc 2006-07-16 01:12:57 +0000
  • 643b122b4a move everything having to do with proc_table_lock into proc.c rsc 2006-07-15 17:24:54 +0000
  • 3497670122 silence load_icode signedness warning rsc 2006-07-15 17:23:17 +0000
  • 67a9314ad1 Add void for ANSI C rsc 2006-07-15 17:17:00 +0000
  • 7f419a0d29 Change fetchint, fetcharg, and putint to return -1 on error, 0 on success. They had been returning 0 on error, 1 on success, but all the callers were checking for return value < 0. rsc 2006-07-15 17:13:56 +0000
  • 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 rtm 2006-07-15 12:03:57 +0000
  • d9872ffa95 and the file kaashoek 2006-07-12 17:19:24 +0000
  • f27a68a24a extract lapic code from mp.c kaashoek 2006-07-12 17:00:54 +0000
  • 6eb6f10c56 passes both usertests exit had acquire where I meant release swtch now checks that you hold no locks rtm 2006-07-12 15:35:33 +0000
  • 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) rtm 2006-07-12 11:15:38 +0000
  • 664324745e cvs add spinlock.h fix race in schedule() rtm 2006-07-12 09:10:25 +0000
  • 4e8f237be8 no more big kernel lock succeeds at usertests.c pipe test rtm 2006-07-12 01:48:35 +0000
  • b41b38d0da give each cpu its own clock, so that preemption works on cpu 1 rtm 2006-07-11 18:45:27 +0000
  • b548df152b pre-empt both user and kernel, in clock interrupt usertest.c tests pre-emption kill() rtm 2006-07-11 17:39:45 +0000
  • 5ce9751cab Changes to allow use of native x86 ELF compilers, which on my Linux 2.4 box using gcc 3.4.6 don't seem to follow the same conventions as the i386-jos-elf-gcc compilers. Can run make 'TOOLPREFIX=' or edit the Makefile. rsc 2006-07-11 01:07:40 +0000
  • 7ea6c9d197 queue with disk requests kaashoek 2006-07-10 19:06:48 +0000
  • 084f21430c oops kaashoek 2006-07-10 16:27:15 +0000
  • 72ea69fbdf read the disk using interrupts kaashoek 2006-07-10 13:08:37 +0000