From: Konrad Rzeszutek Wilk <konrad@kernel.org>
To: "Sébastien Frémal" <sebastien.fremal@gmail.com>
Cc: xen-devel@lists.xen.org
Subject: Re: In which library can I find these functions ?
Date: Wed, 30 Jan 2013 16:30:05 -0500 [thread overview]
Message-ID: <20130130213003.GB1885@konrad-lan.dumpdata.com> (raw)
In-Reply-To: <CAOV6k-AKbGPgx0m0yWj6ZKL0YBGn1j_nJZrMYGDnWUJ=YZ452w@mail.gmail.com>
On Tue, Jan 29, 2013 at 04:59:39PM +0100, Sébastien Frémal wrote:
> Hi,
>
> I'm trying to build a module to implement a shared memory mechanism between
> the dom0 and domU's.
>
> To do so, I'm investigating the grant table mechanisms. I have wrote that
> code (which is supposed to be the dom0-side of a module creating and
> sharing 1 page) :
>
> #undef __KERNEL__
> #define __KERNEL__
>
> #undef MODULE
> #define MODULE
>
> #include <xen/page.h>
> #include <xen/grant_table.h>
> #include <linux/gfp.h>
> #include <linux/module.h>
> #include <linux/kernel.h>
> #include <linux/init.h>
>
> unsigned long myPage;
>
> static int __init hello_init(void){
> // int domB = atoi(argv[1]);
> printk(KERN_INFO "Test sur le partage de mémoire dans Xen \n");
>
> if((myPage = get_zeroed_page(GFP_KERNEL))==0)
> printk(KERN_INFO "Zeroed page\n");
>
> grant_ref_t gref;
> gref = gnttab_grant_foreign_access(1, virt_to_mfn(myPage), 0);
>
> if(gref < 0){
> printk(KERN_INFO "Grant failed\n");
> free_page(myPage);
> }
> return 0;
> }
>
> static void __exit hello_exit(void){
> free_page(myPage);
> printk(KERN_INFO "Cleaning module.\n");
> }
>
> module_init(hello_init);
> module_exit(hello_exit);
>
> The code is compiling, but when I try to launch the insert the module, I
> get error messages :
>
> [95265.790842] shmxen: Unknown symbol gnttab_grant_foreign_access (err 0)
> [95265.790855] shmxen: Unknown symbol xen_features (err 0)
> [95265.790865] shmxen: Unknown symbol get_phys_to_machine (err 0)
>
> I'm searching for libraries to link with the module so it can use these
> functions but I can't find those. Can you please help me ? I searched in
> project like Xen VMSocket to look after their way of dealing the problem,
> but the Makefile doesn't point out directories containing the included
> headers or libraries having implemented functions (I don't understand how
> it's suppose to compile).
cscope is quite good at finding these things. You just need
xen/grant_table.h and xen/xen.h
>
> I thank you for your help.
>
> Best regards,
>
> Fremal S.
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2013-01-30 21:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 15:59 In which library can I find these functions ? Sébastien Frémal
2013-01-30 21:30 ` Konrad Rzeszutek Wilk [this message]
2013-01-31 12:53 ` Sébastien Frémal
2013-01-31 13:41 ` Olaf Hering
2013-01-31 14:13 ` Sébastien Frémal
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=20130130213003.GB1885@konrad-lan.dumpdata.com \
--to=konrad@kernel.org \
--cc=sebastien.fremal@gmail.com \
--cc=xen-devel@lists.xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.