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
cf4b1ad90b
xv6: formatting, cleanup, rev5 (take 2)
2011-02-19 21:17:55 -05: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
4655d42e3b
copyout() copies data to a va in a pagetable, for exec() &c
...
usertest that passes too many arguments, break exec
2010-09-27 16:14:33 -04:00
Robert Morris
a9183883b8
map kernel instructions r/o
2010-09-20 06:00:22 -04:00
Robert Morris
faad047ab2
change some comments, maybe more informative
...
delete most comments from bootother.S (since copy of bootasm.S)
ksegment() -> seginit()
move more stuff from main() to mainc()
2010-09-13 15:34:44 -04:00
Austin Clements
79cd8b3eed
Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This makes their interface match up better with proc->sz and also simplifies the callers (it even gets the main body of exec on one page).
2010-09-02 18:28:36 -04:00
Austin Clements
9a4670a138
Comment inituvm and loaduvm
2010-09-02 16:39:55 -04:00
Austin Clements
93a1e4cb07
Fix comment capitalization
2010-09-02 16:36:38 -04:00
Austin Clements
f25a3f9a41
Rearrange vm.c so it's in logical order and prints nicely. Shorten a few functions in uninteresting ways to make them fit.
2010-09-02 16:23:15 -04:00
Austin Clements
f53e6110be
Simplify inituvm and userinit by assuming initcode fits on a page
2010-09-02 15:42:25 -04:00
Austin Clements
b3cfd7fc37
Simplify freevm using deallocuvm
2010-09-02 15:18:19 -04:00
Austin Clements
d3ecf3eb44
Slight simplification of copyuvm. We could simplify other things now that processes are contiguous, but we'd have to think harder about the error paths.
2010-09-01 17:14:58 -04:00
Austin Clements
b0751a3e9b
Space police
2010-09-01 00:41:25 -04:00
Austin Clements
5efca9054f
Tab police
2010-09-01 00:32:27 -04:00
Austin Clements
ba04b3e70e
Fix similar leak in copyuvm
2010-09-01 00:27:12 -04:00
Austin Clements
dd645ef119
Cleanup if allocuvm fails to alloc. Add a test.
2010-08-31 21:49:49 -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
ac090078c6
xx
2010-08-30 10:13:49 -04:00
Robert Morris
8d8d6c7be3
we don't need CR0_WP
2010-08-30 06:48:48 -04:00
Robert Morris
5ab868fd90
set only PG and WP in vminit; the rest don't seem to be needed and are confusing
2010-08-30 06:38:58 -04:00
Robert Morris
789b508d53
uptime() sys call for benchmarking
...
increase PHYSTOP
2010-08-11 14:34:45 -04:00
Robert Morris
83d2db91f7
allow sbrk(-x) to de-allocate user memory
2010-08-10 17:08:41 -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
Robert Morris
1afc9d3fca
add some comments
...
find out the hard way why user and kernel must have separate segment descriptors
2010-08-05 21:16:55 -04:00
Robert Morris
c99599784e
remove some unused vm #defines
...
fix corner cases with alignment when mapping kernel ELF file
2010-08-05 16:00:59 -04:00
Robert Morris
2cf6b32d4d
move jkstack to main.c
...
replace jstack with asm()s
2010-08-05 14:15:03 -04:00
Robert Morris
eb18645f17
fix allocuvm() to handle sbrk() with non-page-granularity argument
...
(maybe this never worked, but it works now)
2010-08-05 12:10:54 -04:00
Frans Kaashoek
b738a4f1a2
kill TLB shoot down code
2010-07-28 14:38:05 -04:00
Frans Kaashoek
de40730dad
more cleanup
2010-07-26 08:10:02 -04:00
Frans Kaashoek
30f5bf0548
some cleanup
2010-07-25 20:30:21 -04:00
Frans Kaashoek
b364c4b881
oops, vm.c
2010-07-23 12:52:35 -04:00