summaryrefslogtreecommitdiff
path: root/config/defconfig_x86_64-ivshmem-linuxapp-icc
diff options
context:
space:
mode:
authorBruce Richardson <bruce.richardson@intel.com>2014-02-11 10:28:51 +0000
committerDavid Marchand <david.marchand@6wind.com>2014-02-25 21:29:19 +0100
commit40b966a211ab71e96b8e155d9058f224e7b5bbf6 (patch)
treeb7583c1e78d18c3f3e94ae5294dd5a5607268973 /config/defconfig_x86_64-ivshmem-linuxapp-icc
parent013615a784c18582d32e2a702049783c68801f6c (diff)
downloaddpdk-40b966a211ab71e96b8e155d9058f224e7b5bbf6.zip
dpdk-40b966a211ab71e96b8e155d9058f224e7b5bbf6.tar.gz
dpdk-40b966a211ab71e96b8e155d9058f224e7b5bbf6.tar.xz
ivshmem: library changes for mmaping using ivshmem
These library changes provide a new Intel DPDK feature for communicating with virtual machines using QEMU's IVSHMEM mechanism. The feature works by providing a command line for QEMU to map several hugepages into a single IVSHMEM device. For the guest to know what is inside any given IVSHMEM device (and to distinguish between Intel(R) DPDK and non-Intel(R) DPDK IVSHMEM devices), a metadata file is also mapped into the IVSHMEM segment. No work needs to be done by the guest application to map IVSHMEM devices into memory; they are automatically recognized by the Intel(R) DPDK Environment Abstraction Layer (EAL). Changes in this patch: * Changes to EAL to allow mapping of all hugepages in a memseg into a single file * Changes to EAL to allow ivshmem devices to be transparently mapped in the process running on the guest. * New ivshmem library to create and manage metadata exported to guest VM's * New ivshmem compilation targets * Mempool and ring changes to allow export of structures to a VM and allow a VM to attach to those structures. * New autotests to unit tests this functionality. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Diffstat (limited to 'config/defconfig_x86_64-ivshmem-linuxapp-icc')
-rw-r--r--config/defconfig_x86_64-ivshmem-linuxapp-icc49
1 files changed, 49 insertions, 0 deletions
diff --git a/config/defconfig_x86_64-ivshmem-linuxapp-icc b/config/defconfig_x86_64-ivshmem-linuxapp-icc
new file mode 100644
index 0000000..14f0926
--- /dev/null
+++ b/config/defconfig_x86_64-ivshmem-linuxapp-icc
@@ -0,0 +1,49 @@
+# BSD LICENSE
+#
+# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * 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.
+# * Neither the name of Intel Corporation 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
+# OWNER 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.
+#
+
+#
+# use default config
+#
+
+#include "defconfig_x86_64-default-linuxapp-icc"
+
+#
+# Compile IVSHMEM library
+#
+CONFIG_RTE_LIBRTE_IVSHMEM=y
+CONFIG_RTE_LIBRTE_IVSHMEM_DEBUG=n
+CONFIG_RTE_LIBRTE_IVSHMEM_MAX_PCI_DEVS=4
+CONFIG_RTE_LIBRTE_IVSHMEM_MAX_ENTRIES=128
+CONFIG_RTE_LIBRTE_IVSHMEM_MAX_METADATA_FILES=32
+
+# Set EAL to single file segments
+CONFIG_RTE_EAL_SINGLE_FILE_SEGMENTS=y