Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-18 | Made va and size page aligned in mappages | asselism | 1 | -4/+11 | |
2022-10-04 | fix copyout() to refuse to write a read-only page | Robert Morris | 1 | -2/+7 | |
2022-08-24 | sfence before enabling paging | Robert Morris | 1 | -0/+5 | |
2022-08-12 | Experiment with being more precise setting permissions for user pages. | Frans Kaashoek | 1 | -2/+2 | |
Growing adds R|W pages (without X). Exec() marks the stack only R|W. Probably could setup permissions for text and data better if we call ld with --no-omagic instead of -N. | |||||
2022-08-09 | nothing much | Robert Morris | 1 | -3/+3 | |
2021-08-31 | Assert that the size in mappages() is always positive | l0stman | 1 | -1/+4 | |
If va % PGSIZE == 0 and size == 0, we have last < a at the start of the loop so we might never terminate. That being said, this particular case couldn't be triggered for now. | |||||
2020-10-14 | kvmmake() makes a complete kernel page table, matching Figure 3.3 | Frans Kaashoek | 1 | -15/+27 | |
2020-10-14 | Fix minor typos | Fumiya Shigemitsu | 1 | -1/+1 | |
2020-10-05 | Don't map the CLINT, since it never used in the kernel in supervisor mode | Frans Kaashoek | 1 | -3/+0 | |
2020-10-05 | eliminate virtio DMA into kernel stacks. | Robert Morris | 1 | -20/+0 | |
2020-10-03 | Fix minor typos | Fumiya Shigemitsu | 1 | -1/+1 | |
2020-08-17 | fix a bug in the out-of-memory handling code in exec | Robert Morris | 1 | -2/+1 | |
2020-08-17 | handle another out-of-memory in fork(). the policy here is not consistent, | Robert Morris | 1 | -1/+2 | |
since other calls (e.g. exec()) panic on out of memory. | |||||
2020-08-17 | modify uvmunmap() to be in aligned pages | Robert Morris | 1 | -19/+16 | |
fix a bug in fork() recovering from out of memory | |||||
2020-08-17 | pa isn't needed in the uvmunmap() loop | Robert Morris | 1 | -3/+1 | |
2020-08-10 | Merge branch 'riscv' into riscv | Frans Kaashoek | 1 | -6/+5 | |
2020-08-10 | modify each page in usertests countfree() | Robert Morris | 1 | -5/+3 | |
get rid of static for walk() and freewalk() | |||||
2019-10-27 | fix a potential memory leak | Robert Morris | 1 | -1/+2 | |
2019-10-21 | Fix minor typos | Fumiya Shigemitsu | 1 | -2/+2 | |
2019-09-20 | yet another sbrk() bug fix, and usertest | Robert Morris | 1 | -1/+2 | |
2019-09-20 | don't panic if a program frees all its memory with sbrk(). | Robert Morris | 1 | -1/+4 | |
if a program sbrk()'s to a non-page-boundary, don't free that page. corresponding usertests. | |||||
2019-09-20 | more incorrect cast to uint | Robert Morris | 1 | -2/+2 | |
2019-09-20 | fix a potential kernel crash | Robert Morris | 1 | -1/+4 | |
add a regression test for it | |||||
2019-09-17 | all of PTE_FLAGS | Robert Morris | 1 | -2/+2 | |
2019-09-03 | sfence_vma after satp | Robert Morris | 1 | -1/+1 | |
2019-07-26 | Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv | Robert Morris | 1 | -3/+3 | |
2019-07-26 | trampin -> uservec | Robert Morris | 1 | -2/+2 | |
trampout -> userret | |||||
2019-07-25 | a few name changes in panic msg | Frans Kaashoek | 1 | -3/+3 | |
2019-07-24 | rationalize some vm function names | Robert Morris | 1 | -49/+49 | |
2019-07-24 | no more PAGEBREAK | Robert Morris | 1 | -5/+5 | |
2019-07-23 | simplify kernel mapping calls | Robert Morris | 1 | -33/+26 | |
2019-07-22 | fix mapkstack | Frans Kaashoek | 1 | -2/+2 | |
2019-07-22 | Clear U bit for second stack page so that it functions as a guard page | Frans Kaashoek | 1 | -0/+10 | |
2019-07-22 | nit | Robert Morris | 1 | -2/+2 | |
2019-07-19 | x | Frans Kaashoek | 1 | -1/+2 | |
2019-07-19 | One way of supporting a guard page below kstack: allocate kstacks in | Frans Kaashoek | 1 | -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-16 | conservatively call sfence.vma before every satp load. | Robert Morris | 1 | -0/+1 | |
2019-07-02 | try to continue from walk() failing to allocate a page-table page | Robert Morris | 1 | -5/+14 | |
2019-07-02 | COW tests | Robert Morris | 1 | -1/+1 | |
2019-07-01 | have fork() fail, not panic, if not enough phys mem | Robert Morris | 1 | -2/+9 | |
2019-06-13 | clean up virtio code | Robert Morris | 1 | -2/+2 | |
2019-06-13 | eliminate ramdisk | Robert Morris | 1 | -5/+1 | |
2019-06-13 | virtio disk driver | Robert Morris | 1 | -0/+4 | |
2019-06-11 | separate source into kernel/ user/ mkfs/ | Robert Morris | 1 | -0/+389 | |