From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com [IPv6:2a00:1450:4010:c04::22e]) by dpdk.org (Postfix) with ESMTP id 8875F593A for ; Thu, 16 Jan 2014 07:57:55 +0100 (CET) Received: by mail-lb0-f174.google.com with SMTP id p9so1582521lbv.33 for ; Wed, 15 Jan 2014 22:59:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=SAVbI0oZuBacFJzIEc8Jnbk63k8sHCFcVLhs4aGJyeI=; b=wCjHXtWDdHPolcSEOBcBQdAbgU0xNxmLYEWnd0dHxAKHYPmrNPUlqJ0W8tEjFML4+E 8wDwBQNYhPqAnP1y80vka8VFLHM/awRZevhdIM3gRASXqofcr5WFr4mDEdTXuiqtjdfB S5c1ZBXqY7EdydTQKgWNLLX5zt9eVqJ5ocMRH2s4eYHKZl8vqWA0gJNhWfjk5L5x13aR 4pQmcBcWVDRqQXI1iZuEDA6JXmq4Rzp5C4Q9r9qegIkzsW5kqN9YoAUjTtJ/iNXZAS4f bwPXdx7QWZjuVcHMhJ/gr3JcEVNVkmvWRtX63EfDs807HkGb5xwCu0XRCCz36deEaph9 LtLA== MIME-Version: 1.0 X-Received: by 10.112.164.229 with SMTP id yt5mr3793014lbb.31.1389855546452; Wed, 15 Jan 2014 22:59:06 -0800 (PST) Received: by 10.112.220.3 with HTTP; Wed, 15 Jan 2014 22:59:06 -0800 (PST) Date: Thu, 16 Jan 2014 12:29:06 +0530 Message-ID: From: neeraj kumar To: dev@dpdk.org, Thomas Monjalon Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] [PATCH]: to create KNI on 32 bit system X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 06:57:56 -0000 It is in regard to this commit *d92c66f5ac53a7b803efcb4782e601ea99c38a7e* By default in 32 bit kernel *High Memory Support* option of make menuconfig is selected with size 4 GB, therefore it gives compilation error. Thus to use KNI on 32 bit system we need kernel with High memory support of 64 GB, i.e *PAE* (*Physical Address Extension*) *Support*, then we can be able to use it in 32 bit environment. Signed-off by: neeraj kumar *PATCH 1: * --- a/defconfig_i686-default-linuxapp-gcc 2014-01-06 15:41:00.349528422 +0530 +++ b/defconfig_i686-default-linuxapp-gcc 2014-01-06 15:41:38.161590053 +0530 @@ -273,9 +273,11 @@ CONFIG_RTE_SCHED_PORT_N_GRINDERS=8 # # Compile librte_kni -# KNI is not supported on 32-bit +# KNI will be supported on 32-bit if +# PAE(Physical Address Extension, i.e High page support) +# is configured in the kernel # -CONFIG_RTE_LIBRTE_KNI=n +CONFIG_RTE_LIBRTE_KNI=y CONFIG_RTE_LIBRTE_KNI_DEBUG=n CONFIG_RTE_KNI_KO_DEBUG=n CONFIG_RTE_KNI_VHOST=n *PATCH 2:* --- a/defconfig_i686-default-linuxapp-icc 2014-01-06 16:02:47.552420173 +0530 +++ b/defconfig_i686-default-linuxapp-icc 2014-01-06 16:05:27.556579827 +0530 @@ -273,9 +273,12 @@ CONFIG_RTE_SCHED_PORT_N_GRINDERS=8 # # Compile librte_kni -# KNI is not supported on 32-bit +# KNI will be supported on 32-bit if +# PAE(Physical Address Extension, i.e High page support) +# is configured in the kernel # -CONFIG_RTE_LIBRTE_KNI=n + +CONFIG_RTE_LIBRTE_KNI=y CONFIG_RTE_LIBRTE_KNI_DEBUG=n CONFIG_RTE_KNI_KO_DEBUG=n CONFIG_RTE_KNI_VHOST=n *PATCH 3: Kernel config change* --- a/.config 2014-01-06 15:57:24.549042056 +0530 +++ b/.config 2014-01-06 15:58:03.263773338 +0530 @@ -116,6 +116,7 @@ CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y +# CONFIG_NUMA_BALANCING is not set # CONFIG_CGROUPS is not set # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_NAMESPACES=y @@ -346,19 +347,31 @@ CONFIG_VM86=y # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set # CONFIG_NOHIGHMEM is not set -CONFIG_HIGHMEM4G=y -# CONFIG_HIGHMEM64G is not set +# CONFIG_HIGHMEM4G is not set +CONFIG_HIGHMEM64G=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y -CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_X86_PAE=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_NUMA=y +# CONFIG_NUMA_EMU is not set +CONFIG_NODES_SHIFT=3 +CONFIG_ARCH_HAVE_MEMORY_PRESENT=y +CONFIG_NEED_NODE_MEMMAP_SIZE=y +CONFIG_ARCH_DISCONTIGMEM_ENABLE=y +CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_DISCONTIGMEM_MANUAL=y # CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y +CONFIG_DISCONTIGMEM=y CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_STATIC=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y @@ -368,7 +381,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 aaa