diff options
Diffstat (limited to 'Pintos.wiki')
-rw-r--r-- | Pintos.wiki | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Pintos.wiki b/Pintos.wiki new file mode 100644 index 0000000..d47eb1c --- /dev/null +++ b/Pintos.wiki @@ -0,0 +1,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 |