summaryrefslogtreecommitdiff
path: root/kernel/defs.h
AgeCommit message (Collapse)AuthorFilesLines
2024-02-19lab mmap: finishMole Shang1-1/+9
2024-02-14Merge branch 'net' into lockMole Shang1-4/+14
Conflicts: .gitignore Makefile conf/lab.mk kernel/defs.h user/user.h
2024-02-13Merge branch 'cow' into netMole Shang1-0/+14
Conflicts: .gitignore Makefile conf/lab.mk kernel/defs.h kernel/syscall.c kernel/vm.c user/pingpong.c user/user.h user/usys.pl
2024-02-11lab cow: finishcowMole Shang1-0/+5
2024-02-11lab traps: finishtrapsMole Shang1-0/+1
2024-02-10lab pgtbl: finishpgtblMole Shang1-0/+2
2024-02-05lab syscall: finishMole Shang1-0/+6
Conflicts: kernel/syscall.c kernel/syscall.h user/user.h user/usys.pl
2024-01-02xRobert Morris1-0/+8
2023-10-30lock: release labSanjit Bhat1-0/+49
2023-10-25release lab netSanjit Bhat1-0/+49
2022-08-23xFrans Kaashoek1-1/+1
2022-08-23Merge branch 'riscv' into uvm-permFrans Kaashoek1-2/+4
2022-08-23Merge branch 'riscv-killed' into riscvFrans Kaashoek1-0/+2
2022-08-22Make argint() and argaddr() of type void (thanks Harry Porter)Frans Kaashoek1-2/+2
2022-08-12Experiment with being more precise setting permissions for user pages.Frans Kaashoek1-1/+1
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-11Use p->lock to read p->killedFrans Kaashoek1-0/+1
2022-08-11Clean up using killed()Frans Kaashoek1-0/+1
2022-08-10put walk() in defs.h so it's clear students can call itRobert Morris1-0/+1
2022-08-09nothing muchRobert Morris1-1/+1
2021-08-31Remove setproc prototypeOptimisticSide1-1/+0
2020-10-14kvmmake() makes a complete kernel page table, matching Figure 3.3Frans Kaashoek1-1/+2
2020-10-05eliminate virtio DMA into kernel stacks.Robert Morris1-1/+0
2020-08-21Adjust a few prototypes to be explicit that they don't take argumentsFrans Kaashoek1-4/+4
2020-08-10fix printf() in interruptsRobert Morris1-1/+2
2020-08-10interrupt-driven uart output, hopefully a nice example for teaching.Robert Morris1-1/+1
2020-08-10make "echo hello > x" truncate file x.Robert Morris1-0/+1
2019-10-03updated alarmtestRobert Morris1-1/+0
2019-09-10Support exit status for exit/waitFrans Kaashoek1-2/+2
One test case for returning a exit status Passes usertests, but haven't used it to simplify tests
2019-08-18Cosmetic cleanup: fsinit reads sb and calls loginit. initialize icacheFrans Kaashoek1-3/+3
in main.c and don't make it disk specific; the icache is shared. This doesn't matter since we have only one disk, but conceptually cleaner and maybe helpful to students for mount lab.
2019-07-30Make pin/unpin explicitFrans Kaashoek1-0/+2
2019-07-29Remove B_DIRTYFrans Kaashoek1-1/+1
Use refcnt to pin blocks into the cache Replace flags/B_VALID with a boolean field valid Use info[id].status to signal completion of disk interrupt Pass a read/write flag to virtio_disk_rw
2019-07-28argptr no longer needed, since copyin checksRobert Morris1-1/+0
2019-07-27split printf into a separate file, to make console.c more like a driverRobert Morris1-2/+6
2019-07-26fetchint isn't used any moreRobert Morris1-1/+0
2019-07-25purge x86 stuff from defs.hRobert Morris1-30/+0
2019-07-24rationalize some vm function namesRobert Morris1-5/+5
2019-07-24no more PAGEBREAKRobert Morris1-1/+0
2019-07-23simplify kernel mapping callsRobert Morris1-1/+1
2019-07-22fix mapkstackFrans Kaashoek1-1/+1
2019-07-22Clear U bit for second stack page so that it functions as a guard pageFrans Kaashoek1-1/+2
2019-07-19One way of supporting a guard page below kstack: allocate kstacks inFrans Kaashoek1-0/+2
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-02try to continue from walk() failing to allocate a page-table pageRobert Morris1-2/+2
2019-07-01have fork() fail, not panic, if not enough phys memRobert Morris1-1/+1
2019-06-13virtio disk driverRobert Morris1-0/+5
2019-06-11separate source into kernel/ user/ mkfs/Robert Morris1-0/+205