summaryrefslogtreecommitdiff
path: root/kernel/vm.c
AgeCommit message (Collapse)Author
2019-10-27fix a potential memory leakRobert Morris
2019-09-20yet another sbrk() bug fix, and usertestRobert Morris
2019-09-20don't panic if a program frees all its memory with sbrk().Robert Morris
if a program sbrk()'s to a non-page-boundary, don't free that page. corresponding usertests.
2019-09-20more incorrect cast to uintRobert Morris
2019-09-20fix a potential kernel crashRobert Morris
add a regression test for it
2019-09-17all of PTE_FLAGSRobert Morris
2019-09-03sfence_vma after satpRobert Morris
2019-07-26Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscvRobert Morris
2019-07-26trampin -> uservecRobert Morris
trampout -> userret
2019-07-25a few name changes in panic msgFrans Kaashoek
2019-07-24rationalize some vm function namesRobert Morris
2019-07-24no more PAGEBREAKRobert Morris
2019-07-23simplify kernel mapping callsRobert Morris
2019-07-22fix mapkstackFrans Kaashoek
2019-07-22Clear U bit for second stack page so that it functions as a guard pageFrans Kaashoek
2019-07-22nitRobert Morris
2019-07-19xFrans Kaashoek
2019-07-19One way of supporting a guard page below kstack: allocate kstacks inFrans Kaashoek
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 Morris
2019-07-02try to continue from walk() failing to allocate a page-table pageRobert Morris
2019-07-02COW testsRobert Morris
2019-07-01have fork() fail, not panic, if not enough phys memRobert Morris
2019-06-13clean up virtio codeRobert Morris
2019-06-13eliminate ramdiskRobert Morris
2019-06-13virtio disk driverRobert Morris
2019-06-11separate source into kernel/ user/ mkfs/Robert Morris