[dpdk-dev] [PATCH]: to create KNI on 32 bit system
neeraj kumar
neeraj2290 at gmail.com
Thu Jan 16 07:59:06 CET 2014
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
More information about the dev
mailing list