Frans Kaashoek
3682474f77
delete dead code
2011-08-21 21:14:29 -04:00
Frans Kaashoek
5f069dcf2f
Switch back to #define for PHYSTOP. Using the E820 to retrieve the memory map is too complicated (must be done in 16-bit real-mode, probably enlarged bootblock beyond 512 bytes, and a #define requires less explanation).
2011-08-16 20:23:17 -04:00
Frans Kaashoek
c3dcf47966
Clean up memlayout.h
...
Get rid of last instances of linear address and "la"
Get ready for detecting physical memory dynamically
2011-08-16 15:47:22 -04:00
Frans Kaashoek
a4b213cf49
Avoid "boot" in xv6
2011-08-15 20:11:13 -04:00
Frans Kaashoek
66ba8079c7
Use static page table for boot, mapping first 4Mbyte; no more segment trick
...
Allocate proper kernel page table immediately in main using boot allocator
Remove pginit
Simplify address space layout a tiny bit
More to come (e.g., superpages to simplify static table)
2011-08-09 21:37:35 -04:00
Frans Kaashoek
547c28fc1e
Don't map IO space in the user part of the address space
...
Passes all tests now (but need to update usertests to allow for more than 640k)
2011-07-31 21:27:02 -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
417c37115e
more trivial cleanup
2011-01-11 13:51:40 -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
Robert Morris
4587b35847
exec questions
2010-09-19 07:18:42 -04:00
Robert Morris
23c3e52c2f
Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6
2010-08-31 19:21:52 -04:00
Robert Morris
3597d5dc70
oops. last minute simplicifaction to kalloc().
2010-08-31 19:21:33 -04:00
Austin Clements
5048762c7e
Page break kalloc.c
2010-08-31 17:52:03 -04:00
Robert Morris
8d774afb2d
no more pminit, or ELF header at 0x10000
...
kinit() knows about end and PHYSTOP
map all of kernel read/write (rather than r/o instructions)
thanks, austin
2010-08-31 15:39:25 -04:00
Robert Morris
7d7dc9331b
kalloc/kfree now only a page at a time
...
do not keep sorted contiguous free list
2010-08-31 12:54:47 -04:00
Robert Morris
789b508d53
uptime() sys call for benchmarking
...
increase PHYSTOP
2010-08-11 14:34:45 -04:00
Robert Morris
c4cc10da7e
fix corner cases in exec of ELF
...
put an invalid page below the stack
have fork() handle invalid pages
2010-08-06 11:12:18 -04:00
Frans Kaashoek
af03ab142d
a few nits
...
passes all tests on two-processor smp
2010-07-23 12:52:50 -04:00
Frans Kaashoek
74c82bc158
nits
2010-07-02 17:45:37 -04:00
Frans Kaashoek
40889627ba
Initial version of single-cpu xv6 with page tables
2010-07-02 14:51:53 -04:00
Russ Cox
f9a06440ab
rearrangements and cleanup for text
2009-07-11 19:26:01 -07:00
rsc
34295f461a
group locks into structs they protect.
...
few naming nits.
2009-05-31 05:12:21 +00:00
rsc
558ab49f13
delete unnecessary #include lines
2007-08-27 23:26:33 +00:00
rsc
e0240674f5
make kfree loop same as kalloc
2007-08-27 12:50:36 +00:00
rtm
902b13f5d6
simplify ide queuing
...
nits in comments
2007-08-24 19:32:36 +00:00
rsc
4bc5056c19
formatting, simplify
2007-08-14 19:05:48 +00:00
rsc
3d145283a2
tweak kalloc
2007-08-10 17:02:36 +00:00
rsc
b6095304b7
Make cp a magic symbol.
2007-08-10 16:37:27 +00:00
kaashoek
8e1d1ec934
some comment changes
2006-09-08 14:36:44 +00:00
rsc
31085bb416
more comments
2006-09-07 14:12:30 +00:00
rsc
d4c64e5d43
writeable => writable
2006-09-06 18:06:04 +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
rtm
82537b7156
nits
2006-09-04 11:52:36 +00:00
rtm
2aa4c3bc29
complain if no disk 1
...
lots of cleanup
2006-08-30 18:55:06 +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
32630628a9
open()
2006-07-29 09:35:02 +00:00
rsc
b5ee516575
add uint and standardize on typedefs instead of unsigned
2006-07-17 01:52:13 +00:00
rsc
c54c79267f
nitpicks
2006-07-17 01:25:22 +00:00
rsc
84d79573da
more idiomatic c
2006-07-16 16:05:37 +00:00
rtm
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)
2006-07-12 11:15:38 +00:00
rtm
4e8f237be8
no more big kernel lock
...
succeeds at usertests.c pipe test
2006-07-12 01:48:35 +00:00
rtm
b548df152b
pre-empt both user and kernel, in clock interrupt
...
usertest.c tests pre-emption
kill()
2006-07-11 17:39:45 +00:00
rtm
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
2006-07-01 21:26:01 +00:00
rtm
55e95b16db
import
2006-06-12 15:22:12 +00:00