All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2 (Taiga) board support
Date: Fri, 01 Dec 2006 15:31:52 +0100	[thread overview]
Message-ID: <20061201143152.9F8E4352621@atlas.denx.de> (raw)
In-Reply-To: Your message of "01 Dec 2006 16:09:27 +0800." <1164960567.6742.25.camel@localhost.localdomain>

In message <1164960567.6742.25.camel@localhost.localdomain> you wrote:
> 
> index d92f142..8a4d141 100644
> --- a/lib_ppc/extable.c
> +++ b/lib_ppc/extable.c
> @@ -50,15 +50,29 @@ search_one_table(const struct exception_
>  		 const struct exception_table_entry *last,
>  		 unsigned long value)
>  {
> +	DECLARE_GLOBAL_DATA_PTR;
> +
>  	while (first <= last) {
>  		const struct exception_table_entry *mid;
>  		long diff;
>  
>  		mid = (last - first) / 2 + first;
> -		diff = mid->insn - value;
> -		if (diff == 0)
> -			return mid->fixup;
> -		else if (diff < 0)
> +		if (mid > CFG_MONITOR_BASE) { 
> +		/* exception occurs in FLASH, before u-boot relocation.
> +		 * No relocation offset is needed. 
> +		 */
> +			diff = mid->insn - value;
> +			if (diff == 0)
> +				return mid->fixup;
> +		} else {
> +		/* exception occurs in RAM, after u-boot relocation. 
> +		 * A relocation offset should be added.
> +		 */
> +			diff = (mid->insn + gd->reloc_off) - value;
> +			if (diff == 0)
> +				return (mid->fixup + gd->reloc_off);
> +		}
> +		if (diff < 0)
>  			first = mid+1;
>  		else
>  			last = mid-1;

The problem I see  with  this  code  is  that  it  is  based  on  the
assumption  that  CFG_MONITOR_BASE  is  greater than any RAM address.
While this is always true so far, I would rather not rely on this.

And I still don't understand why this change is necessary, and/or  if
this  is  the right fix. If a fix is needed, then probably the values
of "value" is wrong in the first place, so the fix should be  in  the
calling routine.

Also please note that the DECLARE_GLOBAL_DATA_PTR declaration must be
placed outside the function, i. e. on file scope.



Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Wisdom is one of the few things that looks bigger the further away it
is.                               - Terry Pratchett, _Witches Abroad_

  reply	other threads:[~2006-12-01 14:31 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-11 10:44 [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2 (Taiga) board support Zang Roy-r61911
2006-10-30  7:11 ` [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2 (Taiga) boardsupport Zang Roy-r61911
2006-10-30  9:01   ` Wolfgang Denk
2006-10-30  9:23     ` Zang Roy-r61911
2006-11-03  4:54     ` Zang Roy-r61911
2006-11-07  2:32       ` [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2(Taiga) board support Zang Roy-r61911
2006-11-13  4:02       ` [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2 (Taiga) boardsupport Zang Roy-r61911
2006-11-13  6:12         ` Jaksa David
2006-11-13  6:36           ` Zang Roy-r61911
2006-11-27  2:12           ` [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2 (Taiga) board support Zang Roy-r61911
2006-11-27 15:49             ` Wolfgang Denk
2006-11-28  1:51               ` Zang Roy-r61911
2006-12-01  2:31               ` Zang Roy-r61911
2006-12-01  8:59                 ` Wolfgang Denk
2006-12-01 11:23                   ` Zang Roy-r61911
2006-12-01  8:09               ` Zang Roy-r61911
2006-12-01 14:31                 ` Wolfgang Denk [this message]
2006-12-04  2:04                   ` Zang Roy-r61911
2006-12-05  2:31               ` Zang Roy-r61911
2006-12-06  5:32                 ` Jaksa David
2006-12-08 15:51                 ` Zang Roy-r61911
2006-12-14  4:50                   ` Zang Roy-r61911
2006-12-20  2:25                     ` Jaksa David
2006-12-22  8:36               ` Zang Roy-r61911
2006-12-22 10:02                 ` Wolfgang Denk
2006-12-23 11:59                   ` Zang Roy-r61911
2007-01-08  2:13                   ` Zang Roy-r61911
2007-01-15  2:43                   ` Zang Roy-r61911
2007-01-15 21:21                     ` Wolfgang Denk
2007-01-23  1:58                       ` Zang Roy-r61911
2007-01-29  1:50                       ` Zang Roy-r61911
2007-02-12  3:24                       ` Zang Roy-r61911
2007-03-08 10:45                         ` Wolfgang Denk
2007-03-09  2:03                           ` Zang Roy-r61911
2007-03-09  7:40                             ` Wolfgang Denk
2007-04-06  1:22                           ` Zang Roy-r61911
2007-04-11 23:25                           ` Zang Roy-r61911
2007-04-18 15:33                             ` Wolfgang Denk
2007-04-18 23:44                               ` Zang Roy-r61911
2006-11-02  9:27 ` [U-Boot-Users] [PATCH 00/10 v3]: " Zang Roy-r61911
2006-11-08  8:10 [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2(Taiga)board support Ch.Vict
2006-11-08  8:31 ` Zang Roy-r61911
2006-11-08  8:53   ` Ch.Vict
2006-11-10  7:37     ` Ch.Vict
2006-11-10  7:45       ` [U-Boot-Users] [PATCH 00/07 v2]: Add mpc7448hpc2(Taiga) board support Zang Roy-r61911

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061201143152.9F8E4352621@atlas.denx.de \
    --to=wd@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.