Make.local.template (19140B)
1 # 2 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 # 4 # Copyright 2007-2019 Broadcom Inc. All rights reserved. 5 # 6 7 # Usage for Make.local.template and Make.local: 8 # 9 # Make.local.template is checked into the tree, but Make.local is never 10 # checked in. Copy Make.local.template to Make.local, then change 11 # Make.local to select the desired compilation options (mostly debugging 12 # features). 13 # 14 # Note on CFGFLAGS usage: 15 # 16 # Because CFGFLAGS may be used with other source preprocessing tools, 17 # please limit the values added to CFGFLAGS to -D defines. 18 # 19 # 20 # Table of Contents: 21 # 22 # Compiler Related Options 23 # Boot and Debug Related Options 24 # Operational and Policy Options 25 # System Management and Multiple CPU Options 26 # Selective Device Support (Switches and PHYs) 27 # Miscellaneous Options 28 # 29 30 ################################################################ 31 # 32 # Compiler Related Options 33 # 34 ################################################################ 35 36 # Compiling out #ifdef DEBUG code saves about 1.3% on executable size. 37 # It is recommended to leave debug enabled when developing applications. 38 #DEBUG_IFDEFS=FALSE 39 40 # SAL resource usage tracking #ifdef control 41 # DEBUG_IFDEFS should also be TRUE for this switch to take effect. 42 #BCM_RESOURCE_USAGE_PROFILE_IFDEFS=TRUE 43 44 # Uncomment to build without debug symbols 45 #DEBUG_SYMBOLS=FALSE 46 47 # Uncomment to add private CFLAGS 48 #DEBUG_CFLAGS= 49 50 # Uncomment to turn off the optimizer when debugging (recommended) 51 #DEBUG_OPTIMIZE=FALSE 52 53 # Compiling out assert() saves about 1.1% on executable size, 54 # however do so is VERY MUCH discouraged. 55 #DEBUG_ASSERTS=FALSE 56 57 # Controlling GCC -pedantic flag 58 #DEBUG_PEDANTIC=TRUE 59 60 # compiler.h overrides, these disable various compiler 61 # related features even if the compiler normally supports them 62 63 # Enable use of the double for serdes 64 #CFGFLAGS += -DSERDES_API_FLOATING_POINT 65 66 # Disable use of long long for uint64 67 #CFGFLAGS += -DCOMPILER_OVERRIDE_NO_LONGLONG 68 69 # Disable use of doubles 70 #CFGFLAGS += -DCOMPILER_OVERRIDE_NO_DOUBLE 71 72 # Disable inlining of functions 73 #CFGFLAGS += -DCOMPILER_OVERRIDE_NO_INLINE 74 75 # Disable use of const 76 #CFGFLAGS += -DCOMPILER_OVERRIDE_NO_CONST 77 78 # Disable use of static functions 79 #CFGFLAGS += -DCOMPILER_OVERRIDE_NO_STATIC 80 81 # Disable RPC flexible (long) bitmaps. 82 # Warning: Disabling this changes the RPC version to 2 and 83 # makes systems running this code incompatible with systems 84 # running previous versions of BCM RPC code. 85 #CFGFLAGS += -DBCM_RPC_PBMP_64 86 87 # 88 # Define if longs are 64 bits on your compiler; 89 # this is typically true ONLY for 64-bit processors. 90 #CFGFLAGS += -DLONGS_ARE_64BITS 91 92 # 93 # Define if pointers are 64 bits on your compiler; 94 # this is typically true ONLY for 64-bit processors. 95 # NOTE: This support works ONLY under conditions where the 96 # upper 32 bits for ALL pointers are ZERO. 97 #CFGFLAGS += -DPTRS_ARE_64BITS 98 99 100 ################################################################ 101 # 102 # Boot and Debug Related Options 103 # 104 ################################################################ 105 106 # Define this to add debug code for RX pool buffer tracking 107 #CFGFLAGS += -DBCM_RXP_DEBUG 108 109 # Allow debugging of PCI reads/writes (debug +pci) 110 #CFGFLAGS += -DSOC_PCI_DEBUG 111 112 # Make default debugging settings be 0 (very very quiet) 113 #CFGFLAGS += -DNO_DEBUG_OUTPUT_DEFAULT 114 115 # Don't use vxMemProbe 116 #CFGFLAGS += -DVX_NO_MEM_PROBE 117 118 # Allow debugging of Memory Allocation/Deallocation logging 119 #CFGFLAGS += -DMEMLOG_SUPPORT 120 121 # Enable "Trace" sync for the BSL 122 #CFGFLAGS += -DBSL_TRACE_INCLUDE 123 124 ################################################################ 125 ################################################################ 126 # 127 # Operational and Policy Options 128 # 129 ################################################################ 130 131 # VLAN policy control: 132 # NO_DEFAULT_ETHER do not init ether ports into vlan 1 133 # NO_DEFAULT_CPU do not init cpu ports into vlan 1 134 # NO_DEFAULT_SPI_SUBPORT do not init spi subports into vlan 1 135 # NO_AUTO_STACK do not init stack/HG ports into created vlans 136 #CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_ETHER 137 #CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_CPU 138 #CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_SPI_SUBPORT 139 #CFGFLAGS += -DBCM_VLAN_NO_AUTO_STACK 140 141 # VLAN multicast flood Policy Control: 142 # BCM_VLAN_MCAST_FLOOD_ALL Flood all multicast packets to the VLAN 143 # BCM_VLAN_MCAST_FLOOD_UNKNOWN Flood unknown multicast packets to the vlan 144 # BCM_VLAN_MCAST_FLOOD_NONE Forward multicast packets with known 145 # destination addresses to the appropriate ports. 146 # All packets destined to an unknown multicast 147 # address are dropped. 148 #CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_ALL 149 #CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_UNKNOWN 150 #CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_NONE 151 152 #Port Enable/Disable Policy control: 153 # PORT_DEFAULT_DISABLE disable ports during switch initialization 154 #CFGFLAGS += -DBCM_PORT_DEFAULT_DISABLE 155 156 # sal thread priority override (this value used for all threads if defined) 157 #CFGFLAGS += -DSAL_THREAD_PRIORITY=255 158 159 # disable printing of thread name in messages 160 #CFGFLAGS += -DSAL_THREAD_NAME_PRINT_DISABLE 161 162 # disable runtime reading of flash config.bcm file (even if !NO_FILEIO) 163 #CFGFLAGS += -DSAL_CONFIG_FILE_DISABLE 164 165 # Ensure minimum required pthread stack size is satisfied 166 # CFGFLAGS += -DSAL_THREAD_STACK_MIN=<stack_min> 167 168 # disable all Application SAL dependencies 169 #NO_SAL_APPL=1 170 171 172 # Prevent scheduling in SPL locks when interrupt code is run as a thread. 173 # This option should not be necessary if all locks are implemented correctly, 174 # however, some locks may still rely on the assumption that scheduling does 175 # not occur when interrupts are disabled. If you experience any locking 176 # problems in e.g. Linux User Mode, try enabling this option. 177 # Please note that turning on this option will reduce performance by an 178 # estimated 5 to 10 %. 179 #CFGFLAGS += -DSAL_SPL_NO_PREEMPT 180 181 # disable mapping of higig cosq when mapping priority to cosq 182 # (use identity mapping instead : map prio0->cos0, prio1->cos1, ... , prio7->cos7) 183 #CFGFLAGS += -DBCM_COSQ_HIGIG_MAP_DISABLE 184 185 # Enable ukernel debugging module 186 #CFGFLAGS += -DSOC_UKERNEL_DEBUG 187 188 189 ################################################################ 190 # 191 # System Management and Multiple CPU Options 192 # 193 ################################################################ 194 195 # Turn on BCMX inclusion 196 # INCLUDE_BCMX for any support 197 #INCLUDE_BCMX=1 198 199 # Telekinesis suite applications for CPU to CPU communication and discovery 200 # CPUDB: Simple CPU data base manager 201 # CPUTRANS: CPU to CPU communication mechanisms 202 # DISCOVER: Simple discovery; will also include CPUTRANS 203 # STKTASK: Stack manager application 204 # 205 #CFGFLAGS += -DINCLUDE_LIB_CPUDB 206 #CFGFLAGS += -DINCLUDE_LIB_CPUTRANS 207 #CFGFLAGS += -DINCLUDE_LIB_DISCOVER 208 #CFGFLAGS += -DINCLUDE_LIB_STKTASK 209 210 # Option for discovery to use the application-data field in routing 211 # packets for Board-ID and CPU base flag information. 212 #CFGFLAGS += -DDISCOVER_APP_DATA_BOARDID 213 214 # Optionally override list of included dispatch modules 215 # Note: including RPC automatically includes the Telekinesis suite libs 216 # ESW is the enterprise platforms. 217 #DISPATCH_LIST = RPC ESW ASYNC 218 219 # Define to have end-to-end flow control enabled on boards that 220 # support it 221 #CFGFLAGS += -DBCM_BOARD_AUTO_E2E 222 223 # Define the following to support per-CPU transmit pointers. 224 # This allows the TX setup and send functions to be defined on a 225 # per-CPU basis, allowing mixed in-band and out-of-band communication. 226 #CFGFLAGS += -DBCM_C2C_TRANSPORT_SWITCHING 227 228 # Options for ATP performance optmization. 229 # If this is defined, callback function can be used to free packet buffer. 230 # This will result in better ATP performance. 231 #CFGFLAGS += -DBCM_RPC_ATP_TX_CALLBACK 232 233 # Options for feature list (INCLUDE_XXX) 234 # If FEATURE_LIST is defined, it is a list of features to include. 235 # See Make.config for the default feature list. 236 # 237 # Avaliable features: 238 # 239 # BCMX 240 # BCMX_DIAG 241 # CHASSIS 242 # CUSTOMER 243 # DRIVERS 244 # EDITLINE 245 # I2C 246 # L3 247 # MEM_SCAN 248 # ATPTRANS_SOCKET 249 # TELNET 250 # TEST 251 # ACL 252 # RCPU 253 # KNET - Linux user mode kernel network support 254 # BCM_SAL_PROFILE - make available an API to track SAL usage. 255 # CINT - Include the C Interpreter in the diagnostic shell. 256 # Please note this cannot be used in Linux kernel mode. 257 # C_UNIT - Include the C unit testing framework. If CINT is also included 258 # then hooks will be provided for use from it. 259 # PHY_SYM_DBG - PHY GUI MDIO read/write support. Socket interface 260 # to PHY GUI for Symbolic debugging. 261 # APIMODE - call SDK API functions from shell, requires CINT 262 # DUNE_UI - dune legacy user interface. For debug only. Tested 263 # on linux-user-gto-2.6 only. 264 # KBP - include nlm2(11K)/nlm3(12K) KBP support 265 # BHH - Include Support for BHH Application (MPLS-TP OAM based on Y.1731) 266 # using BTE on select devices. 267 # FLOWTRACKER - Include Support for Flowtracker Application using BTE on 268 # select devices. 269 # GDPLL - Include Support for GDPLL on select devices. 270 # AVS - Include AVS support 271 # MPLS_LM_DM - Include Support for MPLS LM/DM Application (based on RFC 6374) 272 # using BTE on select devices. 273 # ETH_LM_DM - Include Support for Ethernet LM/DM Application 274 # (ETH-OAM based on Y.1731) using BTE on select devices. 275 # UC_ULINK - Include Support for maintaining port link status on BTE 276 # OAM_FAULTS_MULTI_GET - Include support for faults_get for multiple endpoints 277 # through single API 278 # CCM - Include support for CCM Application using BTE on select devices 279 # TCB - Include support for Transient Capture Buffer Application 280 # PSTATS - Include support for Packetized Statistic Application 281 # IFA - Include Support for In-band flow analyzer Embedded Application 282 # TELEMETRY - Includes Support for Telemetry embedded applications 283 # INT - Include Support for INT Turnaround Embedded Application 284 # SUM - Include Support for Switch Utilization Monitor Embedded Application 285 #FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3 I2C BCMX MEM_SCAN EDITLINE \ 286 # CUSTOMER TELNET DRIVERS CHASSIS TEST ACL RCPU BCM_SAL_PROFILE CINT \ 287 # PTP CES FCMAP BOARD KNET REGEX MACSEC APIMODE BFD KBP AVS TCB PSTATS 288 289 ############################################################### 290 # KBP supported devices 291 # 292 #Enable this for 11K device support 293 #KBP_DEVICE = KBP_11K 294 # 295 #Enable this for 12K device support 296 #KBP_DEVICE = KBP_ALG 297 # 298 ############################################################### 299 300 ################################################################ 301 # 302 # Selective Device Support (Switches and PHYs) 303 # 304 ################################################################ 305 306 # Multiple Chip Support 307 # 308 # By default, the driver supports all Strata switch and fabric chips 309 # included in this software release. It checks device IDs at runtime 310 # to run the correct driver modules. 311 # 312 # To save space, the driver can be compiled to support just a subset of 313 # the chips. To do this, uncomment the line for BCM_PTL_SPT (partial 314 # support) and uncomment one line for each chip to support. 315 # 316 # Note that there are a lot more chips than drivers. 317 # For example, the BCM5615 driver is also used for BCM5625 and BCM5645. 318 # 319 320 #BCM_PTL_SPT = 1 321 322 #BCM_5675_A0 = 1 323 #BCM_56102_A0 = 1 324 #BCM_56112_A0 = 1 325 #BCM_56304_B0 = 1 326 #BCM_56314_A0 = 1 327 #BCM_56504_A0 = 1 328 #BCM_56504_B0 = 1 329 #BCM_56514_A0 = 1 330 #BCM_56624_A0 = 1 331 #BCM_56624_B0 = 1 332 #BCM_56680_A0 = 1 333 #BCM_56680_B0 = 1 334 #BCM_56580_A0 = 1 335 #BCM_56700_A0 = 1 336 #BCM_56800_A0 = 1 337 #BCM_56218_A0 = 1 338 #BCM_56224_A0 = 1 339 #BCM_56224_B0 = 1 340 #BCM_56725_A0 = 1 341 #BCM_56820_A0 = 1 342 #BCM_53314_A0 = 1 343 #BCM_53324_A0 = 1 344 #BCM_56634_A0 = 1 345 #BCM_56634_B0 = 1 346 #BCM_56524_A0 = 1 347 #BCM_56524_B0 = 1 348 #BCM_56685_A0 = 1 349 #BCM_56685_B0 = 1 350 #BCM_56334_A0 = 1 351 #BCM_56334_B0 = 1 352 #BCM_56840_A0 = 1 353 #BCM_56840_B0 = 1 354 #BCM_56850_A0 = 1 355 #BCM_56142_A0 = 1 356 #BCM_56150_A0 = 1 357 #BCM_56836_A0 = 1 358 #BCM_56640_A0 = 1 359 #BCM_56440_A0 = 1 360 #BCM_56440_B0 = 1 361 #BCM_56450_A0 = 1 362 #BCM_56150_A0 = 1 363 #BCM_53400_A0 = 1 364 #BCM_56160_A0 = 1 365 #BCM_53570_A0 = 1 366 #BCM_53570_B0 = 1 367 #BCM_53540_A0 = 1 368 #BCM_56960_A0 = 1 369 #BCM_56965_A0 = 1 370 #BCM_56980_A0 = 1 371 #BCM_56860_A0 = 1 372 #BCM_56560_A0 = 1 373 #BCM_56260_A0 = 1 374 #BCM_56260_B0 = 1 375 #BCM_56870_A0 = 1 376 #BCM_56370_A0 = 1 377 #BCM_56770_A0 = 1 378 #BCM_56560_B0 = 1 379 #BCM_56670_A0 = 1 380 #BCM_56670_B0 = 1 381 #BCM_56270_A0 = 1 382 #BCM_56670_B0 = 1 383 #BCM_56970_A0 = 1 384 385 # Options for multiple PHY support 386 # If BCM_PHY_LIST is defined, it is a list of PHYs to include. 387 # The default is to include all of them. 388 # If none of them should be included specify BCM_PHY_LIST=EMPTY 389 #BCM_PHY_LIST=522X 54XX 5464 5421S 5482 54616 54680 54680E 52681E 54880E 54682 54684 54640 54640E 54880 SERDES SIMUL 8703 8705 8706 8072 8040 8481 8750 8729 84740 84756 84328 8806X EMPTY 390 391 # Support for phy simulation 392 #CFGFLAGS += -DINCLUDE_PHY_SIMUL 393 #CFGFLAGS += -DSIM_ALL_PHYS # All phys use simulation driver 394 #CFGFLAGS += -DSIM_CMIC_LINK_STAT # Get link status from CMIC register 395 396 # Support for BOARD library 397 # if BOARD_LIST is defined, it is a list of Board drivers to include. 398 # The default is to include all board drivers appropriate for the devices 399 # included in the build. If none of them should be included specify 400 # BOARD_LIST=EMPTY. 401 #BOARD_LIST=GENERIC 402 403 # Support for event logging 404 #CFGFLAGS += -DINCLUDE_SHARED_EVLOG 405 406 # Support for BCM API port translation 407 #CFGFLAGS += -DINCLUDE_BCM_API_XLATE_PORT 408 409 # Support for callback error checks and abort in traverse api's 410 #CFGFLAGS += -DBCM_CB_ABORT_ON_ERR 411 ################################################################ 412 # 413 # Misc Options 414 # 415 ################################################################ 416 #CFGFLAGS += -DSOC_MEM_L3_DEFIP_WAR 417 418 # Compile out Register/Table descriptive strings to generate a 419 # compact image 420 #CFGFLAGS +=-DSOC_NO_NAMES 421 #CFGFLAGS +=-DSOC_NO_ALIAS 422 #CFGFLAGS +=-DSOC_NO_DESC 423 424 # Reload/WarmBoot Support 425 # 426 #CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT 427 # 428 # Need this for validation using SOC scripts; Will move to tcl 429 # someday 430 #CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT_SW_DUMP 431 # 432 # Adds a CRC check on scache buffer: Calculate when saving, 433 # and verify when loading. 434 # When doing ISSU, both source and destination versions should either have 435 # this flag enabled or disabled. 436 #CFGFLAGS += -DSCACHE_CRC_CHECK 437 438 # Use software byte-swap when primary internal iProc CPU is run 439 # in big-endian mode. Intended for use with little-endian iProc firmware 440 # images when the primary internal iProc CPU is run in big-endian mode. 441 # In this case we cannot use hardware byte-swap, because it affects both 442 # the primary internal CPU (big endian) and the firmware CPU (little endian). 443 #CFGFLAGS += -DCMIC_SOFT_BYTE_SWAP 444 445 ################################################################ 446 # 447 # Enable Easy Reload Support 448 # 449 ################################################################ 450 #CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT 451 # For validation purposes 452 #CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT_SW_DUMP 453 454 # Software Trunk failover Support 455 # 456 #CFGFLAGS += -DBCM_TRUNK_FAILOVER_SUPPORT 457 458 ################################################################ 459 # 460 # Override default VXWORKS thread options to make set 461 # VX_UNBREAKABLE flag in task creation. 462 # 463 ################################################################ 464 #CFGFLAGS += -DVX_THREAD_OPT_UNBREAKABLE 465 466 467 ################################################################ 468 # 469 # Use default priority for BDE interrupt thread. 470 # 471 ################################################################ 472 #CFGFLAGS += -DSAL_BDE_THREAD_PRIO_DEFAULT 473 474 ################################################################ 475 # 476 # Use cached DMA memory when mapping kernel DMA memory to user 477 # mode. Should only be enabled on cache-coherent platforms. 478 # 479 ################################################################ 480 #CFGFLAGS += -DSAL_BDE_USE_CACHED_DMA_MEM 481 482 ################################################################ 483 # 484 # Take the spl lock upon entering an ISR 485 # 486 ################################################################ 487 #CFGFLAGS += -DSAL_SPL_LOCK_ON_IRQ 488 489 ################################################################ 490 # 491 # Silently ignore NULL pointer free in sal_free API 492 # Default behaviour is to assert if a NULL pointer is passed to sal_free 493 # 494 ################################################################ 495 #CFGFLAGS += -DSAL_FREE_NULL_IGNORE 496 497 ################################################################ 498 # For historical reasons the PCI probe function skips device 12 499 # by default to prevent a system hang on certain platforms. 500 # Set this value to zero to probe all PCI devices. 501 ################################################################ 502 #CFGFLAGS += -DOVERRIDE_PCI_SKIP_DEV_MASK=0 503 504 ################################################################ 505 # Override max devices supported by PLI BDE 506 ################################################################ 507 #CFGFLAGS += -DPLI_MAX_DEVICES 508 509 ################################################################ 510 # Track BCM API calls to avoid deinitialization while calls active 511 # This will incur a small time penalty for each BCM API call 512 ################################################################ 513 #CFGFLAGS += -DBCM_CONTROL_API_TRACKING 514 515 ################################################################ 516 # Override default retry time for detach to wait for executing 517 # APIs to complete. 518 ################################################################ 519 #CFGFLAGS += -DBCM_DETACH_POLL_INTERVAL_USECS_DEFAULT=100000 520 #CFGFLAGS += -DBCM_DETACH_NUM_RETRIES_DEFAULT=3000 521 522 ################################################################ 523 # Disable the RX module initialization 524 ################################################################ 525 #CFGFLAGS += -DBCM_RX_DISABLE 526 527 ################################################################ 528 # Enable TX callback in interrupt thread 529 ################################################################ 530 #CFGFLAGS += -DTX_CB_INTR 531 532 ################################################################ 533 # When sal_sem_take wait for semaphore, system will use 534 # monotonic time instead of real time to computer how long 535 # one thread has been waiting. 536 ################################################################ 537 #CFGFLAGS += BCM_MONOTONIC_TIME 538 539 ################################################################ 540 # Enable multiple SDK-based applications to run on top of a 541 # single BDE (see $SDK/doc/multi-instance.txt for more 542 # information). 543 ################################################################ 544 #CFGFLAGS += -DBCM_INSTANCE_SUPPORT 545 546 ################################################################ 547 # 548 # Disable SW dumps routines from compilation. 549 # SW dumps are enabled by default in SDK. 550 # 551 ################################################################ 552 #CFGFLAGS += -DBCM_SW_STATE_DUMP_DISABLE