summaryrefslogtreecommitdiff
path: root/kernel/vm.c
AgeCommit message (Collapse)AuthorFilesLines
2019-07-26Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscvRobert Morris1-3/+3
2019-07-26trampin -> uservecRobert Morris1-2/+2
trampout -> userret
2019-07-25a few name changes in panic msgFrans Kaashoek1-3/+3
2019-07-24rationalize some vm function namesRobert Morris1-49/+49
2019-07-24no more PAGEBREAKRobert Morris1-5/+5
2019-07-23simplify kernel mapping callsRobert Morris1-33/+26
2019-07-22fix mapkstackFrans Kaashoek1-2/+2
2019-07-22Clear U bit for second stack page so that it functions as a guard pageFrans Kaashoek1-0/+10
2019-07-22nitRobert Morris1-2/+2
2019-07-19xFrans Kaashoek1-1/+2
2019-07-19One way of supporting a guard page below kstack: allocate kstacks inFrans Kaashoek1-0/+31
procinit() and map them high up (below TRAMPOLNE) with an empty mapping below each stack. Never free a kernel stack. Another way would be to allocate and map them dynamically, but then we need to reload page table when switching processes in scheduler() and/or have a kernel pagetable per proc (if we want k->stack to be the same virtual address in each process). One gotcha: kernel addresses are not equal to physical addresses for stack addresses. A stack address must be translated if we need its physical address (e.g., virtio passes a stack address to the disk).
2019-07-16conservatively call sfence.vma before every satp load.Robert Morris1-0/+1
2019-07-02try to continue from walk() failing to allocate a page-table pageRobert Morris1-5/+14
2019-07-02COW testsRobert Morris1-1/+1
2019-07-01have fork() fail, not panic, if not enough phys memRobert Morris1-2/+9
2019-06-13clean up virtio codeRobert Morris1-2/+2
2019-06-13eliminate ramdiskRobert Morris1-5/+1
2019-06-13virtio disk driverRobert Morris1-0/+4
2019-06-11separate source into kernel/ user/ mkfs/Robert Morris1-0/+389