diff --git a/configure.ac b/configure.ac
index c0eb207..c0f0f21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -118,7 +118,7 @@ IMPLEMENTATION_NAME=""
 if test "${with_platform}" == "linux-generic";
 then
     m4_include([./platform/linux-generic/m4/configure.m4])
-    m4_include([./test/platform/linux-generic/m4/configure.m4])
+    m4_include([./test/linux-generic/m4/configure.m4])
     IMPLEMENTATION_NAME="odp-linux"
 else
     echo "UNSUPPORTED PLATFORM: ${with_platform}"
diff --git a/test/Makefile.am b/test/Makefile.am
index 4f7489f..fa1245b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,5 +1 @@
-SUBDIRS = all-platforms
-
-if cunit_support
-    SUBDIRS += @platform_with_platform@
-endif
+SUBDIRS = all-platforms @with_platform@
diff --git a/test/all-platforms/performance/odp_l2fwd_run.sh b/test/all-platforms/performance/odp_l2fwd_run.sh
index a33bbeb..43963ea 100755
--- a/test/all-platforms/performance/odp_l2fwd_run.sh
+++ b/test/all-platforms/performance/odp_l2fwd_run.sh
@@ -30,6 +30,8 @@ PATH=$TEST_DIR:$TEST_DIR/../../example/generator:$PATH
 # exit codes expected by automake for skipped tests
 TEST_SKIPPED=77
 
+PLATFORM_VALIDATION=${TEST_SRC_DIR}/../../$ODP_PLATFORM/validation
+
 # Use installed pktio env or for make check take it from platform directory
 if [ -f "./pktio_env" ]; then
 	. ./pktio_env
@@ -37,8 +39,8 @@ elif  [ "$ODP_PLATFORM" = "" ]; then
 	echo "$0: error: ODP_PLATFORM must be defined"
 	# not skipped as this should never happen via "make check"
 	exit 1
-elif [ -f ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/pktio/pktio_env ]; then
-	. ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/pktio/pktio_env
+elif [ -f ${PLATFORM_VALIDATION}/api/pktio/pktio_env ]; then
+	. ${PLATFORM_VALIDATION}/api/pktio/pktio_env
 else
 	echo "BUG: unable to find pktio_env!"
 	echo "pktio_env has to be in current directory or in platform/\$ODP_PLATFORM/test."
diff --git a/test/platform/linux-generic/.gitignore b/test/linux-generic/.gitignore
similarity index 100%
rename from test/platform/linux-generic/.gitignore
rename to test/linux-generic/.gitignore
diff --git a/test/platform/linux-generic/Makefile.am b/test/linux-generic/Makefile.am
similarity index 81%
rename from test/platform/linux-generic/Makefile.am
rename to test/linux-generic/Makefile.am
index 08c37c2..b6af705 100644
--- a/test/platform/linux-generic/Makefile.am
+++ b/test/linux-generic/Makefile.am
@@ -1,17 +1,14 @@
 include $(top_srcdir)/test/Makefile.inc
 TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/all-platforms/validation
 
-ODP_MODULES = pktio \
-	      ring \
-	      shmem
-
 ALL_API_VALIDATION_DIR = ${top_builddir}/test/all-platforms/validation/api
 
+SUBDIRS =
+
 if test_vald
-TESTS = pktio/pktio_run.sh \
-	pktio/pktio_run_tap.sh \
-	ring/ring_main$(EXEEXT) \
-	shmem/shmem_linux \
+TESTS = validation/api/pktio/pktio_run.sh \
+	validation/api/pktio/pktio_run_tap.sh \
+	validation/api/shmem/shmem_linux \
 	$(ALL_API_VALIDATION_DIR)/atomic/atomic_main$(EXEEXT) \
 	$(ALL_API_VALIDATION_DIR)/barrier/barrier_main$(EXEEXT) \
 	$(ALL_API_VALIDATION_DIR)/buffer/buffer_main$(EXEEXT) \
@@ -35,22 +32,32 @@ TESTS = pktio/pktio_run.sh \
 	$(ALL_API_VALIDATION_DIR)/timer/timer_main$(EXEEXT) \
 	$(ALL_API_VALIDATION_DIR)/traffic_mngr/traffic_mngr_main$(EXEEXT) \
 	$(ALL_API_VALIDATION_DIR)/shmem/shmem_main$(EXEEXT) \
-	$(ALL_API_VALIDATION_DIR)/system/system_main$(EXEEXT)
+	$(ALL_API_VALIDATION_DIR)/system/system_main$(EXEEXT) \
+	ring/ring_main$(EXEEXT)
 
-SUBDIRS = $(ODP_MODULES)
+SUBDIRS += validation/api/pktio\
+	   validation/api/shmem\
+	   pktio_ipc\
+	   ring
 
 if HAVE_PCAP
-TESTS += pktio/pktio_run_pcap.sh
+TESTS += validation/api/pktio/pktio_run_pcap.sh
+endif
+if netmap_support
+TESTS += validation/api/pktio/pktio_run_netmap.sh
 endif
+if PKTIO_DPDK
+TESTS += validation/api/pktio/pktio_run_dpdk.sh
+endif
+
 if PKTIO_IPC
 TESTS += pktio_ipc/pktio_ipc_run.sh
 SUBDIRS += pktio_ipc
 endif
-if netmap_support
-TESTS += pktio/pktio_run_netmap.sh
-endif
-if PKTIO_DPDK
-TESTS += pktio/pktio_run_dpdk.sh
+else
+#performance tests refer to pktio_env
+if test_perf
+SUBDIRS += validation/api/pktio
 endif
 endif
 
@@ -70,7 +77,3 @@ installcheck-local:
 	$(DESTDIR)/$(testdir)/run-test
 endif
 
-#performance tests refer to pktio_env
-if test_perf
-SUBDIRS = pktio
-endif
diff --git a/test/platform/linux-generic/Makefile.inc b/test/linux-generic/Makefile.inc
similarity index 100%
rename from test/platform/linux-generic/Makefile.inc
rename to test/linux-generic/Makefile.inc
diff --git a/test/linux-generic/m4/configure.m4 b/test/linux-generic/m4/configure.m4
new file mode 100644
index 0000000..9eec545
--- /dev/null
+++ b/test/linux-generic/m4/configure.m4
@@ -0,0 +1,5 @@
+AC_CONFIG_FILES([test/linux-generic/Makefile
+		 test/linux-generic/validation/api/shmem/Makefile
+		 test/linux-generic/validation/api/pktio/Makefile
+		 test/linux-generic/pktio_ipc/Makefile
+		 test/linux-generic/ring/Makefile])
diff --git a/test/platform/linux-generic/pktio_ipc/.gitignore b/test/linux-generic/pktio_ipc/.gitignore
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/.gitignore
rename to test/linux-generic/pktio_ipc/.gitignore
diff --git a/test/platform/linux-generic/pktio_ipc/Makefile.am b/test/linux-generic/pktio_ipc/Makefile.am
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/Makefile.am
rename to test/linux-generic/pktio_ipc/Makefile.am
diff --git a/test/platform/linux-generic/pktio_ipc/ipc_common.c b/test/linux-generic/pktio_ipc/ipc_common.c
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/ipc_common.c
rename to test/linux-generic/pktio_ipc/ipc_common.c
diff --git a/test/platform/linux-generic/pktio_ipc/ipc_common.h b/test/linux-generic/pktio_ipc/ipc_common.h
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/ipc_common.h
rename to test/linux-generic/pktio_ipc/ipc_common.h
diff --git a/test/platform/linux-generic/pktio_ipc/pktio_ipc1.c b/test/linux-generic/pktio_ipc/pktio_ipc1.c
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
rename to test/linux-generic/pktio_ipc/pktio_ipc1.c
diff --git a/test/platform/linux-generic/pktio_ipc/pktio_ipc2.c b/test/linux-generic/pktio_ipc/pktio_ipc2.c
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
rename to test/linux-generic/pktio_ipc/pktio_ipc2.c
diff --git a/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh
similarity index 100%
rename from test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
rename to test/linux-generic/pktio_ipc/pktio_ipc_run.sh
diff --git a/test/platform/linux-generic/ring/.gitignore b/test/linux-generic/ring/.gitignore
similarity index 100%
rename from test/platform/linux-generic/ring/.gitignore
rename to test/linux-generic/ring/.gitignore
diff --git a/test/platform/linux-generic/ring/Makefile.am b/test/linux-generic/ring/Makefile.am
similarity index 100%
rename from test/platform/linux-generic/ring/Makefile.am
rename to test/linux-generic/ring/Makefile.am
diff --git a/test/platform/linux-generic/ring/ring_basic.c b/test/linux-generic/ring/ring_basic.c
similarity index 100%
rename from test/platform/linux-generic/ring/ring_basic.c
rename to test/linux-generic/ring/ring_basic.c
diff --git a/test/platform/linux-generic/ring/ring_main.c b/test/linux-generic/ring/ring_main.c
similarity index 100%
rename from test/platform/linux-generic/ring/ring_main.c
rename to test/linux-generic/ring/ring_main.c
diff --git a/test/platform/linux-generic/ring/ring_stress.c b/test/linux-generic/ring/ring_stress.c
similarity index 100%
rename from test/platform/linux-generic/ring/ring_stress.c
rename to test/linux-generic/ring/ring_stress.c
diff --git a/test/platform/linux-generic/ring/ring_suites.c b/test/linux-generic/ring/ring_suites.c
similarity index 100%
rename from test/platform/linux-generic/ring/ring_suites.c
rename to test/linux-generic/ring/ring_suites.c
diff --git a/test/platform/linux-generic/ring/ring_suites.h b/test/linux-generic/ring/ring_suites.h
similarity index 100%
rename from test/platform/linux-generic/ring/ring_suites.h
rename to test/linux-generic/ring/ring_suites.h
diff --git a/test/platform/linux-generic/run-test b/test/linux-generic/run-test
similarity index 100%
rename from test/platform/linux-generic/run-test
rename to test/linux-generic/run-test
diff --git a/test/linux-generic/validation/Makefile.inc b/test/linux-generic/validation/Makefile.inc
new file mode 100644
index 0000000..cf1dedb
--- /dev/null
+++ b/test/linux-generic/validation/Makefile.inc
@@ -0,0 +1 @@
+include $(top_srcdir)/test/linux-generic/Makefile.inc
diff --git a/test/linux-generic/validation/api/Makefile.inc b/test/linux-generic/validation/api/Makefile.inc
new file mode 100644
index 0000000..19c9448
--- /dev/null
+++ b/test/linux-generic/validation/api/Makefile.inc
@@ -0,0 +1 @@
+include $(top_srcdir)/test/linux-generic/validation/Makefile.inc
diff --git a/test/platform/linux-generic/pktio/.gitignore b/test/linux-generic/validation/api/pktio/.gitignore
similarity index 100%
rename from test/platform/linux-generic/pktio/.gitignore
rename to test/linux-generic/validation/api/pktio/.gitignore
diff --git a/test/platform/linux-generic/pktio/Makefile.am b/test/linux-generic/validation/api/pktio/Makefile.am
similarity index 100%
rename from test/platform/linux-generic/pktio/Makefile.am
rename to test/linux-generic/validation/api/pktio/Makefile.am
diff --git a/test/platform/linux-generic/pktio/pktio_env b/test/linux-generic/validation/api/pktio/pktio_env
similarity index 100%
rename from test/platform/linux-generic/pktio/pktio_env
rename to test/linux-generic/validation/api/pktio/pktio_env
diff --git a/test/platform/linux-generic/pktio/pktio_run.sh b/test/linux-generic/validation/api/pktio/pktio_run.sh
similarity index 97%
rename from test/platform/linux-generic/pktio/pktio_run.sh
rename to test/linux-generic/validation/api/pktio/pktio_run.sh
index 0905b8b..a7e25ab 100755
--- a/test/platform/linux-generic/pktio/pktio_run.sh
+++ b/test/linux-generic/validation/api/pktio/pktio_run.sh
@@ -23,7 +23,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../test/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../all-platforms/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/platform/linux-generic/pktio/pktio_run_dpdk.sh b/test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh
similarity index 96%
rename from test/platform/linux-generic/pktio/pktio_run_dpdk.sh
rename to test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh
index 4d16b29..ae0b3dd 100755
--- a/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
+++ b/test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh
@@ -23,7 +23,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../test/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../all-platforms/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/platform/linux-generic/pktio/pktio_run_netmap.sh b/test/linux-generic/validation/api/pktio/pktio_run_netmap.sh
similarity index 97%
rename from test/platform/linux-generic/pktio/pktio_run_netmap.sh
rename to test/linux-generic/validation/api/pktio/pktio_run_netmap.sh
index 6fd271b..9ffda5e 100755
--- a/test/platform/linux-generic/pktio/pktio_run_netmap.sh
+++ b/test/linux-generic/validation/api/pktio/pktio_run_netmap.sh
@@ -17,7 +17,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../test/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../all-platforms/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/platform/linux-generic/pktio/pktio_run_pcap.sh b/test/linux-generic/validation/api/pktio/pktio_run_pcap.sh
similarity index 93%
rename from test/platform/linux-generic/pktio/pktio_run_pcap.sh
rename to test/linux-generic/validation/api/pktio/pktio_run_pcap.sh
index 721141a..5cd9e3e 100755
--- a/test/platform/linux-generic/pktio/pktio_run_pcap.sh
+++ b/test/linux-generic/validation/api/pktio/pktio_run_pcap.sh
@@ -17,7 +17,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../test/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../all-platforms/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/platform/linux-generic/pktio/pktio_run_tap.sh b/test/linux-generic/validation/api/pktio/pktio_run_tap.sh
similarity index 97%
rename from test/platform/linux-generic/pktio/pktio_run_tap.sh
rename to test/linux-generic/validation/api/pktio/pktio_run_tap.sh
index 96f6d5a..7a3fbac 100755
--- a/test/platform/linux-generic/pktio/pktio_run_tap.sh
+++ b/test/linux-generic/validation/api/pktio/pktio_run_tap.sh
@@ -18,7 +18,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../test/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../all-platforms/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/platform/linux-generic/shmem/.gitignore b/test/linux-generic/validation/api/shmem/.gitignore
similarity index 100%
rename from test/platform/linux-generic/shmem/.gitignore
rename to test/linux-generic/validation/api/shmem/.gitignore
diff --git a/test/platform/linux-generic/shmem/Makefile.am b/test/linux-generic/validation/api/shmem/Makefile.am
similarity index 100%
rename from test/platform/linux-generic/shmem/Makefile.am
rename to test/linux-generic/validation/api/shmem/Makefile.am
diff --git a/test/platform/linux-generic/shmem/shmem.h b/test/linux-generic/validation/api/shmem/shmem.h
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem.h
rename to test/linux-generic/validation/api/shmem/shmem.h
diff --git a/test/platform/linux-generic/shmem/shmem_common.h b/test/linux-generic/validation/api/shmem/shmem_common.h
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem_common.h
rename to test/linux-generic/validation/api/shmem/shmem_common.h
diff --git a/test/platform/linux-generic/shmem/shmem_linux.c b/test/linux-generic/validation/api/shmem/shmem_linux.c
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem_linux.c
rename to test/linux-generic/validation/api/shmem/shmem_linux.c
diff --git a/test/platform/linux-generic/shmem/shmem_linux.h b/test/linux-generic/validation/api/shmem/shmem_linux.h
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem_linux.h
rename to test/linux-generic/validation/api/shmem/shmem_linux.h
diff --git a/test/platform/linux-generic/shmem/shmem_odp.c b/test/linux-generic/validation/api/shmem/shmem_odp.c
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem_odp.c
rename to test/linux-generic/validation/api/shmem/shmem_odp.c
diff --git a/test/platform/linux-generic/shmem/shmem_odp.h b/test/linux-generic/validation/api/shmem/shmem_odp.h
similarity index 100%
rename from test/platform/linux-generic/shmem/shmem_odp.h
rename to test/linux-generic/validation/api/shmem/shmem_odp.h
diff --git a/test/platform/linux-generic/m4/configure.m4 b/test/platform/linux-generic/m4/configure.m4
deleted file mode 100644
index 8c3db21..0000000
--- a/test/platform/linux-generic/m4/configure.m4
+++ /dev/null
@@ -1,5 +0,0 @@
-AC_CONFIG_FILES([test/platform/linux-generic/Makefile
-		 test/platform/linux-generic/shmem/Makefile
-		 test/platform/linux-generic/pktio/Makefile
-		 test/platform/linux-generic/pktio_ipc/Makefile
-		 test/platform/linux-generic/ring/Makefile])
