Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2012-08-22 | Remove unused argument to setupkvm (thanks to Peter Froehlich) | Frans Kaashoek | 1 | -1/+1 | |
2011-09-01 | fix usertests to correctly test what happens when you call | Robert Morris | 1 | -1/+1 | |
exec() with arguments that don't fit on a single page. | |||||
2011-08-22 | A comment | Frans Kaashoek | 1 | -0/+3 | |
2011-08-22 | Remove sys_init syscall | Frans Kaashoek | 1 | -0/+6 | |
Invoke initlog from forkret on first user process | |||||
2011-08-09 | Use static page table for boot, mapping first 4Mbyte; no more segment trick | Frans Kaashoek | 1 | -1/+1 | |
Allocate proper kernel page table immediately in main using boot allocator Remove pginit Simplify address space layout a tiny bit More to come (e.g., superpages to simplify static table) | |||||
2011-07-29 | Map kernel high | Frans Kaashoek | 1 | -0/+1 | |
Very important to give qemu memory through PHYSTOP :( | |||||
2011-02-19 | xv6: formatting, cleanup, rev5 (take 2) | Russ Cox | 1 | -38/+38 | |
2011-01-11 | make new code like old code | Russ Cox | 1 | -5/+7 | |
Variable declarations at top of function, separate from initialization. Use == 0 instead of ! for checking pointers. Consistent spacing around {, *, casts. Declare 0-parameter functions as (void) not (). Integer valued functions return -1 on failure, 0 on success. | |||||
2010-09-13 | change some comments, maybe more informative | Robert Morris | 1 | -2/+4 | |
delete most comments from bootother.S (since copy of bootasm.S) ksegment() -> seginit() move more stuff from main() to mainc() | |||||
2010-09-02 | Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This ↵ | Austin Clements | 1 | -3/+4 | |
makes their interface match up better with proc->sz and also simplifies the callers (it even gets the main body of exec on one page). | |||||
2010-09-02 | Simplify inituvm and userinit by assuming initcode fits on a page | Austin Clements | 1 | -5/+2 | |
2010-09-02 | Oops. Broke the build when I rearranged proc.c | Austin Clements | 1 | -0/+2 | |
2010-09-02 | Rearrange proc.h and proc.c to get our action-packed spreads back (mostly). ↵ | Austin Clements | 1 | -86/+86 | |
They also make sense in this order, so it's not just for page layout. | |||||
2010-09-01 | Space police | Austin Clements | 1 | -5/+5 | |
2010-08-31 | Fix too-long lines | Austin Clements | 1 | -1/+2 | |
2010-08-31 | kalloc/kfree now only a page at a time | Robert Morris | 1 | -3/+3 | |
do not keep sorted contiguous free list | |||||
2010-08-10 | allow sbrk(-x) to de-allocate user memory | Robert Morris | 1 | -2/+7 | |
2010-08-06 | fix corner cases in exec of ELF | Robert Morris | 1 | -5/+5 | |
put an invalid page below the stack have fork() handle invalid pages | |||||
2010-08-05 | remove some unused vm #defines | Robert Morris | 1 | -1/+1 | |
fix corner cases with alignment when mapping kernel ELF file | |||||
2010-07-25 | some cleanup | Frans Kaashoek | 1 | -1/+1 | |
2010-07-23 | Checkpoint page-table version for SMP | Frans Kaashoek | 1 | -0/+1 | |
Includes code for TLB shootdown (which actually seems unnecessary for xv6) | |||||
2010-07-02 | Initial version of single-cpu xv6 with page tables | Frans Kaashoek | 1 | -57/+15 | |
2009-09-20 | nit in comment | Frans Kaashoek | 1 | -1/+1 | |
2009-09-03 | formatting tweaks | Russ Cox | 1 | -1/+2 | |
2009-09-02 | can set just %gs now. | Russ Cox | 1 | -2/+1 | |
2009-09-02 | another attempt at cpu-local variables. | Russ Cox | 1 | -2/+1 | |
this time do it ourselves instead of piggybacking on TLS. add -fno-pic to Makefile; pic code breaks our fake TLS. | |||||
2009-09-02 | fix TLS again; | Russ Cox | 1 | -2/+3 | |
still not quite but a lot better. | |||||
2009-09-02 | Fix TLS for PIC systems | Russ Cox | 1 | -0/+1 | |
2009-08-30 | assorted fixes: | Russ Cox | 1 | -58/+57 | |
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout | |||||
2009-08-08 | shuffle and tweak for formatting. | Russ Cox | 1 | -102/+104 | |
pdf has very good page breaks now. would be a good copy for fall 2009. | |||||
2009-07-12 | more doc tweaks | Russ Cox | 1 | -20/+18 | |
2009-07-11 | initproc, usegment, swtch tweaks | Russ Cox | 1 | -46/+39 | |
2009-05-31 | compile fixes | rsc | 1 | -7/+5 | |
2009-05-31 | group locks into structs they protect. | rsc | 1 | -44/+42 | |
few naming nits. | |||||
2009-05-31 | clean up %fs %gs use | rsc | 1 | -1/+1 | |
2009-05-31 | move fork into proc.c | rsc | 1 | -14/+20 | |
2009-05-31 | Some proc cleanup, moving some of copyproc into allocproc. | rsc | 1 | -84/+82 | |
Also, an experiment: use "thread-local" storage for c and cp instead of the #define macro for curproc[cpu()]. | |||||
2009-03-08 | be consistent: no underscores in function names | rsc | 1 | -1/+1 | |
2008-10-15 | cleaner swtch.S | kolya | 1 | -4/+4 | |
2008-10-15 | save cpus.intena in sched(), so we get the right EFLAGS.IF value once a | kolya | 1 | -1/+5 | |
timer-preempted kernel thread resumes execution in trap() after yield(). otherwise the kernel could get an arbitrary number of nested timer intrs. | |||||
2008-09-11 | omit *.d from tar file | rtm | 1 | -1/+0 | |
2008-08-28 | simplify growproc | rtm | 1 | -3/+2 | |
2008-08-28 | avoid a bug w/ exit() | rtm | 1 | -0/+1 | |
2007-10-20 | proc_wait -> wait | rtm | 1 | -1/+1 | |
2007-09-27 | Final word on the locking fiasco? | rsc | 1 | -4/+5 | |
Change pushcli / popcli so that they can never turn on interrupts unexpectedly. That is, if interrupts are on, then pushcli(); popcli(); turns them off and back on, but if they are off to begin with, then pushcli(); popcli(); is a no-op. I think our fundamental mistake was having a primitive (release and then popcli nee spllo) that could turn interrupts on at unexpected moments instead of being explicit about when we want to start allowing interrupts. With the new semantics, all the manual fiddling of ncli to force interrupts off in certain sections goes away. In return, we must explicitly mark the places where we want to enable interrupts unconditionally, by calling sti(). There is only one: inside the scheduler loop. | |||||
2007-09-27 | yank out stack overflow checking ugliness | rsc | 1 | -5/+1 | |
2007-09-27 | okay, that was long enough - revert | rsc | 1 | -7/+10 | |
2007-09-27 | test: store curproc at top of stack | rsc | 1 | -10/+7 | |
I don't actually think this is worthwhile, but I figured I would check it in before reverting it, so that it can be in the revision history. Pros: * curproc doesn't need to turn on/off interrupts * scheduler doesn't have to edit curproc anymore Cons: * it's ugly * all the stack computation is more complicated. * it doesn't actually simplify anything but curproc, and even curproc is harder to follow. | |||||
2007-09-27 | rename splhi/spllo to pushcli/popcli | rsc | 1 | -5/+5 | |
2007-09-27 | overkill: use segments to catch stack overflow (delete before next year) | rsc | 1 | -1/+5 | |