From: roland <for...@gm...> - 2004-05-23 13:25:00
|
hi, i know - i`m an awful bad programmer - but perhaps someone can help me implementing /proc/sysemu ? that`s somewhat "cosmetic stuff" for turning sysemu (http://perso.wanadoo.fr/laurent.vivier/UML) on/off at runtime. (yes - this isn`t really important feature - but i would like to have that feature and i like hacking it for programming exercise purpose) :) i added the following to arch/um/kernel/process.c (that`s, where most of the sysemu patch goes into): #include "linux/proc_fs.h" #include "linux/file.h" static struct file_operations proc_sysemu_fops; static int make_proc_sysemu(void) { struct proc_dir_entry *ent; ent = create_proc_entry("sysemu", 0x777, &proc_root); if(ent == NULL){ printk("Failed to register /proc/sysemu\n"); return(0); } ent->proc_fops = &proc_mm_fops; return(0); } compile fails with: gcc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH=\"i386\" -D _LARGEFILE64_SOURCE -Iarch/um/include -I/tmp/uml/2.6.6/linux-2.6.6/arch/um/kernel/tt/include -I/tmp/uml/2.6.6/linux-2.6.6/arch/um /kernel/skas/include -D_GNU_SOURCE -Os -g -c -o arch/um/kernel/process.o arch/um/kernel/process.c In file included from arch/um/kernel/process.c:47: /usr/include/linux/proc_fs.h:244: error: field `vfs_inode' has incomplete type /usr/include/linux/proc_fs.h: In function `PROC_I': /usr/include/linux/proc_fs.h:249: error: parse error before "struct" In file included from arch/um/kernel/process.c:48: /usr/include/linux/file.h: At top level: /usr/include/linux/file.h:33: error: `BITS_PER_LONG' undeclared here (not in a function) arch/um/kernel/process.c: In function `make_proc_sysemu': arch/um/kernel/process.c:61: error: `proc_mm_fops' undeclared (first use in this function) arch/um/kernel/process.c:61: error: (Each undeclared identifier is reported only once arch/um/kernel/process.c:61: error: for each function it appears in.) arch/um/kernel/process.c: At top level: arch/um/kernel/process.c:313: warning: initialization from incompatible pointer type arch/um/kernel/process.c:50: error: storage size of `proc_sysemu_fops' isn't known arch/um/kernel/process.c:50: warning: `proc_sysemu_fops' defined but not used arch/um/kernel/process.c:53: warning: `make_proc_sysemu' defined but not used make[1]: *** [arch/um/kernel/process.o] Error 1 make: *** [arch/um/kernel] Error 2 this looks like the wrong header-files being included. scratching my head now..... can someone give me a hint ? regards roland ps: sorry - maybe this is a dumb error and maybe i shouldn`t start with such complex things - but i don`t like to program the tutorials written down in a c-programming book :) ----- Original Message ----- From: "Laurent Vivier" <Lau...@wa...> To: "roland" <for...@gm...> Cc: <use...@li...>; "Jeff Dike" <jd...@ad...>; <bla...@ya...> Sent: Thursday, May 20, 2004 2:49 PM Subject: Re: [uml-devel] [PATCH] host context switch reduction |