Commit graph

701 commits

Author SHA1 Message Date
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
Frans Kaashoek
af03ab142d a few nits
passes all tests on two-processor smp
2010-07-23 12:52:50 -04:00
Frans Kaashoek
b364c4b881 oops, vm.c 2010-07-23 12:52:35 -04:00
Frans Kaashoek
4714c20521 Checkpoint page-table version for SMP
Includes code for TLB shootdown (which actually seems unnecessary for xv6)
2010-07-23 07:41:13 -04:00
Frans Kaashoek
74c82bc158 nits 2010-07-02 17:45:37 -04:00
Frans Kaashoek
40889627ba Initial version of single-cpu xv6 with page tables 2010-07-02 14:51:53 -04:00
Russ Cox
b7a517f227 another rev2 -> rev3 2010-02-06 16:08:06 -05:00