Monday, July 19, 2010

What's the difference between FreeBSD/mips?

Comparing FreeBSD/mips and OpenBSD/OCTEON.

U-Boot 1.1.1 (U-boot build #: 235) (SDK version: 1.9.0-312) (Build time: Apr 23 2009 - 19:30:08)


DRAM:  384 MB
^[[JUsing default environment


Copying user supplied environment from file flash
Configuring boot bus for full 256meg access
Flash: 256 MB


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 0x42c520
Loading .text @ 0x810000d4 (3333932 bytes)
Loading .MIPS.stubs @ 0x8132e000 (16 bytes)
Loading .rodata @ 0x81330000 (161344 bytes)
Loading .reginfo @ 0x81357640 (24 bytes)
Loading .rodata.str1.4 @ 0x81357658 (285648 bytes)
Loading set_sysctl_set @ 0x8139d228 (4048 bytes)
Loading set_sysinit_set @ 0x8139e1f8 (2404 bytes)
Loading set_sysuninit_set @ 0x8139eb5c (1184 bytes)
Loading .interp @ 0x8139effc (13 bytes)
Loading .dynsym @ 0x8139f00c (101920 bytes)
Loading .dynstr @ 0x813b7e2c (102065 bytes)
Loading .hash @ 0x813d0ce0 (41884 bytes)
Loading set_kdb_dbbe_set @ 0x813db07c (8 bytes)
Loading set_modmetadata_set @ 0x813db084 (1476 bytes)
Loading set_ah_chips @ 0x813db648 (28 bytes)
Loading set_ah_rfs @ 0x813db664 (20 bytes)
Loading set_cons_set @ 0x813db678 (8 bytes)
Loading set_ratectl_set @ 0x813db680 (4 bytes)
Loading set_crypto_set @ 0x813db684 (12 bytes)
Loading set_ieee80211_ioctl_setset @ 0x813db690 (12 bytes)
Loading set_ieee80211_ioctl_getset @ 0x813db69c (12 bytes)
Loading set_scanner_set @ 0x813db6a8 (20 bytes)
Loading .data @ 0x813db6bc (220164 bytes)
Loading set_pcpu @ 0x814112c0 (3264 bytes)
Loading .got @ 0x81411f80 (7224 bytes)
Loading .rld_map @ 0x81413bb8 (4 bytes)
Loading .sdata @ 0x81413bbc (4 bytes)
Clearing .bss @ 0x81413bc0 (100704 bytes)
## Loading Linux kernel with entry point: 0xffffffff810000e0 ...
Bootloader: Done loading app on coremask: 0x1
Boot Descriptor Ver: 7 -> 1/2  CPU clock: 500MHz  Core Mask: 0
  Board Type: 1  Revision: 1/0
  Mac Address 00.DE.AD.BE.EF.00 (255)
Board: SIM
Model: CN3010p1.1-500-SCP
Cache info:
  picache_stride    = 4096
  picache_loopcount = 4
  pdcache_stride    = 128


  pdcache_loopcount = 64
cpu0: Cavium processor v2.2
  MMU: Standard TLB, 32 entries
  L1 i-cache: 2 ways of 64 sets, 128 bytes per line


  L1 d-cache: 64 ways of 1 sets, 128 bytes per line
  Config1=0xbe3103da
  Config3=0x80
Physical memory chunk(s):


0x142d000 - 0x5ffffff, 79507456 bytes (19411 pages)
Maxmem is 0x6000000
KDB: debugger backends: ddb
KDB: current backend: ddb
hz=100 timer1hz:400 cyl_per_tick:1250000 cyl_per_usec:500 freq:500000000
Available Octeon features: CRYPTO USB
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 #30 r209482:209596M: Sat Jul 10 21:32:28 JST 2010
    syuu@.localdomain:/usr/obj/mips/usr/octeon/sys/OCTEON1 mips


real memory  = 79507456 (77644K bytes)
Physical memory chunk(s):
0x014b9000 - 0x05e56fff, 77193216 bytes (18846 pages)
avail memory = 76550144 (73MB)
wlan: <802.11 Link Layer>
nfslock: pseudo-device
null:
random:
mem:
nexus0:
clock0: on nexus0
clock0: [FILTER]
rnd0: on nexus0
ciu0: on nexus0
ciu0: [FILTER]
obio0 on ciu0
uart1: on obio0
uart1: [FILTER]
uart1: fast interrupt
uart1: console (115200,n,8,1)
uart0: on obio0
uart0: [FILTER]
uart0: fast interrupt
uart0: console (115200,n,8,1)
Device configuration finished.
Timecounter "MIPS32" frequency 500000000 Hz quality 800
Timecounters tick every 10.000 msec


lo0: bpf attached
ATA PseudoRAID loaded
Trying to mount root from ufs:cf0s1
ROOT MOUNT ERROR: 
If you have invalid mount options, reboot, and first try the following from
the loader prompt:




     set vfs.root.mountfrom.options=rw


and then remove invalid mount options from /etc/fstab.




Loader variables:
vfs.root.mountfrom=
vfs.root.mountfrom.options=


Manual root filesystem specification:
  :  Mount using filesystem
                       eg. zfs:tank
                       eg. ufs:/dev/da0s1a
                       eg. cd9660:/dev/acd0


                       This is equivalent to: mount -t cd9660 /dev/acd0 /


  ?                  List valid disk boot devices
         Abort manual input


mountroot>

The kernel could reach mountroot, and kernel TLB mips exception works fine:


PP0:FFFFFFFF812E1D80:28655460@1    : [26101000] ADDIU   $s0, $s0, 4096 [$s0=FFFFFFFFC0801000]
PP0:FFFFFFFF812E1D84:28655461@0    : [ae710000] SW      $s1, 0($s3) [(FFFFFFFFC0800F10) TLB/ADDREXC to FFFFFFFF80000080]
Memory read (bank 1, LMC0) to 0x80
PP0:Istream redirect to 0xffffffff80000080 at time 28655463 (size=0,bad=0)
PP0:Ifetch at 28655463. Replacing way 0 0xffffffff812e0080 (asid=0x0,G=1,DM=1), set 1 with 0xffffffff80000080 (pa=0x80,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF80000080:28655548@0~BR : [ 84c13d2] J       FFFFFFFF81304F48
PP0:FFFFFFFF80000084:28655549@1~SL : [403a4000] DMFC0   $k0, 8, 0 [$k0=FFFFFFFFC0800F10 COP0 BadVAddr]
PP0:Istream redirect to 0xffffffff81304f48 at time 28655550 (size=0,bad=0)
Serviced Istream L2 reference to 0x80 (PP0), L2 index 0x1, cycle 28655553
Memory read (bank 2, LMC0) to 0x1304f00
Memory write (bank 6, LMC0) to 0x5fc0300
PP0:Ifetch at 28655553. Replacing way 0 0xffffffff812e8f00 (asid=0x0,G=1,DM=1), set 30 with 0xffffffff81304f00 (pa=0x1304f00,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF81304F48:28655640@0~IF : [ 7400026] BLTZ    $k0, FFFFFFFF81304FE4 (taken)
PP0:FFFFFFFF81304F4C:28655640@1    : [  1ad502] SRL     $k0, $k0, 20 [$k0=C08]
Serviced Istream L2 reference to 0x1304f00 (PP0), L2 index 0xfe, cycle 28655643
Memory read (bank 3, LMC0) to 0x1304f80
Memory write (bank 7, LMC0) to 0x5fc0380
PP0:Istream redirect to 0xffffffff81304fe4 at time 28655642 (size=0,bad=0)
PP0:Ifetch at 28655643. Replacing way 1 0xffffffff812def80 (asid=0x0,G=1,DM=1), set 31 with 0xffffffff81304f80 (pa=0x1304f80,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF81304FE4:28655732@0~MisP: [ 84c175c] J       FFFFFFFF81305D70
PP0:FFFFFFFF81304FE8:28655732@1    : [       0] NOP
Serviced Istream L2 reference to 0x1304f80 (PP0), L2 index 0xff, cycle 28655733
Memory read (bank 7, LMC0) to 0x1305d00
PP0:Istream redirect to 0xffffffff81305d70 at time 28655734 (size=0,bad=0)
PP0:Ifetch at 28655734. Replacing way 0 0xffffffff812ebd00 (asid=0x0,G=1,DM=1), set 58 with 0xffffffff81305d00 (pa=0x1305d00,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF81305D70:28655823@0~BR : [403a4000] DMFC0   $k0, 8, 0 [$k0=FFFFFFFFC0800F10 COP0 BadVAddr]
PP0:FFFFFFFF81305D74:28655823@1    : [241bc000] ADDIU   $k1, $zero, -16384 [$k1=FFFFFFFFFFFFC000]
PP0:Iprefetch cycle 28655825. Replacing way 1 0xffffffff812ebd80 (asid=0x0,G=1,DM=1), set 59 with 0xffffffff81305d80 (pa=0x1305d80,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF81305D78:28655825@0~RAW: [ 37ad82b] SLTU    $k1, $k1, $k0 [$k1=0]
Serviced Istream L2 reference to 0x1305d00 (PP0), L2 index 0xda, cycle 28655825
Memory read (bank 6, LMC0) to 0x1305d80
PP0:Istream fetch to pc 0xffffffff81305d80 latched onto existing prefetch time 28655826 (available at -256)
PP0:FFFFFFFF81305D7C:28655910@0~BRF: [1760fcaf] BNE     $k1, $zero, FFFFFFFF8130503C (not taken)
PP0:FFFFFFFF81305D80:28655910@1    : [3c1b8142] LUI     $k1, -32446 [$k1=FFFFFFFF81420000]
PP0:FFFFFFFF81305D84:28655911@0    : [  1ad502] SRL     $k0, $k0, 20 [$k0=C08]
Serviced Istream L2 reference to 0x1305d80 (PP0), L2 index 0xdb, cycle 28655915
PP0:Dcache miss. Replacing way 29: oldpa=0x13f4e80(va=0xffffffff813f4e80,asid=0x0,G=1), newpa=0x1423508(va=0xffffffff81423508,asid=0x0,G=1)
PP0:FFFFFFFF81305D88:28655934@0~D  : [8f7b3508] LW      $k1, 13576($k1) [$k1=FFFFFFFF8143F000(FFFFFFFF81423508,1423508)] 
Serviced load L2 reference to 0x1423500 (iob=0,PP0), L2 index 0xee, cycle 28655934
PP0:FFFFFFFF81305D8C:28655936@0~RAW: [1360fcab] BEQ     $k1, $zero, FFFFFFFF8130503C (not taken)
PP0:FFFFFFFF81305D90:28655936@1    : [335a0ffc] ANDI    $k0, $k0, 4092 [$k0=C08]
PP0:FFFFFFFF81305D94:28655937@0    : [ 35bd821] ADDU    $k1, $k0, $k1 [$k1=FFFFFFFF8143FC08]
PP0:FFFFFFFF81305D98:28655938@0~RAW: [8f7b0000] LW      $k1, 0($k1) [$k1=FFFFFFFF81442000(FFFFFFFF8143FC08,143FC08)] 
PP0:FFFFFFFF81305D9C:28655939@0~SL : [403a4000] DMFC0   $k0, 8, 0 [$k0=FFFFFFFFC0800F10 COP0 BadVAddr]
PP0:FFFFFFFF81305DA0:28655940@0~RAW: [1360fca6] BEQ     $k1, $zero, FFFFFFFF8130503C (not taken)
PP0:FFFFFFFF81305DA4:28655941@1~RAW: [  1ad282] SRL     $k0, $k0, 10 [$k0=302003]
PP0:Istream redirect to 0xffffffff8130503c at time 28655942 (size=0,bad=1)
PP0:Ifetch at 28655942. Replacing way 1 0xffffffff812e9000 (asid=0x0,G=1,DM=1), set 32 with 0xffffffff81305000 (pa=0x1305000,asid=0x0,G=1,DM=0)
PP0:Istream redirect to 0xffffffff81305da8 at time 28655944 (size=0,bad=0)
PP0:FFFFFFFF81305DA8:28655944@0~MisP: [335a0ff8] ANDI    $k0, $k0, 4088 [$k0=0]
PP0:FFFFFFFF81305DAC:28655945@0~RAW: [ 37ad821] ADDU    $k1, $k1, $k0 [$k1=FFFFFFFF81442000]
PP0:FFFFFFFF81305DB0:28655946@0~RAW: [8f7a0000] LW      $k0, 0($k1) [$k0=FFFFFFFF80052E5F(FFFFFFFF81442000,1442000)] 
PP0:FFFFFFFF81305DB4:28655947@0~SL : [8f7b0004] LW      $k1, 4($k1) [$k1=1(FFFFFFFF81442004,1442004)] 
PP0:FFFFFFFF81305DB8:28655948@0~RAW: [  1ad080] SLL     $k0, $k0, 2 [$k0=14B97C]
PP0:FFFFFFFF81305DBC:28655949@0~RAW: [  1ad082] SRL     $k0, $k0, 2 [$k0=52E5F]
PP0:FFFFFFFF81305DC0:28655950@0~RAW: [40ba1000] DMTC0   $k0, 2, 0 [COP0 EntryLo0 = 0x52e5f]
PP0:FFFFFFFF81305DC4:28655953@0~MTCOP0: [       0] NOP
PP0:FFFFFFFF81305DC8:28655953@1    : [       0] NOP
PP0:FFFFFFFF81305DCC:28655954@0    : [       0] NOP
PP0:FFFFFFFF81305DD0:28655954@1    : [       0] NOP
PP0:FFFFFFFF81305DD4:28655955@0    : [       0] NOP
PP0:FFFFFFFF81305DD8:28655955@1    : [  1bd880] SLL     $k1, $k1, 2 [$k1=4]
PP0:FFFFFFFF81305DDC:28655956@0    : [  1bd882] SRL     $k1, $k1, 2 [$k1=1]
PP0:FFFFFFFF81305DE0:28655957@0~RAW: [40bb1800] DMTC0   $k1, 3, 0 [COP0 EntryLo1 = 0x1]
PP0:FFFFFFFF81305DE4:28655960@0~MTCOP0: [       0] NOP
PP0:FFFFFFFF81305DE8:28655960@1    : [       0] NOP
PP0:FFFFFFFF81305DEC:28655961@0    : [       0] NOP
PP0:FFFFFFFF81305DF0:28655961@1    : [       0] NOP
PP0:FFFFFFFF81305DF4:28655962@0    : [       0] NOP

PP0:                   TLB CONTENTS
PP0:-------------------------------------------------------------
PP0:TLB[0] va=0xffffffff80000000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[1] va=0xffffffff80002000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[2] va=0xffffffff80004000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[3] va=0xffffffff80006000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[4] va=0xffffffff80008000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[5] va=0xffffffff8000a000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[6] va=0xffffffff8000c000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[7] va=0xffffffff8000e000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[8] va=0xffffffff80010000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[9] va=0xffffffff80012000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[10] va=0xffffffff80014000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[11] va=0xffffffff80016000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[12] va=0xffffffff80018000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[13] va=0xffffffff8001a000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[14] va=0xffffffff8001c000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[15] va=0xffffffff8001e000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[16] va=0xffffffff80020000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[17] va=0xffffffff80022000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[18] va=0xffffffff80024000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[19] va=0xffffffff80026000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[20] va=0xffffffff80028000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[21] va=0xffffffff8002a000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[22] va=0xffffffff8002c000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[23] va=0xffffffff8002e000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[24] va=0xffffffff80030000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[25] va=0xffffffff80032000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[26] va=0xffffffff80034000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[27] va=0xffffffff80036000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[28] va=0xffffffff80038000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[29] va=0xffffffff8003a000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[30] va=0xffffffff8003c000 asid=0x0,G=0,mask=0x0(0) pa[0]=0x0 V=0,D=0,C=0 pa[1]=0x0 V=0,D=0,C=0
PP0:TLB[31] va=0xffffffffc0800000 asid=0x0,G=1,mask=0x0(0) pa[0]=0x14b9000 V=1,D=1,C=3 pa[1]=0x0 V=0,D=0,C=0

Memory read (bank 5, LMC0) to 0x1305000
PP0:FFFFFFFF81305DF8:28655963@0~SL : [42000006] TLBWR
PP0:NEWTLB[31] va=0xffffffffc0800000 asid=0x0,G=1,mask=0x0(0) pa[0]=0x14b9000 V=1,D=1,C=3 pa[1]=0x0 V=0,D=0,C=0
PP0:FFFFFFFF81305DFC:28655966@0~MTCOP0: [       0] NOP
Memory write (bank 4, LMC0) to 0x5fa9a80
Serviced Istream L2 reference to 0x1305000 (PP0), L2 index 0xc0, cycle 28656033
Memory read (bank 1, LMC0) to 0x1305e00
Memory write (bank 2, LMC0) to 0x5fb9580
PP0:Ifetch at 28656033. Replacing way 0 0xffffffff812dfe00 (asid=0x0,G=1,DM=1), set 60 with 0xffffffff81305e00 (pa=0x1305e00,asid=0x0,G=1,DM=0)
PP0:FFFFFFFF81305E00:28656118@0~IF : [       0] NOP
PP0:FFFFFFFF81305E04:28656118@1    : [       0] NOP
PP0:FFFFFFFF81305E08:28656119@0    : [       0] NOP
PP0:FFFFFFFF81305E0C:28656119@1    : [       0] NOP
PP0:FFFFFFFF81305E10:28656120@0    : [42000018] ERET (Status[ERL] not set) (to FFFFFFFF812E1D84)
Serviced Istream L2 reference to 0x1305e00 (PP0), L2 index 0xdc, cycle 28656123
PP0:Istream redirect to 0xffffffff812e1d84 at time 28656122 (size=0,bad=0)
PP0:FFFFFFFF812E1D84:28656124@0~BR : [ae710000] SW      $s1, 0($s3) [(FFFFFFFFC0800F10,14B9F10)=85FFF800]   MEM[0x14B9F10]<- 0x85FFF800FFFFFFFF(mask=F0)
PP0:FFFFFFFF812E1D88:28656125@0~SL : [ae760010] SW      $s6, 16($s3) [(FFFFFFFFC0800F20,14B9F20)=C0800000]  MEM[0x14B9F20]<- 0xC0800000FFFFFFFF(mask=F0)
PP0:FFFFFFFF812E1D8C:28656126@0~SL : [96220078] LHU     $v0, 120($s1) [$v0=35(FFFFFFFF85FFF878,5FFF878)] 
PP0:FFFFFFFF812E1D90:28656128@0~RAW: [a2620015] SB      $v0, 21($s3) [(FFFFFFFFC0800F25,14B9F25)=35]        MEM[0x14B9F20]<- 0x350000(mask=4)
PP0:FFFFFFFF812E1D94:28656129@0~SL : [a2600016] SB      $zero, 22($s3) [(FFFFFFFFC0800F26,14B9F26)=0]       MEM[0x14B9F20]<- 0x0(mask=2)
PP0:FFFFFFFF812E1D98:28656130@0~SL : [93a20018] LBU     $v0, 24($sp) [$v0=2(FFFFFFFF8143ED70,143ED70)] 
PP0:FFFFFFFF812E1D9C:28656132@0~RAW: [a2620014] SB      $v0, 20($s3) [(FFFFFFFFC0800F24,14B9F24)=2]         MEM[0x14B9F20]<- 0x2000000(mask=8)
PP0:FFFFFFFF812E1DA0:28656133@0~SL : [8e22007c] LW      $v0, 124($s1) [$v0=2010(FFFFFFFF85FFF87C,5FFF87C)] 
PP0:FFFFFFFF812E1DA4:28656135@0~RAW: [30420400] ANDI    $v0, $v0, 1024 [$v0=0]
PP0:FFFFFFFF812E1DA8:28656136@0~RAW: [14400006] BNE     $v0, $zero, FFFFFFFF812E1DC4 (not taken)
PP0:FFFFFFFF812E1DAC:28656136@1    : [       0] NOP
PP0:FFFFFFFF812E1DB0:28656137@0    : [96220078] LHU     $v0, 120($s1) [$v0=35(FFFFFFFF85FFF878,5FFF878)] 
PP0:FFFFFFFF812E1DB4:28656139@0~RAW: [1c400011] BGTZ    $v0, FFFFFFFF812E1DFC (taken)
PP0:FFFFFFFF812E1DB8:28656139@1    : [       0] NOP
PP0:Istream redirect to 0xffffffff812e1dfc at time 28656141 (size=0,bad=0)

So in this case, ERET can return to EPC, kernel can continue its work.

Difference I could find between two OSes:
-virtual address is 32bit on FreeBSD, 64 bit on OpenBSD
-pa[1] is not vaild on FreeBSD, vaild on OpenBSD
-mask=0x0(0) on FreeBSD, mask=0x3(2) on OpenBSD. Not sure the meaning of the value. Is this from PageMask reg?

No comments:

Post a Comment