---
# System prepended metadata

title: Raport za okres 24.02.2021 - 01.03.2021
tags: [mimiker]

---

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