Commit graph

707 commits

Author SHA1 Message Date
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
Frans Kaashoek 30f5bf0548 some cleanup 2010-07-25 20:30:21 -04:00