public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Alex Hornung <alex@alexhornung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/1] nios2 - adjust gbl data off to account for bd_info
Date: Thu, 23 Feb 2012 08:13:58 +0000	[thread overview]
Message-ID: <4F45F546.30209@alexhornung.com> (raw)
In-Reply-To: <4F43730E.3020404@gmail.com>

Hi Graeme,

On 21/02/12 10:33, Graeme Russ wrote:
> Hi Alex,
> 
> On 02/21/2012 10:45 AM, Alex Hornung wrote:
>>  * Adjust the GBL_DATA_OFFSET to account for the fact that we'll be
>>    using the space between that offset and the start of the malloc
>>    region to allocate both a gd structure and a board info structure.
>>
>>  * This fixes a memory corruption bug due to overlap of the malloc
>>    region and the bd_info structure.
>>
>> Signed-off-by: Alex Hornung <alex@alexhornung.com>
>> ---
>>  include/configs/nios2-generic.h |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/configs/nios2-generic.h b/include/configs/nios2-generic.h
>> index 9ba35e8..17017a5 100644
>> --- a/include/configs/nios2-generic.h
>> +++ b/include/configs/nios2-generic.h
>> @@ -131,7 +131,8 @@
>>  #define CONFIG_SYS_MALLOC_BASE		(CONFIG_SYS_MONITOR_BASE - \
>>  					 CONFIG_SYS_MALLOC_LEN)
>>  #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_MALLOC_BASE - \
>> -					 GENERATED_GBL_DATA_SIZE)
>> +					 GENERATED_GBL_DATA_SIZE - \
>> +					 GENERATED_BD_INFO_SIZE)
>>  #define CONFIG_SYS_INIT_SP		CONFIG_SYS_GBL_DATA_OFFSET
>>  
>>  /*
> 
> Oh I really want to NAK this, but I think I might be out-voted
> 
> in arch/x86/lib/init_helpers.c I do:
> 
> bd_t bd_data;
> 
> int init_bd_struct_r(void)
> {
> 	gd->bd = &bd_data;
> 	memset(gd->bd, 0, sizeof(bd_t));
> 
> 	return 0;
> }
> 
> So the bd struct is in bss
> 
> But everyone else (ARM, PPC) seems to do:
> 
> 	addr_sp -= sizeof(bd_t);
> 	bd = (bd_t *) addr_sp;
> 
> Why?
> 
> Well I see that a lot of bd is setup while still running from flash, so bss
> is not available. But is this really necessary?
> 
> And for the sake of one more copy and pointer adjustment, even gd could be
> moved into bss which would save all the hackish calculations of sticking gd
> and bd in a magic void below the stack
> 
> But maybe that's a battle for another day...

To be honest I just started using u-boot, and for that matter, just
started using Nios2. I just ran across the issue and had to fix it to
get u-boot working on my system.

Nonetheless I'd generally agree that less hackery is a better idea, and
putting it in BSS is a good option - but reality is, as you point out,
that most other platforms don't do that, either. For now I think the
above patch should do.

> Oh, and Nios is particularly nasty - It has no init_r / init_f so there is
> no support for relocation - Will there every be an intent to enable
> relocation for Nios or is it pointless?

As I mentioned I'm not really involved with u-boot on Nios, so I can't
answer that question.


Cheers,
Alex

  reply	other threads:[~2012-02-23  8:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-20 23:45 [U-Boot] [PATCH 1/1] nios2 - adjust gbl data off to account for bd_info Alex Hornung
2012-02-21 10:33 ` Graeme Russ
2012-02-23  8:13   ` Alex Hornung [this message]
2012-02-23  8:49     ` Graeme Russ
2012-02-23 23:54 ` Mike Frysinger
2012-02-24  3:03 ` Thomas Chou

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=4F45F546.30209@alexhornung.com \
    --to=alex@alexhornung.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox