X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=linux_module%2Fpalacios.h;h=46946375b5b1dae7259740e158c1a40104eca891;hp=a546cb4e7ba916f767f81b96b1f484eb94c0aacc;hb=a8686374c6aa74d805b32e7675f42f7ab9a0b348;hpb=42b80fddfbfea5c5603b71d80d3e2ba2a53a2074 diff --git a/linux_module/palacios.h b/linux_module/palacios.h index a546cb4..4694637 100644 --- a/linux_module/palacios.h +++ b/linux_module/palacios.h @@ -5,6 +5,7 @@ #include #include #include +#include /* Global Control IOCTLs */ @@ -230,5 +231,35 @@ void palacios_mutex_unlock_irqrestore(void *mutex, void *flags); #define INFO(fmt, args...) printk((KERN_INFO "palacios (pcore %u): " fmt), palacios_get_cpu(), ##args) #define DEBUG(fmt, args...) printk((KERN_DEBUG "palacios (pcore %u): " fmt), palacios_get_cpu(), ##args) +/* Linux proc versioning */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + +#define PAL_PROC_CREATE(ent, fname, perm, parent, fops) \ + ent = proc_create(fname, perm, parent, fops); + +#define PAL_PROC_CREATE_DATA(ent, fname, perm, parent, fops, data) \ + ent = proc_create_data(fname, perm, parent, fops, data); + +#define PAL_PDE(inode) NULL +#define PAL_PROC_GETDATA(inode) PDE_DATA((inode)) + +#else + +#define PAL_PROC_CREATE(ent, fname, perm, parent, fops) \ + ent = create_proc_entry(fname, perm, parent); \ + if (ent) { \ + ent->proc_fops = fops; \ + } + +#define PAL_PROC_CREATE_DATA(ent, fname, perm, parent, fops, data) \ + ent = proc_create_data(fname, perm, parent, fops, data); + +#define PAL_PDE(inode) PDE((inode)) +#define PAL_PROC_GETDATA(inode) PDE((inode))->data + +#endif + + + #endif