Commit Graph

57 Commits

Author SHA1 Message Date
Robert Morris 2ae8392a5c make the book happy 2012-08-28 14:41:08 -04:00
Robert Morris a5fbfe418a clarify some FS comments 2011-10-11 06:41:37 -04:00
Frans Kaashoek 1ddfbbb194 Revert "Introduce and use sleeplocks instead of BUSY flags"
My changes have a race with re-used bufs and the code doesn't seem to get shorter
Keep the changes that fixed ip->off race

This reverts commit 3a5fa7ed90.

Conflicts:

	defs.h
	file.c
	file.h
2011-08-29 17:18:40 -04:00
Frans Kaashoek 3a5fa7ed90 Introduce and use sleeplocks instead of BUSY flags
Remove I_BUSY, B_BUSY, and intrans defs and usages
One spinlock per buf to avoid ugly loop in bget
fix race in filewrite (don't update f->off after releasing lock)
2011-08-26 10:08:29 -04:00
Frans Kaashoek 8a9b6dbd44 Make cross reference with text work 2011-08-25 14:39:09 -04:00
Frans Kaashoek 9aa0337dc1 Map kernel high
Very important to give qemu memory through PHYSTOP :(
2011-07-29 07:31:27 -04:00
Russ Cox cf4b1ad90b xv6: formatting, cleanup, rev5 (take 2) 2011-02-19 21:17:55 -05:00
Russ Cox 1a81e38b17 make new code like old code
Variable declarations at top of function,
separate from initialization.

Use == 0 instead of ! for checking pointers.

Consistent spacing around {, *, casts.

Declare 0-parameter functions as (void) not ().

Integer valued functions return -1 on failure, 0 on success.
2011-01-11 13:01:13 -05:00
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