Commit graph

49 commits

Author SHA1 Message Date
Frans Kaashoek 40889627ba Initial version of single-cpu xv6 with page tables 2010-07-02 14:51:53 -04:00
Russ Cox 48755214c9 assorted fixes:
* rename c/cp to cpu/proc
 * rename cpu.context to cpu.scheduler
 * fix some comments
 * formatting for printout
2009-08-30 23:02:08 -07:00
rsc 34295f461a group locks into structs they protect.
few naming nits.
2009-05-31 05:12:21 +00:00
rsc c47bc4fd54 ide.c: make names more regular 2009-05-31 01:29:01 +00:00
rsc 2157576107 be consistent: no underscores in function names 2009-03-08 22:07:13 +00:00
rtm fbd8857d4d make new Homework 8 work 2007-08-30 18:21:35 +00:00
rsc eb52c7de1d comments; rename irq_ to pic_ 2007-08-28 19:04:36 +00:00
rsc 5516be1fed spaces around else for rtm 2007-08-28 18:37:41 +00:00
rsc c1b100e930 nits 2007-08-28 18:23:48 +00:00
rsc 2868ca0f37 comment non-check of cp->killed 2007-08-28 03:32:49 +00:00
rsc 558ab49f13 delete unnecessary #include lines 2007-08-27 23:26:33 +00:00
rsc d003d232fc 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.
2007-08-27 14:09:30 +00:00
rsc d7b44dbcfc minor cleanups 2007-08-24 22:17:41 +00:00
rtm 8e88f9e2c6 comment nits 2007-08-24 19:52:49 +00:00
rtm 902b13f5d6 simplify ide queuing
nits in comments
2007-08-24 19:32:36 +00:00
rsc 8d0a83565a formatting, sleep bug fix 2007-08-14 18:46:29 +00:00
rsc 29ff8d495c ide_write unused => gone 2007-08-14 14:24:09 +00:00
rsc 50f8850366 move ide_intr lower 2006-09-08 14:33:27 +00:00
rsc 21eafd48e2 fix disk bug 2006-09-07 16:54:18 +00:00
rsc 19297caf0d fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
rsc bb207a1d42 comments 2006-09-07 14:28:12 +00:00
kaashoek f70172129c run 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)
2006-09-07 01:37:58 +00:00
rsc 96d467b3a9 more named constants 2006-09-06 17:54:29 +00:00
rsc 799c9176bc more tabs go away 2006-09-06 17:53:15 +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
rsc a650c606fe spacing fixes: no tabs, 2-space indents (for rtm) 2006-09-06 17:04:06 +00:00
kaashoek 7abf49d2f2 remove duplication
don't use the same name for two different pieces of code
2006-09-03 15:39:29 +00:00
rtm 2aa4c3bc29 complain if no disk 1
lots of cleanup
2006-08-30 18:55:06 +00:00
rtm 9e5970d596 link() 2006-08-13 02:12:44 +00:00
rtm 5be0039ce9 interrupts could be recursive since lapic_eoi() called before rti
so fast interrupts overflow the kernel stack
fix: cli() before lapic_eoi()
2006-08-10 22:08:14 +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 939f9edeac iread for T_DEV
O_RDWR, etc.
create file
2006-08-09 19:25:20 +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 104207726b bwrite 2006-08-07 01:38:46 +00:00
kaashoek 8ec6530fee generalize async read to support write too 2006-08-06 20:28:15 +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
kaashoek e46fb46fcf acquire+release ide_lock in ide_intr 2006-07-29 01:20:15 +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
rsc 0dd4253747 add ide_lock for sleep 2006-07-17 05:00:25 +00:00
rsc b5ee516575 add uint and standardize on typedefs instead of unsigned 2006-07-17 01:52:13 +00:00
rtm 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
2006-07-15 12:03:57 +00:00
kaashoek 7ea6c9d197 queue with disk requests 2006-07-10 19:06:48 +00:00
kaashoek 72ea69fbdf read the disk using interrupts 2006-07-10 13:08:37 +00:00
kaashoek 7837c71b32 disable all interrupts when acquiring lock
user program that makes a blocking system call
2006-07-06 21:47:22 +00:00
kaashoek b22d898297 timer interrupts
disk interrupts (assuming bochs has a bug)
2006-07-05 20:00:14 +00:00
rtm ae6e8aa730 checkpoint 2006-06-16 20:29:25 +00:00