Robert Morris
c714e3e35c
machinevec -> timervec
2019-07-26 10:17:02 -04:00
Robert Morris
fa2e2e3c81
uservec before userret in trampoline, to match book and kernelvec
2019-07-26 09:38:22 -04:00
Robert Morris
8d30e21b59
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
2019-07-26 04:53:59 -04:00
Robert Morris
ea95a6654c
trampin -> uservec
...
trampout -> userret
2019-07-26 04:53:46 -04:00
Frans Kaashoek
0358ee912b
syscall lab/alarm
2019-07-25 09:42:36 -04:00
Frans Kaashoek
57a861bea1
Checkpoint start syscall lab
2019-07-25 08:19:14 -04:00
Frans Kaashoek
808811f9f4
Add syscall tracing to the first xv6 lab
2019-07-25 07:47:22 -04:00
Frans Kaashoek
c0b1c239ea
x
2019-07-25 07:07:03 -04:00
Frans Kaashoek
47c9721d78
a few name changes in panic msg
2019-07-25 06:59:07 -04:00
Frans Kaashoek
8c12928cc5
First draft of first lab assignment?
2019-07-25 06:50:12 -04:00
Robert Morris
4e62de64cd
fix an exit/exit deadlock -> one more locking protocol violation
...
increase timer rate from 1/second to 10/second
2019-07-25 06:30:49 -04:00
Robert Morris
b19adf79f9
purge x86 stuff from defs.h
2019-07-25 05:37:35 -04:00
Robert Morris
5d5e4e065f
comments for timer setup
2019-07-25 05:35:03 -04:00
Frans Kaashoek
aef3e0f5a4
sieve exercise
2019-07-24 20:30:20 -04:00
Frans Kaashoek
61dc67b5d2
Simple find assignment
2019-07-24 18:00:32 -04:00
Robert Morris
9a817bd134
rationalize some vm function names
2019-07-24 15:28:37 -04:00
Robert Morris
da898a11b6
???
2019-07-24 14:40:13 -04:00
Frans Kaashoek
5d75346e4a
find
2019-07-24 14:26:16 -04:00
Frans Kaashoek
711bd3156d
Checkpoint some warm-up exercises
2019-07-24 14:20:33 -04:00
Robert Morris
a77287e924
no more PAGEBREAK
2019-07-24 13:33:43 -04:00
Robert Morris
b4f89bb529
ping-pong exercise
2019-07-24 10:39:05 -04:00
Robert Morris
8f6865d1f1
display assembly instructions, to help with first.tex exercise
2019-07-24 10:15:45 -04:00
Frans Kaashoek
49db5119e9
x
2019-07-24 09:06:49 -04:00
Frans Kaashoek
26ce97fc76
One more
2019-07-24 09:06:30 -04:00
Frans Kaashoek
e627608810
Delete a few other no-longer relevant files
2019-07-24 09:05:05 -04:00
Frans Kaashoek
6f3a441c10
Remove a few no longer relevant files
2019-07-24 08:59:47 -04:00
Frans Kaashoek
dfc2cf9123
add rtm's cow lab
2019-07-24 08:55:41 -04:00
Frans Kaashoek
a41365faa3
Add relevant docs to repo
2019-07-24 08:38:41 -04:00
Frans Kaashoek
0387e2156f
Add a few sbrktest for lazy allocatioin lab
2019-07-24 08:37:43 -04:00
Robert Morris
936afc6e1a
mstart -> start
2019-07-23 14:31:12 -04:00
Robert Morris
54178ad94d
simplify kernel mapping calls
2019-07-23 12:17:17 -04:00
Robert Morris
55bc96d419
a few core -> CPU
...
get rid of PDF generating support
2019-07-23 11:14:10 -04:00
Frans Kaashoek
b8a31c494c
one more TRAMPOLINE
2019-07-23 07:30:23 -04:00
Frans Kaashoek
6c78af4a57
fix mapkstack
2019-07-22 20:58:15 -04:00
Frans Kaashoek
62091abae9
Test whether writing below stack fails
2019-07-22 18:08:52 -04:00
Frans Kaashoek
b2e9c8eea5
Clear U bit for second stack page so that it functions as a guard page
2019-07-22 15:38:08 -04:00
Robert Morris
38b430687c
nit
2019-07-22 15:04:07 -04:00
Robert Morris
6b379e4707
-MD and TRAPFRAME
2019-07-22 14:54:40 -04:00
Frans Kaashoek
5eab649255
Allocate 2 pages per proc, with the top one unmapped.
...
The page below the last proc is unmapped by default (because the
kernel doesn't map anything right below the kernel stacks).
2019-07-22 14:30:45 -04:00
Frans Kaashoek
c5d48db045
Merge branch 'riscv-kstack' into riscv
2019-07-22 13:32:33 -04:00
Robert Morris
328204d9cc
not much
2019-07-20 18:51:31 -04:00
Robert Morris
06e49a58dc
pi for pipe, rather than p, to avoid confusion with proc's p->lock
2019-07-20 17:07:20 -04:00
Robert Morris
3333665ab6
not much
2019-07-20 10:17:26 -04:00
Robert Morris
2418ac380c
it's not clear that the release will always enable interrupts
2019-07-19 13:27:48 -04:00
Frans Kaashoek
06109901c9
x
2019-07-19 11:27:02 -04:00
Robert Morris
dbd729b32d
with per-proc locks, we don't need the intr_on() inside the loop.
2019-07-19 10:20:02 -04:00
Robert Morris
32168df609
no need to save/restore 14
2019-07-19 09:02:15 -04:00
Frans Kaashoek
9156632701
One way of supporting a guard page below kstack: allocate kstacks in
...
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-19 08:38:51 -04:00
Frans Kaashoek
b924e44f06
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
2019-07-17 05:53:47 -04:00
Frans Kaashoek
ce53416f49
Delete x86 comment
2019-07-17 05:53:34 -04:00