X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fsvm%2Fsvm_common.h;h=e523da50db6cb9fda274b84442669ba365e4bbe9;hb=65eb77231cbcf4e0ad9c04ad511035c5154853ac;hp=1f6d83c0a378b2db6201fed5b7664e858aafb0f5;hpb=3cdc25ffbaa572639f99e197172c568e4324bc03;p=vpp.git diff --git a/src/svm/svm_common.h b/src/svm/svm_common.h index 1f6d83c0a37..e523da50db6 100644 --- a/src/svm/svm_common.h +++ b/src/svm/svm_common.h @@ -83,9 +83,9 @@ typedef struct svm_map_region_args_ * Base should be "out of the way," and size should be big enough to * cover everything we plan to put here. */ -#define SVM_GLOBAL_REGION_BASEVA 0x30000000 #define SVM_GLOBAL_REGION_SIZE (64<<20) #define SVM_GLOBAL_REGION_NAME "/global_vm" +u64 svm_get_global_region_base_va (); /* * Memory shared across individual router instances. @@ -105,16 +105,22 @@ typedef struct svm_subregion_t *subregions; /* subregion pool */ uword *name_hash; u8 *root_path; + int uid; + int gid; } svm_main_region_t; void *svm_region_find_or_create (svm_map_region_args_t * a); void svm_region_init (void); +void svm_region_init_mapped_region (svm_map_region_args_t * a, + svm_region_t * rp); int svm_region_init_chroot (const char *root_path); void svm_region_init_chroot_uid_gid (const char *root_path, int uid, int gid); void svm_region_init_args (svm_map_region_args_t * a); void svm_region_exit (void); +void svm_region_exit_client (void); void svm_region_unmap (void *rp_arg); +void svm_region_unmap_client (void *rp_arg); void svm_client_scan (const char *root_path); void svm_client_scan_this_region_nolock (svm_region_t * rp); u8 *shm_name_from_svm_map_region_args (svm_map_region_args_t * a);