All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aneesh V <aneesh@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH 6/7] omap: common spl support for OMAP3/4
Date: Sun, 03 Jul 2011 14:09:50 +0530	[thread overview]
Message-ID: <4E102AD6.7050909@ti.com> (raw)
In-Reply-To: <4E1012BA.3040004@aribaud.net>

Hi Albert,

On Sunday 03 July 2011 12:26 PM, Albert ARIBAUD wrote:
> Hi Aneesh,
>
> Le 03/07/2011 06:47, Aneesh V a ?crit :
>> Hi Albert,
>>
>> On Saturday 02 July 2011 01:21 AM, Albert ARIBAUD wrote:
>>> Hi Aneesh,
>>>
>>> Le 01/07/2011 13:48, Aneesh V a ?crit :
>>>> Dear Andreas,
>>>>
>>>> On Friday 01 July 2011 03:25 PM, Andreas Bie?mann wrote:
>>>>> Dear Aneesh,
>>>> [snip ..]
>>>>> But the second part is not clear to me. I saw in your linker, that bss
>>>>> is placed in SDRAM. In start.S the boundaries for clear_bss are
>>>>> calculated at compile time to
>>>>>
>>>>> ---8<---
>>>>> _bss_start_ofs:
>>>>> .word __bss_start - _start
>>>>> --->8---
>>>>>
>>>>> Will that also work with e.g. SDRAM adress space is before SRAM, SDRAM
>>>>> addressing is far away (> 4GiB) ... So in you special case it may
>>>>> work,
>>>>> but if this is a blueprint for SPL on arm(v7) we should consider this.
>>>>>
>>>>
>>>> Nice catch. Actually, in my original OMAP4 series I tried to add
>>>> support for disjoint bss to support my case. But now I realize that it
>>>> works only for non-relocation case and that too only when the bss is at
>>>> higher address compared to .text
>>>>
>>>> Basically disjoint bss is not relocation friendly. So here is what I
>>>> propose:
>>>>
>>>> 1. Modify existing clear_bss sub-routine in start.S to take absolute
>>>> addresses.
>>>> 2. In regular u-boot, calculate the relocated bss address and pass to
>>>> this function.
>>>> 3. In SPL don't try to calculate the relocated address and directly
>>>> pass the absolute address.
>>>>
>>>> If this is fine I will make the necessary changes in start.S in the
>>>> next revision.
>>>
>>> So you would compute the BSS location in board_init_f() and pass that to
>>> relocate_code()?
>>
>> I was thinking of doing that in start.S itself. I haven't looked at
>> all the details though.
>>
>> BTW, please note that I am not trying to support disjoint BSS in
>> regular u-boot. I think it becomes complex with relocation + it doesn't
>> seem to be worth when all SDRAM is at our disposal.
>>
>> So:
>> 1. #ifdef CONFIG_PRELOADER part in start.s will just pass __bss_start
>> and __bss_end to the clear_bss function(assumes no relocation).
>> 2. #else part of above will assume that bss follows text and data(or at
>> least that __bss_start > _start), so add relocation offset to
>> __bss_start and __bss_end, and pass them to the clear_bss()
>>
>> Does that sound ok?
>
> (note clear_bss is not a function in arch/arm/cpu/armv7/start.S, it is
> only a label)
>
> So, considering what is already in arch/arm/cpu/armv7/start.S, you would
> just add a conditional variant to the BSS clearing code for the
> preloader case?
>
> If so, and considering that you'll pass an offset of 0, why would you
> need that variant for? With offset=0, the code already does what you
> want, does it not?
>

Yes, I think the following is all we need:

  clear_bss:
+#ifdef CONFIG_PRELOADER
+	/* No relocation for SPL */
+	ldr	r0, =__bss_start
+	ldr	r1, =__bss_end__
+#else
  	ldr	r0, _bss_start_ofs
  	ldr	r1, _bss_end_ofs
  	mov	r4, r6			/* reloc addr */
  	add	r0, r0, r4
  	add	r1, r1, r4
+#endif

I haven't tested this though.

br,
Aneesh

  parent reply	other threads:[~2011-07-03  8:39 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-16  8:08 [U-Boot] SPL framework re-design Aneesh V
2011-06-16 10:47 ` Wolfgang Denk
2011-06-16 11:50   ` Aneesh V
2011-06-16 12:15     ` Wolfgang Denk
2011-06-16 13:38       ` Aneesh V
2011-06-16 21:52         ` Wolfgang Denk
2011-06-16 12:55   ` Daniel Schwierzeck
2011-06-16 13:10     ` Andreas Bießmann
2011-06-26 23:17       ` Ilya Yanok
2011-06-27  4:29         ` Aneesh V
2011-06-27  8:24           ` Ilya Yanok
2011-06-27  9:08             ` Aneesh V
2011-06-27  8:42           ` Simon Schwarz
2011-06-27  9:36           ` Wolfgang Denk
2011-06-27 18:42             ` Scott Wood
2011-06-27 20:54               ` Wolfgang Denk
2011-06-27  9:27         ` Wolfgang Denk
2011-06-27 13:42           ` Daniel Schwierzeck
2011-06-27 20:48             ` Wolfgang Denk
2011-06-27 18:34           ` Scott Wood
2011-06-27 20:50             ` Wolfgang Denk
2011-06-27 20:55               ` Scott Wood
2011-06-27 21:10                 ` Wolfgang Denk
2011-06-27 21:18                   ` Scott Wood
2011-06-27 21:22                     ` Wolfgang Denk
2011-06-28  6:54                       ` Aneesh V
2011-06-28 16:18                         ` Scott Wood
2011-06-29  7:27                           ` Aneesh V
2011-06-16 13:57     ` Aneesh V
2011-06-16 14:27       ` Daniel Schwierzeck
2011-06-16 21:55       ` Wolfgang Denk
2011-06-16 21:47     ` Wolfgang Denk
2011-06-17 18:45       ` Daniel Schwierzeck
2011-06-17 18:51         ` Scott Wood
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 0/7] spl framework prototype Aneesh V
2011-07-01  5:20       ` Aneesh V
2011-07-05 16:26       ` [U-Boot] [RFC PATCH 0/4] " Daniel Schwierzeck
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 1/4] Adapt config.mk for usage in spl/Makefile Daniel Schwierzeck
2011-07-05 17:52           ` Mike Frysinger
2011-07-06  8:07           ` Aneesh V
2011-07-08  9:08           ` Wolfgang Denk
2011-07-08 10:20             ` Aneesh V
2011-07-08 11:19               ` Wolfgang Denk
2011-07-08 11:40                 ` Aneesh V
2011-07-08 12:37                   ` Wolfgang Denk
2011-07-08 11:34             ` Daniel Schwierzeck
2011-07-08 12:25               ` Wolfgang Denk
2011-07-08 13:33                 ` Aneesh V
2011-07-08 13:44                   ` Wolfgang Denk
2011-07-08 13:52                     ` Aneesh V
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 2/4] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Daniel Schwierzeck
2011-07-05 17:53           ` Mike Frysinger
2011-07-08  9:12           ` Wolfgang Denk
2011-07-08 10:28             ` Aneesh V
2011-07-08 11:20               ` Wolfgang Denk
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 3/4] Add new folder and build system for SPL Daniel Schwierzeck
2011-07-08  9:17           ` Wolfgang Denk
2011-07-08 11:32             ` Aneesh V
2011-07-08 12:32               ` Wolfgang Denk
2011-07-08 12:51                 ` Aneesh V
2011-07-08 13:04                   ` Wolfgang Denk
2011-07-08 13:28                     ` Aneesh V
2011-07-08 13:41                       ` Wolfgang Denk
2011-07-08 13:50                         ` Aneesh V
2011-07-08 11:57             ` Daniel Schwierzeck
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 4/4] Hook spl directory into main Makefile Daniel Schwierzeck
2011-07-08  9:18           ` Wolfgang Denk
2011-07-08  4:40         ` [U-Boot] [RFC PATCH 0/4] spl framework prototype Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 1/7] Adapt config.mk for usage in spl/Makefile Aneesh V
2011-06-29 18:52       ` Mike Frysinger
2011-06-30  5:12         ` Aneesh V
2011-06-30 11:09           ` Daniel Schwierzeck
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 2/7] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Aneesh V
2011-06-29 18:54       ` Mike Frysinger
2011-06-30  5:14         ` Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 3/7] Add new folder and build system for SPL Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 4/7] Hook spl directory into main Makefile Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 5/7] armv7: adapt Makefile for spl building Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 6/7] omap: common spl support for OMAP3/4 Aneesh V
2011-06-30  6:01       ` Heiko Schocher
2011-06-30  6:12         ` Aneesh V
2011-06-30  7:08           ` Andreas Bießmann
2011-07-01  9:27             ` Aneesh V
2011-07-01  9:55               ` Andreas Bießmann
2011-07-01 11:48                 ` Aneesh V
2011-07-01 19:51                   ` Albert ARIBAUD
2011-07-03  4:47                     ` Aneesh V
2011-07-03  6:56                       ` Albert ARIBAUD
2011-07-03  7:31                         ` Andreas Bießmann
2011-07-03  7:48                           ` Albert ARIBAUD
2011-07-03  8:39                         ` Aneesh V [this message]
2011-06-30  7:53           ` Heiko Schocher
2011-06-30  8:21             ` Simon Schwarz
2011-06-30 10:05               ` Aneesh V
2011-06-30 11:09               ` Albert ARIBAUD
2011-06-30 11:18                 ` Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 7/7] omap4: adapt Makefile for spl building Aneesh V
2011-06-17 16:48   ` [U-Boot] SPL framework re-design Aneesh V
2011-06-17 22:28     ` Scott Wood
2011-06-19 10:22       ` V, Aneesh
2011-06-20 16:19         ` Scott Wood
2011-06-21  3:22           ` Aneesh V
2011-06-21 10:59     ` Aneesh V
2011-06-25  8:06       ` Aneesh V
2011-06-25 12:10       ` Wolfgang Denk
2011-06-25 16:11         ` Daniel Schwierzeck
2011-06-27  4:19         ` Aneesh V
2011-06-27  9:27           ` Wolfgang Denk
2011-06-27 14:56             ` Aneesh V
2011-06-27 20:49               ` Wolfgang Denk
2011-06-16 16:45 ` Scott Wood
2011-06-16 22:09   ` Wolfgang Denk
2011-06-16 22:22     ` Scott Wood
2011-06-17  7:02     ` Aneesh V
2011-06-17  7:00   ` Aneesh V
2011-06-28  0:55 ` Graeme Russ
2011-06-28  4:10   ` Wolfgang Denk
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-15 16:22     ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-18 16:06       ` Wolfgang Denk
2011-07-18 16:22         ` Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 3/9] Extend build-system for " Daniel Schwierzeck
2011-07-14  5:37     ` Aneesh V
2011-07-14  9:45       ` Wolfgang Denk
2011-07-14 10:02         ` Aneesh V
2011-07-15 16:24     ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-15 12:31     ` Simon Schwarz
2011-07-15 12:41       ` Aneesh V
2011-07-15 13:10         ` Simon Schwarz
2011-07-15 13:35           ` Aneesh V
2011-07-15 14:43         ` Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-13 15:17   ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Albert ARIBAUD
2011-07-14 20:06   ` Wolfgang Denk
2011-07-14 20:25   ` Wolfgang Denk
2011-07-15  7:57     ` Aneesh V
2011-07-15  8:35       ` Wolfgang Denk
2011-07-15 15:02     ` Daniel Schwierzeck
2011-07-18 16:09   ` [U-Boot] [PATCH v3 0/9] Add initial support for a " Daniel Schwierzeck
2011-07-18 16:09     ` [U-Boot] [PATCH v3 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-19  3:51       ` Vipin Kumar
2011-07-26 12:41       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-18 17:48       ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-26 12:42         ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 3/9] Extend build-system for " Daniel Schwierzeck
2011-07-26 12:42       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-26 12:43       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-19  9:21       ` Albert ARIBAUD
2011-07-19 10:38         ` Aneesh V
2011-07-19 11:03           ` Albert ARIBAUD
2011-07-19 15:51       ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-20  7:59         ` Aneesh V
2011-07-26 12:44         ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-26 12:44       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-20 21:12     ` [U-Boot] [PATCH v3 0/9] Add initial support for a generic SPL framework Paulraj, Sandeep

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=4E102AD6.7050909@ti.com \
    --to=aneesh@ti.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 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.