diff --git a/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst b/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst
new file mode 100644
index 000000000..b8dd3c7e8
--- /dev/null
+++ b/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst
@@ -0,0 +1,20 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2018 Intel Corporation.
+
+EAL parameters
+==============
+
+This document contains a list of all EAL parameters. These parameters can be
+used by any DPDK application running on Linux.
+
+Common EAL parameters
+---------------------
+
+The following EAL parameters are common to all platforms supported by DPDK.
+
+.. include:: ../linux_gsg/eal_args.include.rst
+
+FreeBSD-specific EAL parameters
+-------------------------------
+
+There are currently no FreeBSD-specific EAL command-line parameters available.
diff --git a/doc/guides/freebsd_gsg/index.rst b/doc/guides/freebsd_gsg/index.rst
index fdb4df32e..9af5988dc 100644
--- a/doc/guides/freebsd_gsg/index.rst
+++ b/doc/guides/freebsd_gsg/index.rst
@@ -14,3 +14,4 @@ Getting Started Guide for FreeBSD
     install_from_ports
     build_dpdk
     build_sample_apps
+    freebsd_eal_parameters
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
new file mode 100644
index 000000000..cf421a56e
--- /dev/null
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -0,0 +1,146 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2018 Intel Corporation.
+
+Lcore-related options
+~~~~~~~~~~~~~~~~~~~~~
+
+*   ``-c <core mask>``
+
+    Set the hexadecimal bitmask of the cores to run on.
+
+*   ``-l <core list>``
+
+    List of cores to run on
+
+    The argument format is ``<c1>[-c2][,c3[-c4],...]``
+    where ``c1``, ``c2``, etc are core indexes between 0 and 128.
+
+*   ``--lcores <core map>``
+
+    Map lcore set to physical cpu set
+
+    The argument format is::
+
+       <lcores[@cpus]>[<,lcores[@cpus]>...]
+
+    Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group.
+    The ``-`` character is used as a range separator and ``,`` is used as a
+    single number separator.
+    The grouping ``()`` can be omitted for single element group.
+    The ``@`` can be omitted if cpus and lcores have the same value.
+
+.. Note::
+    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can
+    be used.
+
+*   ``--master-lcore <core ID>``
+
+    Core ID that is used as master.
+
+*   ``-s <service core mask>``
+
+    Hexadecimal bitmask of cores to be used as service cores.
+
+Device-related options
+~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+
+    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
+    allowed.
+
+.. Note::
+    PCI blacklist cannot be used with ``-w`` option.
+
+*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+
+    Add a PCI device in white list.
+
+.. Note::
+    PCI whitelist cannot be used with ``-b`` option.
+
+*   ``--vdev <device arguments>``
+
+    Add a virtual device using the format::
+
+       <driver><id>[,key=val, ...]
+
+    For example::
+
+       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
+
+*   ``-d <path to shared object or directory>``
+
+    Load external drivers. An argument can be a single shared object file, or a
+    directory containing multiple driver shared objects. Multiple -d options are
+    allowed.
+
+*   ``--no-pci``
+
+    Disable PCI bus.
+
+Multiprocessing-related options
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``--proc-type <primary|secondary|auto>``
+
+    Set the type of the current process.
+
+Memory-related options
+~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``-n <number of channels>``
+
+    Set the number of memory channels to use.
+
+*   ``-r <number of ranks>``
+
+    Set the number of memory ranks (auto-detected by default).
+
+*   ``-m <megabytes>``
+
+    Amount of memory to preallocate at startup.
+
+*   ``--in-memory``
+
+    Do not create any shared data structures and run entirely in memory. Implies
+    ``--no-shconf`` and (if applicable) ``--huge-unlink``.
+
+*   ``--iova-mode <pa|va>``
+
+    Force IOVA mode to a specific value.
+
+Debugging options
+~~~~~~~~~~~~~~~~~
+
+*   ``--no-shconf``
+
+    No shared files created (implies no secondary process support).
+
+*   ``--no-huge``
+
+    Use anonymous memory instead of hugepages (implies no secondary process
+    support).
+
+*   ``--log-level <type:val>``
+
+    Specify log level for a specific component. For example::
+
+        --log-level eal:8
+
+    Can be specified multiple times.
+
+Other options
+~~~~~~~~~~~~~
+
+*   ``-h``, ``--help``
+
+    Display help message listing all EAL parameters.
+
+*   ``-v``
+
+    Display the version information on startup.
+
+*   ``mbuf-pool-ops-name``:
+
+    Pool ops name for mbuf to use.
diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst
index 077f93023..0f9f6242c 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -16,6 +16,7 @@ Getting Started Guide for Linux
     cross_build_dpdk_for_arm64
     linux_drivers
     build_sample_apps
+    linux_eal_parameters
     enable_func
     quick_start
     nic_perf_intel_platform
diff --git a/doc/guides/linux_gsg/linux_eal_parameters.rst b/doc/guides/linux_gsg/linux_eal_parameters.rst
new file mode 100644
index 000000000..28aebfbda
--- /dev/null
+++ b/doc/guides/linux_gsg/linux_eal_parameters.rst
@@ -0,0 +1,118 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2018 Intel Corporation.
+
+EAL parameters
+==============
+
+This document contains a list of all EAL parameters. These parameters can be
+used by any DPDK application running on Linux.
+
+Common EAL parameters
+---------------------
+
+The following EAL parameters are common to all platforms supported by DPDK.
+
+.. include:: eal_args.include.rst
+
+Linux-specific EAL parameters
+-----------------------------
+
+In addition to common EAL parameters, there are also Linux-specific EAL
+parameters.
+
+Device-related options
+~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``--create-uio-dev``
+
+    Create ``/dev/uioX`` files for devices bound to igb_uio kernel driver
+    (usually done by the igb_uio driver itself).
+
+*   ``--vmware-tsc-map``
+
+    Use VMware TSC map instead of native RDTSC.
+
+*   ``--no-hpet``
+
+    Do not use the HPET timer.
+
+*   ``--vfio-intr <legacy|msi|msix>``
+
+    Use specified interrupt mode for devices bound to VFIO kernel driver.
+
+Multiprocessing-related options
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``--file-prefix <prefix name>``
+
+    Use a different shared data file prefix for a DPDK process. This option
+    allows running multiple independent DPDK primary/secondary processes under
+    different prefixes.
+
+*   ``--base-virtaddr <address>``
+
+    Attempt to use a different starting address for all memory maps of the
+    primary DPDK process. This can be helpful if secondary processes cannot
+    start due to conflicts in address map.
+
+Memory-related options
+~~~~~~~~~~~~~~~~~~~~~~
+
+*   ``--legacy-mem``
+
+    Use legacy DPDK memory allocation mode.
+
+*   ``--socket-mem <amounts of memory per socket>``
+
+    Preallocate specified amounts of memory per socket. The parameter is a
+    comma-separated list of values. For example::
+
+        --socket-mem 1024,2048
+
+    This will allocate 1 gigabyte of memory on socket 0, and 2048 megabytes of
+    memory on socket 1.
+
+*   ``--socket-limit <amounts of memory per socket>``
+
+    Place a per-socket upper limit on memory use (non-legacy memory mode only).
+    0 will disable the limit for a particular socket.
+
+*   ``--single-file-segments``
+
+    Create fewer files in hugetlbfs (non-legacy mode only).
+
+*   ``--huge-dir <path to hugetlbfs directory>``
+
+    Use specified hugetlbfs directory instead of autodetected ones.
+
+*   ``--huge-unlink``
+
+    Unlink hugepage files after creating them (implies no secondary process
+    support).
+
+Other options
+~~~~~~~~~~~~~
+
+*   ``--syslog <syslog facility>``
+
+    Set syslog facility. Valid syslog facilities are::
+
+        auth
+        cron
+        daemon
+        ftp
+        kern
+        lpr
+        mail
+        news
+        syslog
+        user
+        uucp
+        local0
+        local1
+        local2
+        local3
+        local4
+        local5
+        local6
+        local7
diff --git a/doc/guides/sample_app_ug/intro.rst b/doc/guides/sample_app_ug/intro.rst
index 575995de0..159bcf73b 100644
--- a/doc/guides/sample_app_ug/intro.rst
+++ b/doc/guides/sample_app_ug/intro.rst
@@ -10,6 +10,16 @@ DPDK features.  Users interested in getting started with DPDK can take the
 applications, try out the features, and then extend them to fit their needs.
 
 
+Running Sample Applications
+---------------------------
+
+Some sample applications may have their own command-line parameters described in
+their respective guides, however all of them also share the same EAL parameters.
+Please refer to  :doc:`../linux_gsg/linux_eal_parameters` or
+:doc:`../freebsd_gsg/freebsd_eal_parameters` for a list of available EAL
+command-line options.
+
+
 The DPDK Sample Applications
 ----------------------------
 
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index c79fd0d0b..f717bd3f4 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -7,135 +7,9 @@ Running the Application
 EAL Command-line Options
 ------------------------
 
-The following are the EAL command-line options that can be used in conjunction with the testpmd,
-or any other DPDK application.
-See the DPDK Getting Started Guides for more information on these options.
-
-*   ``-c COREMASK``
-
-    Set the hexadecimal bitmask of the cores to run on.
-
-*   ``-l CORELIST``
-
-    List of cores to run on
-
-    The argument format is ``<c1>[-c2][,c3[-c4],...]``
-    where ``c1``, ``c2``, etc are core indexes between 0 and 128.
-
-*   ``--lcores COREMAP``
-
-    Map lcore set to physical cpu set
-
-    The argument format is::
-
-       <lcores[@cpus]>[<,lcores[@cpus]>...]
-
-    Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group.
-    The ``-`` character is used as a range separator and ``,`` is used as a single number separator.
-    The grouping ``()`` can be omitted for single element group.
-    The ``@`` can be omitted if cpus and lcores have the same value.
-
-.. Note::
-    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can be used.
-
-
-*   ``--master-lcore ID``
-
-    Core ID that is used as master.
-
-*   ``-n NUM``
-
-    Set the number of memory channels to use.
-
-*   ``-b, --pci-blacklist domain:bus:devid.func``
-
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are allowed.
-
-*   ``-d LIB.so``
-
-    Load an external driver. Multiple -d options are allowed.
-
-*   ``-w, --pci-whitelist domain:bus:devid:func``
-
-    Add a PCI device in white list.
-
-*   ``-m MB``
-
-    Memory to allocate. See also ``--socket-mem``.
-
-*   ``-r NUM``
-
-    Set the number of memory ranks (auto-detected by default).
-
-*   ``-v``
-
-    Display the version information on startup.
-
-*   ``--syslog``
-
-    Set the syslog facility.
-
-*   ``--socket-mem``
-
-    Set the memory to allocate on specific sockets (use comma separated values).
-
-*   ``--huge-dir``
-
-    Specify the directory where the hugetlbfs is mounted.
-
-*   ``mbuf-pool-ops-name``:
-
-    Pool ops name for mbuf to use.
-
-*   ``--proc-type``
-
-    Set the type of the current process.
-
-*   ``--file-prefix``
-
-    Prefix for hugepage filenames.
-
-*   ``-vmware-tsc-map``
-
-    Use VMware TSC map instead of native RDTSC.
-
-*   ``--vdev``
-
-    Add a virtual device using the format::
-
-       <driver><id>[,key=val, ...]
-
-    For example::
-
-       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
-
-*   ``--base-virtaddr``
-
-    Specify base virtual address.
-
-*   ``--create-uio-dev``
-
-    Create ``/dev/uioX`` (usually done by hotplug).
-
-*   ``--no-shconf``
-
-    No shared config (mmap-ed files).
-
-*   ``--no-pci``
-
-    Disable pci.
-
-*   ``--no-hpet``
-
-    Disable hpet.
-
-*   ``--no-huge``
-
-    Use malloc instead of hugetlbfs.
-
-*   ``--iova-mode <pa|va>``
-
-    Force IOVA mode to a specific value.
+Please refer to  :doc:`../linux_gsg/linux_eal_parameters` or
+:doc:`../freebsd_gsg/freebsd_eal_parameters` for a list of available EAL
+command-line options.
 
 
 Testpmd Command-line Options
