doc: move env/arch guidelines in design section
authorThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 23 Jun 2015 13:29:59 +0000 (15:29 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 23 Jun 2015 13:35:19 +0000 (15:35 +0200)
Move EAL subdirs guidelines from coding style to design section.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
doc/guides/guidelines/coding_style.rst
doc/guides/guidelines/design.rst [new file with mode: 0644]
doc/guides/guidelines/index.rst

index 27ea53c..c27fef4 100644 (file)
@@ -1,5 +1,5 @@
 Coding Style
-=============
+============
 
 Description
 -----------
@@ -684,58 +684,6 @@ Control Statements
                  /* NOTREACHED */
          }
 
-Environment or Architecture-specific Sources
---------------------------------------------
-
-In DPDK and DPDK applications, some code is specific to an architecture (i686, x86_64) or to an executive environment (bsdapp or linuxapp) and so on.
-As far as is possible, all such instances of architecture or env-specific code should be provided via standard APIs in the EAL.
-
-By convention, a file is common if it is not located in a directory indicating that it is specific.
-For instance, a file located in a subdir of "x86_64" directory is specific to this architecture.
-A file located in a subdir of "linuxapp" is specific to this execution environment.
-
-.. note::
-
-       Code in DPDK libraries and applications should be generic.
-       The correct location for architecture or executive environment specific code is in the EAL.
-
-When absolutely necessary, there are several ways to handle specific code:
-
-* Use a ``#ifdef`` with the CONFIG option in the C code.
-  This can be done when the differences are small and they can be embedded in the same C file:
-
-.. code-block: console
-
-   #ifdef RTE_ARCH_I686
-   toto();
-   #else
-   titi();
-   #endif
-
-* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.  This should only apply inside the EAL library.
-
-.. note:
-
-       As in the linux kernel, the "CONFIG_" prefix is not used in C code.
-       This is only needed in Makefiles or shell scripts.
-
-Per Architecture Sources
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following config options can be used:
-
-* CONFIG_RTE_ARCH is a string that contains the name of the architecture.
-* CONFIG_RTE_ARCH_I686, CONFIG_RTE_ARCH_X86_64, CONFIG_RTE_ARCH_X86_64_32 or CONFIG_RTE_ARCH_PPC_64 are defined only if we are building for those architectures.
-
-Per Execution Environment Sources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following config options can be used:
-
-* CONFIG_RTE_EXEC_ENV is a string that contains the name of the executive environment.
-* CONFIG_RTE_EXEC_ENV_BSDAPP or CONFIG_RTE_EXEC_ENV_LINUXAPP are defined only if we are building for this execution environment.
-
 Doxygen Documentation
 ---------------------
 
diff --git a/doc/guides/guidelines/design.rst b/doc/guides/guidelines/design.rst
new file mode 100644 (file)
index 0000000..b4ae1d1
--- /dev/null
@@ -0,0 +1,54 @@
+Design
+======
+
+Environment or Architecture-specific Sources
+--------------------------------------------
+
+In DPDK and DPDK applications, some code is specific to an architecture (i686, x86_64) or to an executive environment (bsdapp or linuxapp) and so on.
+As far as is possible, all such instances of architecture or env-specific code should be provided via standard APIs in the EAL.
+
+By convention, a file is common if it is not located in a directory indicating that it is specific.
+For instance, a file located in a subdir of "x86_64" directory is specific to this architecture.
+A file located in a subdir of "linuxapp" is specific to this execution environment.
+
+.. note::
+
+       Code in DPDK libraries and applications should be generic.
+       The correct location for architecture or executive environment specific code is in the EAL.
+
+When absolutely necessary, there are several ways to handle specific code:
+
+* Use a ``#ifdef`` with the CONFIG option in the C code.
+  This can be done when the differences are small and they can be embedded in the same C file:
+
+.. code-block: console
+
+   #ifdef RTE_ARCH_I686
+   toto();
+   #else
+   titi();
+   #endif
+
+* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
+  In this case, the code is split into two separate files that are architecture or environment specific.  This should only apply inside the EAL library.
+
+.. note:
+
+       As in the linux kernel, the "CONFIG_" prefix is not used in C code.
+       This is only needed in Makefiles or shell scripts.
+
+Per Architecture Sources
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following config options can be used:
+
+* CONFIG_RTE_ARCH is a string that contains the name of the architecture.
+* CONFIG_RTE_ARCH_I686, CONFIG_RTE_ARCH_X86_64, CONFIG_RTE_ARCH_X86_64_32 or CONFIG_RTE_ARCH_PPC_64 are defined only if we are building for those architectures.
+
+Per Execution Environment Sources
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following config options can be used:
+
+* CONFIG_RTE_EXEC_ENV is a string that contains the name of the executive environment.
+* CONFIG_RTE_EXEC_ENV_BSDAPP or CONFIG_RTE_EXEC_ENV_LINUXAPP are defined only if we are building for this execution environment.
index b2b0a92..0ee9ab3 100644 (file)
@@ -6,3 +6,4 @@ Guidelines
     :numbered:
 
     coding_style
+    design