Thread Previous • Date Previous • Date Next • Thread Next |
Ahoj
Nemožnost změny MAC bychom asi přežili (možná to někde bude prostě hardwareově zakázáno, nedivil bych se), nicméně ty módy to chce opravit.Na způsob opravení módů už jsem přišel, přepisuji "quick hack" na nějaké rozumné řešení.
V QEMU jsem stále nedokázal zprovoznit periodický polling, on_demand funguje správně, stejně jako přijímání pomocí přerušení.Koukal jsi se do zdrojáků qemu, jestli to tam vůbec je implementováno?
Ano, v QEMU to dle zdrojáků implementováno je.
Rýpavý dotaz: zkoušel jsi už, jak funguje autonegotation? To jsme neměli možnost testovat na qemu...Zatím ne, to mám v plánu až budou fungovat módy. Ostatně ony jsou tu i další věci, které v QEMU nebyly testovatelné.
Fajn, taky souhlasím a jestli jsme se na podobném způsobu už dříve dohodli, tak tím lépe. Jde tam o to, že se volá as_get_mappable_page() (které zjistí nějakou nepoužívanou stránku virtuální paměti) a následně s async_share_in_start() s touto pamětí. Pokud se mezi tím ta paměť použije (namapuje) jinde, tak async_share_in_start() vrátí ENOMEM.To je úplně stejný race jako ten v dma_allocate_anonymous. Ale jak jsem psal - u dma funkcí je třeba si stanovit, mají-li s vícevláknovostí počítat nebo to má být na uživateli. U funkcí v NICF bych vícevláknovost předpokládal (ostatně bylo by dosti divné, kdyby některé funkce synchronizaci řešili a některé by mlčky předpokládali jednovláknový běh).
Michy
Thread Previous • Date Previous • Date Next • Thread Next |