aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@linaro.org>2014-09-23 13:45:31 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2014-09-23 17:01:44 +0400
commitddfeadfe61c2913ca44dd424a118d5e8c7b9b3d3 (patch)
tree8ad9ecaa613ea8f57b8c51958967191dd643619c /example
parent50fd9738f2d2cc121c083a843da7c46d1d34bc8b (diff)
Shared memory handle
- Changed API to return shm handle instead of pointer - Added shm info - Tests updated to use shm handle and new addr function. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'example')
-rw-r--r--example/generator/odp_generator.c13
-rw-r--r--example/ipsec/odp_ipsec.c32
-rw-r--r--example/ipsec/odp_ipsec_cache.c13
-rw-r--r--example/ipsec/odp_ipsec_fwd_db.c13
-rw-r--r--example/ipsec/odp_ipsec_loop_db.c12
-rw-r--r--example/ipsec/odp_ipsec_sa_db.c13
-rw-r--r--example/ipsec/odp_ipsec_sp_db.c13
-rw-r--r--example/ipsec/odp_ipsec_stream.c13
-rw-r--r--example/l2fwd/odp_l2fwd.c13
-rw-r--r--example/odp_example/odp_example.c12
-rw-r--r--example/packet/odp_pktio.c13
-rw-r--r--example/timer/odp_timer_test.c6
12 files changed, 115 insertions, 51 deletions
diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c
index 10c7b317c..27fc86803 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -523,6 +523,7 @@ int main(int argc, char *argv[])
int i;
int first_core;
int core_count;
+ odp_shm_t shm;
/* Init ODP before calling anything else */
if (odp_init_global()) {
@@ -537,8 +538,10 @@ int main(int argc, char *argv[])
odp_atomic_init_u64(&counters.icmp);
/* Reserve memory for args from shared mem */
- args = odp_shm_reserve("shm_args", sizeof(args_t),
- ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_args", sizeof(args_t),
+ ODP_CACHE_LINE_SIZE, 0);
+ args = odp_shm_addr(shm);
+
if (args == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
@@ -582,8 +585,10 @@ int main(int argc, char *argv[])
odp_init_local(thr_id);
/* Create packet pool */
- pool_base = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_packet_pool",
+ SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ pool_base = odp_shm_addr(shm);
+
if (pool_base == NULL) {
ODP_ERR("Error: packet pool mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c
index 5b7abf696..a9bba24de 100644
--- a/example/ipsec/odp_ipsec.c
+++ b/example/ipsec/odp_ipsec.c
@@ -368,6 +368,7 @@ void ipsec_init_pre(void)
{
odp_queue_param_t qparam;
void *pool_base;
+ odp_shm_t shm;
/*
* Create queues
@@ -400,9 +401,10 @@ void ipsec_init_pre(void)
}
/* Create output buffer pool */
- pool_base = odp_shm_reserve("shm_out_pool",
- SHM_OUT_POOL_SIZE, ODP_CACHE_LINE_SIZE,
- 0);
+ shm = odp_shm_reserve("shm_out_pool",
+ SHM_OUT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+
+ pool_base = odp_shm_addr(shm);
out_pool = odp_buffer_pool_create("out_pool", pool_base,
SHM_OUT_POOL_SIZE,
@@ -1179,6 +1181,7 @@ main(int argc, char *argv[])
int first_core;
int core_count;
int stream_count;
+ odp_shm_t shm;
/* Init ODP before calling anything else */
if (odp_init_global()) {
@@ -1191,8 +1194,11 @@ main(int argc, char *argv[])
odp_init_local(thr_id);
/* Reserve memory for args from shared mem */
- args = odp_shm_reserve("shm_args", sizeof(args_t), ODP_CACHE_LINE_SIZE,
- 0);
+ shm = odp_shm_reserve("shm_args", sizeof(args_t), ODP_CACHE_LINE_SIZE,
+ 0);
+
+ args = odp_shm_addr(shm);
+
if (NULL == args) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
@@ -1233,9 +1239,11 @@ main(int argc, char *argv[])
printf("First core: %i\n\n", first_core);
/* Create packet buffer pool */
- pool_base = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE,
- 0);
+ shm = odp_shm_reserve("shm_packet_pool",
+ SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+
+ pool_base = odp_shm_addr(shm);
+
if (NULL == pool_base) {
ODP_ERR("Error: packet pool mem alloc failed.\n");
exit(EXIT_FAILURE);
@@ -1252,9 +1260,11 @@ main(int argc, char *argv[])
}
/* Create context buffer pool */
- pool_base = odp_shm_reserve("shm_ctx_pool",
- SHM_CTX_POOL_SIZE, ODP_CACHE_LINE_SIZE,
- 0);
+ shm = odp_shm_reserve("shm_ctx_pool",
+ SHM_CTX_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+
+ pool_base = odp_shm_addr(shm);
+
if (NULL == pool_base) {
ODP_ERR("Error: context pool mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_cache.c b/example/ipsec/odp_ipsec_cache.c
index 1b9921891..01650d00c 100644
--- a/example/ipsec/odp_ipsec_cache.c
+++ b/example/ipsec/odp_ipsec_cache.c
@@ -19,10 +19,15 @@ ipsec_cache_t *ipsec_cache;
void init_ipsec_cache(void)
{
- ipsec_cache = odp_shm_reserve("shm_ipsec_cache",
- sizeof(ipsec_cache_t),
- ODP_CACHE_LINE_SIZE,
- 0);
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("shm_ipsec_cache",
+ sizeof(ipsec_cache_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ ipsec_cache = odp_shm_addr(shm);
+
if (ipsec_cache == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_fwd_db.c b/example/ipsec/odp_ipsec_fwd_db.c
index de2e43e44..9ed5d0002 100644
--- a/example/ipsec/odp_ipsec_fwd_db.c
+++ b/example/ipsec/odp_ipsec_fwd_db.c
@@ -18,10 +18,15 @@ fwd_db_t *fwd_db;
void init_fwd_db(void)
{
- fwd_db = odp_shm_reserve("shm_fwd_db",
- sizeof(fwd_db_t),
- ODP_CACHE_LINE_SIZE,
- 0);
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("shm_fwd_db",
+ sizeof(fwd_db_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ fwd_db = odp_shm_addr(shm);
+
if (fwd_db == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_loop_db.c b/example/ipsec/odp_ipsec_loop_db.c
index 222ccb9cf..f7733521b 100644
--- a/example/ipsec/odp_ipsec_loop_db.c
+++ b/example/ipsec/odp_ipsec_loop_db.c
@@ -18,11 +18,15 @@ loopback_db_t *loopback_db;
void init_loopback_db(void)
{
int idx;
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("loopback_db",
+ sizeof(loopback_db_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ loopback_db = odp_shm_addr(shm);
- loopback_db = odp_shm_reserve("loopback_db",
- sizeof(loopback_db_t),
- ODP_CACHE_LINE_SIZE,
- 0);
if (loopback_db == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_sa_db.c b/example/ipsec/odp_ipsec_sa_db.c
index 612da8604..f6da62324 100644
--- a/example/ipsec/odp_ipsec_sa_db.c
+++ b/example/ipsec/odp_ipsec_sa_db.c
@@ -18,10 +18,15 @@ static sa_db_t *sa_db;
void init_sa_db(void)
{
- sa_db = odp_shm_reserve("shm_sa_db",
- sizeof(sa_db_t),
- ODP_CACHE_LINE_SIZE,
- 0);
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("shm_sa_db",
+ sizeof(sa_db_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ sa_db = odp_shm_addr(shm);
+
if (sa_db == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_sp_db.c b/example/ipsec/odp_ipsec_sp_db.c
index 7d9bba15f..f288dfed2 100644
--- a/example/ipsec/odp_ipsec_sp_db.c
+++ b/example/ipsec/odp_ipsec_sp_db.c
@@ -18,10 +18,15 @@ sp_db_t *sp_db;
void init_sp_db(void)
{
- sp_db = odp_shm_reserve("shm_sp_db",
- sizeof(sp_db_t),
- ODP_CACHE_LINE_SIZE,
- 0);
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("shm_sp_db",
+ sizeof(sp_db_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ sp_db = odp_shm_addr(shm);
+
if (sp_db == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec_stream.c b/example/ipsec/odp_ipsec_stream.c
index ced055aa6..de8305ac7 100644
--- a/example/ipsec/odp_ipsec_stream.c
+++ b/example/ipsec/odp_ipsec_stream.c
@@ -48,10 +48,15 @@ stream_db_t *stream_db;
void init_stream_db(void)
{
- stream_db = odp_shm_reserve("stream_db",
- sizeof(stream_db_t),
- ODP_CACHE_LINE_SIZE,
- 0);
+ odp_shm_t shm;
+
+ shm = odp_shm_reserve("stream_db",
+ sizeof(stream_db_t),
+ ODP_CACHE_LINE_SIZE,
+ 0);
+
+ stream_db = odp_shm_addr(shm);
+
if (stream_db == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c
index e19aa94b3..6c1d64af6 100644
--- a/example/l2fwd/odp_l2fwd.c
+++ b/example/l2fwd/odp_l2fwd.c
@@ -321,6 +321,7 @@ int main(int argc, char *argv[])
int first_core;
int core_count;
odp_pktio_t pktio;
+ odp_shm_t shm;
/* Init ODP before calling anything else */
if (odp_init_global()) {
@@ -329,8 +330,10 @@ int main(int argc, char *argv[])
}
/* Reserve memory for args from shared mem */
- gbl_args = odp_shm_reserve("shm_args", sizeof(args_t),
- ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_args", sizeof(args_t),
+ ODP_CACHE_LINE_SIZE, 0);
+ gbl_args = odp_shm_addr(shm);
+
if (gbl_args == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
@@ -380,8 +383,10 @@ int main(int argc, char *argv[])
odp_init_local(thr_id);
/* Create packet pool */
- pool_base = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_packet_pool",
+ SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ pool_base = odp_shm_addr(shm);
+
if (pool_base == NULL) {
ODP_ERR("Error: packet pool mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/odp_example/odp_example.c b/example/odp_example/odp_example.c
index e99df854f..c80dbbc0c 100644
--- a/example/odp_example/odp_example.c
+++ b/example/odp_example/odp_example.c
@@ -943,6 +943,7 @@ int main(int argc, char *argv[])
int i, j;
int prios;
int first_core;
+ odp_shm_t shm;
printf("\nODP example starts\n");
@@ -1003,8 +1004,15 @@ int main(int argc, char *argv[])
/*
* Create message pool
*/
- pool_base = odp_shm_reserve("msg_pool",
- MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("msg_pool",
+ MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+
+ pool_base = odp_shm_addr(shm);
+
+ if (pool_base == NULL) {
+ ODP_ERR("Shared memory reserve failed.\n");
+ return -1;
+ }
pool = odp_buffer_pool_create("msg_pool", pool_base, MSG_POOL_SIZE,
sizeof(test_message_t),
diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c
index 7f2d43f08..41315f729 100644
--- a/example/packet/odp_pktio.c
+++ b/example/packet/odp_pktio.c
@@ -309,6 +309,7 @@ int main(int argc, char *argv[])
int i;
int first_core;
int core_count;
+ odp_shm_t shm;
/* Init ODP before calling anything else */
if (odp_init_global()) {
@@ -317,8 +318,10 @@ int main(int argc, char *argv[])
}
/* Reserve memory for args from shared mem */
- args = odp_shm_reserve("shm_args", sizeof(args_t),
- ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_args", sizeof(args_t),
+ ODP_CACHE_LINE_SIZE, 0);
+ args = odp_shm_addr(shm);
+
if (args == NULL) {
ODP_ERR("Error: shared mem alloc failed.\n");
exit(EXIT_FAILURE);
@@ -358,8 +361,10 @@ int main(int argc, char *argv[])
odp_init_local(thr_id);
/* Create packet pool */
- pool_base = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("shm_packet_pool",
+ SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ pool_base = odp_shm_addr(shm);
+
if (pool_base == NULL) {
ODP_ERR("Error: packet pool mem alloc failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c
index fd46f1606..6e1715d6c 100644
--- a/example/timer/odp_timer_test.c
+++ b/example/timer/odp_timer_test.c
@@ -248,6 +248,7 @@ int main(int argc, char *argv[])
int first_core;
uint64_t cycles, ns;
odp_queue_param_t param;
+ odp_shm_t shm;
printf("\nODP timer example starts\n");
@@ -310,8 +311,9 @@ int main(int argc, char *argv[])
/*
* Create message pool
*/
- pool_base = odp_shm_reserve("msg_pool",
- MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ shm = odp_shm_reserve("msg_pool",
+ MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ pool_base = odp_shm_addr(shm);
pool = odp_buffer_pool_create("msg_pool", pool_base, MSG_POOL_SIZE,
0,