[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/LIBPSIMD PATCH 3/3] Initial port of psimd on Unikraft
This is our initial port of psimd to Unikraft as an external library. The intel-intrinsics library is required. When adding the library to the dependency list, psimd should stay after intel-intrinsics. (e.g. ...:$(UK_LIBS)/intel-intrinsics:$(UK_LIBS)/psimd...). Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> --- Config.uk | 5 ++++ Makefile.uk | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ exportsyms.uk | 1 + 3 files changed, 80 insertions(+) create mode 100644 Config.uk create mode 100644 Makefile.uk create mode 100644 exportsyms.uk diff --git a/Config.uk b/Config.uk new file mode 100644 index 0000000..7a14291 --- /dev/null +++ b/Config.uk @@ -0,0 +1,5 @@ +menuconfig LIBPSIMD + bool "psimd - Portable 128-bit SIMD intrinsics" + select LIBINTEL-INTRINSICS + default n + diff --git a/Makefile.uk b/Makefile.uk new file mode 100644 index 0000000..9cfb638 --- /dev/null +++ b/Makefile.uk @@ -0,0 +1,74 @@ +# libpsimd config file +# +# Authors: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> +# +# Copyright (c) 2019, University Politehnica of Bucharest. 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 copyright holder 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. +# +# THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. + +################################################################################ +# Library registration +################################################################################ +$(eval $(call addlib_s,libpsimd,$(CONFIG_LIBPSIMD))) + +################################################################################ +# Sources +################################################################################ +LIBPSIMD_VERSION=master +LIBPSIMD_URL=https://github.com/Maratyszcza/psimd/archive/master.zip +LIBPSIMD_PATCHDIR=$(LIBPSIMD_BASE)/patches +$(eval $(call fetch,libpsimd,$(LIBPSIMD_URL))) + +################################################################################ +# Helpers +################################################################################ +LIBPSIMD_SUBDIR=psimd-master +LIBPSIMD_SRC=$(LIBPSIMD_ORIGIN)/$(LIBPSIMD_SUBDIR) + +################################################################################ +# Library includes +################################################################################ +CINCLUDES-$(CONFIG_LIBPSIMD) += -I$(LIBPSIMD_SRC)/include +CINCLUDES-$(CONFIG_LIBPSIMD) += -I$(LIBPSIMD_BASE)/include +CXXINCLUDES-$(CONFIG_LIBPSIMD) += -I$(LIBPSIMD_SRC)/include +CXXINCLUDES-$(CONFIG_LIBPSIMD) += -I$(LIBPSIMD_BASE)/include + +################################################################################ +# Global flags +################################################################################ +# Suppress some warnings to make the build process look neater +SUPPRESS_FLAGS += -Wno-unused-parameter -Wno-unused-variable -Wno-nonnull \ +-Wno-unused-but-set-variable -Wno-unused-label -Wno-char-subscripts \ +-Wno-unused-function -Wno-missing-field-initializers -Wno-uninitialized \ +-Wno-array-bounds -Wno-maybe-uninitialized -Wno-pointer-sign -Wno-unused-value \ +-Wno-unused-macros -Wno-parentheses -Wno-implicit-function-declaration \ +-Wno-missing-braces -Wno-endif-labels -Wno-unused-but-set-variable \ +-Wno-implicit-function-declaration -Wno-type-limits -Wno-sign-compare +LIBPSIMD_CFLAGS-y += $(SUPPRESS_FLAGS) +LIBPSIMD_CXXFLAGS-y += $(SUPPRESS_FLAGS) + diff --git a/exportsyms.uk b/exportsyms.uk new file mode 100644 index 0000000..621e94f --- /dev/null +++ b/exportsyms.uk @@ -0,0 +1 @@ +none -- 2.21.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |