c2switch.soc (14410B)
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 # Chassis 2 7 # 8 # Sample script to configure line modules and CFM on backplane 9 # 10 # TBD update 11 # traffic path 12 # TBD update 13 # 14 ###################################################################### 15 # BP S0 LM 16 # CFM0 BCM5675 P7 L4 BCM5675 P5 17 # CFM0 BCM5675 P8 L4 BCM5675 P7 18 # CFM0 BCM5675 P5 L3 BCM5675 P5 19 # CFM0 BCM5675 P6 L3 BCM5675 P7 20 # CFM0 BCM5675 P3 L2 BCM5675 P5 21 # CFM0 BCM5675 P4 L2 BCM5675 P7 22 # CFM0 BCM5675 P1 L1 BCM5675 P5 23 # CFM0 BCM5675 P2 L1 BCM5675 P7 24 # 25 # BP CFM0 LM 26 # CFM1 BCM5675 P7 L4 BCM5675 P6 27 # CFM1 BCM5675 P8 L4 BCM5675 P8 28 # CFM1 BCM5675 P5 L3 BCM5675 P6 29 # CFM1 BCM5675 P6 L3 BCM5675 P8 30 # CFM1 BCM5675 P3 L2 BCM5675 P6 31 # CFM1 BCM5675 P4 L2 BCM5675 P8 32 # CFM1 BCM5675 P1 L1 BCM5675 P6 33 # CFM1 BCM5675 P2 L1 BCM5675 P8 34 # ###################################################################### 35 #Backplane [ CFM1 CFM2 LM-slot3 LM-slot4 LM-slot5 LM-slot6 ] 36 # 37 #CFM1 Herc 38 #port-1 (hg0) (0x002) <--> slot 3 port-5 (0x040) 39 #port-2 (hg1) (0x004) <--> slot 3 port-7 (0x080) 40 #port-3 (hg2) (0x008) <--> slot 4 port-5 (0x040) 41 #port-4 (hg3) (0x010) <--> slot 4 port-7 (0x080) 42 #port-5 (hg4) (0x020) <--> slot 5 port-5 (0x040) 43 #port-6 (hg5) (0x040) <--> slot 5 port-7 (0x080) 44 #port-7 (hg6) (0x080) <--> slot 6 port-5 (0x040) 45 #port-8 (hg7) (0x100) <--> slot 6 port-7 (0x080) 46 #CFM2 Herc 47 #port-1 (hg0) (0x002) <--> slot 3 port-6 (0x040) 48 #port-2 (hg1) (0x004) <--> slot 3 port-8 (0x080) 49 #port-3 (hg2) (0x008) <--> slot 4 port-6 (0x040) 50 #port-4 (hg3) (0x010) <--> slot 4 port-8 (0x080) 51 #port-5 (hg4) (0x020) <--> slot 5 port-6 (0x040) 52 #port-6 (hg5) (0x040) <--> slot 5 port-8 (0x080) 53 #port-7 (hg6) (0x080) <--> slot 6 port-6 (0x040) 54 #port-8 (hg7) (0x100) <--> slot 6 port-8 (0x080) 55 # 56 #LM slot 3 57 #port-1 (hg0) (0x002) <--> Unit-1 Modid 0 58 #port-2 (hg1) (0x004) <--> Unit-2 Modid 1 59 #port-3 (hg2) (0x008) <--> Unit-3 Modid 2 60 #port-4 (hg3) (0x010) <--> Unit-4 Modid 3 61 #port-5 (hg4) (0x020) <--> CFM1 port-1 (0x040) 62 #port-6 (hg5) (0x040) <--> CFM2 port-1 (0x080) 63 #port-7 (hg6) (0x080) <--> CFM1 port-2 (0x040) 64 #port-8 (hg7) (0x100) <--> CFM2 port-2 (0x080) 65 # 66 #LM slot 4 67 #port-1 (hg0) (0x002) <--> Unit-1 Modid 0 68 #port-2 (hg1) (0x004) <--> Unit-2 Modid 1 69 #port-3 (hg2) (0x008) <--> Unit-3 Modid 2 70 #port-4 (hg3) (0x010) <--> Unit-4 Modid 3 71 #port-5 (hg4) (0x020) <--> CFM1 port-3 (0x040) 72 #port-6 (hg5) (0x040) <--> CFM2 port-3 (0x080) 73 #port-7 (hg6) (0x080) <--> CFM1 port-4 (0x040) 74 #port-8 (hg7) (0x100) <--> CFM2 port-4 (0x080) 75 #LM slot 5 76 #port-1 (hg0) (0x002) <--> Unit-1 Modid 0 77 #port-2 (hg1) (0x004) <--> Unit-2 Modid 1 78 #port-3 (hg2) (0x008) <--> Unit-3 Modid 2 79 #port-4 (hg3) (0x010) <--> Unit-4 Modid 3 80 #port-5 (hg4) (0x020) <--> CFM1 port-5 (0x040) 81 #port-6 (hg5) (0x040) <--> CFM2 port-5 (0x080) 82 #port-7 (hg6) (0x080) <--> CFM1 port-6 (0x040) 83 #port-8 (hg7) (0x100) <--> CFM2 port-6 (0x080) 84 #LM slot 6 85 #port-1 (hg0) (0x002) <--> Unit-1 Modid 0 86 #port-2 (hg1) (0x004) <--> Unit-2 Modid 1 87 #port-3 (hg2) (0x008) <--> Unit-3 Modid 2 88 #port-4 (hg3) (0x010) <--> Unit-4 Modid 3 89 #port-5 (hg4) (0x020) <--> CFM1 port-7 (0x040) 90 #port-6 (hg5) (0x040) <--> CFM2 port-7 (0x080) 91 #port-7 (hg6) (0x080) <--> CFM1 port-8 (0x040) 92 #port-8 (hg7) (0x100) <--> CFM2 port-8 (0x080) 93 ###################################################################### 94 95 if !@?lm 'setenv cfm 1' 96 97 if @?cfm 'echo "Configuring CFM"' 98 if @?cfm1 'echo "Configuring CFM in slot 1"' 99 if @?cfm2 'echo "Configuring CFM in slot 2"' 100 if @?lm3 'echo "Configuring Line Module in slot 3"' 101 if @?lm4 'echo "Configuring Line Module in slot 4"' 102 if @?lm5 'echo "Configuring Line Module in slot 5"' 103 if @?lm6 'echo "Configuring Line Module in slot 6"' 104 105 #determine LM type 106 #lm24x1g - 24 port 1G LM 107 #lm2x10g - 2 port 10G XFP LM 108 #lm6x10g - 6 port 10G CX4 LM 109 #*:lmchk 110 #if $?lm24x1g 'echo "Setting Up 24 x 1G line module"' 111 #if $?lm2x10g 'echo "Setting Up 2 x 10G XFP line module"' 112 #if $?lm6x10g 'echo "Setting Up 6 x 10G CX4 line module"' 113 114 #run RC 115 if @?lm && !@?chassis2_no_rc ' \ 116 0:rc ; \ 117 1:rc ; \ 118 2:rc ; \ 119 3:rc ; \ 120 4:rc ; \ 121 ' 122 #if @?lm ' \ 123 # 1:port ge sp=1000 fd=t ; \ 124 # 2:port ge sp=1000 fd=t ; \ 125 # 3:port ge sp=1000 fd=t ; \ 126 # 4:port ge sp=1000 fd=t ; \ 127 # ' 128 129 local ledcode '\ 130 E0 28 60 C3 67 7C 06 C3 80 28 60 C3 67 7C 67 40 \ 131 06 C3 90 28 60 C3 67 40 06 C3 80 80 D2 0C 74 01 \ 132 12 C2 85 05 D2 0F 71 2A 52 00 12 C1 85 05 D2 1F \ 133 71 34 52 00 12 C0 85 05 D2 05 71 3E 52 00 3A 30 \ 134 32 00 97 75 4C 12 A0 FE C3 02 0A 50 32 01 97 75 \ 135 58 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 6A 85 \ 136 12 A0 FE C3 95 75 B9 85 77 AB 12 A0 FE C3 95 75 \ 137 74 85 77 B2 16 C0 DA 02 71 B2 77 B9 32 05 97 71 \ 138 8C 32 02 97 71 AB 06 C1 D2 01 71 AB 06 C3 67 A4 \ 139 75 AB 32 03 97 71 B9 32 04 97 75 B2 06 C2 D2 07 \ 140 71 B2 77 B9 12 80 F8 15 1A 00 57 32 0E 87 32 0E \ 141 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57 \ 142 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 143 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 144 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 145 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 146 ' 147 if @?lm ' \ 148 1:led prog $ledcode ; \ 149 2:led prog $ledcode ; \ 150 3:led prog $ledcode ; \ 151 4:led prog $ledcode ; \ 152 1:led auto on ; \ 153 2:led auto on ; \ 154 3:led auto on ; \ 155 4:led auto on ; \ 156 1:led start ; \ 157 2:led start ; \ 158 3:led start ; \ 159 4:led start ; \ 160 ' 161 162 #if @?lm6x10g && !@?chassis2_no_rc ' \ 163 # local led_file 'lm5673.hex' ; \ 164 # 3:rc ; \ 165 # 4:rc ; \ 166 # 5:rc ; \ 167 # 6:rc ; \ 168 # ' 169 170 if @?cfm && !@?chassis2_no_rc ' \ 171 0:rc ; \ 172 ' 173 #CFM Config 174 # Remove the CPU from VLAN. No traffic to CPU. 175 if @?cfm '0:vlan remove 1 PortBitMap=0x1' 176 # Filter out unwanted traffic to CPU 177 if @?cfm '0:m ING_CPUTOBMAP BMAP=0' 178 179 #CFM connectivity 180 # Always use one port from LM(hg4) to CFM(Use CFM in slot 1 only 181 # for inter LM switching) 182 if @?cfm ' \ 183 0:m ING_EGRMSKBMAP.hg0 BMAP=0x0aa ; \ 184 0:m ING_EGRMSKBMAP.hg1 BMAP=0x000 ; \ 185 0:m ING_EGRMSKBMAP.hg2 BMAP=0x0aa ; \ 186 0:m ING_EGRMSKBMAP.hg3 BMAP=0x000 ; \ 187 0:m ING_EGRMSKBMAP.hg4 BMAP=0x0aa ; \ 188 0:m ING_EGRMSKBMAP.hg5 BMAP=0x000 ; \ 189 0:m ING_EGRMSKBMAP.hg6 BMAP=0x0aa ; \ 190 0:m ING_EGRMSKBMAP.hg7 BMAP=0x000 ; \ 191 0:w vid.1 1 4095 VIDBITMAP=0x0aa ; \ 192 0:w vid.2 1 4095 VIDBITMAP=0x000 ; \ 193 0:w vid.3 1 4095 VIDBITMAP=0x0aa ; \ 194 0:w vid.4 1 4095 VIDBITMAP=0x000 ; \ 195 0:w vid.5 1 4095 VIDBITMAP=0x0aa ; \ 196 0:w vid.6 1 4095 VIDBITMAP=0x000 ; \ 197 0:w vid.7 1 4095 VIDBITMAP=0x0aa ; \ 198 0:w vid.8 1 4095 VIDBITMAP=0x000 ; \ 199 ' 200 201 if @?cfm "\ 202 ;\ 203 0:w uc.1 0 128 0x000 ; \ 204 0:w uc.2 0 128 0x000 ; \ 205 0:w uc.3 0 128 0x000 ; \ 206 0:w uc.4 0 128 0x000 ; \ 207 0:w uc.5 0 128 0x000 ; \ 208 0:w uc.6 0 128 0x000 ; \ 209 0:w uc.7 0 128 0x000 ; \ 210 0:w uc.8 0 128 0x000 ; \ 211 " 212 # Port Mod PBMP 213 if @?cfm \ 214 " \ 215 0:w uc.1 0 8 0x002 ; \ 216 0:w uc.1 8 8 0x008 ; \ 217 0:w uc.1 16 8 0x020 ; \ 218 0:w uc.1 24 8 0x080 ; \ 219 ; \ 220 0:w uc.3 0 8 0x002 ; \ 221 0:w uc.3 8 8 0x008 ; \ 222 0:w uc.3 16 8 0x020 ; \ 223 0:w uc.3 24 8 0x080 ; \ 224 ; \ 225 0:w uc.5 0 8 0x002 ; \ 226 0:w uc.5 8 8 0x008 ; \ 227 0:w uc.5 16 8 0x020 ; \ 228 0:w uc.5 24 8 0x080 ; \ 229 ; \ 230 0:w uc.7 0 8 0x002 ; \ 231 0:w uc.7 8 8 0x008 ; \ 232 0:w uc.7 16 8 0x020 ; \ 233 0:w uc.7 24 8 0x080 ; \ 234 ; \ 235 " 236 237 ######################### LM ############################ 238 #LM config 239 # Remove the CPU from VLAN. No traffic to CPU. 240 if $?lm ' \ 241 0:clear c; \ 242 0:vlan remove 1 PortBitMap=cpu ; \ 243 1:vlan remove 1 PortBitMap=cpu ; \ 244 2:vlan remove 1 PortBitMap=cpu ; \ 245 3:vlan remove 1 PortBitMap=cpu ; \ 246 4:vlan remove 1 PortBitMap=cpu ; \ 247 0:m ING_CPUTOBMAP BMAP=0 ; \ 248 ' 249 #LM connectivity 250 if @?lm ' \ 251 0:m ING_EGRMSKBMAP BMAP=0x03e ; \ 252 ; \ 253 0:m ING_EGRMSKBMAP.hg5 BMAP=0x000 ; \ 254 0:m ING_EGRMSKBMAP.hg6 BMAP=0x000 ; \ 255 0:m ING_EGRMSKBMAP.hg7 BMAP=0x000 ; \ 256 0:w vid.1 1 4095 VIDBITMAP=0x03e ; \ 257 0:w vid.2 1 4095 VIDBITMAP=0x03e ; \ 258 0:w vid.3 1 4095 VIDBITMAP=0x03e ; \ 259 0:w vid.4 1 4095 VIDBITMAP=0x03e ; \ 260 0:w vid.5 1 4095 VIDBITMAP=0x03e ; \ 261 ; \ 262 0:w vid.6 1 4095 VIDBITMAP=0x000 ; \ 263 0:w vid.7 1 4095 VIDBITMAP=0x000 ; \ 264 0:w vid.8 1 4095 VIDBITMAP=0x000 ; \ 265 ' 266 267 ####################################### 268 # Hercules UC setup 269 ####################################### 270 if @?lm \ 271 " \ 272 0:w uc.1 0 32 0x020 ; \ 273 0:w uc.2 0 32 0x020 ; \ 274 0:w uc.3 0 32 0x020 ; \ 275 0:w uc.4 0 32 0x020 ; \ 276 0:w uc.5 0 32 0x020 ; \ 277 0:w uc.6 0 32 0x000 ; \ 278 0:w uc.7 0 32 0x000 ; \ 279 0:w uc.8 0 32 0x000 ; \ 280 " 281 282 if @?lm3 \ 283 " \ 284 0:w uc.1 0 1 0x002 ; \ 285 0:w uc.1 1 1 0x004 ; \ 286 0:w uc.1 2 1 0x008 ; \ 287 0:w uc.1 3 1 0x010 ; \ 288 ;\ 289 0:w uc.2 0 1 0x002 ; \ 290 0:w uc.2 1 1 0x004 ; \ 291 0:w uc.2 2 1 0x008 ; \ 292 0:w uc.2 3 1 0x010 ; \ 293 ;\ 294 0:w uc.3 0 1 0x002 ; \ 295 0:w uc.3 1 1 0x004 ; \ 296 0:w uc.3 2 1 0x008 ; \ 297 0:w uc.3 3 1 0x010 ; \ 298 ;\ 299 0:w uc.4 0 1 0x002 ; \ 300 0:w uc.4 1 1 0x004 ; \ 301 0:w uc.4 2 1 0x008 ; \ 302 0:w uc.4 3 1 0x010 ; \ 303 ;\ 304 0:w uc.5 0 1 0x002 ; \ 305 0:w uc.5 1 1 0x004 ; \ 306 0:w uc.5 2 1 0x008 ; \ 307 0:w uc.5 3 1 0x010 ; \ 308 ;\ 309 " 310 311 if @?lm4 \ 312 " \ 313 0:w uc.1 8 1 0x002 ; \ 314 0:w uc.1 9 1 0x004 ; \ 315 0:w uc.1 10 1 0x008 ; \ 316 0:w uc.1 11 1 0x010 ; \ 317 ;\ 318 0:w uc.2 8 1 0x002 ; \ 319 0:w uc.2 9 1 0x004 ; \ 320 0:w uc.2 10 1 0x008 ; \ 321 0:w uc.2 11 1 0x010 ; \ 322 ;\ 323 0:w uc.3 8 1 0x002 ; \ 324 0:w uc.3 9 1 0x004 ; \ 325 0:w uc.3 10 1 0x008 ; \ 326 0:w uc.3 11 1 0x010 ; \ 327 ;\ 328 0:w uc.4 8 1 0x002 ; \ 329 0:w uc.4 9 1 0x004 ; \ 330 0:w uc.4 10 1 0x008 ; \ 331 0:w uc.4 11 1 0x010 ; \ 332 ;\ 333 0:w uc.5 8 1 0x002 ; \ 334 0:w uc.5 9 1 0x004 ; \ 335 0:w uc.5 10 1 0x008 ; \ 336 0:w uc.5 11 1 0x010 ; \ 337 ;\ 338 " 339 340 if @?lm5 \ 341 " \ 342 0:w uc.1 16 1 0x002 ; \ 343 0:w uc.1 17 1 0x004 ; \ 344 0:w uc.1 18 1 0x008 ; \ 345 0:w uc.1 19 1 0x010 ; \ 346 ;\ 347 0:w uc.2 16 1 0x002 ; \ 348 0:w uc.2 17 1 0x004 ; \ 349 0:w uc.2 18 1 0x008 ; \ 350 0:w uc.2 19 1 0x010 ; \ 351 ;\ 352 0:w uc.3 16 1 0x002 ; \ 353 0:w uc.3 17 1 0x004 ; \ 354 0:w uc.3 18 1 0x008 ; \ 355 0:w uc.3 19 1 0x010 ; \ 356 ;\ 357 0:w uc.4 16 1 0x002 ; \ 358 0:w uc.4 17 1 0x004 ; \ 359 0:w uc.4 18 1 0x008 ; \ 360 0:w uc.4 19 1 0x010 ; \ 361 ;\ 362 0:w uc.5 16 1 0x002 ; \ 363 0:w uc.5 17 1 0x004 ; \ 364 0:w uc.5 18 1 0x008 ; \ 365 0:w uc.5 19 1 0x010 ; \ 366 ;\ 367 " 368 369 if @?lm6 \ 370 " \ 371 0:w uc.1 24 1 0x002 ; \ 372 0:w uc.1 25 1 0x004 ; \ 373 0:w uc.1 26 1 0x008 ; \ 374 0:w uc.1 27 1 0x010 ; \ 375 ;\ 376 0:w uc.2 24 1 0x002 ; \ 377 0:w uc.2 25 1 0x004 ; \ 378 0:w uc.2 26 1 0x008 ; \ 379 0:w uc.2 27 1 0x010 ; \ 380 ;\ 381 0:w uc.3 24 1 0x002 ; \ 382 0:w uc.3 25 1 0x004 ; \ 383 0:w uc.3 26 1 0x008 ; \ 384 0:w uc.3 27 1 0x010 ; \ 385 ;\ 386 0:w uc.4 24 1 0x002 ; \ 387 0:w uc.4 25 1 0x004 ; \ 388 0:w uc.4 26 1 0x008 ; \ 389 0:w uc.4 27 1 0x010 ; \ 390 ;\ 391 0:w uc.5 24 1 0x002 ; \ 392 0:w uc.5 25 1 0x004 ; \ 393 0:w uc.5 26 1 0x008 ; \ 394 0:w uc.5 27 1 0x010 ; \ 395 ;\ 396 " 397 398 ####################################### 399 # Draco Module ID setup 400 ####################################### 401 if @?lm \ 402 " \ 403 1:s MODPORT_7_0 0xcccccccc ; \ 404 1:s IMODPORT_7_0 0xcccccccc ; \ 405 1:s MODPORT_15_8 0xcccccccc ; \ 406 1:s IMODPORT_15_8 0xcccccccc ; \ 407 1:s MODPORT_23_16 0xcccccccc ; \ 408 1:s IMODPORT_23_16 0xcccccccc ; \ 409 1:s MODPORT_31_24 0xcccccccc ; \ 410 1:s IMODPORT_31_24 0xcccccccc ; \ 411 2:s MODPORT_7_0 0xcccccccc ; \ 412 2:s IMODPORT_7_0 0xcccccccc ; \ 413 2:s MODPORT_15_8 0xcccccccc ; \ 414 2:s IMODPORT_15_8 0xcccccccc ; \ 415 2:s MODPORT_23_16 0xcccccccc ; \ 416 2:s IMODPORT_23_16 0xcccccccc ; \ 417 2:s MODPORT_31_24 0xcccccccc ; \ 418 2:s IMODPORT_31_24 0xcccccccc ; \ 419 3:s MODPORT_7_0 0xcccccccc ; \ 420 3:s IMODPORT_7_0 0xcccccccc ; \ 421 3:s MODPORT_15_8 0xcccccccc ; \ 422 3:s IMODPORT_15_8 0xcccccccc ; \ 423 3:s MODPORT_23_16 0xcccccccc ; \ 424 3:s IMODPORT_23_16 0xcccccccc ; \ 425 3:s MODPORT_31_24 0xcccccccc ; \ 426 3:s IMODPORT_31_24 0xcccccccc ; \ 427 4:s MODPORT_7_0 0xcccccccc ; \ 428 4:s IMODPORT_7_0 0xcccccccc ; \ 429 4:s MODPORT_15_8 0xcccccccc ; \ 430 4:s IMODPORT_15_8 0xcccccccc ; \ 431 4:s MODPORT_23_16 0xcccccccc ; \ 432 4:s IMODPORT_23_16 0xcccccccc ; \ 433 4:s MODPORT_31_24 0xcccccccc ; \ 434 4:s IMODPORT_31_24 0xcccccccc ; \ 435 " 436 if @?lm3\ 437 " \ 438 1:m config my_modid=0; \ 439 1:m iconfig my_modid=0; \ 440 2:m config my_modid=1; \ 441 2:m iconfig my_modid=1; \ 442 3:m config my_modid=2; \ 443 3:m iconfig my_modid=2; \ 444 4:m config my_modid=3; \ 445 4:m iconfig my_modid=3; \ 446 " 447 if @?lm4\ 448 " \ 449 1:m config my_modid=8; \ 450 1:m iconfig my_modid=8; \ 451 2:m config my_modid=9; \ 452 2:m iconfig my_modid=9; \ 453 3:m config my_modid=10; \ 454 3:m iconfig my_modid=10; \ 455 4:m config my_modid=11; \ 456 4:m iconfig my_modid=11; \ 457 " 458 if @?lm5\ 459 " \ 460 1:m config my_modid=16; \ 461 1:m iconfig my_modid=16; \ 462 2:m config my_modid=17; \ 463 2:m iconfig my_modid=17; \ 464 3:m config my_modid=18; \ 465 3:m iconfig my_modid=18; \ 466 4:m config my_modid=19; \ 467 4:m iconfig my_modid=19; \ 468 " 469 if @?lm6\ 470 " \ 471 1:m config my_modid=24; \ 472 1:m iconfig my_modid=24; \ 473 2:m config my_modid=25; \ 474 2:m iconfig my_modid=25; \ 475 3:m config my_modid=26; \ 476 3:m iconfig my_modid=26; \ 477 4:m config my_modid=27; \ 478 4:m iconfig my_modid=27; \ 479 " 480 481 if $?lm \ 482 " \ 483 1:m CONFIG L2DH_EN=0 ; \ 484 2:m CONFIG L2DH_EN=0 ; \ 485 3:m CONFIG L2DH_EN=0 ; \ 486 4:m CONFIG L2DH_EN=0 ; \ 487 1:age 5 ; \ 488 2:age 5 ; \ 489 3:age 5 ; \ 490 4:age 5 ; \ 491 " 492