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