Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Feb 2010 12:35:22 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        alancyang@gmail.com
Cc:        freebsd-mips@FreeBSD.org
Subject:   Re: Cavium port
Message-ID:  <20100203.123522.649807917541218528.imp@bsdimp.com>
In-Reply-To: <290865fd1002031055v5cadc0c5qb02a034b5849b50@mail.gmail.com>
References:  <290865fd1001280620p300e318bh848cb801d681ff40@mail.gmail.com> <20100128.101357.69891821659229949.imp@bsdimp.com> <290865fd1002031055v5cadc0c5qb02a034b5849b50@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <290865fd1002031055v5cadc0c5qb02a034b5849b50@mail.gmail.com>
            alan yang <alancyang@gmail.com> writes:
: I checkout head, cross compile with OCTEON1-32 conf file and the
: kernel boot on ebt5800 now.

Very cool...

: But still would like to ask couple questions:
: 1.  option SMP support
:      -  wonder is there working in progress to get SMP to work

Yes.  The Cavium port has some pieces, and there's work to get SMP
working on the Sibyte SB-1 core (dual core) and RMI as well...

: 2.  rgmx interface
:      -  seems to have problem getting interface rgmx to work (ifconfig
: to set static ip,...etc. but ping failed).  I noticed your 1/26 blog
: mentioned some problem in this area that i also tried 'comment out the
: enableintr() call in mips_vector_init around line 365 of
: sys/mips/mips/machdep.c' .  wonder is there solution or something that
: i missed.

I get an interrupt storm when the serial port attaches if I don't do
that.  I'm also having problems with the rgmx interfaces too.  No
status is reported, so dhcp doesn't work.  I can ping, but when I
telnet/ssh in to the box, the port becomes unresponsive... I'm working
on these issues as I find time...

Warner

: Thanks again for help.
: 
: --
: 
: U-Boot 1.1.1 (U-boot build #: 176) (SDK version: 1.7.1-240) (Build
: time: Feb  1 2008 )
: 
: EBT5800 board revision major:2, minor:0, serial #: 2008-2.0-00251
: OCTEON CN5860-NSP pass 1.1, Core clock: 600 MHz, DDR clock: 400 MHz
: (800 Mhz data rat)
: DRAM:  2048 MB
: Flash:  8 MB
: Clearing DRAM........ done
: BIST check passed.
: Net:   octeth0, octeth1, octeth2, octeth3
:  Bus 0 (CF Card): OK
: 
:   ide 0: Model: 1024MB CompactFlash Card Firm: CF_A408J Ser#:
: A181109948O004036618
:             Type: Hard Disk
:             Capacity: 977.4 MB = 0.9 GB (2001888 x 512)
: Octeon ebt5800# fatload ide 0 20000000 kernel
: reading kernel
: 
: 3285400 bytes read
: Octeon ebt5800# bootoctlinux 20000000 numcores=1
: argv[2]: numcores=1
: ELF file is 32 bit
: Skipping non LOAD program header (type 0x6)
: Skipping non LOAD program header (type 0x3)
: Skipping non LOAD program header (type 0x70000000)
: Allocated memory for ELF segment: addr: 0x1000000, size 0x2967e0
: Loading .text @ 0x810000d4 (2064172 bytes)
: Loading .MIPS.stubs @ 0x811f8000 (16 bytes)
: Loading .rodata @ 0x811fa000 (33248 bytes)
: Loading .reginfo @ 0x812021e0 (24 bytes)
: Loading .rodata.str1.4 @ 0x812021f8 (193028 bytes)
: Loading set_sysctl_set @ 0x812313fc (3500 bytes)
: Loading set_sysinit_set @ 0x812321a8 (1692 bytes)
: Loading set_sysuninit_set @ 0x81232844 (964 bytes)
: Loading .interp @ 0x81232c08 (13 bytes)
: Loading .dynsym @ 0x81232c18 (78256 bytes)
: Loading .dynstr @ 0x81245dc8 (72061 bytes)
: Loading .hash @ 0x81257748 (35968 bytes)
: Loading set_kdb_dbbe_set @ 0x812603c8 (8 bytes)
: Loading set_modmetadata_set @ 0x812603d0 (288 bytes)
: Loading set_cons_set @ 0x812604f0 (8 bytes)
: Loading .data @ 0x812604f8 (116360 bytes)
: Loading set_pcpu @ 0x8127cb80 (3136 bytes)
: Loading .got @ 0x8127d7c0 (5292 bytes)
: Loading .rld_map @ 0x8127ec6c (4 bytes)
: Loading .sdata @ 0x8127ec70 (16 bytes)
: Clearing .bss @ 0x8127ec80 (97120 bytes)
: ## Loading Linux kernel with entry point: 0x810000e0 ...
: Bootloader: Done loading app on coremask: 0x1
: Boot Descriptor Ver: 6 -> 1/2  CPU clock: 600MHz
:   Dram: 2048 MB  Board Type: 15  Revision: 2/0
:   Octeon Chip: 0  Rev 0/0  Mac Address 00.0F.B7.10.49.F2 (14)
: octeon_dram == 80000000
: reduced to ram: 2048 MBReal memory bytes is 7ffff000
: phys_avail[0] = 1297000 phys_avail[1] = fffffff
: realmem_bytes is now at 5ffff000
: Next block of memory goes from 20000000 to 7ffff000
: 
: Total DRAM Size 0x80000000
: Bank 0 = 0x 1297000   ->  0x FFFFFFF
: Bank 1 = 0x20000000   ->  0x7FFFF000
: 
: physmem: 0x6ed68Cache info:
:   picache_stride    = 4096
:   picache_loopcount = 8
:   pdcache_stride    = 128
:   pdcache_loopcount = 64
: cpu0: Cavium processor v1.3
:   MMU: Standard TLB, 64 entries
:   L1 i-cache: 4 ways of 64 sets, 128 bytes per line
:   L1 d-cache: 64 ways of 1 sets, 128 bytes per line
:   Config1=0xfe3303da<COP2,PerfCount,WatchRegs,EJTAG>
:   Config3=0x1080
: KDB: debugger backends: ddb
: KDB: current backend: ddb
: hz=100 cyl_per_hz:300000 cyl_per_usec:300 freq:300000000
: cyl_per_hz:3000000 cyl_per_s0
: Copyright (c) 1992-2010 The FreeBSD Project.
: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
:         The Regents of the University of California. All rights reserved.
: FreeBSD is a registered trademark of The FreeBSD Foundation.
: FreeBSD 9.0-CURRENT #3 r203169M: Tue Feb  2 14:19:40 PST 2010
:     root@Fujitsu.nt-fsrvr.o2micro.com:/usr/home/alan/genova/FreeBSD/head/obj/mips/usrs
: real memory  = 1859551232 (1815968K bytes)
: avail memory = 1813176320 (1729MB)
: nexus0: <MIPS32 root nexus>
: Compact flash found in bootbus region 3 (8 bit).
: rgmii0: <Octeon RGMII> on nexus0
:  FPA fill: Pool 0  elem_size_words 208   Num: 2400
:  elem_size_bytes = words * 8 = 1664;  block_size 1664
:  % Filling Pool 0  with 2400 blocks of 1664 bytes  208 words
:  % Huge MemBlock  0xdece6000   Bytes 3993600
: FPA fill: 0  Count: 2400  SizeBytes: 1664  SizeBytesAligned: 1664
: 1st: 0xdece6000 = 0
:  % Block 0:  0xdece6000  Phys 0x1800000   Bytes 1664
:  % Block 1:  0xdece6680  Phys 0x1800680   Bytes 1664
:  % Block 2:  0xdece6d00  Phys 0x1800D00   Bytes 1664
:  % Block 2396:  0xdf0b3600  Phys 0x1BCD600   Bytes 1664
:  % Block 2397:  0xdf0b3c80  Phys 0x1BCDC80   Bytes 1664
:  % Block 2398:  0xdf0b4300  Phys 0x1BCE300   Bytes 1664
:  % Block 2399:  0xdf0b4980  Phys 0x1BCE980   Bytes 1664
:  FPA fill: Pool 1  elem_size_words 16   Num: 5400
:  elem_size_bytes = words * 8 = 128;  block_size 128
:  % Filling Pool 1  with 5400 blocks of 128 bytes  16 words
:  % Huge MemBlock  0xc61eb000   Bytes 691200
: FPA fill: 1  Count: 5400  SizeBytes: 128  SizeBytesAligned: 128  1st:
: 0xc61eb000 = 0x0
:  % Block 0:  0xc61eb000  Phys 0x1C00000   Bytes 128
:  % Block 1:  0xc61eb080  Phys 0x1C00080   Bytes 128
:  % Block 2:  0xc61eb100  Phys 0x1C00100   Bytes 128
:  % Block 5396:  0xc6293a00  Phys 0x1CA8A00   Bytes 128
:  % Block 5397:  0xc6293a80  Phys 0x1CA8A80   Bytes 128
:  % Block 5398:  0xc6293b00  Phys 0x1CA8B00   Bytes 128
:  % Block 5399:  0xc6293b80  Phys 0x1CA8B80   Bytes 128
:  FPA fill: Pool 3  elem_size_words 601   Num: 240
:  elem_size_bytes = words * 8 = 4808;  block_size 4864
:  % Filling Pool 3  with 240 blocks of 4808 bytes  601 words
:  % Huge MemBlock  0xc6294000   Bytes 1167360
: FPA fill: 3  Count: 240  SizeBytes: 4808  SizeBytesAligned: 4864  1st:
: 0xc6294000 = 00
:  % Block 0:  0xc6294000  Phys 0x1D00000   Bytes 4808
:  % Block 1:  0xc6295300  Phys 0x1D01300   Bytes 4808
:  % Block 2:  0xc6296600  Phys 0x1D02600   Bytes 4808
:  % Block 236:  0xc63ac400  Phys 0x1E18400   Bytes 4808
:  % Block 237:  0xc63ad700  Phys 0x1E19700   Bytes 4808
:  % Block 238:  0xc63aea00  Phys 0x1E1AA00   Bytes 4808
:  % Block 239:  0xc63afd00  Phys 0x1E1BD00   Bytes 4808
:  FPA fill: Pool 2  elem_size_words 208   Num: 80
:  elem_size_bytes = words * 8 = 1664;  block_size 1664
:  % Filling Pool 2  with 80 blocks of 1664 bytes  208 words
:  % Huge MemBlock  0xc63b1000   Bytes 133120
: FPA fill: 2  Count: 80  SizeBytes: 1664  SizeBytesAligned: 1664  1st:
: 0xc63b1000 = 0x0
:  % Block 0:  0xc63b1000  Phys 0x1CC0000   Bytes 1664
:  % Block 1:  0xc63b1680  Phys 0x1CC0680   Bytes 1664
:  % Block 2:  0xc63b1d00  Phys 0x1CC0D00   Bytes 1664
:  % Block 76:  0xc63cfe00  Phys 0x1CDEE00   Bytes 1664
:  % Block 77:  0xc63d0480  Phys 0x1CDF480   Bytes 1664
:  % Block 78:  0xc63d0b00  Phys 0x1CDFB00   Bytes 1664
:  % Block 79:  0xc63d1180  Phys 0x1CE0180   Bytes 1664
: rgmx0: Ethernet address: 00:0f:b7:10:49:f2
: rgmx0: type (null), full duplex
: rgmx1: Ethernet address: 00:0f:b7:10:49:f3
: rgmx1: type (null), full duplex
: rgmx2: Ethernet address: 00:0f:b7:10:49:f4
: rgmx2: type (null), full duplex
: rgmx3: Ethernet address: 00:0f:b7:10:49:f5
: rgmx3: type (null), full duplex
: rgmii0: [FILTER]
: cf0: <Octeon Compact Flash Driver> on nexus0
: clock0: <Generic MIPS32 ticker> on nexus0
: clock0: [FILTER]
: obio0 at mem 0x1 flags 0x1 on nexus0
: uart1: <Octeon-16550 channel 1> on obio0
: uart1: [FILTER]
: uart1: console (115200,n,8,1)
: uart0: <Octeon-16550 channel 0> on obio0
: uart0: [FILTER]
: uart0: console (115200,n,8,1)
: Timecounter "MIPS32" frequency 300000000 Hz quality 800
: Timecounters tick every 10.000 msec
: GEOM: cf0: partition 2 does not start on a track boundary.
: GEOM: cf0: partition 2 does not end on a track boundary.
: GEOM: cf0: partition 1 does not start on a track boundary.
: GEOM: cf0: partition 1 does not end on a track boundary.
: GEOM: cf0s2: geometry does not match label (64h,32s != 16h,63s).
: Trying to mount root from ufs:cf0s2a
: warning: no time-of-day clock registered, system time will not be set accurately
: Feb  2 23:53:12 init: NSSWITCH(_nsdispatch): nis, passwd_compat,
: endpwent, not found,d
: Enter full pathname of shell or RETURN for /bin/sh: /bin/csh
: %
: %/sbin/ifconfig
: rgmx0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
:         options=3<RXCSUM,TXCSUM>
:         ether 00:0f:b7:10:49:f2
:         media: Ethernet autoselect
: rgmx1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
:         options=3<RXCSUM,TXCSUM>
:         ether 00:0f:b7:10:49:f3
:         media: Ethernet autoselect
: rgmx2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
:         options=3<RXCSUM,TXCSUM>
:         ether 00:0f:b7:10:49:f4
:         media: Ethernet autoselect
: rgmx3: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
:         options=3<RXCSUM,TXCSUM>
:         ether 00:0f:b7:10:49:f5
:         media: Ethernet autoselect
: lo0: flags=8008<LOOPBACK,MULTICAST> metric 0 mtu 16384
:         options=3<RXCSUM,TXCSUM>
: 
: 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100203.123522.649807917541218528.imp>