# Raport za okres 24.02.2021 - 01.03.2021 ###### tags: `mimiker` ## Podsumowanie :::info Liczba przyznanych punktów. **Wypełnia prowadzący zajęcia!** Pewna część punktów odzwierciedla liczbę godzin spędzonych na: programowaniu lub pisaniu pracy dyplomowej. Pozostałe punkty są ze efekty i _code review_. Efekt musi być podparty umieszczeniem kodu w `master` lub wykonaniu prezentacji w trakcie zajęć. ::: | | punkty | | ---------------------:| ------ | | Michał Błaszczyk | ?+? | | Krzysztof Boroński | ?+? | | Paweł Jasiak | ?+? | | Mateusz Gruszecki | ?+? | | Jakub Piecuch | ?+? | | Wiktor Pilarczyk | ?+? | | Jakub Urbańczyk | ?+? | | Franciszek Zdobylak | ?+? | ## Sprawozdania :::info Wypełniać przed przystąpieniem do pierwszych zajęć w tygodniu roboczym! Należy określić liczbę godzin pracy własnej zaokrąglając w górę do liczby całkowitej. W sprawozdaniu należy krótko podsumować czy zajmowaliście się w poprzednim tygodniu. W szczególności należy podać _pull-request_'y, które weszły do głównej gałęzi repozytorium `mimiker`. Proszę również napisać co zamierzacie robić w nadchodzącym tygodniu. Można zawrzeć pytania, na które postaramy się odpowiedzieć w trakcie zajęć. ::: :::warning Proszę napisać sprawozdanie w taki sposób, żeby Piotr Witkowski mógł szybko przygotować podsumowanie z postępów w pracy i umieścić je na `mimiker.ii.uni.wroc.pl`. ::: ### Michał Błaszczyk :::success Liczba godzin: 10 ::: Prace konserwacyjne: [USB](https://github.com/cahirwpz/mimiker/pull/935) Poza tym całkiem sporo czytałem, w tym o: - EHCI - BIOS (i ogólnie rozruch) - linker - systemy plików - dyski (w tym konstrukcje tablicy partycji) - gdb Ogólnie, to zaczynam chyba trochę uciekać od USB. Wydaje mi się, że dużo by mi dało krótkie (15-30 min) spotkanie z prowadzącym, aby pomóc mi trochę odnaleźć się w projekcie. ### Krzysztof Boroński :::success Liczba godzin: ~10 ::: Pracowałem dalej nad sterownikiem kontrolera eMMC, a także zainteresowałem się kontrolerem DMA. Obecnie jest w stanie czytać i pisać do urządzeń kart SD, w tym również dokonywać odczytu wieloblokowego (\*). Aby jednak sterownik mógł w pełni wykorzystać możliwości kontrolera, powinien on przeprowadzać transfery DMA. W najbliższym tygodniu będę upiększał sterownik eMMC, tj. łatał niedopatrzenia, refktoryryzował kod i integrował jego funkcjonalności w biężącą infrastrukturę, bądź zajmę się sterownikiem kontrolera DMA. Odnośnie DMA - być może przydałoby się jakieś spotkanie zprowadzącym, oraz pozostałymi osobami zainteresowanymi użyciem DMA w celu ustalenia jakiegoś wspólnego podejścia do tematu. ### Paweł Jasiak :::success Liczba godzin: 10 ::: Do gałęzi _master_ weszła implementacja _tty_ dla _pl011_ [#1014](https://github.com/cahirwpz/mimiker/pull/1014), dzięki czemu mamy ~100% funkcjonalności _mips_ na _AArch64_. Przygotowałem też generyczną abstrakcję, która łaczy ze sobą sterowniki _uart_ i _tty_ [#1019](https://github.com/cahirwpz/mimiker/pull/1019) - ona czeka, aż team sterownikowców przemyśli, gdzie powinien żyć jej interfejs. Zrobiłem review [#974](https://github.com/cahirwpz/mimiker/pull/974), [#1022](https://github.com/cahirwpz/mimiker/pull/1022), [#1003](https://github.com/cahirwpz/mimiker/pull/1003). Powoli czytam pracę [Design and implementation of the UVM virtual memory system](https://chuck.cranor.org/p/diss.pdf) aby pomóc Frankowi z imeplementacją tych fajnych ficzerów w Mimikerze, ale jest za wcześnie abym mógł się jeszcze wypowiedzieć. Nabazgrałem coś w pracy pisemnej - proszę aby @PWit rzucił okiem odnośnie stylu itd... bo zupełnie nie czuję czy to powinno tak wyglądać. Próbuję **powoli** atakować _pmap_growkernel_ (za długo odkładałem tego _KASAN_-a). Na stosie rzeczy mam też odłożone kopanie się z bluetooth aby _pl011_ działał nam na fizycznym sprzęcie. ### Mateusz Gruszecki :::success Liczba godzin: ? ::: ### Jakub Piecuch :::success Liczba godzin: ? ::: Próbowałem zrobić [#1021](https://github.com/cahirwpz/mimiker/pull/1021) (timeout testów na podstawie czasu CPU) patchując QEMU, ale nie wyszło. Nowe PR: [#1023](https://github.com/cahirwpz/mimiker/pull/1023) (`setitimer()` i `getitimer()`), [#1024](https://github.com/cahirwpz/mimiker/pull/1024) (`tetris`) ### Wiktor Pilarczyk :::success Liczba godzin: 7 ::: Rozwiązanie problemu - [Counter overflow in arm_timer_gettime()](https://github.com/cahirwpz/mimiker/issues/1007) with [#PR1025](https://github.com/cahirwpz/mimiker/pull/1025) Przy okazji przeglądanie dokumentacji ARM'a. Wróciłem do pracy nad [Statclock and gprof structures initialization](https://github.com/cahirwpz/mimiker/pull/979) i zostało mi: - poprawienie makefile'a - uproszczenie skryptu kgmon Zacząłem czytać jak działa gcov. Zrobiłem 4 CR: :::spoiler - [Ringbuf dma](https://github.com/cahirwpz/mimiker/pull/1004) - [ringbuf_move[n]b to move data between two ringbuffers](https://github.com/cahirwpz/mimiker/pull/1003) - [Make it possible to roll back uiomove() operations](https://github.com/cahirwpz/mimiker/pull/998) - [Allow callouts to be rescheduled from the callback ](https://github.com/cahirwpz/mimiker/pull/950) ::: ### Jakub Urbańczyk :::success Liczba godzin: 6 ::: - Kontynuuję pracę nad weryfikacją poprawności blokad (lockdep) - Przeprowadziłem statyczną analizę kodu korzystając z GCC 10 - było sporo warningów, ale żadne z nich nie było użyteczne. Część to false positive wynikające z niezrozumienia pewnych makr przez GCC. Było też kilka całkowicie bezsensownych raportów (wyglądało jak bugi w GCC). - Zaimportowałem budowanie toolchaina [#1020](https://github.com/cahirwpz/mimiker/pull/1020) - przyda się Pana opinia na temat tego, czy idę w dobrym kierunku - Przejrzałem PR: [#974](https://github.com/cahirwpz/mimiker/pull/974) ### Franciszek Zdobylak :::success Liczba godzin: 6 ::: - Dokończyłem `/dev/procstat` i czekam na akceptację ([#974](https://github.com/cahirwpz/mimiker/pull/974)) - Zrobiłem review 2 pull requestów (uiomove i libterminfo). - Zacząłem czytać pracę Cranora (jestem w połowie)