Çekirdek 2.6.38-5 sürümünü indirdim ve sistem çağrısı eklemek istiyorum. yaptım şu:Sistem çağrısı eklenirken hatalı adres
ben sistem çağrı tablosuna benim sistem çağrısı eklemiş;
<src folder>/arc/x86/kernel/syscall_table_32.S .long sys_mycall
Sistem çağrı numarasını ekledim;
<src folder>/include/asm-generic/unistd.h #define __NR_mycall 244 __SYSCALL(__NR_mycall, sys_mycall)
Ben
syscalls.h
için prototip eklemiş;<src follder>/include/linux/syscalls.h asmlinkage long sys_mycall(long input);
Ve, işte benim sistem çağrısı;
asmlinkage long sys_mycall(long input) { return (input * 2); }
Ben de Makefiles düzenledim. Ben
syscall()
aracılığıyla kullandığınızda
Şimdi derleme sonra, 14'e
errno sette ne yapmalıyım ile bana BAD ADDRESS
veriyor?
+1, tatmin edici bir açıklamaya ve probleminizin minimum bilgisine sahip olduğunuz için sizi kutlarız. Buraya gelen yeni insanların çok düşük seviyeli şeyler hakkında çok geniş sorular sorduğunu düşünemezsiniz. – zneak