From: Anand Rawat <anand.rawat@intel.com>
To: dev@dpdk.org
Cc: anand.rawat@intel.com, pallavi.kadam@intel.com,
ranjit.menon@intel.com, jeffrey.b.shaw@intel.com,
bruce.richardson@intel.com, thomas@monjalon.net
Subject: [dpdk-dev] [PATCH v8 06/10] eal: sys/queue.h implementation for windows
Date: Mon, 1 Apr 2019 20:54:54 -0700 [thread overview]
Message-ID: <20190402035458.14664-7-anand.rawat@intel.com> (raw)
Message-ID: <20190402035454.7YneNZansc7bU-CxuU55rwAkTHCjJskMX2Nhj1cSoAM@z> (raw)
In-Reply-To: <20190402035458.14664-1-anand.rawat@intel.com>
Adding sys/queue.h on Windows for supporting common code.
This implementation has BSD-3-Clause licensing.
Signed-off-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
---
.../windows/eal/include/sys/queue.h | 320 ++++++++++++++++++
1 file changed, 320 insertions(+)
create mode 100644 lib/librte_eal/windows/eal/include/sys/queue.h
diff --git a/lib/librte_eal/windows/eal/include/sys/queue.h b/lib/librte_eal/windows/eal/include/sys/queue.h
new file mode 100644
index 000000000..5ee4916ad
--- /dev/null
+++ b/lib/librte_eal/windows/eal/include/sys/queue.h
@@ -0,0 +1,320 @@
+/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines tail queues.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * Below is a summary of implemented functions where:
+ * + means the macro is available
+ * - means the macro is not available
+ * s means the macro is available but is slow (runs in O(n) time)
+ *
+ * TAILQ
+ * _HEAD +
+ * _CLASS_HEAD +
+ * _HEAD_INITIALIZER +
+ * _ENTRY +
+ * _CLASS_ENTRY +
+ * _INIT +
+ * _EMPTY +
+ * _FIRST +
+ * _NEXT +
+ * _PREV +
+ * _LAST +
+ * _LAST_FAST +
+ * _FOREACH +
+ * _FOREACH_FROM +
+ * _FOREACH_SAFE +
+ * _FOREACH_FROM_SAFE +
+ * _FOREACH_REVERSE +
+ * _FOREACH_REVERSE_FROM +
+ * _FOREACH_REVERSE_SAFE +
+ * _FOREACH_REVERSE_FROM_SAFE +
+ * _INSERT_HEAD +
+ * _INSERT_BEFORE +
+ * _INSERT_AFTER +
+ * _INSERT_TAIL +
+ * _CONCAT +
+ * _REMOVE_AFTER -
+ * _REMOVE_HEAD -
+ * _REMOVE +
+ * _SWAP +
+ *
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define QMD_TRACE_ELEM(elem)
+#define QMD_TRACE_HEAD(head)
+#define TRACEBUF
+#define TRACEBUF_INITIALIZER
+
+#define TRASHIT(x)
+#define QMD_IS_TRASHED(x) 0
+
+#define QMD_SAVELINK(name, link)
+
+#ifdef __cplusplus
+/*
+ * In C++ there can be structure lists and class lists:
+ */
+#define QUEUE_TYPEOF(type) type
+#else
+#define QUEUE_TYPEOF(type) struct type
+#endif
+
+/*
+ * Tail queue declarations.
+ */
+#define TAILQ_HEAD(name, type) \
+struct name { \
+ struct type *tqh_first; /* first element */ \
+ struct type **tqh_last; /* addr of last next element */ \
+ TRACEBUF \
+}
+
+#define TAILQ_CLASS_HEAD(name, type) \
+struct name { \
+ class type *tqh_first; /* first element */ \
+ class type **tqh_last; /* addr of last next element */ \
+ TRACEBUF \
+}
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first, TRACEBUF_INITIALIZER }
+
+#define TAILQ_ENTRY(type) \
+struct { \
+ struct type *tqe_next; /* next element */ \
+ struct type **tqe_prev; /* address of previous next element */ \
+ TRACEBUF \
+}
+
+#define TAILQ_CLASS_ENTRY(type) \
+struct { \
+ class type *tqe_next; /* next element */ \
+ class type **tqe_prev; /* address of previous next element */ \
+ TRACEBUF \
+}
+
+/*
+ * Tail queue functions.
+ */
+#define QMD_TAILQ_CHECK_HEAD(head, field)
+#define QMD_TAILQ_CHECK_TAIL(head, headname)
+#define QMD_TAILQ_CHECK_NEXT(elm, field)
+#define QMD_TAILQ_CHECK_PREV(elm, field)
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ QMD_TRACE_HEAD(head1); \
+ QMD_TRACE_HEAD(head2); \
+ } \
+} while (0)
+
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = TAILQ_FIRST((head)); \
+ (var); \
+ (var) = TAILQ_NEXT((var), field))
+
+#define TAILQ_FOREACH_FROM(var, head, field) \
+ for ((var) = ((var) ? (var) : TAILQ_FIRST((head))); \
+ (var); \
+ (var) = TAILQ_NEXT((var), field))
+
+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
+ for ((var) = TAILQ_FIRST((head)); \
+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
+ (var) = (tvar))
+
+#define TAILQ_FOREACH_FROM_SAFE(var, head, field, tvar) \
+ for ((var) = ((var) ? (var) : TAILQ_FIRST((head))); \
+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
+ (var) = (tvar))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = TAILQ_LAST((head), headname); \
+ (var); \
+ (var) = TAILQ_PREV((var), headname, field))
+
+#define TAILQ_FOREACH_REVERSE_FROM(var, head, headname, field) \
+ for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname)); \
+ (var); \
+ (var) = TAILQ_PREV((var), headname, field))
+
+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \
+ for ((var) = TAILQ_LAST((head), headname); \
+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \
+ (var) = (tvar))
+
+#define TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar) \
+ for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname)); \
+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \
+ (var) = (tvar))
+
+#define TAILQ_INIT(head) do { \
+ TAILQ_FIRST((head)) = NULL; \
+ (head)->tqh_last = &TAILQ_FIRST((head)); \
+ QMD_TRACE_HEAD(head); \
+} while (0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ QMD_TAILQ_CHECK_NEXT(listelm, field); \
+ TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field); \
+ if (TAILQ_NEXT((listelm), field) != NULL) \
+ TAILQ_NEXT((elm), field)->field.tqe_prev = \
+ &TAILQ_NEXT((elm), field); \
+ else { \
+ (head)->tqh_last = &TAILQ_NEXT((elm), field); \
+ QMD_TRACE_HEAD(head); \
+ } \
+ TAILQ_NEXT((listelm), field) = (elm); \
+ (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field); \
+ QMD_TRACE_ELEM(&(elm)->field); \
+ QMD_TRACE_ELEM(&(listelm)->field); \
+} while (0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ QMD_TAILQ_CHECK_PREV(listelm, field); \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ TAILQ_NEXT((elm), field) = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field); \
+ QMD_TRACE_ELEM(&(elm)->field); \
+ QMD_TRACE_ELEM(&(listelm)->field); \
+} while (0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ QMD_TAILQ_CHECK_HEAD(head, field); \
+ TAILQ_NEXT((elm), field) = TAILQ_FIRST((head)); \
+ if (TAILQ_FIRST((head)) != NULL) \
+ TAILQ_FIRST((head))->field.tqe_prev = \
+ &TAILQ_NEXT((elm), field); \
+ else \
+ (head)->tqh_last = &TAILQ_NEXT((elm), field); \
+ TAILQ_FIRST((head)) = (elm); \
+ (elm)->field.tqe_prev = &TAILQ_FIRST((head)); \
+ QMD_TRACE_HEAD(head); \
+ QMD_TRACE_ELEM(&(elm)->field); \
+} while (0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ QMD_TAILQ_CHECK_TAIL(head, field); \
+ TAILQ_NEXT((elm), field) = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &TAILQ_NEXT((elm), field); \
+ QMD_TRACE_HEAD(head); \
+ QMD_TRACE_ELEM(&(elm)->field); \
+} while (0)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+
+/*
+ * The FAST function is fast in that it causes no data access other
+ * then the access to the head. The standard LAST function above
+ * will cause a data access of both the element you want and
+ * the previous element. FAST is very useful for instances when
+ * you may want to prefetch the last data element.
+ */
+#define TAILQ_LAST_FAST(head, type, field) \
+ (TAILQ_EMPTY(head) ? NULL : __containerof((head)->tqh_last, \
+ QUEUE_TYPEOF(type), field.tqe_next))
+
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ QMD_SAVELINK(oldnext, (elm)->field.tqe_next); \
+ QMD_SAVELINK(oldprev, (elm)->field.tqe_prev); \
+ QMD_TAILQ_CHECK_NEXT(elm, field); \
+ QMD_TAILQ_CHECK_PREV(elm, field); \
+ if ((TAILQ_NEXT((elm), field)) != NULL) \
+ TAILQ_NEXT((elm), field)->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else { \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ QMD_TRACE_HEAD(head); \
+ } \
+ *(elm)->field.tqe_prev = TAILQ_NEXT((elm), field); \
+ TRASHIT(*oldnext); \
+ TRASHIT(*oldprev); \
+ QMD_TRACE_ELEM(&(elm)->field); \
+} while (0)
+
+#define TAILQ_SWAP(head1, head2, type, field) do { \
+ QUEUE_TYPEOF(type) * swap_first = (head1)->tqh_first; \
+ QUEUE_TYPEOF(type) * *swap_last = (head1)->tqh_last; \
+ (head1)->tqh_first = (head2)->tqh_first; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ (head2)->tqh_first = swap_first; \
+ (head2)->tqh_last = swap_last; \
+ swap_first = (head1)->tqh_first; \
+ if (swap_first != NULL) \
+ swap_first->field.tqe_prev = &(head1)->tqh_first; \
+ else \
+ (head1)->tqh_last = &(head1)->tqh_first; \
+ swap_first = (head2)->tqh_first; \
+ if (swap_first != NULL) \
+ swap_first->field.tqe_prev = &(head2)->tqh_first; \
+ else \
+ (head2)->tqh_last = &(head2)->tqh_first; \
+} while (0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYS_QUEUE_H_ */
--
2.17.1.windows.2
next prev parent reply other threads:[~2019-04-02 3:56 UTC|newest]
Thread overview: 327+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-06 4:16 [dpdk-dev] [PATCH v2 0/6] HelloWorld example " Anand Rawat
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 1/6] eal: eal stub to add windows support Anand Rawat
2019-03-06 10:03 ` Thomas Monjalon
2019-03-06 11:20 ` Bruce Richardson
2019-03-06 11:36 ` Thomas Monjalon
2019-03-06 11:52 ` Richardson, Bruce
2019-03-07 1:04 ` Anand Rawat
2019-03-07 8:59 ` Thomas Monjalon
2019-03-07 1:19 ` Anand Rawat
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 2/6] eal: add header files to support windows Anand Rawat
2019-03-06 11:31 ` Thomas Monjalon
2019-03-07 3:27 ` Anand Rawat
2019-03-07 8:45 ` Thomas Monjalon
2019-03-07 10:24 ` Bruce Richardson
2019-03-07 11:33 ` Thomas Monjalon
2019-03-07 11:53 ` Richardson, Bruce
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 3/6] eal: add headers for compatibility with windows environment Anand Rawat
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 4/6] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 5/6] examples: add meson changes for windows Anand Rawat
2019-03-06 4:16 ` [dpdk-dev] [PATCH v2 6/6] doc: add documention " Anand Rawat
2019-03-07 17:03 ` Kovacevic, Marko
2019-03-07 18:46 ` Anand Rawat
2019-03-11 12:45 ` Jerin Jacob Kollanukkaran
2019-03-11 13:51 ` Richardson, Bruce
2019-03-11 15:30 ` Raslan Darawsheh
2019-03-11 15:46 ` Jerin Jacob Kollanukkaran
2019-03-14 0:04 ` Anand Rawat
2019-03-14 0:04 ` Anand Rawat
2019-03-06 8:29 ` [dpdk-dev] [PATCH v2 0/6] HelloWorld example " Thomas Monjalon
2019-03-06 22:45 ` Anand Rawat
2019-03-06 23:03 ` Thomas Monjalon
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 0/8] " Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 1/8] eal: eal stub to add windows support Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 2/8] eal: add header files to support windows Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 3/8] kvargs: adding a module definition file Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 4/8] eal: sys/queue.h implementation for windows Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 5/8] eal: add headers for compatibility with windows environment Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 6/8] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 7/8] doc: add documention for windows Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-20 0:40 ` [dpdk-dev] [PATCH v3 8/8] build: meson changes to build on windows Anand Rawat
2019-03-20 0:40 ` Anand Rawat
2019-03-22 22:54 ` [dpdk-dev] [PATCH v4 0/8] HelloWorld example for windows Anand Rawat
2019-03-22 22:54 ` Anand Rawat
2019-03-22 22:54 ` [dpdk-dev] [PATCH v4 1/8] eal: eal stub to add windows support Anand Rawat
2019-03-22 22:54 ` Anand Rawat
2019-03-22 22:54 ` [dpdk-dev] [PATCH v4 2/8] eal: add header files to support windows Anand Rawat
2019-03-22 22:54 ` Anand Rawat
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 3/8] kvargs: adding a module definition file Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 4/8] eal: sys/queue.h implementation for windows Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 5/8] eal: add headers for compatibility with windows environment Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 6/8] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 7/8] doc: add documention for windows Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-23 16:51 ` Jerin Jacob Kollanukkaran
2019-03-23 16:51 ` Jerin Jacob Kollanukkaran
2019-03-25 10:24 ` Bruce Richardson
2019-03-25 10:24 ` Bruce Richardson
2019-03-25 17:43 ` Pallavi Kadam
2019-03-25 17:43 ` Pallavi Kadam
2019-03-22 22:55 ` [dpdk-dev] [PATCH v4 8/8] build: meson changes to build on windows Anand Rawat
2019-03-22 22:55 ` Anand Rawat
2019-03-25 10:32 ` Bruce Richardson
2019-03-25 10:32 ` Bruce Richardson
2019-03-25 18:47 ` [dpdk-dev] [PATCH v4 0/8] HelloWorld example for windows Harini Ramakrishnan
2019-03-25 18:47 ` Harini Ramakrishnan
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 " Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 1/8] eal: eal stub to add windows support Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 16:29 ` Harini Ramakrishnan
2019-03-26 16:29 ` Harini Ramakrishnan
[not found] ` <MWHPR21MB0638113CDE9F61F8EC3E63D0EF5F0@MWHPR21MB0638.namprd21.prod.outlook.com>
2019-03-26 22:50 ` Omar Cardona
2019-03-26 22:50 ` Omar Cardona
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 2/8] eal: add header files to support windows Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 10:20 ` Jerin Jacob Kollanukkaran
2019-03-26 10:20 ` Jerin Jacob Kollanukkaran
2019-03-27 21:23 ` Ranjit Menon
2019-03-27 21:23 ` Ranjit Menon
2019-03-27 22:29 ` Thomas Monjalon
2019-03-27 22:29 ` Thomas Monjalon
2019-03-27 23:10 ` Anand Rawat
2019-03-27 23:10 ` Anand Rawat
2019-03-27 23:27 ` Thomas Monjalon
2019-03-27 23:27 ` Thomas Monjalon
2019-03-26 16:30 ` Harini Ramakrishnan
2019-03-26 16:30 ` Harini Ramakrishnan
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 3/8] kvargs: adding a module definition file Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 10:32 ` Jerin Jacob Kollanukkaran
2019-03-26 10:32 ` Jerin Jacob Kollanukkaran
2019-03-26 10:58 ` Bruce Richardson
2019-03-26 10:58 ` Bruce Richardson
2019-03-26 13:37 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-03-26 13:37 ` Jerin Jacob Kollanukkaran
2019-03-26 13:55 ` Thomas Monjalon
2019-03-26 13:55 ` Thomas Monjalon
2019-03-26 14:41 ` Bruce Richardson
2019-03-26 14:41 ` Bruce Richardson
2019-03-26 15:07 ` Thomas Monjalon
2019-03-26 15:07 ` Thomas Monjalon
2019-03-26 15:17 ` Bruce Richardson
2019-03-26 15:17 ` Bruce Richardson
2019-03-26 15:22 ` Thomas Monjalon
2019-03-26 15:22 ` Thomas Monjalon
2019-03-26 14:40 ` Bruce Richardson
2019-03-26 14:40 ` Bruce Richardson
2019-03-26 15:35 ` Jerin Jacob Kollanukkaran
2019-03-26 15:35 ` Jerin Jacob Kollanukkaran
2019-03-26 16:46 ` Bruce Richardson
2019-03-26 16:46 ` Bruce Richardson
2019-03-26 23:13 ` Anand Rawat
2019-03-26 23:13 ` Anand Rawat
2019-03-26 16:31 ` [dpdk-dev] " Harini Ramakrishnan
2019-03-26 16:31 ` Harini Ramakrishnan
2019-03-26 19:02 ` Stephen Hemminger
2019-03-26 19:02 ` Stephen Hemminger
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 4/8] eal: sys/queue.h implementation for windows Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 16:31 ` Harini Ramakrishnan
2019-03-26 16:31 ` Harini Ramakrishnan
2019-03-26 19:06 ` Stephen Hemminger
2019-03-26 19:06 ` Stephen Hemminger
2019-03-26 20:52 ` Thomas Monjalon
2019-03-26 20:52 ` Thomas Monjalon
2019-03-26 21:14 ` Jeff Shaw
2019-03-26 21:14 ` Jeff Shaw
2019-03-26 21:47 ` Thomas Monjalon
2019-03-26 21:47 ` Thomas Monjalon
2019-03-26 21:54 ` Jeff Shaw
2019-03-26 21:54 ` Jeff Shaw
2019-03-26 22:23 ` Thomas Monjalon
2019-03-26 22:23 ` Thomas Monjalon
2019-03-26 22:34 ` Jeff Shaw
2019-03-26 22:34 ` Jeff Shaw
2019-03-26 23:00 ` Thomas Monjalon
2019-03-26 23:00 ` Thomas Monjalon
2019-03-26 23:43 ` Jeff Shaw
2019-03-26 23:43 ` Jeff Shaw
2019-03-26 23:54 ` Thomas Monjalon
2019-03-26 23:54 ` Thomas Monjalon
2019-03-27 21:16 ` Anand Rawat
2019-03-27 21:16 ` Anand Rawat
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 5/8] eal: add headers for compatibility with windows environment Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 16:33 ` Harini Ramakrishnan
2019-03-26 16:33 ` Harini Ramakrishnan
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 6/8] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 16:32 ` Harini Ramakrishnan
2019-03-26 16:32 ` Harini Ramakrishnan
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 7/8] doc: add documention for windows Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 10:27 ` Jerin Jacob Kollanukkaran
2019-03-26 10:27 ` Jerin Jacob Kollanukkaran
2019-03-26 10:37 ` David Marchand
2019-03-26 10:37 ` David Marchand
2019-03-26 18:29 ` Anand Rawat
2019-03-26 18:29 ` Anand Rawat
2019-03-26 16:33 ` Harini Ramakrishnan
2019-03-26 16:33 ` Harini Ramakrishnan
2019-03-26 6:02 ` [dpdk-dev] [PATCH v5 8/8] build: meson changes to build on windows Anand Rawat
2019-03-26 6:02 ` Anand Rawat
2019-03-26 16:34 ` Harini Ramakrishnan
2019-03-26 16:34 ` Harini Ramakrishnan
2019-03-26 16:28 ` [dpdk-dev] [PATCH v5 0/8] HelloWorld example for windows Harini Ramakrishnan
2019-03-26 16:28 ` Harini Ramakrishnan
[not found] ` <MWHPR21MB06380D6FA7CF5513DDC3820AEF5F0@MWHPR21MB0638.namprd21.prod.outlook.com>
2019-03-26 22:43 ` Omar Cardona
2019-03-26 22:43 ` Omar Cardona
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 " Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 1/8] eal: eal stub to add windows support Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:27 ` Harini Ramakrishnan
2019-03-28 19:27 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 2/8] eal: add header files to support os specifics Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:27 ` Harini Ramakrishnan
2019-03-28 19:27 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 3/8] build: add module definition file for windows Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:29 ` Harini Ramakrishnan
2019-03-28 19:29 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 4/8] eal: sys/queue.h implementation " Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 2:30 ` Varghese, Vipin
2019-03-28 2:30 ` Varghese, Vipin
2019-03-28 2:39 ` Anand Rawat
2019-03-28 2:39 ` Anand Rawat
2019-03-28 3:29 ` Varghese, Vipin
2019-03-28 3:29 ` Varghese, Vipin
2019-03-28 19:30 ` Harini Ramakrishnan
2019-03-28 19:30 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 5/8] eal: add headers for compatibility with windows Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:29 ` Harini Ramakrishnan
2019-03-28 19:29 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 6/8] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:32 ` Harini Ramakrishnan
2019-03-28 19:32 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 7/8] doc: add documentation for windows Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 19:31 ` Harini Ramakrishnan
2019-03-28 19:31 ` Harini Ramakrishnan
2019-03-28 2:21 ` [dpdk-dev] [PATCH v6 8/8] build: meson changes to build on windows Anand Rawat
2019-03-28 2:21 ` Anand Rawat
2019-03-28 15:10 ` Thomas Monjalon
2019-03-28 15:10 ` Thomas Monjalon
2019-03-28 19:30 ` Harini Ramakrishnan
2019-03-28 19:30 ` Harini Ramakrishnan
2019-03-28 19:28 ` [dpdk-dev] [PATCH v6 0/8] HelloWorld example for windows Harini Ramakrishnan
2019-03-28 19:28 ` Harini Ramakrishnan
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 " Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 1/8] eal: eal stub to add windows support Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-04-01 16:17 ` Bruce Richardson
2019-04-01 16:17 ` Bruce Richardson
2019-04-01 16:34 ` Bruce Richardson
2019-04-01 16:34 ` Bruce Richardson
2019-04-01 17:06 ` Anand Rawat
2019-04-01 17:06 ` Anand Rawat
2019-04-01 20:10 ` Bruce Richardson
2019-04-01 20:10 ` Bruce Richardson
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 2/8] eal: add header files to support os specifics Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-04-01 23:09 ` Thomas Monjalon
2019-04-01 23:09 ` Thomas Monjalon
2019-04-02 3:52 ` Anand Rawat
2019-04-02 3:52 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 3/8] build: add module definition file for windows Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 4/8] eal: sys/queue.h implementation " Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 5/8] eal: add headers for compatibility with windows Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 6/8] eal: add minimum viable code for eal on windows Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 7/8] doc: add documentation for windows Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-03-29 0:06 ` Harini Ramakrishnan
2019-03-29 0:06 ` Harini Ramakrishnan
2019-04-01 23:22 ` Thomas Monjalon
2019-04-01 23:22 ` Thomas Monjalon
2019-04-02 1:01 ` Pallavi Kadam
2019-04-02 1:01 ` Pallavi Kadam
2019-04-02 7:15 ` Thomas Monjalon
2019-04-02 7:15 ` Thomas Monjalon
2019-03-28 23:24 ` [dpdk-dev] [PATCH v7 8/8] build: meson changes to build on windows Anand Rawat
2019-03-28 23:24 ` Anand Rawat
2019-04-01 23:25 ` Thomas Monjalon
2019-04-01 23:25 ` Thomas Monjalon
2019-04-02 3:47 ` Anand Rawat
2019-04-02 3:47 ` Anand Rawat
2019-03-29 0:12 ` [dpdk-dev] [PATCH v7 0/8] HelloWorld example for windows Harini Ramakrishnan
2019-03-29 0:12 ` Harini Ramakrishnan
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 00/10] HelloWorld example for Windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 01/10] eal: eal stub to add windows support Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 02/10] meson: required changes for windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 23:04 ` Thomas Monjalon
2019-04-02 23:04 ` Thomas Monjalon
2019-04-02 23:23 ` Pallavi Kadam
2019-04-02 23:23 ` Pallavi Kadam
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 03/10] eal: add new rte_os.h header to build system Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 19:56 ` Thomas Monjalon
2019-04-02 19:56 ` Thomas Monjalon
2019-04-02 20:47 ` Thomas Monjalon
2019-04-02 20:47 ` Thomas Monjalon
2019-04-02 22:11 ` Anand Rawat
2019-04-02 22:11 ` Anand Rawat
2019-04-02 22:32 ` Thomas Monjalon
2019-04-02 22:32 ` Thomas Monjalon
2019-04-02 22:34 ` Anand Rawat
2019-04-02 22:34 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 04/10] eal: update common headers to use rte_os.h Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 05/10] build: add module definition file for windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 23:03 ` Thomas Monjalon
2019-04-02 23:03 ` Thomas Monjalon
2019-04-02 3:54 ` Anand Rawat [this message]
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 06/10] eal: sys/queue.h implementation " Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 07/10] eal: add headers for compatibility with windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 08/10] eal: add minimum viable code for eal on windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 20:06 ` Thomas Monjalon
2019-04-02 20:06 ` Thomas Monjalon
2019-04-02 21:21 ` Pallavi Kadam
2019-04-02 21:21 ` Pallavi Kadam
2019-04-02 21:38 ` Thomas Monjalon
2019-04-02 21:38 ` Thomas Monjalon
2019-04-02 21:46 ` Pallavi Kadam
2019-04-02 21:46 ` Pallavi Kadam
2019-04-02 22:39 ` Thomas Monjalon
2019-04-02 22:39 ` Thomas Monjalon
2019-04-02 22:57 ` Anand Rawat
2019-04-02 22:57 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 09/10] doc: add documentation for windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 3:54 ` [dpdk-dev] [PATCH v8 10/10] build: meson changes to build on windows Anand Rawat
2019-04-02 3:54 ` Anand Rawat
2019-04-02 22:51 ` Thomas Monjalon
2019-04-02 22:51 ` Thomas Monjalon
2019-04-02 23:01 ` Anand Rawat
2019-04-02 23:01 ` Anand Rawat
2019-04-02 23:25 ` [dpdk-dev] [PATCH v8 00/10] HelloWorld example for Windows Thomas Monjalon
2019-04-02 23:25 ` Thomas Monjalon
2019-04-02 23:49 ` Anand Rawat
2019-04-02 23:49 ` Anand Rawat
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190402035458.14664-7-anand.rawat@intel.com \
--to=anand.rawat@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=jeffrey.b.shaw@intel.com \
--cc=pallavi.kadam@intel.com \
--cc=ranjit.menon@intel.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).