> -----Original Message----- > From: Jerin Jacob <jerinjac...@gmail.com> > Sent: Sunday, October 18, 2020 4:00 AM > To: McDaniel, Timothy <timothy.mcdan...@intel.com> > Cc: dpdk-dev <dev@dpdk.org>; Carrillo, Erik G <erik.g.carri...@intel.com>; > Eads, Gage <gage.e...@intel.com>; Van Haaren, Harry > <harry.van.haa...@intel.com>; Jerin Jacob <jer...@marvell.com> > Subject: Re: [dpdk-dev] [PATCH v2 05/22] event/dlb2: add inline functions > > On Sat, Oct 17, 2020 at 11:50 PM Timothy McDaniel > <timothy.mcdan...@intel.com> wrote: > > > > Add miscellaneous inline functions that may be called > > from multiple files. These functions include inline > > assembly of new x86 instructions, such as movdir64b, > > since they are not available as builtin functions in > > the minimum supported GCC version. > > > > Signed-off-by: Timothy McDaniel <timothy.mcdan...@intel.com> > > Reviewed-by: Gage Eads <gage.e...@intel.com> > > --- > > drivers/event/dlb2/dlb2_inline_fns.h | 81 > ++++++++++++++++++++++++++++++++++++ > > 1 file changed, 81 insertions(+) > > create mode 100644 drivers/event/dlb2/dlb2_inline_fns.h > > > > diff --git a/drivers/event/dlb2/dlb2_inline_fns.h > b/drivers/event/dlb2/dlb2_inline_fns.h > > new file mode 100644 > > index 0000000..9c3c36f > > --- /dev/null > > +++ b/drivers/event/dlb2/dlb2_inline_fns.h > > @@ -0,0 +1,81 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(c) 2016-2020 Intel Corporation > > + */ > > + > > +#ifndef _DLB2_INLINE_FNS_H_ > > +#define _DLB2_INLINE_FNS_H_ > > + > > +/* Inline functions required in more than one source file. */ > > + > > +static inline struct dlb2_eventdev * > > +dlb2_pmd_priv(const struct rte_eventdev *eventdev) > > +{ > > + return eventdev->data->dev_private; > > +} > > + > > +static inline void > > +dlb2_umonitor(volatile void *addr) > > +{ > > + asm volatile(".byte 0xf3, 0x0f, 0xae, 0xf7\t\n" > > + : > > + : "D" (addr)); > > +} > > + > > +static inline void > > +dlb2_umwait(int state, uint64_t timeout) > > +{ > > + uint32_t eax = timeout & UINT32_MAX; > > + uint32_t edx = timeout >> 32; > > + > > + asm volatile(".byte 0xf2, 0x0f, 0xae, 0xf7\t\n" > > + : > > + : "D" (state), "a" (eax), "d" (edx)); > > +} > > + > > Please change this instruction to use new rte public API once it gets merged. >
Yes, we will do that.