Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Dec 2001 01:55:37 -0800
From:      Jamey Wood <Jamey.Wood@Sun.COM>
To:        freebsd-sparc@FreeBSD.ORG
Subject:   Re: compiling a sparc64 kernel?
Message-ID:  <14b5819239.1923914b58@smi.sun.com>

next in thread | raw e-mail | index | archive | help
> Hmmm, I must have overlooked something. Can you please decode the
> tpc addresses (using gdb from the s64-toolchain archive or nm)?
> If they are not making sense, please comment out all instructions that
> modify %tl in exception.s and look at the addresses again (this will
> break things later on, but for early crashes it makes debugging a lot
> easier because the original trap registers are preserved).

Sorry, the results I showed before were the result of an error on my 
part in applying your patch.  Now that I (hopefully) have it applied 
right to a cvs tree from 12/24, I get:

  sparc64_init: mdp=0xc01ba000 kmdp=0xc01ba000 boothowto=0
    envp=0xc01b8000 end=0x0
  stray interrupt 2033
  Copyright (c) 1992-2001 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 5.0-CURRENT #1: Mon Dec 31 02:29:25 GMT 2001
    woodjr@buddy:/usr/src/sys_12_24_2001/sparc64/compile/sparc64
  Preloaded elf kernel "/kernel" at 0xc01ba000.
  Timecounter "tick"  frequency 166987562 Hz
  CPU: unknown; please e-mail the following value together
       with the exact name of your processor to
       <freebsd-sparc@FreeBSD.org>.
       version register: <0x22001040000507>
  nexus0: <OpenFirmware Nexus device>
  nexus0: <counter-timer>, type (unknown) (no driver attached)
  nexus0: <sbus>, type sbus (no driver attached)
  rn_init: radix functions require max_keylen be set
  Mounting root from ufs:/dev/md0c
  Root mount failed: 22

  Manual root filesystem specification:
    <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:da0a
    ?                  List valid disk boot devices
    <empty line>       Abort manual input

  mountroot>
  RED State Exception

  TL=0000.0000.0000.0005 TT=0000.0000.0000.0080
   TPC=0000.0000.c002.4d5c TnPC=0000.0000.c002.4d60
   TSTATE=0000.0099.5800.1501
  TL=0000.0000.0000.0004 TT=0000.0000.0000.0068
   TPC=0000.0000.c002.8798 TnPC=0000.0000.c002.879c 
   TSTATE=0000.0044.5800.1501
  TL=0000.0000.0000.0003 TT=0000.0000.0000.0010
   TPC=0000.0000.c002.49c0 TnPC=0000.0000.c002.49c4 
   TSTATE=0000.0044.5800.1500
  TL=0000.0000.0000.0002 TT=0000.0000.0000.004e
   TPC=0000.0000.c002.87c0 TnPC=0000.0000.c002.87c4 
   TSTATE=0000.0044.5800.1600
  TL=0000.0000.0000.0001 TT=0000.0000.0000.004e
   TPC=0000.0000.c00d.7138 TnPC=0000.0000.c00d.713c
   TSTATE=0000.0000.0000.1603

So I do get through to the mountroot and see a "Stray interrupt 2033"
message.  But the RED state exception happens a second or two after 
getting to the mountroot (even with no input from me).

If it helps, I tried to decode the TPC's in that trace and get:

  (gdb) x/a 0xc0024d5c
  0xc0024d5c <tl1_dmmu_miss+92>:  0x9de3bf409c23a018
  (gdb) x/a 0xc0028798
  0xc0028798 <tl1_trap+8>:        0xe073a957a3500000
  (gdb) x/a 0xc00249c0
  0xc00249c0 <tl1_intr_level+416>:        0x9de3bf4095520000
  (gdb) x/a 0xc00287c0
  0xc00287c0 <tl1_trap+48>:       0xd073a95fd273a96f
  (gdb) x/a 0xc00d7138
  0xc00d7138 <bzero+104>: 0xc0722018106ffff9

--Jamey


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14b5819239.1923914b58>