From: BalaKrishna Mallipeddi <bkmallipeddi@yahoo.com>
To: linux-kernel@vger.kernel.org
Subject: Problem : While adding a new system call to Montavista Linux on PPC architecture
Date: Mon, 2 Jun 2003 00:04:46 -0700 (PDT) [thread overview]
Message-ID: <20030602070446.39795.qmail@web10708.mail.yahoo.com> (raw)
Hi,
While adding a new System call in Montavista linux
on ppc architecture i am getting error:
I implemented the system call and compiled the kernel.
The kernel is compiled succesfully. While testing the
system call by writing a user program i am getting
error as ollows:
test_syscall.c: In function `rfs_open':
test_syscall.c:4: `__NR_rfs_open' undeclared (first
use in this function)
test_syscall.c:4: (Each undeclared identifier is
reported only once
test_syscall.c:4: for each function it appears in.)
How I implemented the system call is as follows:
All the paths i have given is from the montavista
Linux source tree.
1) Call Implementation:
I coded my system call in the directory "kernel"
of the Linux source tree with the name "rfs_open.c".
The system call is as follows:
#include <linux/rfs_open.h>
asmlinkage int
sys_rfs_open(void)
{
printk("I am rfs_open\n");
return 0;
}
2) Added a library function:
I added my library function in the directory
"include/linux" with the name "rfs_open.h". The
function is as follows:
#ifndef _LINUX_RFS_OPEN_H
#define _LINUX_RFS_OPEN_H
#include <linux/linkage.h>
#include <linux/unistd.h>
_syscall0(int,rfs_open);
#endif
3) Got the system call number:
I assigned a number to my system call in the file
unistd.h in the directory "include/asm", where "asm"
links to "asm-ppc". The line added in unistd.h is as
follows:
#define __NR_rfs_open 208
4) Created entry in the System call table:
I created an entry in the System Call table which
is in the file misc.S( for i386 architecture this
System call table is in entry.S) in the directory
"arch/ppc/kernel/misc.S" The line added in misc.S is
as follows:
.long sys_rfs_open
5) Updated the Makefile for my system call to be
compiled and linked in to the kernel. After updating
it is as follows:
export-objs = signal.o sys.o kmod.o context.o
ksyms.o pm.o exec_domain.o \
printk.o cpufreq.o trace.o rfs_open.o
obj-y = sched.o fork.o exec_domain.o panic.o
printk.o \
module.o exit.o itimer.o info.o time.o softirq.o
resource.o \
sysctl.o acct.o capability.o ptrace.o timer.o user.o
\
signal.o sys.o kmod.o context.o rfs_open.o
6) I compiled the kernel and it is successfully
compiled.
7) My system call testing program looks as follows:
#include <sys/syscall.h>
#include <stdio.h>
#include <errno.h>
_syscall0(int,rfs_open);
int main()
{
rfs_open();
return(0);
}
I am greatful if any one help me.
Thanks & regards
BalaKrishna Mallipeddi.
=====
BalaKrishna Mallipeddi
Member Technical Staff Software
Innomedia Technologies Pvt. Ltd.,
#3278, 12th Main, HAL 2nd stage,
Bangalore-560008,
INDIA
Phone : 5278389 + 123
__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
next reply other threads:[~2003-06-02 6:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-02 7:04 BalaKrishna Mallipeddi [this message]
2003-06-03 8:52 ` george anzinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030602070446.39795.qmail@web10708.mail.yahoo.com \
--to=bkmallipeddi@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®