|
@@ -53,27 +53,13 @@ search_one_table(const struct exception_table_entry *first,
|
|
unsigned long value)
|
|
unsigned long value)
|
|
{
|
|
{
|
|
long diff;
|
|
long diff;
|
|
- if ((ulong) first > CONFIG_SYS_MONITOR_BASE) {
|
|
|
|
- /* exception occurs in FLASH, before u-boot relocation.
|
|
|
|
- * No relocation offset is needed.
|
|
|
|
- */
|
|
|
|
- while (first <= last) {
|
|
|
|
- diff = first->insn - value;
|
|
|
|
- if (diff == 0)
|
|
|
|
- return first->fixup;
|
|
|
|
- first++;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- /* exception occurs in RAM, after u-boot relocation.
|
|
|
|
- * A relocation offset should be added.
|
|
|
|
- */
|
|
|
|
- while (first <= last) {
|
|
|
|
- diff = (first->insn + gd->reloc_off) - value;
|
|
|
|
- if (diff == 0)
|
|
|
|
- return (first->fixup + gd->reloc_off);
|
|
|
|
- first++;
|
|
|
|
- }
|
|
|
|
|
|
+ while (first <= last) {
|
|
|
|
+ diff = first->insn - value;
|
|
|
|
+ if (diff == 0)
|
|
|
|
+ return first->fixup;
|
|
|
|
+ first++;
|
|
}
|
|
}
|
|
|
|
+
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|