New upstream version 18.08
[deb_dpdk.git] / test / test / test_memory.c
index 972321f..b96bca7 100644 (file)
@@ -5,8 +5,11 @@
 #include <stdio.h>
 #include <stdint.h>
 
+#include <rte_eal.h>
+#include <rte_eal_memconfig.h>
 #include <rte_memory.h>
 #include <rte_common.h>
+#include <rte_memzone.h>
 
 #include "test.h"
 
  * - Try to read all memory; it should not segfault.
  */
 
+static int
+check_mem(const struct rte_memseg_list *msl __rte_unused,
+               const struct rte_memseg *ms, void *arg __rte_unused)
+{
+       volatile uint8_t *mem = (volatile uint8_t *) ms->addr;
+       size_t i, max = ms->len;
+
+       for (i = 0; i < max; i++, mem++)
+               *mem;
+       return 0;
+}
+
 static int
 test_memory(void)
 {
        uint64_t s;
-       unsigned i;
-       size_t j;
-       const struct rte_memseg *mem;
 
        /*
         * dump the mapped memory: the python-expect script checks
@@ -45,14 +57,7 @@ test_memory(void)
        }
 
        /* try to read memory (should not segfault) */
-       mem = rte_eal_get_physmem_layout();
-       for (i = 0; i < RTE_MAX_MEMSEG && mem[i].addr != NULL ; i++) {
-
-               /* check memory */
-               for (j = 0; j<mem[i].len; j++) {
-                       *((volatile uint8_t *) mem[i].addr + j);
-               }
-       }
+       rte_memseg_walk(check_mem, NULL);
 
        return 0;
 }