aboutsummaryrefslogtreecommitdiff
path: root/Pintos.wiki
blob: d47eb1c7617fdef2a97c853193bd784b492a1b65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Omregga inte i webreg
Typ på torsdag

- maila filippe [sic?] angående status
- Gör gammla eller nya labbar

- lab 0 uppdaterad
- Lab3 delad i 3

- fler kodexempel

----------------------------------------

- 29 mars lab deadline
- labbar lämnas kanske inte via gitlab

== Tekniskt om pintos ==

- Return från syscall ligger i `f->eax`
- `f->esp` is the stack of the calling process
- The syscall number is ath the top, then the arguments
- `0xCC` means that memmory was `free()`d 
- `backtrace kernel [ hexcode ] ...`
- gdb `x/{5w,s}` examine...?

== Debug ==
{{{
# Stand in src/userprog/build
pintos-mkdisk fs.dsk 2 # make disk
pintos --qemu -- -f -q # format disk
pintos --qemu -p local-file -a file-in-pintos -- -q

pintos --qemu --gdb -- run printf
pintos-gdb src/userprog/build/kernel.o
(gdb) target remote localhost:1234
}}}

ttps://www.ida.liu.se/~TDDB68/labs/Lab1.pdf


=== Filer ===

- `pintos/src/lib/user/syscal.{h,c}` :: The syscall wrapper
- `userprog/syscall.{h,c}`           :: Implement syscalls here
- `threads/thread.{h,c}`             :: Implement something here
- `threads/interrupt.{h,c}`          :: Important structures
- `lib/syscal-nr.h`                  :: Syscall numbers
- `filesys/filesys.{h,c}`            :: Pintos file system