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
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