Czytam Linux Kernel Development autorstwa Roberta Love'a i jednym z ćwiczeń, które wykonuje, jest stworzenie wywołania systemowego (strona 106). Problem polega na tym, że nie mogę znaleźć pliku tabeli wywołań systemowych w wersji 3.7 dla architektury x86_32. Wiem, że używa wersji 2.6.xx, ale nie wiem, czy ta wersja będzie działała z dystrybucją, której używam, ponieważ jest dość stara, więc wolałabym wolę v3.9.Gdzie jest tabela wywołań systemowych w jądrze Linux?
Więcej informacji: podczas wykonywania której mówię jest następujący: Dodaj wpis do końca table.This wywołań systemowych należy zrobić dla każdej architektury, który obsługuje połączenia systemowego (które dla większości nazywa się wszystkie architektury). Pozycja układu w tabeli, zaczynająca się od zera, jest jego numerem systemowym. Na przykład, dziesiąty wpis na liście ma przypisaną liczbę syscall dziewięć.
rozwiązać, stosując następujące metody: tabela wywołanie systemowe znajduje się w arch/x86/syscalli/syscall_32.tbl dla architektury x86. Dzięki Sudip Mukherjee za jego pomoc.
Innym podejściem jest następujący: http://lists.kernelnewbies.org/pipermail/kernelnewbies/2013-July/008598.html Dzięki Srinivas Ganji za pomoc too.
skąd go wyszukać? – mnagel
W książce mówi się, że znajduje się ona w punkcie S, ale o ile wiem, została zmieniona w ostatnich wersjach.Przeszukałem więc arch/x86/kernel, gdzie znalazłem plik entry_32.S, ale nie znalazłem tam tabeli ani – Iker
Wydaje się, że to [tutaj] (http://lxr.linux.no /#linux+v3.9/arch/x86/ia32/syscall_ia32.c#L18) – levengli