Commit graph

  • 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
  • 7837c71b32 disable all interrupts when acquiring lock user program that makes a blocking system call kaashoek 2006-07-06 21:47:22 +0000
  • b22d898297 timer interrupts disk interrupts (assuming bochs has a bug) kaashoek 2006-07-05 20:00:14 +0000
  • 8b4e2a08fe swtch saves callee-saved registers swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, close rtm 2006-07-01 21:26:01 +0000
  • f7cea12b38 disable interrupts when holding kernel lock kaashoek 2006-06-28 16:44:41 +0000
  • bd303ed060 timer interrupts kaashoek 2006-06-28 16:35:03 +0000
  • c41f1de5d4 file descriptors pipes rtm 2006-06-27 14:35:53 +0000
  • b61c2547b8 system call return values initialize 2nd cpu's idt rtm 2006-06-26 20:31:52 +0000
  • a44ee3cde8 stick mpstack in cpu structure kaashoek 2006-06-26 16:40:43 +0000
  • bf3903612d system call arguments rtm 2006-06-26 15:11:19 +0000
  • 89eb5fbe6d boot more than two CPUs, each on own initial stack rtm 2006-06-24 22:47:06 +0000
  • 7df1310b2a bug in trapret rtm 2006-06-22 20:50:32 +0000
  • df5cc91659 compile "user programs" curproc array rtm 2006-06-22 20:47:23 +0000
  • bf49aedbed send console output to parallel port rtm 2006-06-22 15:51:57 +0000
  • 8352b99801 oops kaashoek 2006-06-22 15:28:09 +0000
  • 21a88fd487 checkpoint. booting second processor. stack is messed up, but thanks to cliff and plan 9 code, at least boots and gets into C code. kaashoek 2006-06-22 01:28:57 +0000
  • 7baa34a421 start on MP; detect MP configuration kaashoek 2006-06-21 01:53:07 +0000
  • ae6e8aa730 checkpoint rtm 2006-06-16 20:29:25 +0000
  • be0a7eacda sleep, wakeup, wait, exit rtm 2006-06-15 19:58:01 +0000
  • a4c03dea09 primitive fork and exit system calls rtm 2006-06-15 16:02:20 +0000
  • cb83c71628 fix some trap bugs rtm 2006-06-13 22:08:20 +0000