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