Support for mips74KC
Youri Adonis
vrtuff at yahoo.com
Wed Aug 22 23:46:52 UTC 2012
I am happy to report that a quick checkout from zrouter build using dir-620(mips24kc) profile allowed me to boot freebsd on a mips74kc soc, RT3883 - (Edimax BR6475nd).
Below is the console output with some debug info after it crashed:
## Booting image at bc070000 ...
CSYS magic number at 0xBC070000
Image Name: FreeBSD Kernel Image
Created: 2012-08-20 4:08:35 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1041935 Bytes = 1017.5 kB
Load Address: 80001000
Entry Point: 80001000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80001000) ...
## Giving linux memsize in MB, 64
Starting kernel ...
RT3883 runing with 500MHz clockM
System bus clock - 166MHz^M
System start from NOR flash storage
U-Boot args (from 4 args):
Environment:^M
entry: mips_init()
Cache info:
picache_stride = 4096^M
picache_loopcount = 16^M
pdcache_stride = 4096^M
pdcache_loopcount = 8^M
cpu0: MIPS Technologies processor v76.151^M
MMU: Standard TLB, 32 entries^M
L1 i-cache: 4 ways of 512 sets, 32 bytes per line^M
L1 d-cache: 4 ways of 256 sets, 32 bytes per line^M
Config1=0xbee3519e<PerfCount,WatchRegs,MIPS16,EJTAG>^M
Config3=0x2c20^M
KDB: debugger backends: ddb^M
KDB: current backend: ddb^M
Copyright (c) 1992-2012 The FreeBSD Project.^M
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994^M
The Regents of the University of California. All rights reserved.^M
FreeBSD is a registered trademark of The FreeBSD Foundation.^M
FreeBSD 10.0-CURRENT #0: Mon Aug 20 04:06:56 UTC 2012^M
root at XXXXXXXX:/usr/src/zrouter/usr/src/zrouter/zrouter/tmp/mips.mipsel/usr/src/zrouter/FreeBSD/head/sys/usr/src/zrouter/usr/src/zrouter/zrouter/conf/D-Link_DIR-620 mips^M
real memory = 33554432 (32768K bytes)^M
avail memory = 27705344 (26MB)^M
random device not loaded; using insecure entropy^M
nexus0: <MIPS32 root nexus>^M
nvram2env0: Use NVRAM at 0x1f030000^M
nvram2env0: <NVRAM to ENV pseudo-device> on nexus0^M
Trap cause = 2 (TLB miss (load or instr. fetch) - kernel mode)^M
[ thread pid 0 tid 100000 ]^M
Stopped at strlen+0x10: lb v0,0(v1)^M
db> ^M
db> help^M
alltrace b break bt c call^M
capture continue countfreebufsd delete dhwatch^M
dump dwatch examine findstack gdb halt^M
hwatch kill match next p panic^M
print ps reboot reset run s^M
script scripts search set show step^M
t textdump thread trace unscript until^M
w watch watchdog where write x^M
db> where^M
Tracing pid 0 tid 100000 td 0x8039f870^M
802e8ffc+c (?,?,?,?) ra 803f78b8 sp 803679750000005c sz 0^M
80006f8c+a8 (186a0,?,8036e450,?) ra 20803f78b8 sp 803691e0000002a8 sz 1^M
80006630+30 (?,?,?,?) ra 18803f78d8 sp 80364ccb00000204 sz 0^M
800066f8+ac (?,?,?,?) ra 803f78f0 sp 80364ccb000002cc sz 0^M
pid 0^M
db> continue^M
panic: trap^M
KDB: enter: panic^M
[ thread pid 0 tid 100000 ]^M
Stopped at kdb_enter+0x4c: lui at,0x803b^M
db> continue^M
Uptime: 1s^M
Automatic reboot in 15 seconds - press a key on the console to abort^M
--> Press a key on the console to reboot,^M
--> or switch off the system now.^M
Rebooting...^M
Trap cause = 10 (reserved instruction - kernel mode)^M
[ thread pid 0 tid 100000 ]^M
Stopped at 0xbf001004: lld a2,t0,-12026^M
db> continue^M
panic: trap^M
KDB: enter: panic^M
[ thread pid 0 tid 100000 ]^M
Stopped at kdb_enter+0x4c: lui at,0x803b^M
db> continue^M
Uptime: 1s^M
Rebooting...^M
Trap cause = 10 (reserved instruction - kernel mode)^M
[ thread pid 0 tid 100000 ]^M
Stopped at 0xbf001004: lld a2,t0,20742^M
db> ^M
panic: trap^M
KDB: enter: panic^M
[ thread pid 0 tid 100000 ]^M
Stopped at kdb_enter+0x4c: lui at,0x803b^M
db> ^M
db> ps^M
pid ppid pgrp uid state wmesg wchan cmd^M
13 0 0 0 RL [yarrow]^M
12 0 0 0 RL (threaded) [geom]^M
100008 RunQ [g_down]^M
100007 RunQ [g_up]^M
100006 RunQ [g_event]^M
11 0 0 0 WL (threaded) [intr]^M
100014 I [swi6: task queue]^M
100013 I [swi6: Giant taskq]^M
100011 I [swi5: +]^M
100005 I [swi3: vm]^M
100004 I [swi4: clock]^M
100003 I [swi1: netisr 0]^M
10 0 0 0 RL [idle]^M
1 0 0 0 ?L [kernel]^M
0 0 0 0 RLs (threaded) [kernel]^M
100015 RunQ [kqueue taskq]^M
100012 RunQ [thread taskq]^M
100009 RunQ [firmware taskq]^M
100000 Run CPU 0 [swapper]^
--- On Thu, 2/16/12, Aleksandr Rybalko <ray at dlink.ua> wrote:
> From: Aleksandr Rybalko <ray at dlink.ua>
> Subject: Re: Support for mips74KC
> To: "Warner Losh" <imp at bsdimp.com>
> Cc: "Youri Adonis" <vrtuff at yahoo.com>, "Adrian Chadd" <adrian at FreeBSD.org>, freebsd-mips at FreeBSD.org
> Date: Thursday, February 16, 2012, 8:56 AM
> On Wed, 15 Feb 2012 10:37:12 -0700
> Warner Losh <imp at bsdimp.com>
> wrote:
>
> >>
> >> On Feb 15, 2012, at 8:17 AM, Youri Adonis wrote:
> >> > I have a RT-N16 which I tried freebsd on
> through Rybalko's
> >> > broadcom work. I cannot get it to boot yet. It
> appears there is
> >> > some sort of 74kc support in NetBSD
> >>
> >> What support is missing in FreeBSD?
>
> CPU OS support only differ in two things (from NetBSD code)
> CPU_MIPS_HAVE_SPECIAL_CCA | (0 <<
> CPU_MIPS_CACHED_CCA_SHIFT)
> MIPS_CP0FL_CONFIG6
>
> 74k have "A 15-stage asymmetric dual-issue pipeline", 24k
> have only
> 8-stage, but:
> 1. our gcc know nothing about 74k.
> 2. clang seems same.
>
> I think if we add CPU_MIPS_HAVE_SPECIAL_CCA flag handling,
> it may run
> code compiled as mips24k, but I dunno how it will affect
> performance.
>
> Don't have such H/W, so can't check yet.
>
> Hope it will be not so big pain to add 74k to gcc.
>
> >>
> >> Warner
> >>
> >> _______________________________________________
> >> freebsd-mips at freebsd.org
> mailing list
> >> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
> >> To unsubscribe, send any mail to
> >> "freebsd-mips-unsubscribe at freebsd.org"
>
>
> --
> Alexandr Rybalko <ray at dlink.ua>
> aka Alex RAY <ray at ddteam.net>
>
More information about the freebsd-mips
mailing list