linux-kernel

Sterownik urządzenia jądra Linuksa do DMA z urządzenia do pamięci w przestrzeni użytkownika

Chcę uzyskać dane z urządzenia sprzętowego PCIe z obsługą DMA w przestrzeni użytkownika tak szybko, jak to możliwe. [12]} Q: ... th.c. Chciałbym spojrzeć na kod infiniband, ale nie mogę znaleźć, który z nich jest najbardziej podstawowy! Z góry dziękuję.

Bezpośredni dostęp do pamięci w Linuksie

Próbuję uzyskać bezpośredni dostęp do pamięci fizycznej dla projektu embedded Linux, ale nie jestem pewien, jak najlepiej wyz ... tr[1] = 'b'; printf("mptr points to 0x%lX. *mptr = 0x%X\n", (unsigned long) mptr, *mptr); close(fd); return 0; }

Wewnętrzne Wywołanie Systemu Linux

Co się dzieje (w szczegółach), gdy wątek wykonuje wywołanie systemowe przez wywołanie przerwania 80? Jaką pracę wykonuje Linu ... przerwań zrzeka się kontroli, aby procesor mógł robić inne rzeczy podczas dane są ładowane i w jaki sposób uzyskują kontrolę?

Pamięć mapowana IO-jak to się robi?

Czytałem o różnicy między port mapped IO a memory mapped IO, ale nie mogę zrozumieć, w jaki sposób pamięć mapped Io jest zaim ... dresy do komunikacji z kartą graficzną są stałe, czy istnieje jakaś "umowa" przed ich użyciem? I ' m still rather confused

Czym są strona mapowana pamięcią i strona anonimowa?

Nie jestem w stanie zrozumieć strony mapowanej pamięcią i strony anonimowej w Linuksie. Czy ktoś może to wyjaśnić na przykładzie? Jakie są z nimi związane struktury danych jądra?

Skąd jądro Linuksa wie, gdzie szukać firmware sterowników?

Kompiluję własne jądro pod Ubuntu i mam problem, że moje jądro nie wie, gdzie szukać firmware ' u. Pod Ubuntu 8.04 oprogramo ... lper patrząc na zmienną środowiskową $FIRMWARE, Nazwa pakietu jądra jest przygotowanie do nazwy firmware. Więc kto to robi?

Jak czytać, rozumieć, analizować i debugować jądro Linuksa?

Rozważ następujący ślad stosu zrzutu jądra Linuksa, możesz wywołać panikę z kodu źródłowego jądra, wywołując panic("debugging ... cktrace+0x0/0xf8 co oznacza +0x0/0xf8? Jak mogę zobaczyć kod C unwind_backtrace+0x0/0xf8? Jak interpretować treść paniki?

Jak debugować jądro Linuksa za pomocą GDB i QEMU?

Jestem nowy w rozwoju jądra i chciałbym wiedzieć,jak uruchomić / debugować jądro Linuksa przy użyciu QEMU i gdb. Czytam książ ... Qemu, podłączyć do niego mój debugger i tym samym sprawić, aby współpracowały ze sobą, aby ułatwić mi życie z rozwojem jądra.

Uruchamianie emulatora po zbudowaniu Androida ze źródła

Jestem w stanie ściągnąć najnowszy kod źródłowy Androida do 32-bitowej Wirtualnej Maszyny Ubuntu (Host: Windows 7 64-bit). Bu ... obić dalej? Jestem nowy w Androidzie i zrobiłem kilka badań na ten temat, ale nie mogłem znaleźć żadnych podobnych problemów.

Kto wywołuje sondę () kierowcy

Jak dzwonisz? Kto to nazywa? Jak rozumiem, __init() rejestruje driver, a potem jakoś probe() jest wywoływany do register dany ... struje się do i2c driver. Następnie sonda oczekuje i2c_clien t danych, które zwracają null. Chcę śledzić, gdzie się zapełnia.

Qt Creator, ptrace: operacja niedozwolona. Jakie jest trwałe rozwiązanie?

Podczas debugowania C++ kodu w Qt creator dostaję następujący błąd ptrace: Operation not permitted. Could not attach to th ... ten sam kod w terminalu za każdym razem, gdy uruchamiam komputer, aby używać Qt. What is the permanent solution for this?

Pomiar NUMA (niejednorodny dostęp do pamięci). Brak obserwowalnej asymetrii. Dlaczego?

Próbowałem zmierzyć asymetryczne efekty dostępu do pamięci NUMA, ale się nie udało. Eksperyment Wykonywane na Intel Xeon X ... wnia asymetrii między węzłami NUMA. Update 2: Próbowałem czytać i pisać do tablicy x z __sync_fetch_and_add (). Nadal nic.

Jak wyczyścić pamięci podręczne używane przez jądro Linuksa

Chcę zmusić jądro Linuksa do przydzielenia większej ilości pamięci do aplikacji po tym, jak pamięć podręczna zacznie zajmować ... cache została uwolniona-reszta pozostaje. Jak mogę stwierdzić, co zajmuje resztę pamięci podręcznej i wymusić jej uwolnienie?

Który priorytet czasu rzeczywistego jest najwyższym priorytetem w Linuksie

W Linux real-time process priority range 1 to 99, nie jest dla mnie jasne, który jest najwyższym priorytetem, 1 Czy 99. Se ... ma wartość sched_priority w zakresie od 1 (low) do 99 (high)." Który jest najwyższym priorytetem czasu rzeczywistego?

Dlaczego metoda probe jest potrzebna w sterownikach urządzeń Linuksowych oprócz init?

W jądrze Linuksa, co robi metoda probe(), którą dostarcza sterownik? Czym różni się ona od funkcji init sterownika, tzn. dlaczego w funkcji init sterownika nie mogą być wykonywane działania funkcji probe()?

Wywołanie funkcji w jądrze Linuksa

Czy jest sposób na wywołanie funkcji w jądrze Linuksa? Wiem.__ func__ zwraca nazwę wykonywanej funkcji. Szukam funkcji, która nazywa "__func__"

Co jest lepsze "int 0x80" lub "syscall"?

Przestudiowałem jądro Linuksa i dowiedziałem się, że dla architektury x86_64 przerwanie int 0x80 nie działa jak wywołanie wyw ... nie brzmi: w przypadku architektury x86 co jest bardziej korzystne syscall lub int 0x80 i dlaczego? EDIT : używam jądra 3.4

Do czego są używane instrukcje IN & OUT w x86?

Zakodowałem je do instrukcji w & OUT podczas czytania książki "zrozumienie jądra Linuksa". Sprawdziłem instrukcję obsługi ... bgcolor = "# e0ffe0 " / cesarz chin / / align = center / Kiedy będę ich potrzebował? podaj kilka praktycznych przykładów.

spin lock irqsave vs spin lock irq

Na maszynie SMP musimy używać spin_lock_irqsave, a nie spin_lock_irq z kontekstu przerwania. Dlaczego mielibyśmy chcieć zapisać flagi (które zawierają IF)? Czy jest jakaś inna procedura przerwania, która mogłaby nam przeszkodzić?

Walking page tables of a process in Linux

Próbuję poruszać się po tabelach stron dla procesu w Linuksie. W module jądra zrealizowałem następującą funkcję: static str ... wać przed poruszaniem się po tabelach stron? Pracuję z jądrem 2.6.35-22 i trzema poziomami tabel stron. Dziękuję wszystkim!