00001 #ifndef _XENO_NUCLEUS_PPD_H
00002 #define _XENO_NUCLEUS_PPD_H
00003
00004 #include <nucleus/queue.h>
00005 #include <nucleus/shadow.h>
00006
00007 struct mm_struct;
00008
00009 typedef struct xnshadow_ppd_key {
00010 unsigned long muxid;
00011 struct mm_struct *mm;
00012 } xnshadow_ppd_key_t;
00013
00014 typedef struct xnshadow_ppd_t {
00015 xnshadow_ppd_key_t key;
00016 xnholder_t link;
00017 #ifdef XNARCH_HAVE_MAYDAY
00018 unsigned long mayday_addr;
00019 #endif
00020 #define link2ppd(ln) container_of(ln, xnshadow_ppd_t, link)
00021 } xnshadow_ppd_t;
00022
00023 #define xnshadow_ppd_muxid(ppd) ((ppd)->key.muxid)
00024
00025 #define xnshadow_ppd_mm(ppd) ((ppd)->key.mm)
00026
00027
00028 xnshadow_ppd_t *xnshadow_ppd_get(unsigned muxid);
00029
00030 #endif