Robert Morris
bc8221a59c
comment about sched() saving/restoring cpu->intena
2016-09-02 05:40:54 -04:00
Frans Kaashoek
7894fcd217
Remove trailing white space with:
...
for f in *.{h,c}; do sed -i .sed 's/[[:blank:]]*$//' $f; done
(Thanks to Nicolás Wolovick)
2016-08-25 09:13:00 -04:00
Robert Morris
19f65413bd
hold ptable.lock for the entire process creation
...
however, processes still modify their own p->* without locking
2016-08-13 03:44:13 -04:00
Robert Morris
9c65b32d9e
nothing much
2016-08-11 15:41:53 -04:00
Frans Kaashoek
8320d61be5
Pick up where i left off in april:
...
- move log into metadata part of disk, so that marking
that the log's blocks are in use falls out for free
- superblock describes the whole disk (sizes and offets)
- sizes and offsets are computed in one place (mkfs) and
the rest of the code refers to the superblock for these values,
instead of recomputing them.
2015-06-27 12:39:13 -04:00
Robert Morris
71453f72f2
a start at concurrent FS system calls
2014-08-27 17:15:30 -04:00
Robert Morris
2c56547272
every iput() and namei() must be inside a transaction
2014-08-04 13:06:48 -04:00
Robert Morris
020c8e2384
use acquire/release to force order for pid=np->pid;np->state=RUNNING
...
for bug reported by symingz@gmail.com and cs1100254@cse.iitd.ernet.in
2014-08-04 06:13:49 -04:00
Frans Kaashoek
4ce832ddd2
Remove unused argument to setupkvm (thanks to Peter Froehlich)
2012-08-22 20:19:37 -04:00
Robert Morris
5a23692444
fix usertests to correctly test what happens when you call
...
exec() with arguments that don't fit on a single page.
2011-09-01 12:02:49 -04:00
Frans Kaashoek
194f8bf739
A comment
2011-08-22 20:07:18 -04:00
Frans Kaashoek
d10d324e79
Remove sys_init syscall
...
Invoke initlog from forkret on first user process
2011-08-22 20:05:15 -04:00
Frans Kaashoek
66ba8079c7
Use static page table for boot, mapping first 4Mbyte; no more segment trick
...
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-08-09 21:37:35 -04:00
Frans Kaashoek
9aa0337dc1
Map kernel high
...
Very important to give qemu memory through PHYSTOP :(
2011-07-29 07:31:27 -04:00
Russ Cox
cf4b1ad90b
xv6: formatting, cleanup, rev5 (take 2)
2011-02-19 21:17:55 -05:00
Russ Cox
1a81e38b17
make new code like old code
...
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.
2011-01-11 13:01:13 -05:00
Robert Morris
faad047ab2
change some comments, maybe more informative
...
delete most comments from bootother.S (since copy of bootasm.S)
ksegment() -> seginit()
move more stuff from main() to mainc()
2010-09-13 15:34:44 -04:00
Austin Clements
79cd8b3eed
Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This 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 18:28:36 -04:00
Austin Clements
f53e6110be
Simplify inituvm and userinit by assuming initcode fits on a page
2010-09-02 15:42:25 -04:00
Austin Clements
c7c21467c3
Oops. Broke the build when I rearranged proc.c
2010-09-02 14:30:06 -04:00
Austin Clements
d8828817d7
Rearrange proc.h and proc.c to get our action-packed spreads back (mostly). They also make sense in this order, so it's not just for page layout.
2010-09-02 04:15:17 -04:00
Austin Clements
b0751a3e9b
Space police
2010-09-01 00:41:25 -04:00
Austin Clements
7472b2b451
Fix too-long lines
2010-08-31 16:26:08 -04:00
Robert Morris
7d7dc9331b
kalloc/kfree now only a page at a time
...
do not keep sorted contiguous free list
2010-08-31 12:54:47 -04:00
Robert Morris
83d2db91f7
allow sbrk(-x) to de-allocate user memory
2010-08-10 17:08:41 -04:00
Robert Morris
c4cc10da7e
fix corner cases in exec of ELF
...
put an invalid page below the stack
have fork() handle invalid pages
2010-08-06 11:12:18 -04:00
Robert Morris
c99599784e
remove some unused vm #defines
...
fix corner cases with alignment when mapping kernel ELF file
2010-08-05 16:00:59 -04:00
Frans Kaashoek
30f5bf0548
some cleanup
2010-07-25 20:30:21 -04:00
Frans Kaashoek
4714c20521
Checkpoint page-table version for SMP
...
Includes code for TLB shootdown (which actually seems unnecessary for xv6)
2010-07-23 07:41:13 -04:00
Frans Kaashoek
40889627ba
Initial version of single-cpu xv6 with page tables
2010-07-02 14:51:53 -04:00
Frans Kaashoek
ccd980bedf
nit in comment
2009-09-20 20:19:58 -04:00
Russ Cox
c9ee77b8a2
formatting tweaks
2009-09-03 00:46:15 -07:00
Russ Cox
d26025d124
can set just %gs now.
2009-09-02 10:09:34 -07:00
Russ Cox
7e0cc8e36e
another attempt at cpu-local variables.
...
this time do it ourselves instead of piggybacking on TLS.
add -fno-pic to Makefile; pic code breaks our fake TLS.
2009-09-02 10:07:59 -07:00
Russ Cox
f8ab2079cd
fix TLS again;
...
still not quite but a lot better.
2009-09-02 07:59:24 -07:00
Russ Cox
57ae146362
Fix TLS for PIC systems
2009-09-02 07:41:08 -07:00
Russ Cox
48755214c9
assorted fixes:
...
* rename c/cp to cpu/proc
* rename cpu.context to cpu.scheduler
* fix some comments
* formatting for printout
2009-08-30 23:02:08 -07:00
Russ Cox
0aef891495
shuffle and tweak for formatting.
...
pdf has very good page breaks now.
would be a good copy for fall 2009.
2009-08-08 01:07:30 -07:00
Russ Cox
00e571155c
more doc tweaks
2009-07-12 18:33:37 -07:00
Russ Cox
2c5f7aba38
initproc, usegment, swtch tweaks
2009-07-11 19:28:29 -07:00
rsc
27ff8f0e6f
compile fixes
2009-05-31 05:13:51 +00:00
rsc
34295f461a
group locks into structs they protect.
...
few naming nits.
2009-05-31 05:12:21 +00:00
rsc
7b644318dd
clean up %fs %gs use
2009-05-31 01:12:08 +00:00
rsc
215738336a
move fork into proc.c
2009-05-31 00:38:51 +00:00
rsc
19333efb9e
Some proc cleanup, moving some of copyproc into allocproc.
...
Also, an experiment: use "thread-local" storage for c and cp
instead of the #define macro for curproc[cpu()].
2009-05-31 00:28:45 +00:00
rsc
2157576107
be consistent: no underscores in function names
2009-03-08 22:07:13 +00:00
kolya
c100d9ee2d
cleaner swtch.S
2008-10-15 05:14:10 +00:00
kolya
228e500a0c
save cpus.intena in sched(), so we get the right EFLAGS.IF value once a
...
timer-preempted kernel thread resumes execution in trap() after yield().
otherwise the kernel could get an arbitrary number of nested timer intrs.
2008-10-15 05:01:39 +00:00
rtm
4651d04ad1
omit *.d from tar file
2008-09-11 10:20:40 +00:00
rtm
ee3f75f229
simplify growproc
2008-08-28 17:57:47 +00:00