Cody Cutler
ffe444926e
fix possible memory leak in deallocuvm
...
when a zero PDE is encountered while searching for present PTEs to free,
resume searching at first entry of the next page table instead of the
current entry of the next page table.
2016-09-26 12:34:08 -04:00
Robert Morris
4b2152cc2d
curproc -> proc in a comment
2016-09-01 17:21:37 -04:00
Frans Kaashoek
37939f24c2
better comment
2016-08-26 08:46:13 -04:00
Frans Kaashoek
aff0c8d5c7
set iomb to forbid i/o instructions from user space
...
add to test that they indeed trap in user space
thanks to pablogventura@gmail.com and nwolovick@gmail.com
2016-08-26 08:20:11 -04:00
Frans Kaashoek
7894fcd217
Remove trailing white space with:
...
for f in *.{h,c}; do sed -i .sed 's/[[:blank:]]*$//' $f; done
(Thanks to Nicolás Wolovick)
2016-08-25 09:13:00 -04:00
Robert Morris
a7c03bd914
p2v -> P2V
2016-08-24 13:40:06 -04:00
Robert Morris
9c65b32d9e
nothing much
2016-08-11 15:41:53 -04:00
Robert Morris
858475e4df
tiny clarifications to some gdt code.
2016-08-10 10:51:14 -04:00
Robert Morris
0a4a4230a3
shell nits
...
fix Regehr complaint
2016-08-08 13:06:38 -04:00
Frans Kaashoek
74c77da6f8
Nice layout for a printout of the code
2014-08-29 17:06:49 -04:00
Stephen Tu
ff2783442e
Correct a security bug in copyuvm()
...
copyuvm() should not allow new copied pages to inherit more
permissions than the original pages.
2013-03-04 16:16:54 -05:00
Robert Morris
792d83cad1
nits
2012-08-28 14:11:23 -04:00
Frans Kaashoek
3fb7eceea7
Runoff still complaints these lines are too long, but it is now ok on printout
2012-08-22 21:24:13 -04:00
Frans Kaashoek
4ce832ddd2
Remove unused argument to setupkvm (thanks to Peter Froehlich)
2012-08-22 20:19:37 -04:00
Robert Morris
c092540e39
eliminate enter_alloc -- use kalloc for everything
2011-09-13 13:14:52 -04:00
Robert Morris
7e7cb106d0
more regular kmap[] and description
2011-09-13 12:28:45 -04:00
Austin Clements
dd4438b4fe
Nuke data.S, since we do have a custom linker script.
2011-09-02 14:51:55 -04:00
Austin Clements
6f3ca059f2
Oops, dropped a paren
2011-09-02 14:37:42 -04:00
Austin Clements
2eb214c9db
clear_pte_u -> clearpteu
2011-09-02 14:37:04 -04:00
Austin Clements
91aa0f3296
Move copy_pte_u; fits vm.c in one less column and aligns proc.h
2011-09-02 14:35:58 -04:00
Austin Clements
9e4272c14e
Cleanup comments and fit setupkvm on same page as kmap, which aligns lots of other things
2011-09-02 14:34:29 -04:00
Austin Clements
14835ec987
Style
2011-09-02 14:28:44 -04:00
Austin Clements
cf7b670293
Make mappages fit on the page
2011-09-02 14:11:16 -04:00
Austin Clements
052e18485d
Skip missing page directories in deallocuvm
...
Previously, deallocuvm scanned from 0 to KERNBASE in one page
increments, which had a noticable effect on boot time. Now it skips
over missing page directories.
2011-09-01 21:29:09 -04:00
Robert Morris
371ab7fa96
inaccessible page under the user stack page, to help exec deal w/ too-large args
2011-09-01 13:25:34 -04:00
Robert Morris
62e3b8a92c
Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6
...
Conflicts:
vm.c
2011-09-01 12:03:49 -04:00
Robert Morris
5a23692444
fix usertests to correctly test what happens when you call
...
exec() with arguments that don't fit on a single page.
2011-09-01 12:02:49 -04:00
Frans Kaashoek
e25b74ca80
Fix layout issues for printed version
2011-09-01 10:25:20 -04:00
Austin Clements
a7061b4f97
Style nits; indentation and tabs
2011-08-29 16:12:01 -04:00
Frans Kaashoek
6f2327580f
Eliminate USERTOP; no use for it.
2011-08-24 10:24:40 -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
d9818bdd7d
Make Austin happier
...
2011
2011-08-15 20:21:14 -04:00
Frans Kaashoek
a4b213cf49
Avoid "boot" in xv6
2011-08-15 20:11:13 -04:00
Frans Kaashoek
bd71a45046
Make AP processors boot using bootpgdir
...
Remove device mapping from bootpgdir
Remove unnecessary vmenable
Set CPUS back to 2 in Makefile
Passes all usertests
2011-08-11 12:25:10 -04:00
Frans Kaashoek
8a9933a200
Tiny bit of cleanup
2011-08-09 21:56:43 -04:00
Frans Kaashoek
5460667c9c
x
2011-08-09 21:49: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
6479766334
Adjust sbrk test for large user address spaces
...
All tests pass
2011-08-07 23:03:48 -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
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