# 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)