summaryrefslogtreecommitdiff
path: root/kernel
AgeCommit message (Collapse)Author
2019-07-27cleaner UART register interfaceRobert Morris
2019-07-27console/uart tweaksRobert Morris
2019-07-27beautify console.cRobert Morris
2019-07-27split printf into a separate file, to make console.c more like a driverRobert Morris
2019-07-26fetchint isn't used any moreRobert Morris
2019-07-26???Robert Morris
2019-07-26machinevec -> timervecRobert Morris
2019-07-26uservec before userret in trampoline, to match book and kernelvecRobert 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-25fix an exit/exit deadlock -> one more locking protocol violationRobert Morris
increase timer rate from 1/second to 10/second
2019-07-25purge x86 stuff from defs.hRobert Morris
2019-07-25comments for timer setupRobert Morris
2019-07-24rationalize some vm function namesRobert Morris
2019-07-24???Robert Morris
2019-07-24no more PAGEBREAKRobert Morris
2019-07-24ping-pong exerciseRobert Morris
2019-07-24display assembly instructions, to help with first.tex exerciseRobert Morris
2019-07-23mstart -> startRobert Morris
2019-07-23simplify kernel mapping callsRobert Morris
2019-07-23a few core -> CPURobert Morris
get rid of PDF generating support
2019-07-23one more TRAMPOLINEFrans Kaashoek
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-22-MD and TRAPFRAMERobert Morris
2019-07-22Allocate 2 pages per proc, with the top one unmapped.Frans Kaashoek
The page below the last proc is unmapped by default (because the kernel doesn't map anything right below the kernel stacks).
2019-07-22Merge branch 'riscv-kstack' into riscvFrans Kaashoek
2019-07-20not muchRobert Morris
2019-07-20pi for pipe, rather than p, to avoid confusion with proc's p->lockRobert Morris
2019-07-20not muchRobert Morris
2019-07-19it's not clear that the release will always enable interruptsRobert Morris
2019-07-19xFrans Kaashoek
2019-07-19with per-proc locks, we don't need the intr_on() inside the loop.Robert Morris
2019-07-19no need to save/restore 14Robert Morris
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-17Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscvFrans Kaashoek
2019-07-17Delete x86 commentFrans Kaashoek
2019-07-16conservatively call sfence.vma before every satp load.Robert Morris
2019-07-11cosmetic changesRobert Morris
2019-07-11another test, to help with locking exercisesRobert Morris
2019-07-10nitsRobert Morris
2019-07-10more comment cleanupRobert Morris
2019-07-10document which proc fields are protected by p->lockRobert Morris
2019-07-10have kill() lock before looking at p->pidRobert Morris
document wait()'s use of np->parent w/o holding lock.
2019-07-10tweak some comments.Robert Morris
2019-07-08holding p->lock all the way through state=RUNNABLE means we don't need EMBRYORobert Morris
2019-07-07eliminate ptable. ptable.lock -> pid_lock.Robert Morris
2019-07-07nitsRobert Morris