[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] In which library can I find these functions ?


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");
        return 0;

static void __exit hello_exit(void){
        printk(KERN_INFO "Cleaning module.\n");


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).

I thank you for your help.

Best regards,

Fremal S.
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.