Skip to content

Commit

Permalink
Update Broadcom SAI to version 6.0.0.13 (#9789)
Browse files Browse the repository at this point in the history
Why I did it
Update Broadcom SAI to version 6.0.0.13, SDK 6.5.24, saibcm-modules to 6.5.24.gpl

How I did it
Brcm SAI 6.0 EA with fixes for CS00012203367, CS00012219613, CS00012213974, CS00012218290, CS00012217169, CS00012211718, CS00012213944, CS00012215529, CS00012218100, CS00012214196, CS00012212681, CS00012205138, CS00012208537, CS00012185316, CS00012208524, CS00012203367, CS00012197364.
  • Loading branch information
judyjoseph committed Jan 25, 2022
1 parent 05138d1 commit e4239f8
Show file tree
Hide file tree
Showing 33 changed files with 391 additions and 386 deletions.
4 changes: 2 additions & 2 deletions platform/broadcom/sai-modules.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Broadcom SAI modules

BRCM_OPENNSL_KERNEL_VERSION = 6.0.0.10
BRCM_OPENNSL_KERNEL_VERSION = 6.0.0.13

BRCM_OPENNSL_KERNEL = opennsl-modules_$(BRCM_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules
Expand All @@ -10,7 +10,7 @@ $(BRCM_OPENNSL_KERNEL)_MACHINE = broadcom
SONIC_DPKG_DEBS += $(BRCM_OPENNSL_KERNEL)

# SAI bcm modules for DNX family ASIC
BRCM_DNX_OPENNSL_KERNEL_VERSION = 6.0.0.10
BRCM_DNX_OPENNSL_KERNEL_VERSION = 6.0.0.13

BRCM_DNX_OPENNSL_KERNEL = opennsl-modules-dnx_$(BRCM_DNX_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_DNX_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules-dnx
Expand Down
2 changes: 1 addition & 1 deletion platform/broadcom/sai.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LIBSAIBCM_VERSION = 6.0.0.10-1
LIBSAIBCM_VERSION = 6.0.0.13
LIBSAIBCM_BRANCH_NAME = REL_6.0
LIBSAIBCM_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/$(LIBSAIBCM_BRANCH_NAME)/$(LIBSAIBCM_VERSION)"

Expand Down
2 changes: 1 addition & 1 deletion platform/broadcom/saibcm-modules-dnx
6 changes: 6 additions & 0 deletions platform/broadcom/saibcm-modules/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
opennsl (6.0.0.13) unstable; urgency=medium

* Update to Broadcom SAI 6.0.0.13

-- Judy Joseph <[email protected]> Fri, 14 Jan 2022 18:36:38 +0000

opennsl (6.0.0.10) unstable; urgency=medium

* Update to Broadcom SAI 6.0.0.10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@ systems/linux/user/x86-smp_generic_64-2_6/linux-bcm-knet.ko lib/modules/5.10.0-8
systems/linux/user/x86-smp_generic_64-2_6/linux-kernel-bde.ko lib/modules/5.10.0-8-2-amd64/extra
systems/linux/user/x86-smp_generic_64-2_6/linux-user-bde.ko lib/modules/5.10.0-8-2-amd64/extra
systems/linux/user/x86-smp_generic_64-2_6/linux-knet-cb.ko lib/modules/5.10.0-8-2-amd64/extra
systems/linux/user/x86-smp_generic_64-2_6/linux-bcm-ptp-clock.ko lib/modules/5.10.0-8-2-amd64/extra
systemd/opennsl-modules.service lib/systemd/system
sdklt/linux/bde/linux_ngbde.ko lib/modules/5.10.0-8-2-amd64/extra
4 changes: 4 additions & 0 deletions platform/broadcom/saibcm-modules/include/ibde.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ typedef struct ibde_s {
uint32 addr, /* The address to access in the internal device address space */
uint32 value); /* the value to be written. */

/* 64 bit read/write */
uint64 (*read64)(int d, uint32 addr);
void (*write64)(int d, uint32 addr, uint64 data);

} ibde_t;


Expand Down
16 changes: 16 additions & 0 deletions platform/broadcom/saibcm-modules/include/soc/devids.h
Original file line number Diff line number Diff line change
Expand Up @@ -1842,6 +1842,22 @@
#define BCM8884E_DEVICE_ID 0x884E
#define BCM8884F_DEVICE_ID 0x884F

#define BCM88831_DEVICE_ID 0x8831
#define BCM88832_DEVICE_ID 0x8832
#define BCM88833_DEVICE_ID 0x8833
#define BCM88834_DEVICE_ID 0x8834
#define BCM88835_DEVICE_ID 0x8835
#define BCM88836_DEVICE_ID 0x8836
#define BCM88837_DEVICE_ID 0x8837
#define BCM88838_DEVICE_ID 0x8838
#define BCM88839_DEVICE_ID 0x8839
#define BCM8883A_DEVICE_ID 0x883A
#define BCM8883B_DEVICE_ID 0x883B
#define BCM8883C_DEVICE_ID 0x883C
#define BCM8883D_DEVICE_ID 0x883D
#define BCM8883E_DEVICE_ID 0x883E
#define BCM8883F_DEVICE_ID 0x883F


#define Q2A_DEVICE_ID 0x8480
#define Q2A_A0_REV_ID DNXC_A0_REV_ID
Expand Down
4 changes: 3 additions & 1 deletion platform/broadcom/saibcm-modules/make/Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,11 @@ INCFLAGS = -I${INCDIR} -I${SDK}/systems
CFLAGS += ${INCFLAGS}
CXXFLAGS += ${INCFLAGS}
CPPFLAGS += ${INCFLAGS}

CFLAGS += -DSAI_FIXUP -UKCOM_FILTER_MAX -DKCOM_FILTER_MAX=1025 -UKCOM_NETIF_MAX -DKCOM_NETIF_MAX=1056

# Flag to enable multi instance support
CFLAGS += -DBCM_INSTANCE_SUPPORT

#
# Debug #ifdef control
#
Expand Down
6 changes: 4 additions & 2 deletions platform/broadcom/saibcm-modules/make/Makefile.linux-iproc
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,14 @@ ifeq (BE,$(ENDIAN_MODE))
#request for BE support but don't currently mainstream it. So a 5.1.0 version
#has not been built. Continue using 5.0.3 for any BE support
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61-be/XLDK32
KERN_BASE_DIR ?= $(TOOLCHAIN_BASE_DIR)
TARGET_ARCHITECTURE:=armeb-broadcom-linux-uclibcgnueabi
KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/linux
else
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61/XLDK32
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/XLDK_GCC10/XLDK32
KERN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61/XLDK32
TARGET_ARCHITECTURE:= arm-broadcom-linux-uclibcgnueabi
KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/linux
KERNDIR ?= $(KERN_BASE_DIR)/kernel/linux
endif

ifeq (,$(CROSS_COMPILE))
Expand Down
8 changes: 5 additions & 3 deletions platform/broadcom/saibcm-modules/make/Makefile.linux-iproc_64
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,14 @@ ifeq (BE,$(ENDIAN_MODE))
#We've never actually built a 64 BE executable. Just here for any future
#customer requirements.
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61-be/XLDK64
KERN_BASE_DIR ?= $(TOOLCHAIN_BASE_DIR)
TARGET_ARCHITECTURE ?= aarch64_be-broadcom-linux-uclibc
KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/linux
KERNDIR ?= $(KERN_BASE_DIR)/kernel/linux
else
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61/XLDK64
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/XLDK_GCC10/XLDK64
KERN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/xldk61/XLDK64
TARGET_ARCHITECTURE ?= aarch64-broadcom-linux-uclibc
KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/linux
KERNDIR ?= $(KERN_BASE_DIR)/kernel/linux
endif

ifeq (,$(CROSS_COMPILE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,6 @@ ifeq (,$(KFLAGS))
KFLAGS := -nostdinc -isystem $(SYSINC) -I$(KERNDIR)/include -I$(KERNDIR)/arch/x86/include -include $(AUTOCONF) -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m64 -mtune=generic -mno-red-zone -fno-pie -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fomit-frame-pointer -g -Wdeclaration-after-statement -Wno-pointer-sign
endif

ifeq ($(LINUX_MAKE_SHARED_LIB), 1)
KFLAGS += -fPIC -mcmodel=small
else
KFLAGS += -fno-pie -mcmodel=kernel
endif

LINUX_UAPI = $(LINUX_INCLUDE)/uapi
ifneq (,$(shell ls $(LINUX_UAPI) 2>/dev/null))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,6 @@
#define KMALLOC(size, flags) kmalloc(size, flags)
#endif

#if defined(CONFIG_IDT_79EB334) || defined(CONFIG_BCM4702)
/* ioremap is broken in kernel */
#define IOREMAP(addr, size) ((void *)KSEG1ADDR(addr))
#else
#define IOREMAP(addr, size) ioremap(addr, size)
#endif

#if defined (__mips__)
#if defined(CONFIG_NONCOHERENT_IO) || defined(CONFIG_DMA_NONCOHERENT)
/* Use flush/invalidate for cached memory */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,16 @@ THIS_MOD_NAME := linux-kernel-bde
MODULE = $(LIBDIR)/$(THIS_MOD_NAME).o
KMODULE = $(LIBDIR)/$(THIS_MOD_NAME).ko

build: kernel_libs module $(KMODULE)
build: $(KMODULE)
else
MODULE = $(LIBDIR)/linux-kernel-bde.o

build: kernel_libs module
build: module
endif

module: kernel_libs $(MODULE)
module: $(MODULE)

$(MODULE): $(BLDDIR)/.tree $(BOBJS)
$(MODULE): $(BLDDIR)/.tree $(BOBJS) kernel_libs
mkdir -p $(@D)
$(LD) $(MODULE_LDFLAGS) -r -d $(BOBJS) $(LIBS) -o $@
ifneq ($(kernel_version),2_4)
Expand Down
Loading

0 comments on commit e4239f8

Please sign in to comment.