Commit graph

658 commits

Author SHA1 Message Date
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
b1d41d6788 Remove the stack guard page. Processes are now contiguous from 0 to proc->sz, which means our syscall argument validation is correct. Add a pointer validation test and remove the stack test, which tested for the guard page. 2010-09-01 16:46:37 -04:00
Austin Clements
41c4bbb505 Make it easy to change the number of CPUs 2010-09-01 02:14:35 -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
5c4dc7395b Merge branch 'master' of git+ssh://am.lcs/home/am0/6.828/xv6 2010-09-01 00:31:04 -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
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
Austin Clements
87b2099ae4 Our proc.c alignment is perfect. Since ksegment/usegment went away, we get a column back, so we get our two action-packed spreads. 2010-08-31 17:49:47 -04:00
Austin Clements
13b3f4d2e3 Make it possible to express half-page preferences 2010-08-31 17:46:30 -04:00
Austin Clements
fd462b6a01 Got the meat of spinlocks on one spread 2010-08-31 17:40:21 -04:00
Austin Clements
6a6bf37c3c Swap bootmain.c and bootother.S. This puts the whole boot process on one spread, though it separates the two asm files. 2010-08-31 17:35:17 -04:00
Austin Clements
c7ceb71d57 Sheet 1 is a right page now because of the (much) longer cross-ref 2010-08-31 17:33:04 -04:00
Austin Clements
51e2a7b324 print depends on runoff.spec 2010-08-31 17:30:31 -04:00
Austin Clements
29c054df81 We don't use lesp/lebp and using them at all from C would be fraught with peril. Keep resp/rebp, but fix their code style. 2010-08-31 17:07:54 -04:00
Austin Clements
7914ab7214 Page breaking of mmu.h 2010-08-31 16:54:50 -04:00
Austin Clements
b5592b4d2f Start PDE defs on new page 2010-08-31 16:47:50 -04:00
Austin Clements
92639b6ba9 Follow xv6 code style. Also fixes indexing for these functions 2010-08-31 16:43:41 -04:00
Austin Clements
37ee75f42e Rearrange for better page breaking 2010-08-31 16:42:05 -04:00
Austin Clements
7472b2b451 Fix too-long lines 2010-08-31 16:26:08 -04:00
Austin Clements
04be8fb232 Rebalance TOC 2010-08-31 16:18:44 -04:00
Austin Clements
7b814133e4 Acknowledge patches 2010-08-31 16:13:20 -04:00
Austin Clements
1aee6a6c4f Hopefully get the printf size spec right, regardless of compiler. 2010-08-31 16:01:38 -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
Austin Clements
880ee18ab1 mkfs must be compiled 32-bit. Fix mkfs warnings 2010-08-31 15:11:10 -04:00
Austin Clements
1e8035be53 Infer qemu path, just like in JOS 2010-08-31 15:05:27 -04:00
Austin Clements
0f0456ec53 Infer TOOLPREFIX, just like in JOS 2010-08-31 15:01:26 -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
81b30b14d6 Merge remote branch 'origin/master' into page 2010-08-30 15:30:53 -04:00
Austin Clements
fe4623b99c Fix for gdbstub argument change in qemu 0.11. Rename qemu-gdb-nox target to qemu-nox-gdb because you frequently want to add the gdb part, but rarely the nox part. 2010-08-30 12:22:08 -04:00
Robert Morris
3c9ff073e0 oops ended up with 2x vm.c 2010-08-30 11:17:54 -04:00
Robert Morris
979c5686b7 Merge remote branch 'origin/page' into page 2010-08-30 10:23:27 -04:00
Robert Morris
ac090078c6 xx 2010-08-30 10:13:49 -04:00
Robert Morris
4d972493b6 no more xv6.pdf .ps 2010-08-30 07:26:54 -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
Frans Kaashoek
d55b2fac07 Merge commit 'origin/page' into page 2010-08-26 08:03:18 -04:00
Frans Kaashoek
d87f51c5a1 add vm.c 2010-08-26 07:51:08 -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