diff --git a/include/Makefile.am b/include/Makefile.am
index d53181ceb83d..40a4daa90fc2 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -69,6 +69,38 @@ odpdrvspecinclude_HEADERS = \
 
 odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi
 odpapiabidefaultinclude_HEADERS = \
+	odp/arch/default/api/abi/atomic.h \
+	odp/arch/default/api/abi/barrier.h \
+	odp/arch/default/api/abi/buffer.h \
+	odp/arch/default/api/abi/byteorder.h \
+	odp/arch/default/api/abi/classification.h \
+	odp/arch/default/api/abi/cpumask.h \
+	odp/arch/default/api/abi/crypto.h \
+	odp/arch/default/api/abi/event.h \
+	odp/arch/default/api/abi/init.h \
+	odp/arch/default/api/abi/ipsec.h \
+	odp/arch/default/api/abi/packet.h \
+	odp/arch/default/api/abi/packet_flags.h \
+	odp/arch/default/api/abi/packet_io.h \
+	odp/arch/default/api/abi/pool.h \
+	odp/arch/default/api/abi/queue.h \
+	odp/arch/default/api/abi/rwlock.h \
+	odp/arch/default/api/abi/rwlock_recursive.h \
+	odp/arch/default/api/abi/schedule.h \
+	odp/arch/default/api/abi/schedule_types.h \
+	odp/arch/default/api/abi/shared_memory.h \
+	odp/arch/default/api/abi/spinlock.h \
+	odp/arch/default/api/abi/spinlock_recursive.h \
+	odp/arch/default/api/abi/std_clib.h \
+	odp/arch/default/api/abi/std_types.h \
+	odp/arch/default/api/abi/sync.h \
+	odp/arch/default/api/abi/thread.h \
+	odp/arch/default/api/abi/thrmask.h \
+	odp/arch/default/api/abi/ticketlock.h \
+	odp/arch/default/api/abi/time.h \
+	odp/arch/default/api/abi/timer.h \
+	odp/arch/default/api/abi/traffic_mngr.h \
+	odp/arch/default/api/abi/version.h
 	odp/arch/default/api/abi/buffer.h \
 	odp/arch/default/api/abi/classification.h \
 	odp/arch/default/api/abi/crypto.h \
@@ -81,69 +113,213 @@ odpapiabidefaultinclude_HEADERS = \
 odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi
 if ARCH_IS_ARM
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/arm32-linux/odp/api/abi/atomic.h \
+	odp/arch/arm32-linux/odp/api/abi/barrier.h \
 	odp/arch/arm32-linux/odp/api/abi/buffer.h \
+	odp/arch/arm32-linux/odp/api/abi/byteorder.h \
 	odp/arch/arm32-linux/odp/api/abi/classification.h \
+	odp/arch/arm32-linux/odp/api/abi/cpumask.h \
 	odp/arch/arm32-linux/odp/api/abi/crypto.h \
 	odp/arch/arm32-linux/odp/api/abi/event.h \
+	odp/arch/arm32-linux/odp/api/abi/init.h \
+	odp/arch/arm32-linux/odp/api/abi/ipsec.h \
 	odp/arch/arm32-linux/odp/api/abi/packet.h \
+	odp/arch/arm32-linux/odp/api/abi/packet_flags.h \
+	odp/arch/arm32-linux/odp/api/abi/packet_io.h \
 	odp/arch/arm32-linux/odp/api/abi/pool.h \
 	odp/arch/arm32-linux/odp/api/abi/queue.h \
-	odp/arch/arm32-linux/odp/api/abi/shared_memory.h
+	odp/arch/arm32-linux/odp/api/abi/rwlock.h \
+	odp/arch/arm32-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/arm32-linux/odp/api/abi/schedule.h \
+	odp/arch/arm32-linux/odp/api/abi/schedule_types.h \
+	odp/arch/arm32-linux/odp/api/abi/shared_memory.h \
+	odp/arch/arm32-linux/odp/api/abi/spinlock.h \
+	odp/arch/arm32-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/arm32-linux/odp/api/abi/std_clib.h \
+	odp/arch/arm32-linux/odp/api/abi/std_types.h \
+	odp/arch/arm32-linux/odp/api/abi/sync.h \
+	odp/arch/arm32-linux/odp/api/abi/thread.h \
+	odp/arch/arm32-linux/odp/api/abi/thrmask.h \
+	odp/arch/arm32-linux/odp/api/abi/ticketlock.h \
+	odp/arch/arm32-linux/odp/api/abi/time.h \
+	odp/arch/arm32-linux/odp/api/abi/timer.h \
+	odp/arch/arm32-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/arm32-linux/odp/api/abi/version.h
 endif
 if ARCH_IS_AARCH64
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/arm64-linux/odp/api/abi/atomic.h \
+	odp/arch/arm64-linux/odp/api/abi/barrier.h \
 	odp/arch/arm64-linux/odp/api/abi/buffer.h \
+	odp/arch/arm64-linux/odp/api/abi/byteorder.h \
 	odp/arch/arm64-linux/odp/api/abi/classification.h \
+	odp/arch/arm64-linux/odp/api/abi/cpumask.h \
 	odp/arch/arm64-linux/odp/api/abi/crypto.h \
 	odp/arch/arm64-linux/odp/api/abi/event.h \
+	odp/arch/arm64-linux/odp/api/abi/init.h \
+	odp/arch/arm64-linux/odp/api/abi/ipsec.h \
 	odp/arch/arm64-linux/odp/api/abi/packet.h \
+	odp/arch/arm64-linux/odp/api/abi/packet_flags.h \
+	odp/arch/arm64-linux/odp/api/abi/packet_io.h \
 	odp/arch/arm64-linux/odp/api/abi/pool.h \
 	odp/arch/arm64-linux/odp/api/abi/queue.h \
-	odp/arch/arm64-linux/odp/api/abi/shared_memory.h
+	odp/arch/arm64-linux/odp/api/abi/rwlock.h \
+	odp/arch/arm64-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/arm64-linux/odp/api/abi/schedule.h \
+	odp/arch/arm64-linux/odp/api/abi/schedule_types.h \
+	odp/arch/arm64-linux/odp/api/abi/shared_memory.h \
+	odp/arch/arm64-linux/odp/api/abi/spinlock.h \
+	odp/arch/arm64-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/arm64-linux/odp/api/abi/std_clib.h \
+	odp/arch/arm64-linux/odp/api/abi/std_types.h \
+	odp/arch/arm64-linux/odp/api/abi/sync.h \
+	odp/arch/arm64-linux/odp/api/abi/thread.h \
+	odp/arch/arm64-linux/odp/api/abi/thrmask.h \
+	odp/arch/arm64-linux/odp/api/abi/ticketlock.h \
+	odp/arch/arm64-linux/odp/api/abi/time.h \
+	odp/arch/arm64-linux/odp/api/abi/timer.h \
+	odp/arch/arm64-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/arm64-linux/odp/api/abi/version.h
 endif
 if ARCH_IS_MIPS64
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/mips64-linux/odp/api/abi/atomic.h \
+	odp/arch/mips64-linux/odp/api/abi/barrier.h \
 	odp/arch/mips64-linux/odp/api/abi/buffer.h \
+	odp/arch/mips64-linux/odp/api/abi/byteorder.h \
 	odp/arch/mips64-linux/odp/api/abi/classification.h \
+	odp/arch/mips64-linux/odp/api/abi/cpumask.h \
 	odp/arch/mips64-linux/odp/api/abi/crypto.h \
 	odp/arch/mips64-linux/odp/api/abi/event.h \
+	odp/arch/mips64-linux/odp/api/abi/init.h \
+	odp/arch/mips64-linux/odp/api/abi/ipsec.h \
 	odp/arch/mips64-linux/odp/api/abi/packet.h \
+	odp/arch/mips64-linux/odp/api/abi/packet_flags.h \
+	odp/arch/mips64-linux/odp/api/abi/packet_io.h \
 	odp/arch/mips64-linux/odp/api/abi/pool.h \
 	odp/arch/mips64-linux/odp/api/abi/queue.h \
-	odp/arch/mips64-linux/odp/api/abi/shared_memory.h
+	odp/arch/mips64-linux/odp/api/abi/rwlock.h \
+	odp/arch/mips64-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/mips64-linux/odp/api/abi/schedule.h \
+	odp/arch/mips64-linux/odp/api/abi/schedule_types.h \
+	odp/arch/mips64-linux/odp/api/abi/shared_memory.h \
+	odp/arch/mips64-linux/odp/api/abi/spinlock.h \
+	odp/arch/mips64-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/mips64-linux/odp/api/abi/std_clib.h \
+	odp/arch/mips64-linux/odp/api/abi/std_types.h \
+	odp/arch/mips64-linux/odp/api/abi/sync.h \
+	odp/arch/mips64-linux/odp/api/abi/thread.h \
+	odp/arch/mips64-linux/odp/api/abi/thrmask.h \
+	odp/arch/mips64-linux/odp/api/abi/ticketlock.h \
+	odp/arch/mips64-linux/odp/api/abi/time.h \
+	odp/arch/mips64-linux/odp/api/abi/timer.h \
+	odp/arch/mips64-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/mips64-linux/odp/api/abi/version.h
 endif
 if ARCH_IS_POWERPC
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/power64-linux/odp/api/abi/atomic.h \
+	odp/arch/power64-linux/odp/api/abi/barrier.h \
 	odp/arch/power64-linux/odp/api/abi/buffer.h \
+	odp/arch/power64-linux/odp/api/abi/byteorder.h \
 	odp/arch/power64-linux/odp/api/abi/classification.h \
+	odp/arch/power64-linux/odp/api/abi/cpumask.h \
 	odp/arch/power64-linux/odp/api/abi/crypto.h \
 	odp/arch/power64-linux/odp/api/abi/event.h \
+	odp/arch/power64-linux/odp/api/abi/init.h \
+	odp/arch/power64-linux/odp/api/abi/ipsec.h \
 	odp/arch/power64-linux/odp/api/abi/packet.h \
+	odp/arch/power64-linux/odp/api/abi/packet_flags.h \
+	odp/arch/power64-linux/odp/api/abi/packet_io.h \
 	odp/arch/power64-linux/odp/api/abi/pool.h \
 	odp/arch/power64-linux/odp/api/abi/queue.h \
-	odp/arch/power64-linux/odp/api/abi/shared_memory.h
+	odp/arch/power64-linux/odp/api/abi/rwlock.h \
+	odp/arch/power64-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/power64-linux/odp/api/abi/schedule.h \
+	odp/arch/power64-linux/odp/api/abi/schedule_types.h \
+	odp/arch/power64-linux/odp/api/abi/shared_memory.h \
+	odp/arch/power64-linux/odp/api/abi/spinlock.h \
+	odp/arch/power64-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/power64-linux/odp/api/abi/std_clib.h \
+	odp/arch/power64-linux/odp/api/abi/std_types.h \
+	odp/arch/power64-linux/odp/api/abi/sync.h \
+	odp/arch/power64-linux/odp/api/abi/thread.h \
+	odp/arch/power64-linux/odp/api/abi/thrmask.h \
+	odp/arch/power64-linux/odp/api/abi/ticketlock.h \
+	odp/arch/power64-linux/odp/api/abi/time.h \
+	odp/arch/power64-linux/odp/api/abi/timer.h \
+	odp/arch/power64-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/power64-linux/odp/api/abi/version.h
 endif
 if ARCH_IS_X86_32
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/x86_32-linux/odp/api/abi/atomic.h \
+	odp/arch/x86_32-linux/odp/api/abi/barrier.h \
 	odp/arch/x86_32-linux/odp/api/abi/buffer.h \
+	odp/arch/x86_32-linux/odp/api/abi/byteorder.h \
 	odp/arch/x86_32-linux/odp/api/abi/classification.h \
+	odp/arch/x86_32-linux/odp/api/abi/cpumask.h \
 	odp/arch/x86_32-linux/odp/api/abi/crypto.h \
 	odp/arch/x86_32-linux/odp/api/abi/event.h \
+	odp/arch/x86_32-linux/odp/api/abi/init.h \
+	odp/arch/x86_32-linux/odp/api/abi/ipsec.h \
 	odp/arch/x86_32-linux/odp/api/abi/packet.h \
+	odp/arch/x86_32-linux/odp/api/abi/packet_flags.h \
+	odp/arch/x86_32-linux/odp/api/abi/packet_io.h \
 	odp/arch/x86_32-linux/odp/api/abi/pool.h \
 	odp/arch/x86_32-linux/odp/api/abi/queue.h \
-	odp/arch/x86_32-linux/odp/api/abi/shared_memory.h
+	odp/arch/x86_32-linux/odp/api/abi/rwlock.h \
+	odp/arch/x86_32-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/x86_32-linux/odp/api/abi/schedule.h \
+	odp/arch/x86_32-linux/odp/api/abi/schedule_types.h \
+	odp/arch/x86_32-linux/odp/api/abi/shared_memory.h \
+	odp/arch/x86_32-linux/odp/api/abi/spinlock.h \
+	odp/arch/x86_32-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/x86_32-linux/odp/api/abi/std_clib.h \
+	odp/arch/x86_32-linux/odp/api/abi/std_types.h \
+	odp/arch/x86_32-linux/odp/api/abi/sync.h \
+	odp/arch/x86_32-linux/odp/api/abi/thread.h \
+	odp/arch/x86_32-linux/odp/api/abi/thrmask.h \
+	odp/arch/x86_32-linux/odp/api/abi/ticketlock.h \
+	odp/arch/x86_32-linux/odp/api/abi/time.h \
+	odp/arch/x86_32-linux/odp/api/abi/timer.h \
+	odp/arch/x86_32-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/x86_32-linux/odp/api/abi/version.h
 endif
 if ARCH_IS_X86_64
 odpapiabiarchinclude_HEADERS = \
+	odp/arch/x86_64-linux/odp/api/abi/atomic.h \
+	odp/arch/x86_64-linux/odp/api/abi/barrier.h \
 	odp/arch/x86_64-linux/odp/api/abi/buffer.h \
+	odp/arch/x86_64-linux/odp/api/abi/byteorder.h \
 	odp/arch/x86_64-linux/odp/api/abi/classification.h \
+	odp/arch/x86_64-linux/odp/api/abi/cpumask.h \
 	odp/arch/x86_64-linux/odp/api/abi/crypto.h \
 	odp/arch/x86_64-linux/odp/api/abi/event.h \
+	odp/arch/x86_64-linux/odp/api/abi/init.h \
+	odp/arch/x86_64-linux/odp/api/abi/ipsec.h \
 	odp/arch/x86_64-linux/odp/api/abi/packet.h \
+	odp/arch/x86_64-linux/odp/api/abi/packet_flags.h \
+	odp/arch/x86_64-linux/odp/api/abi/packet_io.h \
 	odp/arch/x86_64-linux/odp/api/abi/pool.h \
 	odp/arch/x86_64-linux/odp/api/abi/queue.h \
-	odp/arch/x86_64-linux/odp/api/abi/shared_memory.h
+	odp/arch/x86_64-linux/odp/api/abi/rwlock.h \
+	odp/arch/x86_64-linux/odp/api/abi/rwlock_recursive.h \
+	odp/arch/x86_64-linux/odp/api/abi/schedule.h \
+	odp/arch/x86_64-linux/odp/api/abi/schedule_types.h \
+	odp/arch/x86_64-linux/odp/api/abi/shared_memory.h \
+	odp/arch/x86_64-linux/odp/api/abi/spinlock.h \
+	odp/arch/x86_64-linux/odp/api/abi/spinlock_recursive.h \
+	odp/arch/x86_64-linux/odp/api/abi/std_clib.h \
+	odp/arch/x86_64-linux/odp/api/abi/std_types.h \
+	odp/arch/x86_64-linux/odp/api/abi/sync.h \
+	odp/arch/x86_64-linux/odp/api/abi/thread.h \
+	odp/arch/x86_64-linux/odp/api/abi/thrmask.h \
+	odp/arch/x86_64-linux/odp/api/abi/ticketlock.h \
+	odp/arch/x86_64-linux/odp/api/abi/time.h \
+	odp/arch/x86_64-linux/odp/api/abi/timer.h \
+	odp/arch/x86_64-linux/odp/api/abi/traffic_mngr.h \
+	odp/arch/x86_64-linux/odp/api/abi/version.h
 endif
 
 # Create symlink for ABI header files. Application does not need to use the arch
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/atomic.h b/include/odp/arch/arm32-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/barrier.h b/include/odp/arch/arm32-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h b/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/cpumask.h b/include/odp/arch/arm32-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/init.h b/include/odp/arch/arm32-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/ipsec.h b/include/odp/arch/arm32-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/packet_flags.h b/include/odp/arch/arm32-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/packet_io.h b/include/odp/arch/arm32-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/rwlock.h b/include/odp/arch/arm32-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/arm32-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/schedule.h b/include/odp/arch/arm32-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/schedule_types.h b/include/odp/arch/arm32-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/spinlock.h b/include/odp/arch/arm32-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/arm32-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/std_clib.h b/include/odp/arch/arm32-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/std_types.h b/include/odp/arch/arm32-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/sync.h b/include/odp/arch/arm32-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/thread.h b/include/odp/arch/arm32-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/thrmask.h b/include/odp/arch/arm32-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/ticketlock.h b/include/odp/arch/arm32-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/time.h b/include/odp/arch/arm32-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/timer.h b/include/odp/arch/arm32-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/arm32-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/version.h b/include/odp/arch/arm32-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/atomic.h b/include/odp/arch/arm64-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/barrier.h b/include/odp/arch/arm64-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h b/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/cpumask.h b/include/odp/arch/arm64-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/init.h b/include/odp/arch/arm64-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/ipsec.h b/include/odp/arch/arm64-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/packet_flags.h b/include/odp/arch/arm64-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/packet_io.h b/include/odp/arch/arm64-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/rwlock.h b/include/odp/arch/arm64-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/arm64-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/schedule.h b/include/odp/arch/arm64-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/schedule_types.h b/include/odp/arch/arm64-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/spinlock.h b/include/odp/arch/arm64-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/arm64-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/std_clib.h b/include/odp/arch/arm64-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/std_types.h b/include/odp/arch/arm64-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/sync.h b/include/odp/arch/arm64-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/thread.h b/include/odp/arch/arm64-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/thrmask.h b/include/odp/arch/arm64-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/ticketlock.h b/include/odp/arch/arm64-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/time.h b/include/odp/arch/arm64-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/timer.h b/include/odp/arch/arm64-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/arm64-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/version.h b/include/odp/arch/arm64-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
diff --git a/include/odp/arch/default/api/abi/atomic.h b/include/odp/arch/default/api/abi/atomic.h
new file mode 100644
index 000000000000..295aee4e97dd
--- /dev/null
+++ b/include/odp/arch/default/api/abi/atomic.h
@@ -0,0 +1,65 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP atomic operations
+ */
+
+#ifndef ODP_ABI_ATOMIC_H_
+#define ODP_ABI_ATOMIC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
+
+/**
+ * @internal
+ * Atomic 64-bit unsigned integer
+ */
+struct odp_atomic_u64_s {
+	uint64_t v; /**< Actual storage for the atomic variable */
+} ODP_ALIGNED(sizeof(uint64_t)); /* Enforce alignment! */
+
+#if __GCC_ATOMIC_LLONG_LOCK_FREE >= 2
+/**
+ * @internal
+ * Atomic 32-bit unsigned integer
+ */
+struct odp_atomic_u32_s {
+	uint32_t v; /**< Actual storage for the atomic variable */
+} ODP_ALIGNED(sizeof(uint32_t)); /* Enforce alignment! */
+
+#else
+
+#define ODP_ATOMIC_U64_LOCK	1
+
+/**
+ * @internal
+ * Atomic 64-bit unsigned integer
+ */
+struct odp_atomic_u64_s {
+	uint64_t v; /**< Actual storage for the atomic variable */
+	/* Some architectures do not support lock-free operations on 64-bit
+	 * data types. We use a spin lock to ensure atomicity. */
+	char lock; /**< Spin lock (if needed) used to ensure atomic access */
+} ODP_ALIGNED(sizeof(uint64_t)); /* Enforce alignment! */
+
+#endif
+
+typedef struct odp_atomic_u64_s odp_atomic_u64_t;
+
+typedef struct odp_atomic_u32_s odp_atomic_u32_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/barrier.h b/include/odp/arch/default/api/abi/barrier.h
new file mode 100644
index 000000000000..51d913774c8e
--- /dev/null
+++ b/include/odp/arch/default/api/abi/barrier.h
@@ -0,0 +1,38 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP barrier
+ */
+
+#ifndef ODP_ABI_BARRIER_H_
+#define ODP_ABI_BARRIER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+#include <odp/api/atomic.h>
+
+/**
+ * @internal
+ * ODP thread synchronization barrier
+ */
+struct odp_barrier_s {
+	uint32_t         count;  /**< Thread count */
+	odp_atomic_u32_t bar;    /**< Barrier counter */
+};
+
+typedef struct odp_barrier_s odp_barrier_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/byteorder.h b/include/odp/arch/default/api/abi/byteorder.h
new file mode 100644
index 000000000000..92f9743ad709
--- /dev/null
+++ b/include/odp/arch/default/api/abi/byteorder.h
@@ -0,0 +1,73 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP byteorder
+ */
+
+#ifndef ODP_ABI_BYTEORDER_H_
+#define ODP_ABI_BYTEORDER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+#ifndef __BYTE_ORDER__
+#error __BYTE_ORDER__ not defined!
+#endif
+
+#ifndef __ORDER_BIG_ENDIAN__
+#error __ORDER_BIG_ENDIAN__ not defined!
+#endif
+
+#ifndef __ORDER_LITTLE_ENDIAN__
+#error __ORDER_LITTLE_ENDIAN__ not defined!
+#endif
+
+/** @addtogroup odp_compiler_optim
+ *  @{
+ */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+	#define ODP_LITTLE_ENDIAN           1
+	#define ODP_BIG_ENDIAN              0
+	#define ODP_BYTE_ORDER              ODP_LITTLE_ENDIAN
+	#define ODP_LITTLE_ENDIAN_BITFIELD  1
+	#define ODP_BIG_ENDIAN_BITFIELD     0
+	#define ODP_BITFIELD_ORDER          ODP_LITTLE_ENDIAN_BITFIELD
+#else
+	#define ODP_LITTLE_ENDIAN           0
+	#define ODP_BIG_ENDIAN              1
+	#define	ODP_BYTE_ORDER              ODP_BIG_ENDIAN
+	#define ODP_LITTLE_ENDIAN_BITFIELD  0
+	#define ODP_BIG_ENDIAN_BITFIELD     1
+	#define ODP_BITFIELD_ORDER          ODP_BIG_ENDIAN_BITFIELD
+#endif
+
+typedef uint16_t odp_u16le_t;
+typedef uint16_t odp_u16be_t;
+
+typedef uint32_t odp_u32le_t;
+typedef uint32_t odp_u32be_t;
+
+typedef uint64_t odp_u64le_t;
+typedef uint64_t odp_u64be_t;
+
+typedef uint16_t odp_u16sum_t;
+typedef uint32_t odp_u32sum_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/cpumask.h b/include/odp/arch/default/api/abi/cpumask.h
new file mode 100644
index 000000000000..394a80da72c7
--- /dev/null
+++ b/include/odp/arch/default/api/abi/cpumask.h
@@ -0,0 +1,54 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP CPU masks and enumeration
+ */
+
+#ifndef ODP_ABI_CPUMASK_H_
+#define ODP_ABI_CPUMASK_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @addtogroup odp_cpumask
+ *  @{
+ */
+
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
+
+#define ODP_CPUMASK_SIZE 1024
+
+#define ODP_CPUMASK_STR_SIZE ((ODP_CPUMASK_SIZE + 3) / 4 + 3)
+
+/**
+ * CPU mask
+ *
+ * Don't access directly, use access functions.
+ */
+typedef struct odp_cpumask_t {
+	/** @private CPU mask storage
+	  *
+	  * This is private to the implementation.
+	  * Don't access directly, use access functions.
+	  */
+	uint8_t _u8[ODP_CPUMASK_SIZE / 8];
+} odp_cpumask_t ODP_ALIGNED(8);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/init.h b/include/odp/arch/default/api/abi/init.h
new file mode 100644
index 000000000000..dbeb54975733
--- /dev/null
+++ b/include/odp/arch/default/api/abi/init.h
@@ -0,0 +1,35 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP initialization.
+ */
+
+#ifndef ODP_ABI_INIT_H_
+#define ODP_ABI_INIT_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+typedef uint64_t odp_instance_t;
+
+/**
+ * @internal platform specific data
+ */
+typedef struct odp_platform_init_t {
+	char dummy;
+} odp_platform_init_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/ipsec.h b/include/odp/arch/default/api/abi/ipsec.h
new file mode 100644
index 000000000000..dbd66d9d87b2
--- /dev/null
+++ b/include/odp/arch/default/api/abi/ipsec.h
@@ -0,0 +1,41 @@
+/* Copyright (c) 2016, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP IPSEC API - platform specific types
+ */
+
+#ifndef ODP_ABI_IPSEC_H_
+#define ODP_ABI_IPSEC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @internal Dummy type for strong typing */
+typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_ipsec_sa_t;
+
+/** @ingroup odp_ipsec
+ *  @{
+ */
+
+typedef _odp_abi_ipsec_sa_t *odp_ipsec_sa_t;
+
+#define ODP_IPSEC_SA_INVALID ((odp_ipsec_sa_t)0xffffffff)
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/packet_flags.h b/include/odp/arch/default/api/abi/packet_flags.h
new file mode 100644
index 000000000000..3a7877a1723f
--- /dev/null
+++ b/include/odp/arch/default/api/abi/packet_flags.h
@@ -0,0 +1,25 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP packet descriptor
+ */
+
+#ifndef ODP_ABI_PACKET_FLAGS_H_
+#define ODP_ABI_PACKET_FLAGS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/packet_io.h b/include/odp/arch/default/api/abi/packet_io.h
new file mode 100644
index 000000000000..86c3f075a754
--- /dev/null
+++ b/include/odp/arch/default/api/abi/packet_io.h
@@ -0,0 +1,60 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP Packet IO
+ */
+
+#ifndef ODP_ABI_PACKET_IO_H_
+#define ODP_ABI_PACKET_IO_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @internal Dummy type for strong typing */
+typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_pktio_t;
+
+/** @addtogroup odp_packet_io
+ *  Operations on a packet.
+ *  @{
+ */
+
+typedef _odp_abi_pktio_t *odp_pktio_t;
+
+/** @internal */
+typedef struct odp_pktin_queue_t {
+	odp_pktio_t pktio; /**< @internal pktio handle */
+	int index;         /**< @internal pktio queue index */
+} odp_pktin_queue_t;
+
+/** @internal */
+typedef struct odp_pktout_queue_t {
+	odp_pktio_t pktio; /**< @internal pktio handle */
+	int index;         /**< @internal pktio queue index */
+} odp_pktout_queue_t;
+
+#define ODP_PKTIO_INVALID ((odp_pktio_t)0)
+
+#define ODP_PKTIO_MACADDR_MAXSIZE 16
+
+#define ODP_PKTIN_NO_WAIT 0
+#define ODP_PKTIN_WAIT    UINT64_MAX
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/rwlock.h b/include/odp/arch/default/api/abi/rwlock.h
new file mode 100644
index 000000000000..619f61e8cc41
--- /dev/null
+++ b/include/odp/arch/default/api/abi/rwlock.h
@@ -0,0 +1,35 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP rwlock
+ */
+
+#ifndef ODP_ABI_RWLOCK_H_
+#define ODP_ABI_RWLOCK_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/atomic.h>
+
+/** @internal */
+typedef struct odp_rwlock_s {
+	odp_atomic_u32_t cnt; /**< lock count
+				0 lock not taken
+				-1 write lock taken
+				>0 read lock(s) taken */
+} odp_rwlock_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/rwlock_recursive.h b/include/odp/arch/default/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..f5f78bfa4c43
--- /dev/null
+++ b/include/odp/arch/default/api/abi/rwlock_recursive.h
@@ -0,0 +1,36 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP recursive read/write lock
+ */
+
+#ifndef ODP_ABI_RWLOCK_RECURSIVE_H_
+#define ODP_ABI_RWLOCK_RECURSIVE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/rwlock.h>
+#include <odp/api/std_types.h>
+#include <odp/api/thread.h>
+
+/** @internal */
+typedef struct odp_rwlock_recursive_s {
+	odp_rwlock_t lock;                     /**< the lock */
+	int wr_owner;                          /**< write owner thread */
+	uint32_t wr_cnt;                       /**< write recursion count */
+	uint8_t  rd_cnt[ODP_THREAD_COUNT_MAX]; /**< read recursion count */
+} odp_rwlock_recursive_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/schedule.h b/include/odp/arch/default/api/abi/schedule.h
new file mode 100644
index 000000000000..9615cb012653
--- /dev/null
+++ b/include/odp/arch/default/api/abi/schedule.h
@@ -0,0 +1,48 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP schedule
+ */
+
+#ifndef ODP_ABI_SCHEDULE_H_
+#define ODP_ABI_SCHEDULE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @addtogroup odp_scheduler
+ *  @{
+ */
+
+#define ODP_SCHED_WAIT     UINT64_MAX
+#define ODP_SCHED_NO_WAIT  0
+
+typedef int odp_schedule_group_t;
+
+/* These must be kept in sync with thread_globals_t in odp_thread.c */
+#define ODP_SCHED_GROUP_INVALID ((odp_schedule_group_t)-1)
+#define ODP_SCHED_GROUP_ALL     0
+#define ODP_SCHED_GROUP_WORKER  1
+#define ODP_SCHED_GROUP_CONTROL 2
+
+#define ODP_SCHED_GROUP_NAME_LEN 32
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/schedule_types.h b/include/odp/arch/default/api/abi/schedule_types.h
new file mode 100644
index 000000000000..21ad4db7617b
--- /dev/null
+++ b/include/odp/arch/default/api/abi/schedule_types.h
@@ -0,0 +1,49 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP schedule
+ */
+
+#ifndef ODP_ABI_SCHEDULE_TYPES_H_
+#define ODP_ABI_SCHEDULE_TYPES_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @addtogroup odp_scheduler
+ *  @{
+ */
+
+typedef int odp_schedule_prio_t;
+
+#define ODP_SCHED_PRIO_HIGHEST  0
+
+#define ODP_SCHED_PRIO_NORMAL   4
+
+#define ODP_SCHED_PRIO_LOWEST   7
+
+#define ODP_SCHED_PRIO_DEFAULT  ODP_SCHED_PRIO_NORMAL
+
+typedef int odp_schedule_sync_t;
+
+#define ODP_SCHED_SYNC_PARALLEL 0
+#define ODP_SCHED_SYNC_ATOMIC   1
+#define ODP_SCHED_SYNC_ORDERED  2
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/spinlock.h b/include/odp/arch/default/api/abi/spinlock.h
new file mode 100644
index 000000000000..ceb9288123e3
--- /dev/null
+++ b/include/odp/arch/default/api/abi/spinlock.h
@@ -0,0 +1,30 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP spinlock
+ */
+
+#ifndef ODP_ABI_SPINLOCK_H_
+#define ODP_ABI_SPINLOCK_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @internal */
+typedef struct odp_spinlock_s {
+	char lock;  /**< lock flag, should match odp_atomic_flag_t */
+} odp_spinlock_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/spinlock_recursive.h b/include/odp/arch/default/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..235f7ac6bfbe
--- /dev/null
+++ b/include/odp/arch/default/api/abi/spinlock_recursive.h
@@ -0,0 +1,34 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP recursive spinlock
+ */
+
+#ifndef ODP_ABI_SPINLOCK_RECURSIVE_H_
+#define ODP_ABI_SPINLOCK_RECURSIVE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/spinlock.h>
+#include <odp/api/std_types.h>
+
+/** @internal */
+typedef struct odp_spinlock_recursive_s {
+	odp_spinlock_t lock; /**< the lock */
+	int owner;           /**< thread owning the lock */
+	uint32_t cnt;        /**< recursion count */
+} odp_spinlock_recursive_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/std_clib.h b/include/odp/arch/default/api/abi/std_clib.h
new file mode 100644
index 000000000000..88ea770aec5e
--- /dev/null
+++ b/include/odp/arch/default/api/abi/std_clib.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP barrier
+ */
+
+#ifndef ODP_ABI_STD_CLIB_H_
+#define ODP_ABI_STD_CLIB_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/std_types.h b/include/odp/arch/default/api/abi/std_types.h
new file mode 100644
index 000000000000..aa449512aeb9
--- /dev/null
+++ b/include/odp/arch/default/api/abi/std_types.h
@@ -0,0 +1,43 @@
+/* Copyright (c) 2013, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * Standard C language types and definitions for ODP.
+ */
+
+#ifndef ODP_ABI_STD_TYPES_H_
+#define ODP_ABI_STD_TYPES_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* uint64_t, uint32_t, etc */
+#include <stdint.h>
+
+/* size_t */
+#include <stddef.h>
+
+/* true and false for odp_bool_t */
+#include <stdbool.h>
+
+/** @addtogroup odp_system ODP SYSTEM
+ *  @{
+ */
+
+typedef int odp_bool_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/sync.h b/include/odp/arch/default/api/abi/sync.h
new file mode 100644
index 000000000000..d325507ca28d
--- /dev/null
+++ b/include/odp/arch/default/api/abi/sync.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP barrier
+ */
+
+#ifndef ODP_ABI_SYNC_H_
+#define ODP_ABI_SYNC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/thread.h b/include/odp/arch/default/api/abi/thread.h
new file mode 100644
index 000000000000..682d85005328
--- /dev/null
+++ b/include/odp/arch/default/api/abi/thread.h
@@ -0,0 +1,34 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP thread
+ */
+
+#ifndef ODP_ABI_THREAD_H_
+#define ODP_ABI_THREAD_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @addtogroup odp_thread
+ *  @{
+ */
+
+#define ODP_THREAD_COUNT_MAX 128
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/thrmask.h b/include/odp/arch/default/api/abi/thrmask.h
new file mode 100644
index 000000000000..1fafd2291e0d
--- /dev/null
+++ b/include/odp/arch/default/api/abi/thrmask.h
@@ -0,0 +1,48 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP thread masks
+ */
+
+#ifndef ODP_ABI_THRMASK_H_
+#define ODP_ABI_THRMASK_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @addtogroup odp_thread
+ *  @{
+ */
+
+#include <odp/api/cpumask.h>
+
+/**
+ * Minimum size of output buffer for odp_thrmask_to_str()
+ */
+#define ODP_THRMASK_STR_SIZE ODP_CPUMASK_STR_SIZE
+
+/**
+ * Thread mask
+ *
+ * Don't access directly, use access functions.
+ */
+typedef struct odp_thrmask_t {
+	odp_cpumask_t m; /**< @private Mask*/
+} odp_thrmask_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/ticketlock.h b/include/odp/arch/default/api/abi/ticketlock.h
new file mode 100644
index 000000000000..e19df48b215e
--- /dev/null
+++ b/include/odp/arch/default/api/abi/ticketlock.h
@@ -0,0 +1,33 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP ticketlock
+ */
+
+#ifndef ODP_ABI_TICKETLOCK_H_
+#define ODP_ABI_TICKETLOCK_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/atomic.h>
+
+/** @internal */
+typedef struct odp_ticketlock_s {
+	odp_atomic_u32_t  next_ticket; /**< Next ticket */
+	odp_atomic_u32_t  cur_ticket;  /**< Current ticket */
+} odp_ticketlock_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/time.h b/include/odp/arch/default/api/abi/time.h
new file mode 100644
index 000000000000..d3b5abda33a6
--- /dev/null
+++ b/include/odp/arch/default/api/abi/time.h
@@ -0,0 +1,53 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP time service
+ */
+
+#ifndef ODP_ABI_TIME_H_
+#define ODP_ABI_TIME_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @addtogroup odp_time
+ *  @{
+ **/
+
+/**
+ * @internal Time structure used for both POSIX timespec and HW counter
+ * implementations.
+ */
+typedef struct odp_time_t {
+	/** @internal Variant mappings for time type */
+	union {
+		/** @internal Used with generic 64 bit operations */
+		uint64_t u64;
+
+		/** @internal Nanoseconds */
+		uint64_t nsec;
+
+		/** @internal HW timer counter value */
+		uint64_t count;
+
+	};
+} odp_time_t;
+
+#define ODP_TIME_NULL ((odp_time_t){.u64 = 0})
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/timer.h b/include/odp/arch/default/api/abi/timer.h
new file mode 100644
index 000000000000..3bdbb1620ecb
--- /dev/null
+++ b/include/odp/arch/default/api/abi/timer.h
@@ -0,0 +1,55 @@
+/* Copyright (c) 2013, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP timer service
+ */
+
+#ifndef ODP_ABI_TIMER_H_
+#define ODP_ABI_TIMER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @internal Dummy type for strong typing */
+typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_timer_t;
+
+/** @internal Dummy type for strong typing */
+typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_timeout_t;
+
+/** @addtogroup odp_timer
+ *  @{
+ **/
+
+struct timer_pool_s; /**< Forward declaration */
+
+typedef struct timer_pool_s *odp_timer_pool_t;
+
+#define ODP_TIMER_POOL_INVALID NULL
+
+#define ODP_TIMER_POOL_NAME_LEN  32
+
+typedef _odp_abi_timer_t *odp_timer_t;
+
+#define ODP_TIMER_INVALID ((odp_timer_t)0xffffffff)
+
+typedef _odp_abi_timeout_t *odp_timeout_t;
+
+#define ODP_TIMEOUT_INVALID  ((odp_timeout_t)NULL)
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/traffic_mngr.h b/include/odp/arch/default/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..b43ab1a0279e
--- /dev/null
+++ b/include/odp/arch/default/api/abi/traffic_mngr.h
@@ -0,0 +1,178 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP traffic mngr
+ */
+
+#ifndef ODP_ABI_TRAFFIC_MNGR_H_
+#define ODP_ABI_TRAFFIC_MNGR_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @addtogroup odp_traffic_mngr
+ *  Macros and operations on a TM system.
+ *  @{
+ */
+
+/** The ODP_TM_MAX_NUM_SYSTEMS constant specifies the maximum number of TM
+ * systems that may be created.  On some platforms this might be much more
+ * limited to as little as one hardware TM system.
+ */
+#define ODP_TM_MAX_NUM_SYSTEMS   64
+
+/** The ODP_TM_MAX_PRIORITIES constant specifies the largest range of
+ * priorities that any TM system can support.  All strict priority values MUST
+ * in the range 0..ODP_TM_MAX_PRIORITIES-1.
+ */
+#define ODP_TM_MAX_PRIORITIES  16
+
+/** The ODP_TM MAX_LEVELS constant specifies the largest range of
+ * tm_node levels that any TM system can support.  Hence all tm_node level
+ * values MUST be in the range 0..ODP_TM_MAX_LEVELS-1.  Smaller tm_node
+ * levels are associated with tm_nodes closer to the TM system egress.
+ */
+#define ODP_TM_MAX_LEVELS  8
+
+/**
+ * The smallest SCHED weight is 1 (i.e. 0 is not a legal WFQ/WRR value).
+ */
+#define ODP_TM_MIN_SCHED_WEIGHT  1
+
+/** The ODP_TM_MAX_SCHED_WEIGHT constant is the largest weight any TM system
+ * can support (at least from a configuration standpoint).  A given TM system
+ * could have a smaller value.
+ */
+#define ODP_TM_MAX_SCHED_WEIGHT  255
+
+/** The ODP_TM_MAX_TM_QUEUES constant is the largest number of tm_queues
+ * that can be handled by any one TM system.
+ */
+#define ODP_TM_MAX_TM_QUEUES  (16 * 1024 * 1024)
+
+/** The ODP_TM_MAX_NUM_OUTPUTS constant is the largest number of outputs that
+ * can be configured for any one TM system.
+ */
+#define ODP_TM_MAX_NUM_OUTPUTS  256
+
+/** The ODP_TM_MAX_NUM_TM_NODES constant is the largest number of tm_nodes that
+ * can be in existence for any one TM system.
+ */
+#define ODP_TM_MAX_NUM_TM_NODES  (1024 * 1024)
+
+/** The ODP_TM_MAX_TM_NODE_FANIN constant is the largest number of fan-in
+ * "inputs" that can be simultaneously connected to a single tm_node.
+ * *TBD* Does this need to be as large as ODP_TM_MAX_TM_QUEUES? *TBD*
+ */
+#define ODP_TM_MAX_TM_NODE_FANIN  (1024 * 1024)
+
+/** The ODP_TM_MIN_SHAPER_BW constant is the smallest amount of bandwidth that
+ * can a shaper's peak or commit rate can be set to.  It is in units of
+ * 1000 bytes/second so that it and the ODP_TM_MAX_SHAPER_BW can both fit in
+ * 32 bits.
+ */
+#define ODP_TM_MIN_SHAPER_BW  1
+
+/** The ODP_TM_MAX_SHAPER_BW constant is the largest amound of bandwidth that
+ * any shaper's peak or commit rate can be set to.  It is in units of
+ * 1000 bytes/second so that it and the ODP_TM_MIN_SHAPER_BW can both fit in
+ * 32 bits.
+ */
+#define ODP_TM_MAX_SHAPER_BW  12500000
+
+/** The ODP_NUM_SHAPER_COLORS constant just counts the number of enumeration
+ * values defined in the odp_tm_shaper_color_t type.
+ */
+#define ODP_NUM_SHAPER_COLORS  3
+
+/** The INVALID_PRIORITY constant is used when one needs to indicate an
+ * invalid priority value.
+ */
+#define ODP_TM_INVALID_PRIORITY  255
+
+/** The odp_tm_percent_t type is used when specifying fields that are
+ * percentages.  It is a fixed point integer whose units are 1/100 of a
+ * percent.  Hence 100% is represented as the integer value 10000.  Note
+ * that because it is often used as a ratio of the current queue value and
+ * maximum queue threshold, it can be > 100%, but in any event will never
+ * be larger than 500% (i.e. it MUST be capped at 50000).
+ */
+typedef uint16_t odp_tm_percent_t;
+
+/** The odp_tm_handle_t type is a generic type that can stand for any of the
+ * other ODP_TM handle types.
+ */
+typedef uint64_t odp_tm_handle_t;
+
+/** Each odp_tm_t value represents a specific TM system.  Almost all
+ * functions in this API require a odp_tm_t value - either directly
+ * as a function parameter or indirectly by having another ODP TM handle value
+ * as a function parameter.
+ */
+typedef odp_tm_handle_t odp_tm_t;
+
+/** Each odp_tm_queue_t value is an opaque ODP handle representing a specific
+ * tm_queue within a specific TM system.
+ */
+typedef odp_tm_handle_t odp_tm_queue_t;
+
+/** Each odp_tm_node_t value is an opaque ODP handle representing a specific
+ * tm_node within a specific TM system.
+ */
+typedef odp_tm_handle_t odp_tm_node_t;
+
+/** Each odp_tm_shaper_t value is an opaque ODP handle representing a specific
+ * shaper profile usable across all TM systems described by this API.  A given
+ * shaper profile can then be attached to any tm_queue or tm_node.
+ */
+typedef odp_tm_handle_t odp_tm_shaper_t;
+
+/** Each odp_tm_sched_t value is an opaque ODP handle representing a specific
+ * tm_node scheduler profile usable across all TM systems described by this
+ * API.  A given tm_node scheduler profile can then be attached to any tm_node.
+ */
+typedef odp_tm_handle_t odp_tm_sched_t;
+
+/** Each odp_tm_threshold_t value is an opaque ODP handle representing a
+ * specific queue threshold profile usable across all TM systems described by
+ * this API.  A given queue threshold profile can then be attached to any
+ * tm_queue or tm_node.
+ */
+typedef odp_tm_handle_t odp_tm_threshold_t;
+
+/** Each odp_tm_wred_t value is an opaque ODP handle representing a specific
+ * WRED profile usable across all TM systems described by this API.  A given
+ * WRED profile can then be attached to any tm_queue or tm_node.
+ */
+typedef odp_tm_handle_t odp_tm_wred_t;
+
+/** The ODP_TM_INVALID constant can be used with any ODP TM handle type and
+ * indicates that this value does NOT represent a valid TM object.
+ */
+#define ODP_TM_INVALID  0
+
+/**
+ * @def ODP_TM_ROOT
+ * Constant that is used to refer to the egress/root node of the TM subsystem's
+ * tree/hierarchy of nodes.
+ */
+#define ODP_TM_ROOT  ((odp_tm_handle_t)-1)
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/default/api/abi/version.h b/include/odp/arch/default/api/abi/version.h
new file mode 100644
index 000000000000..0f48ecc160fe
--- /dev/null
+++ b/include/odp/arch/default/api/abi/version.h
@@ -0,0 +1,30 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#ifndef ODP_ABI_VERSION_H_
+#define ODP_ABI_VERSION_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @internal Version string expand */
+#define ODP_VERSION_STR_EXPAND(x)  #x
+
+/** @internal Version to string */
+#define ODP_VERSION_TO_STR(x)      ODP_VERSION_STR_EXPAND(x)
+
+/** @internal API version string */
+#define ODP_VERSION_API_STR \
+ODP_VERSION_TO_STR(ODP_VERSION_API_GENERATION) "." \
+ODP_VERSION_TO_STR(ODP_VERSION_API_MAJOR) "." \
+ODP_VERSION_TO_STR(ODP_VERSION_API_MINOR)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/atomic.h b/include/odp/arch/mips64-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/barrier.h b/include/odp/arch/mips64-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h b/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/cpumask.h b/include/odp/arch/mips64-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/init.h b/include/odp/arch/mips64-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/ipsec.h b/include/odp/arch/mips64-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/packet_flags.h b/include/odp/arch/mips64-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/packet_io.h b/include/odp/arch/mips64-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/rwlock.h b/include/odp/arch/mips64-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/mips64-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/schedule.h b/include/odp/arch/mips64-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/schedule_types.h b/include/odp/arch/mips64-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/spinlock.h b/include/odp/arch/mips64-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/mips64-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/std_clib.h b/include/odp/arch/mips64-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/std_types.h b/include/odp/arch/mips64-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/sync.h b/include/odp/arch/mips64-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/thread.h b/include/odp/arch/mips64-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/thrmask.h b/include/odp/arch/mips64-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/ticketlock.h b/include/odp/arch/mips64-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/time.h b/include/odp/arch/mips64-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/timer.h b/include/odp/arch/mips64-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/mips64-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/version.h b/include/odp/arch/mips64-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/atomic.h b/include/odp/arch/power64-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/barrier.h b/include/odp/arch/power64-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/byteorder.h b/include/odp/arch/power64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/cpumask.h b/include/odp/arch/power64-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/init.h b/include/odp/arch/power64-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/ipsec.h b/include/odp/arch/power64-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/packet_flags.h b/include/odp/arch/power64-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/packet_io.h b/include/odp/arch/power64-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/rwlock.h b/include/odp/arch/power64-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/power64-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/schedule.h b/include/odp/arch/power64-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/schedule_types.h b/include/odp/arch/power64-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/spinlock.h b/include/odp/arch/power64-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/power64-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/std_clib.h b/include/odp/arch/power64-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/std_types.h b/include/odp/arch/power64-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/sync.h b/include/odp/arch/power64-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/thread.h b/include/odp/arch/power64-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/thrmask.h b/include/odp/arch/power64-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/ticketlock.h b/include/odp/arch/power64-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/time.h b/include/odp/arch/power64-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/timer.h b/include/odp/arch/power64-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/power64-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/version.h b/include/odp/arch/power64-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/atomic.h b/include/odp/arch/x86_32-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/barrier.h b/include/odp/arch/x86_32-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h b/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/cpumask.h b/include/odp/arch/x86_32-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/init.h b/include/odp/arch/x86_32-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/ipsec.h b/include/odp/arch/x86_32-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/packet_flags.h b/include/odp/arch/x86_32-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/packet_io.h b/include/odp/arch/x86_32-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/rwlock.h b/include/odp/arch/x86_32-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/x86_32-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/schedule.h b/include/odp/arch/x86_32-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/schedule_types.h b/include/odp/arch/x86_32-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/spinlock.h b/include/odp/arch/x86_32-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/x86_32-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/std_clib.h b/include/odp/arch/x86_32-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/std_types.h b/include/odp/arch/x86_32-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/sync.h b/include/odp/arch/x86_32-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/thread.h b/include/odp/arch/x86_32-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/thrmask.h b/include/odp/arch/x86_32-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/ticketlock.h b/include/odp/arch/x86_32-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/time.h b/include/odp/arch/x86_32-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/timer.h b/include/odp/arch/x86_32-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/x86_32-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/version.h b/include/odp/arch/x86_32-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/atomic.h b/include/odp/arch/x86_64-linux/odp/api/abi/atomic.h
new file mode 100644
index 000000000000..523c614ae2cc
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/atomic.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/atomic.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/barrier.h b/include/odp/arch/x86_64-linux/odp/api/abi/barrier.h
new file mode 100644
index 000000000000..11c3450103ba
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/barrier.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/barrier.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h b/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000000..c76073317844
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/byteorder.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/cpumask.h b/include/odp/arch/x86_64-linux/odp/api/abi/cpumask.h
new file mode 100644
index 000000000000..56266f8b3a31
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/cpumask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/cpumask.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/init.h b/include/odp/arch/x86_64-linux/odp/api/abi/init.h
new file mode 100644
index 000000000000..86b4852d9902
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/init.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/init.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/ipsec.h b/include/odp/arch/x86_64-linux/odp/api/abi/ipsec.h
new file mode 100644
index 000000000000..e392c8ac0bc2
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/ipsec.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ipsec.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/packet_flags.h b/include/odp/arch/x86_64-linux/odp/api/abi/packet_flags.h
new file mode 100644
index 000000000000..08f954aae1ed
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/packet_flags.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_flags.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/packet_io.h b/include/odp/arch/x86_64-linux/odp/api/abi/packet_io.h
new file mode 100644
index 000000000000..e80c1452b568
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/packet_io.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/packet_io.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/rwlock.h b/include/odp/arch/x86_64-linux/odp/api/abi/rwlock.h
new file mode 100644
index 000000000000..61faaf76b445
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/rwlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/rwlock_recursive.h b/include/odp/arch/x86_64-linux/odp/api/abi/rwlock_recursive.h
new file mode 100644
index 000000000000..ccfdf14aad8b
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/rwlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/rwlock_recursive.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/schedule.h b/include/odp/arch/x86_64-linux/odp/api/abi/schedule.h
new file mode 100644
index 000000000000..82148ca978d5
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/schedule.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/schedule_types.h b/include/odp/arch/x86_64-linux/odp/api/abi/schedule_types.h
new file mode 100644
index 000000000000..1b4f2b316320
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/schedule_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/schedule_types.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/spinlock.h b/include/odp/arch/x86_64-linux/odp/api/abi/spinlock.h
new file mode 100644
index 000000000000..2e863b014f90
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/spinlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/spinlock_recursive.h b/include/odp/arch/x86_64-linux/odp/api/abi/spinlock_recursive.h
new file mode 100644
index 000000000000..e90219d901c4
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/spinlock_recursive.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/spinlock_recursive.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/std_clib.h b/include/odp/arch/x86_64-linux/odp/api/abi/std_clib.h
new file mode 100644
index 000000000000..bda9fd3078fb
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/std_clib.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_clib.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/std_types.h b/include/odp/arch/x86_64-linux/odp/api/abi/std_types.h
new file mode 100644
index 000000000000..44fc6f5ae20e
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/std_types.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/std_types.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/sync.h b/include/odp/arch/x86_64-linux/odp/api/abi/sync.h
new file mode 100644
index 000000000000..2fd45b629040
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/sync.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/sync.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/thread.h b/include/odp/arch/x86_64-linux/odp/api/abi/thread.h
new file mode 100644
index 000000000000..69023d36bb4a
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/thread.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thread.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/thrmask.h b/include/odp/arch/x86_64-linux/odp/api/abi/thrmask.h
new file mode 100644
index 000000000000..523999dcc087
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/thrmask.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/thrmask.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/ticketlock.h b/include/odp/arch/x86_64-linux/odp/api/abi/ticketlock.h
new file mode 100644
index 000000000000..160b5e156c9b
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/ticketlock.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/ticketlock.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/time.h b/include/odp/arch/x86_64-linux/odp/api/abi/time.h
new file mode 100644
index 000000000000..d4d734033c61
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/time.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/time.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/timer.h b/include/odp/arch/x86_64-linux/odp/api/abi/timer.h
new file mode 100644
index 000000000000..fea797339150
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/timer.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/timer.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/traffic_mngr.h b/include/odp/arch/x86_64-linux/odp/api/abi/traffic_mngr.h
new file mode 100644
index 000000000000..41d297bce42f
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/traffic_mngr.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/traffic_mngr.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/version.h b/include/odp/arch/x86_64-linux/odp/api/abi/version.h
new file mode 100644
index 000000000000..1cdd175edb9a
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/version.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp/arch/default/api/abi/version.h>
