diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-08-17 14:31:25 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-08-22 16:43:26 +0000 |
commit | 60f9d69e016b11c468c98ea75ba0a60c44afbbc4 (patch) | |
tree | ecb49581a9e41a37943c22cd9ef3f63451b20ee7 /import-layers/yocto-poky/meta/recipes-support/liburcu | |
parent | e18c61205e0234b03697129c20cc69c9b3940efc (diff) | |
download | talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.tar.gz talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.zip |
yocto-poky: Move to import-layers subdir
We are going to import additional layers, so create a subdir to
hold all of the layers that we import with git-subtree.
Change-Id: I6f732153a22be8ca663035c518837e3cc5ec0799
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-support/liburcu')
3 files changed, 184 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0001-Support-for-NIOS2-architecture.patch b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0001-Support-for-NIOS2-architecture.patch new file mode 100644 index 000000000..690872b4a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0001-Support-for-NIOS2-architecture.patch @@ -0,0 +1,144 @@ +From add566b913e1b5cd4974a2167157dc08d8245ab0 Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 9 Feb 2016 01:52:26 +0100 +Subject: [PATCH] Support for NIOS2 architecture + +Add support for the Altera NIOS2 CPU archirecture. The atomic operations +are handled by the GCC. The memory barriers on this systems are entirely +trivial too, since the CPU does not support SMP at all. + +Signed-off-by: Marek Vasut <marex@denx.de> +Upstream-Status: Backport [ http://git.lttng.org/?p=userspace-rcu.git;a=commit;h=859050b3088aa3f0cb59d7f51ce24b9a0f18faa5 ] +--- + LICENSE | 1 + + README.md | 1 + + configure.ac | 1 + + urcu/arch/nios2.h | 40 ++++++++++++++++++++++++++++++++++++++++ + urcu/uatomic/nios2.h | 32 ++++++++++++++++++++++++++++++++ + 5 files changed, 75 insertions(+) + create mode 100644 urcu/arch/nios2.h + create mode 100644 urcu/uatomic/nios2.h + +diff --git a/LICENSE b/LICENSE +index 3147094..a06fdcc 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -45,6 +45,7 @@ compiler.h + arch/s390.h + uatomic/alpha.h + uatomic/mips.h ++uatomic/nios2.h + uatomic/s390.h + system.h + +diff --git a/README.md b/README.md +index f6b290f..6fe9c1e 100644 +--- a/README.md ++++ b/README.md +@@ -43,6 +43,7 @@ Currently, the following architectures are supported: + - S390, S390x + - ARM 32/64 + - MIPS ++ - NIOS2 + - Alpha + - ia64 + - Sparcv9 32/64 +diff --git a/configure.ac b/configure.ac +index 39a7777..71a7d71 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -124,6 +124,7 @@ AS_CASE([$host_cpu], + [arm*], [ARCHTYPE="arm"], + [aarch64], [ARCHTYPE="aarch64"], + [mips*], [ARCHTYPE="mips"], ++ [nios2*], [ARCHTYPE="nios2"], + [tile*], [ARCHTYPE="tile"], + [hppa*], [ARCHTYPE="hppa"], + [ARCHTYPE="unknown"] +diff --git a/urcu/arch/nios2.h b/urcu/arch/nios2.h +new file mode 100644 +index 0000000..030d1bc +--- /dev/null ++++ b/urcu/arch/nios2.h +@@ -0,0 +1,40 @@ ++#ifndef _URCU_ARCH_NIOS2_H ++#define _URCU_ARCH_NIOS2_H ++ ++/* ++ * arch_nios2.h: trivial definitions for the NIOS2 architecture. ++ * ++ * Copyright (c) 2016 Marek Vasut <marex@denx.de> ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#include <urcu/compiler.h> ++#include <urcu/config.h> ++#include <urcu/syscall-compat.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#define cmm_mb() cmm_barrier() ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#include <urcu/arch/generic.h> ++ ++#endif /* _URCU_ARCH_NIOS2_H */ +diff --git a/urcu/uatomic/nios2.h b/urcu/uatomic/nios2.h +new file mode 100644 +index 0000000..5b3c303 +--- /dev/null ++++ b/urcu/uatomic/nios2.h +@@ -0,0 +1,32 @@ ++#ifndef _URCU_UATOMIC_ARCH_NIOS2_H ++#define _URCU_UATOMIC_ARCH_NIOS2_H ++ ++/* ++ * Atomic exchange operations for the NIOS2 architecture. Let GCC do it. ++ * ++ * Copyright (c) 2016 Marek Vasut <marex@denx.de> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to ++ * deal in the Software without restriction, including without limitation the ++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++ * IN THE SOFTWARE. ++ */ ++ ++#include <urcu/compiler.h> ++#include <urcu/system.h> ++#include <urcu/uatomic/generic.h> ++ ++#endif /* _URCU_UATOMIC_ARCH_NIOS2_H */ +-- +2.7.0 + diff --git a/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0002-Support-for-aarch64_be.patch b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0002-Support-for-aarch64_be.patch new file mode 100644 index 000000000..a10ccd7d8 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu/0002-Support-for-aarch64_be.patch @@ -0,0 +1,19 @@ +liburcu: add support for aarch64_be + +Upstream-Status: Pending + +Signed-off-by: Tudor Florea <tudor.florea@enea.com> + +diff --git a/configure.ac b/configure.ac +index 8ebfa8b..fe1c55d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -121,7 +121,7 @@ AS_CASE([$host_cpu], + [alpha*], [ARCHTYPE="alpha"], + [ia64], [ARCHTYPE="ia64"], + [arm*], [ARCHTYPE="arm"], +- [aarch64], [ARCHTYPE="aarch64"], ++ [aarch64*], [ARCHTYPE="aarch64"], + [mips*], [ARCHTYPE="mips"], + [nios2*], [ARCHTYPE="nios2"], + [tile*], [ARCHTYPE="tile"], diff --git a/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu_0.9.1.bb b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu_0.9.1.bb new file mode 100644 index 000000000..aadc32ff7 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/liburcu/liburcu_0.9.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Userspace RCU (read-copy-update) library" +HOMEPAGE = "http://lttng.org/urcu" +BUGTRACKER = "http://lttng.org/project/issues" + +LICENSE = "LGPLv2.1+ & MIT-style" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ + file://urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ + file://urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" + +SRC_URI = " \ + http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \ + file://0001-Support-for-NIOS2-architecture.patch \ + file://0002-Support-for-aarch64_be.patch \ + " + +SRC_URI[md5sum] = "124eaeea06863271c0bdf2a0cc1d8e4b" +SRC_URI[sha256sum] = "f8d278e9d95bec97c9ba954fc4c3fb584936bc0010713a8fe358b916bafd8715" + +S = "${WORKDIR}/userspace-rcu-${PV}" +CFLAGS_append_libc-uclibc = " -D_GNU_SOURCE" +inherit autotools |