[PULL,v2,Xenial] Add OpenNSL to Xenial Kernel

Message ID 1502183186-4307-1-git-send-email-jesse.sung@canonical.com
State New
Headers show

Pull-request

https://git.launchpad.net/~wenchien/+git/xenial lp1665783-v2

Message

Wen-chien Jesse Sung Aug. 8, 2017, 9:06 a.m.
BugLink: https://launchpad.net/bugs/1665783

v2: remove files without compatible license, and also doc:
    doc/
    examples/
    include/opennsl/
    include/examples/
    Legal/LICENSE-Adv
    OpenNSL_3.1.0.17_Release_Notes_CDP.pdf

OpenNSL: https://github.com/Broadcom-Switch/OpenNSL
The goal is to integrate the kernel part in OpenNSL which provides an
interface to access Broadcom switch chips.

These patches are based on rtg's previous work. OpenNSL modules will only
be enabled in amd64 build.

Please note the version integrated at this point is v3.1.0.17 (SDK 6.4.10)
instead of the latest one due to project requirement.

----------------------------------------------------------------
The following changes since commit 64de31ed97a03ec1b86fd4f76e445506dce55b02:

  UBUNTU: Ubuntu-4.4.0-89.112 (2017-07-31 14:51:04 -0300)

are available in the git repository at:

  https://git.launchpad.net/~wenchien/+git/xenial lp1665783-v2

for you to fetch changes up to c47070a389d56f71aa10b891c727522cd7a5cf08:

  UBUNTU: SAUCE: opennsl: add proper CFLAGS (2017-08-08 14:55:49 +0800)

----------------------------------------------------------------
Tim Gardner (2):
      UBUNTU: [Config] CONFIG_OPENNSL=y for amd64
      UBUNTU: OpenNSL: Enable Kconfig and build

Wen-chien Jesse Sung (3):
      UBUNTU: [Config] OpenNSL Kconfig/Makefile
      UBUNTU: Import OpenNSL v3.1.0.17
      UBUNTU: SAUCE: opennsl: add proper CFLAGS

 debian.master/config/amd64/config.flavour.generic  |    1 +
 .../config/amd64/config.flavour.lowlatency         |    1 +
 debian.master/config/arm64/config.common.arm64     |    1 +
 debian.master/config/armhf/config.common.armhf     |    1 +
 debian.master/config/config.common.ubuntu          |    3 +
 debian.master/config/i386/config.common.i386       |    1 +
 debian.master/config/powerpc/config.common.powerpc |    1 +
 debian.master/config/ppc64el/config.common.ppc64el |    1 +
 ubuntu/Kconfig                                     |    4 +
 ubuntu/Makefile                                    |    2 +
 ubuntu/opennsl/Kconfig                             |   23 +
 ubuntu/opennsl/Makefile                            |   42 +
 ubuntu/opennsl/OpenNSL/LEGAL_TERMS                 |   16 +
 ubuntu/opennsl/OpenNSL/Legal/LICENSE-Apache2       |  174 +
 ubuntu/opennsl/OpenNSL/README.md                   |   27 +
 ubuntu/opennsl/OpenNSL/RELEASE                     |    1 +
 ubuntu/opennsl/OpenNSL/include/sal/commdefs.h      |   27 +
 ubuntu/opennsl/OpenNSL/include/sal/compiler.h      |  602 ++
 ubuntu/opennsl/OpenNSL/include/sal/driver.h        |   70 +
 ubuntu/opennsl/OpenNSL/include/sal/types.h         |  236 +
 ubuntu/opennsl/OpenNSL/include/sal/version.h       |   38 +
 ubuntu/opennsl/OpenNSL/include/shared/bitop.h      |  135 +
 ubuntu/opennsl/OpenNSL/include/shared/error.h      |  118 +
 ubuntu/opennsl/OpenNSL/include/shared/gport.h      |  159 +
 ubuntu/opennsl/OpenNSL/include/shared/pbmp.h       |  280 +
 ubuntu/opennsl/OpenNSL/include/shared/phyconfig.h  |   59 +
 ubuntu/opennsl/OpenNSL/include/shared/phyreg.h     |   39 +
 ubuntu/opennsl/OpenNSL/include/shared/port.h       |  176 +
 .../opennsl/OpenNSL/include/shared/port_ability.h  |  269 +
 ubuntu/opennsl/OpenNSL/include/shared/portmode.h   |  131 +
 ubuntu/opennsl/OpenNSL/include/shared/rx.h         |  448 ++
 ubuntu/opennsl/OpenNSL/include/shared/switch.h     |   32 +
 ubuntu/opennsl/OpenNSL/include/shared/types.h      |   53 +
 ubuntu/opennsl/OpenNSL/include/shared/util.h       |   33 +
 .../opennsl/OpenNSL/sdk-6.4.10-gpl-modules/RELEASE |    0
 .../OpenNSL/sdk-6.4.10-gpl-modules/include/ibde.h  |  152 +
 .../OpenNSL/sdk-6.4.10-gpl-modules/include/kcom.h  |  512 ++
 .../sdk-6.4.10-gpl-modules/include/sal/core/sync.h |   39 +
 .../include/sal/core/thread.h                      |   31 +
 .../sdk-6.4.10-gpl-modules/include/sal/types.h     |  156 +
 .../sdk-6.4.10-gpl-modules/include/sdk_config.h    |   46 +
 .../sdk-6.4.10-gpl-modules/include/soc/cmic.h      |   38 +
 .../sdk-6.4.10-gpl-modules/include/soc/devids.h    | 1692 ++++++
 .../sdk-6.4.10-gpl-modules/make/Make.config        |  364 ++
 .../sdk-6.4.10-gpl-modules/make/Make.depend        |  109 +
 .../sdk-6.4.10-gpl-modules/make/Make.kernlib       |   67 +
 .../OpenNSL/sdk-6.4.10-gpl-modules/make/Make.lib   |   81 +
 .../OpenNSL/sdk-6.4.10-gpl-modules/make/Make.linux |   98 +
 .../sdk-6.4.10-gpl-modules/make/Make.subdirs       |   45 +
 .../OpenNSL/sdk-6.4.10-gpl-modules/make/Make.tools |   39 +
 .../make/Makefile.linux-gto-2_6                    |  267 +
 .../make/Makefile.linux-kernel                     |  113 +
 .../make/Makefile.linux-kernel-2_6                 |  149 +
 .../make/Makefile.linux-kmodule                    |   79 +
 .../make/Makefile.linux-x86-common-2_6             |   43 +
 .../make/Makefile.linux-x86-generic-common-2_6     |   52 +
 .../make/Makefile.linux-x86-smp_generic_64-2_6     |   39 +
 .../systems/bde/linux/include/linux-bde.h          |  257 +
 .../systems/bde/linux/include/mpool.h              |   37 +
 .../systems/bde/linux/kernel/Makefile              |  115 +
 .../systems/bde/linux/kernel/linux-kernel-bde.c    | 5268 +++++++++++++++++
 .../systems/bde/linux/kernel/linux_shbde.c         |  121 +
 .../systems/bde/linux/kernel/linux_shbde.h         |   34 +
 .../systems/bde/linux/shared/mpool.c               |  295 +
 .../systems/bde/linux/user/kernel/Makefile         |   71 +
 .../systems/bde/linux/user/kernel/linux-user-bde.c | 1144 ++++
 .../systems/bde/linux/user/kernel/linux-user-bde.h |  113 +
 .../systems/bde/shared/include/shbde.h             |   71 +
 .../systems/bde/shared/include/shbde_iproc.h       |   49 +
 .../systems/bde/shared/include/shbde_mdio.h        |   60 +
 .../systems/bde/shared/include/shbde_pci.h         |   41 +
 .../systems/bde/shared/shbde_iproc.c               |  414 ++
 .../systems/bde/shared/shbde_mdio.c                |  187 +
 .../systems/bde/shared/shbde_pci.c                 |  318 +
 .../systems/linux/kernel/modules/Makefile          |   32 +
 .../systems/linux/kernel/modules/bcm-knet/Makefile |   68 +
 .../linux/kernel/modules/bcm-knet/bcm-knet.c       | 6139 ++++++++++++++++++++
 .../linux/kernel/modules/include/bcm-knet.h        |   71 +
 .../systems/linux/kernel/modules/include/gmodule.h |   66 +
 .../systems/linux/kernel/modules/include/lkm.h     |  180 +
 .../systems/linux/kernel/modules/shared/Makefile   |   30 +
 .../systems/linux/kernel/modules/shared/gmodule.c  |  428 ++
 .../systems/linux/kernel/modules/shared/ksal.c     |  251 +
 .../systems/linux/user/common/Makefile             |  210 +
 .../systems/linux/user/gto-2_6/Makefile            |   85 +
 .../linux/user/x86-smp_generic_64-2_6/Makefile     |   46 +
 .../OpenNSL/sdk-6.4.10-gpl-modules/tools/mktool.pl |  293 +
 87 files changed, 23909 insertions(+)
 create mode 100644 ubuntu/opennsl/Kconfig
 create mode 100644 ubuntu/opennsl/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/LEGAL_TERMS
 create mode 100644 ubuntu/opennsl/OpenNSL/Legal/LICENSE-Apache2
 create mode 100644 ubuntu/opennsl/OpenNSL/README.md
 create mode 100644 ubuntu/opennsl/OpenNSL/RELEASE
 create mode 100755 ubuntu/opennsl/OpenNSL/include/sal/commdefs.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/sal/compiler.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/sal/driver.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/sal/types.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/sal/version.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/bitop.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/error.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/gport.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/pbmp.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/phyconfig.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/phyreg.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/port.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/port_ability.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/portmode.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/rx.h
 create mode 100644 ubuntu/opennsl/OpenNSL/include/shared/switch.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/types.h
 create mode 100755 ubuntu/opennsl/OpenNSL/include/shared/util.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/RELEASE
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/ibde.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/kcom.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/sal/core/sync.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/sal/core/thread.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/sal/types.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/sdk_config.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/soc/cmic.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/include/soc/devids.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.config
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.depend
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.kernlib
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.lib
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.linux
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.subdirs
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Make.tools
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-gto-2_6
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-kernel
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-kernel-2_6
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-kmodule
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-x86-common-2_6
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-x86-generic-common-2_6
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/make/Makefile.linux-x86-smp_generic_64-2_6
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/include/linux-bde.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/include/mpool.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/kernel/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/kernel/linux-kernel-bde.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/kernel/linux_shbde.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/kernel/linux_shbde.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/shared/mpool.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/user/kernel/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/user/kernel/linux-user-bde.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/linux/user/kernel/linux-user-bde.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/include/shbde.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/include/shbde_iproc.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/include/shbde_mdio.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/include/shbde_pci.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/shbde_iproc.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/shbde_mdio.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/bde/shared/shbde_pci.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/bcm-knet/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/bcm-knet/bcm-knet.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/include/bcm-knet.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/include/gmodule.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/include/lkm.h
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/shared/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/shared/gmodule.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/kernel/modules/shared/ksal.c
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/user/common/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/user/gto-2_6/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/systems/linux/user/x86-smp_generic_64-2_6/Makefile
 create mode 100644 ubuntu/opennsl/OpenNSL/sdk-6.4.10-gpl-modules/tools/mktool.pl

Comments

Brad Figg Aug. 15, 2017, 5:33 p.m. | #1
Looks clean to me.
Seth Forshee Aug. 16, 2017, 7:28 p.m. | #2
On Tue, Aug 08, 2017 at 05:06:26PM +0800, Wen-chien Jesse Sung wrote:
> BugLink: https://launchpad.net/bugs/1665783
> 
> v2: remove files without compatible license, and also doc:
>     doc/
>     examples/
>     include/opennsl/
>     include/examples/
>     Legal/LICENSE-Adv
>     OpenNSL_3.1.0.17_Release_Notes_CDP.pdf
> 
> OpenNSL: https://github.com/Broadcom-Switch/OpenNSL
> The goal is to integrate the kernel part in OpenNSL which provides an
> interface to access Broadcom switch chips.
> 
> These patches are based on rtg's previous work. OpenNSL modules will only
> be enabled in amd64 build.
> 
> Please note the version integrated at this point is v3.1.0.17 (SDK 6.4.10)
> instead of the latest one due to project requirement.

Looks well isolated from the rest of the kernel so shouldn't result in
any regressions.

One small nit, there are some links to license files on github in one of
the files which don't work, and the latter license isn't actually used
for the source anyway. This does't need to stop this from being applied,
but possibly consider fixing in a follow-on patch.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Thadeu Lima de Souza Cascardo Aug. 23, 2017, 1:34 p.m. | #3
Applied to xenial master-next branch.

Thanks.
Cascardo.