This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: RedBoot hits fetch instruction trap
- From: Kurt Siedenburg <kurt dot siedenburg at vicom dot com>
- To: Les Miklosy <lgm0 at verizon dot net>
- Cc: "ecos-discuss at ecos dot sourceware dot org" <ecos-discuss at ecos dot sourceware dot org>
- Date: Thu, 31 Jul 2014 09:08:00 +0000
- Subject: RE: RedBoot hits fetch instruction trap
- Authentication-results: sourceware.org; auth=none
- References: <53D8804D dot 2050404 at verizon dot net> <279D77960F36224FAA5BAC312F54F6F73712AA9C at AUSP01DAG0302 dot collaborationhost dot net> <53D9DF7D dot 8050705 at verizon dot net>
What I do see from the stuff below would result in data abort exceptions on other architectures - but not in instruction fetch exceptions:
- The instructions themselves are in valid address space, are all well aligned and seem to be valid opcodes
- But the data those instructions fetch may not be valid addresses (00000000, FFFFFFFF)
Again I'm not familiar with SPARC - and its CPU exception architecture.
Sorry - I don't think I can help any further.
Kurt
-----Original Message-----
From: Les Miklosy [mailto:lgm0@verizon.net]
Sent: Wednesday, July 30, 2014 11:18 PM
To: Kurt Siedenburg
Cc: ecos-discuss@ecos.sourceware.org
Subject: Re: [ECOS] RedBoot hits fetch instruction trap
Hope the following is useful information. I used the -nb -nswb switches when starting grmon to remove the erroneous exception notices. With a break point at RedBoot's _rb_gets I still see multiple traps (think grmon creates the last one in each list). The instruction at 0x4000bee8 is _rb_gets_preloaded. After a 'cont' command the process is trapped and neither RedBoot nor grmon returns control to the user.
Anyone have a clue? Here is the sequence just described:
grmon2> go 0
breakpoint 1 hit
0x4000c5a4: c02a0000 clrb [%o0]
grmon2> hist
TIME ADDRESS INSTRUCTIONS/AHB SIGNALS RESULT/DATA
98758063 4000AE00 or %l0, 0x298, %o0 [4001FA98]
98758064 4000C5AC AHB read mst=0 size=2 [7FFFFE4B]
98758065 4000C5B0 AHB read mst=0 size=2 [9E104000]
98758066 4000C5B4 AHB read mst=0 size=2 [01000000]
98758067 4000C5B8 AHB read mst=0 size=2 [9DE3BF90]
98758068 4000C5BC AHB read mst=0 size=2 [9210001A]
98758070 4000AE04 mov 256, %o1 [00000100]
98758071 4000AE08 call 0x4000C5A4 [4000AE08]
98758072 4000AE0C mov 10, %o2 [0000000A]
98758073 4000C5A4 clrb [%o0] [ TRAP ]
grmon2> step 10
0x4000c5a4: c02a0000 clrb [%o0]
0x4000c5a8: 8213c000 or %o7, %g1
0x4000c5ac: 7ffffe4b call 0x4000BED8
0x4000c5b0: 9e104000 or %g1, %o7
0x4000bed8: 9de3bf90 save %sp, -112, %sp
0x4000bedc: 1110004e sethi %hi(0x40013800), %o0
0x4000bee0: ea022390 ld [%o0 + 0x390], %l5
0x4000bee4: a4100018 mov %i0, %l2
0x4000bee8: d24e0000 ldsb [%i0], %o1
0x4000beec: a6102000 mov 0, %l3
grmon2> hist
TIME ADDRESS INSTRUCTIONS/AHB SIGNALS RESULT/DATA
98758147 40013B90 AHB read mst=0 size=2 [FFFFFFFF]
98758148 4000BEE0 ld [%o0 + 0x390], %l5 [FFFFFFFF]
98758149 4000BEE4 mov %i0, %l2 [ TRAP ]
98758155 4000BEE4 mov %i0, %l2 [4001FA98]
98758156 4000BEE8 ldsb [%i0], %o1 [ TRAP ]
98758169 4001FA98 AHB read mst=0 size=2 [00656C70]
98758170 4000BEE8 ldsb [%i0], %o1 [00000000]
98758171 4000BEEC mov 0, %l3 [ TRAP ]
98758177 4000BEEC mov 0, %l3 [00000000]
98758178 4000BEF0 cmp %o1 [ TRAP ]
grmon2> cont
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss