All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] u-boot for x86
       [not found] <col109-w370A0C683BF04A0D919810F7500@phx.gbl>
@ 2011-06-22  2:56 ` Graeme Russ
       [not found]   ` <col109-w309B8D517A8E83EB101152F7500@phx.gbl>
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-22  2:56 UTC (permalink / raw)
  To: u-boot

Hi Raleigh,

On Wed, Jun 22, 2011 at 12:44 PM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
> I am looking at the source code for the sc520 and can not figure out which
> board directory to look in. Which of the board plat form has the sc520?

The only board which currently builds for the sc520 is the eNET board

> Also How do I configure for the sc520 board? How do I do a build for the
> sc520?

1) Get the latest source using git
2) make eNET_config
3) make all

I doubt that will be much help though, as you will need an eNET board to
run it on :)

If you have another x86 based board you want to get U-Boot running on, I
am more than willing to help with advice and the odd bit of code

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] u-boot for x86
       [not found]   ` <col109-w309B8D517A8E83EB101152F7500@phx.gbl>
@ 2011-06-22 23:16     ` Graeme Russ
  2011-06-22 23:37       ` [U-Boot] U-boot for Pentium Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-22 23:16 UTC (permalink / raw)
  To: u-boot

Hi Raleigh,

Please keep the ML Cc'd (and please don't top-post)

On Thu, Jun 23, 2011 at 8:58 AM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
> Thanks I will be looking for an eNET board. I am doing several Pentium
> U-boot projects.

An eNET board may be difficult to come by - They are a Remote Telemetry
Unit (RTU) developed by Serck Controls in Australia but now manufactured
by Control Microsystems in Canada (both companies are now subsiduaries of
Schneider Electric). They are used to monitor and control water pumping
stations, bore fields, reservoirs etc. They are not very usefull as a
U-Boot development platform - The only reason I have one is that I work
for Serck Controls and managed to convince someone to give me one that had
been sent back for repairs but was deemed 'not fit for service'.

You could always buy one from Control Microsystems, but be warned, they
are not exactly cheap ;)

As I said before, I am willing to help you get your Pentium projects
running.

> Hey so the 'make all' command makes the tool chain and the U-boot code
> itself. How do I just complie the U-boot source code now that I have the
> tool chain.

I think you might mean that it makes 'tools' and 'u-boot.bin' - 'tools'
is not a toolchain - They are a set of executables that can be used in
Linux to access the U-Boot environment etc. If you just want to build the
binary, 'make u-boot.bin' may be what you need (someone will correct me
if I'm wrong)

Regards,

Graeme

>
>> Date: Wed, 22 Jun 2011 12:56:25 +1000
>> Subject: Re: u-boot for x86
>> From: graeme.russ at gmail.com
>> To: r_boulware at hotmail.com
>> CC: u-boot at lists.denx.de
>>
>> Hi Raleigh,
>>
>> On Wed, Jun 22, 2011 at 12:44 PM, Raleigh Boulware
>> <r_boulware@hotmail.com> wrote:
>> > I am looking at the source code for the sc520 and can not figure out
>> > which
>> > board directory to look in. Which of the board plat form has the sc520?
>>
>> The only board which currently builds for the sc520 is the eNET board
>>
>> > Also How do I configure for the sc520 board? How do I do a build for the
>> > sc520?
>>
>> 1) Get the latest source using git
>> 2) make eNET_config
>> 3) make all
>>
>> I doubt that will be much help though, as you will need an eNET board to
>> run it on :)
>>
>> If you have another x86 based board you want to get U-Boot running on, I
>> am more than willing to help with advice and the odd bit of code
>>
>> Regards,
>>
>> Graeme
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] U-boot for Pentium
  2011-06-22 23:16     ` Graeme Russ
@ 2011-06-22 23:37       ` Raleigh Boulware
  2011-06-23  0:02         ` Graeme Russ
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-22 23:37 UTC (permalink / raw)
  To: u-boot


Thanks for your help.

I have several boards I am looking at.
One is a Pentium Main board that uses the Intel 82340LX chip set.
Anther board is a Pentium that uses the Opti Viper Chip set.
The third is just a Mother board that has a custom FPGA as the North and south bridge.

I think the Intel and Opti main boards could be used down the road for others to port U-boot to other Later Platforms.

I have to admit my programming skills in the GNU enviroment is very limited. I am taken a Linux course now at work and I somewhat understand. I guess right now I am trying to understand and work my way through the U-boot source. So please excuse any questions that might seen odd or dumb.

thanks for your help.
 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] U-boot for Pentium
  2011-06-22 23:37       ` [U-Boot] U-boot for Pentium Raleigh Boulware
@ 2011-06-23  0:02         ` Graeme Russ
  2011-06-23  0:47           ` Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-23  0:02 UTC (permalink / raw)
  To: u-boot

Hi Raleigh,

On Thu, Jun 23, 2011 at 9:37 AM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
> Thanks for your help.
>
> I have several boards I am looking at.
> One is a Pentium Main board that uses the Intel 82340LX chip set.
> Anther board is a Pentium that uses the Opti Viper Chip set.
> The third is just a Mother board that has a custom FPGA as the North and
> south bridge.

A couple of questions:
 - Are these commercially available boards?
 - Do you have model/part numbers?
 - Is this a work related port (versus a spare time personal effort)?

> I think the Intel and Opti main boards could be used down the road for
> others to port U-boot to other Later Platforms.

Yes, I would love to get bare-bones support for more x86 CPUs into U-Boot.
So far I have only done sc520 because that is all I have ready access to

Also, have you looked at Coreboot (it is a BIOS replacement project). Not
that I don't want to get more x86 U-Boot ports running, but you may find
that the board you are looking at is already supported by Coreboot
(especially if it is a commercially available motherboard)

> I have to admit my programming skills in the GNU enviroment is very limited.
> I am taken a Linux course now at work and I somewhat understand. I guess
> right now I am trying to understand and work my way through the U-boot
> source. So please excuse any questions that might seen odd or dumb.

Ask away - If you are unsure of mailing list etiquette, Wolfgang is rather
fond of these two links:

  http://www.netmeister.org/news/learn2quote.html
  http://catb.org/esr/faqs/smart-questions.html

Don't forget to have a good look through the U-Boot wiki at:

  http://www.denx.de/wiki/U-Boot/WebHome

And the 'U-Boot Porting Guide' found in the README:

  http://git.denx.de/?p=u-boot.git;a=blob_plain;f=README;hb=HEAD

Just so you know, U-Boot is a hobby for me (i.e. limited time, no budget).
I'm more than willing to help, but unfortunately that help is not going to
extend to buying my own development hardware

> thanks for your help.

My pleasure

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] U-boot for Pentium
  2011-06-23  0:02         ` Graeme Russ
@ 2011-06-23  0:47           ` Raleigh Boulware
  2011-06-23  1:06             ` Graeme Russ
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-23  0:47 UTC (permalink / raw)
  To: u-boot




> Date: Thu, 23 Jun 2011 10:02:31 +1000
> Subject: Re: U-boot for Pentium
> From: graeme.russ at gmail.com
> To: r_boulware at hotmail.com
> CC: u-boot at lists.denx.de
> 
> Hi Raleigh,
> 
> On Thu, Jun 23, 2011 at 9:37 AM, Raleigh Boulware
> <r_boulware@hotmail.com> wrote:
> > Thanks for your help.
> >
> > I have several boards I am looking at.
> > One is a Pentium Main board that uses the Intel 82340LX chip set.
> > Anther board is a Pentium that uses the Opti Viper Chip set.
> > The third is just a Mother board that has a custom FPGA as the North and
> > south bridge.
> 
> A couple of questions:
>  - Are these commercially available boards?
No these are boards I have here at home that I am working with.
>  - Do you have model/part numbers?
I believe the Chip set numbers are 82C556, 82C557, and 82C558 this is for the Opti board. I also have schematics in Orcad for this board and full ducmentation on this chipset.
>  - Is this a work related port (versus a spare time personal effort)?
No actually this is a home project. At work I do Hardware development. Schematics, board layout and debug.
> 
> > I think the Intel and Opti main boards could be used down the road for
> > others to port U-boot to other Later Platforms.
> 
> Yes, I would love to get bare-bones support for more x86 CPUs into U-Boot.
> So far I have only done sc520 because that is all I have ready access to

Well these boards are just first generation Pentium mother boards. I know the performance is slow compared to today's standard, but they are easy to write code for because the registers are as many as the chipsets today.
I am also working on a platform that has no North bridge or south bridge. This might be easier from a U-boot linux stand point but more difficult from a Hardware standpoint
> 
> Also, have you looked at Coreboot (it is a BIOS replacement project). Not
> that I don't want to get more x86 U-Boot ports running, but you may find
> that the board you are looking at is already supported by Coreboot
> (especially if it is a commercially available motherboard)
> 
> > I have to admit my programming skills in the GNU enviroment is very limited.
> > I am taken a Linux course now at work and I somewhat understand. I guess
> > right now I am trying to understand and work my way through the U-boot
> > source. So please excuse any questions that might seen odd or dumb.
> 
> Ask away - If you are unsure of mailing list etiquette, Wolfgang is rather
> fond of these two links:
> 
>   http://www.netmeister.org/news/learn2quote.html
>   http://catb.org/esr/faqs/smart-questions.html
Yeah this seems like alot to try to remember to do...I'm sure I am breaking a bunch of rules on this.
> 
> Don't forget to have a good look through the U-Boot wiki at:
> 
>   http://www.denx.de/wiki/U-Boot/WebHome
> 
> And the 'U-Boot Porting Guide' found in the README:
> 
>   http://git.denx.de/?p=u-boot.git;a=blob_plain;f=README;hb=HEAD
> 
> Just so you know, U-Boot is a hobby for me (i.e. limited time, no budget).
> I'm more than willing to help, but unfortunately that help is not going to
> extend to buying my own development hardware
> 
Yeah, this is a hobby for me too. It is a Sloooowww hobby at that... 

This U-boot seems very big I am trying to fumble my way through it. Right now I am going through the .S files from the reset vector and following it from there. I got to the 'Start.S' and got lost that's why I asked about which board on the tree was the sc520 or x86 platform.

I will keep trying to make baby steps and ask questions if I get stuck
> > thanks for your help.
> 
> My pleasure
> 
> Regards,
> 
> Graeme
 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] U-boot for Pentium
  2011-06-23  0:47           ` Raleigh Boulware
@ 2011-06-23  1:06             ` Graeme Russ
  2011-06-30  1:16               ` [U-Boot] more " Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-23  1:06 UTC (permalink / raw)
  To: u-boot

Hi Raleigh,

On Thu, Jun 23, 2011 at 10:47 AM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
>
>

[snip]

>>
>> A couple of questions:
>> - Are these commercially available boards?
> No these are boards I have here at home that I am working with.
>> - Do you have model/part numbers?
> I believe the Chip set numbers are 82C556, 82C557, and 82C558 this is for
> the Opti board. I also have schematics in Orcad for this board and full
> ducmentation on this chipset.

Having full documentation is always helpful

>> - Is this a work related port (versus a spare time personal effort)?
> No actually this is a home project. At work I do Hardware development.
> Schematics, board layout and debug.

That's great - nothing like scratching an itch

>>
>> > I think the Intel and Opti main boards could be used down the road for
>> > others to port U-boot to other Later Platforms.
>>
>> Yes, I would love to get bare-bones support for more x86 CPUs into U-Boot.
>> So far I have only done sc520 because that is all I have ready access to
>
> Well these boards are just first generation Pentium mother boards. I know
> the performance is slow compared to today's standard, but they are easy to
> write code for because the registers are as many as the chipsets today.
> I am also working on a platform that has no North bridge or south bridge.
> This might be easier from a U-boot linux stand point but more difficult from
> a Hardware standpoint

Yes, the older hardware is much easier to work with because is is far
simpler - No multi-core, no System Management Mode, not microcode etc

[snip]

>> Just so you know, U-Boot is a hobby for me (i.e. limited time, no budget).
>> I'm more than willing to help, but unfortunately that help is not going to
>> extend to buying my own development hardware
>>
> Yeah, this is a hobby for me too. It is a Sloooowww hobby at that...

I know the feeling

> This U-boot seems very big I am trying to fumble my way through it. Right
> now I am going through the .S files from the reset vector and following it
> from there. I got to the 'Start.S' and got lost that's why I asked about
> which board on the tree was the sc520 or x86 platform.

Well really, most of U-Boot is platform independent. You are starting at
the right point. The restet vector and Start16.S should not need any
attention. You will need to focus first on getting RAM initialisation
working. You need to be able to configure the SDRAM timings and determine
the memory size very early. You have two potential options

 1) Cache-As-RAM - Should be possible on the Pentium chips - Coreboot will
    probably have some code which may give you an idea. This is the way
    the current sc520 code works
 2) Do full RAM init in assembler - sc520 used to work like this, so if
    you go back to a previous commit in git (the patch series that changed
    it starts at commit de47cbe6860654cc6c0cf8820d9165f059c7cf38) you
    should be able to see an example of this method

Option 1 tends to be more tricky conceptually, but requires far less
assembler code - If you get it working, all the main RAM init can be
done in C code

As a first step, you may be able to hard-code the SDRAM timings and RAM
size just to get things going.

> I will keep trying to make baby steps and ask questions if I get stuck
> thanks for your help.

That's the way to do it

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-23  1:06             ` Graeme Russ
@ 2011-06-30  1:16               ` Raleigh Boulware
  2011-06-30  1:29                 ` Graeme Russ
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-30  1:16 UTC (permalink / raw)
  To: u-boot


I have been going through the code and I have stumbled accross a file called sc520_car.S that has something called Cache as ram. I am guessing that this is something special for the sc520 correct? Why was there a need to do this? Why was the Cache used like ram in the boot process?

Also I am I see something called early_board_init. I trace this to a file called eNET.S but all it does is jumps back to where it came from. I don't understand.

Where is the external memory controller set up at?

thanks for your time
 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  1:16               ` [U-Boot] more " Raleigh Boulware
@ 2011-06-30  1:29                 ` Graeme Russ
  2011-06-30  1:54                   ` Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-30  1:29 UTC (permalink / raw)
  To: u-boot

Hi Raleigh,

On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
> I have been going through the code and I have stumbled accross a file called
> sc520_car.S that has something called Cache as ram. I am guessing that this
> is something special for the sc520 correct? Why was there a need to do this?
> Why was the Cache used like ram in the boot process?

Cache-As-RAM allows the CPU cache to be used as regular RAM while U-Boot
is running from Flash before the onboard SDRAM has been initialised. This
allows a temporary stack, and therefore C runtime environment to be
created. This this allows you to write the SDRAM initialisation code in C
which is a lot easier than assembler.

>
> Also I am I see something called early_board_init. I trace this to a file
> called eNET.S but all it does is jumps back to where it came from. I don't
> understand.

This is provided in case the board needs to do any specific initialisation
extremely early in the boot process. In the case of the eNET, no such
initialisation needs to be performed.

> Where is the external memory controller set up at?

For the sc520, the is no external memory controller, and the initialisation
of SDRAM is trivial (a couple of timing parameters in a control register)

> thanks for your time

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  1:29                 ` Graeme Russ
@ 2011-06-30  1:54                   ` Raleigh Boulware
  2011-06-30  1:58                     ` Graeme Russ
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-30  1:54 UTC (permalink / raw)
  To: u-boot



 

> Hi Raleigh,
> 
> On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
> <r_boulware@hotmail.com> wrote:
> > I have been going through the code and I have stumbled accross a file called
> > sc520_car.S that has something called Cache as ram. I am guessing that this
> > is something special for the sc520 correct? Why was there a need to do this?
> > Why was the Cache used like ram in the boot process?
> 
> Cache-As-RAM allows the CPU cache to be used as regular RAM while U-Boot
> is running from Flash before the onboard SDRAM has been initialised. This
> allows a temporary stack, and therefore C runtime environment to be
> created. This this allows you to write the SDRAM initialisation code in C
> which is a lot easier than assembler.
> 
So this is pnly used if we want to setup the SDRAM controller in C code correct? In this code it is not used because the SDRAM cotroller is pretty much working from power up. So when I port this to my motherboard it looks as if i really do not need this.. Am I correct in this thinking??
 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  1:54                   ` Raleigh Boulware
@ 2011-06-30  1:58                     ` Graeme Russ
  2011-06-30  2:08                       ` Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Graeme Russ @ 2011-06-30  1:58 UTC (permalink / raw)
  To: u-boot

On Thu, Jun 30, 2011 at 11:54 AM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
>
>
>> Hi Raleigh,
>>
>> On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
>> <r_boulware@hotmail.com> wrote:
>> > I have been going through the code and I have stumbled accross a file
>> > called
>> > sc520_car.S that has something called Cache as ram. I am guessing that
>> > this
>> > is something special for the sc520 correct? Why was there a need to do
>> > this?
>> > Why was the Cache used like ram in the boot process?
>>
>> Cache-As-RAM allows the CPU cache to be used as regular RAM while U-Boot
>> is running from Flash before the onboard SDRAM has been initialised. This
>> allows a temporary stack, and therefore C runtime environment to be
>> created. This this allows you to write the SDRAM initialisation code in C
>> which is a lot easier than assembler.
>>
> So this is pnly used if we want to setup the SDRAM controller in C code

More that just that - It is used for the duration of board_init_f() which
may include all manner of peripheral initialisation prior to relocating
U-Boot into RAM.

> correct? In this code it is not used because the SDRAM cotroller is pretty
> much working from power up. So when I port this to my motherboard it looks
> as if i really do not need this.. Am I correct in this thinking??

You may need to initialise the SDRAM controller - It really depends on the
underlying hardware. You are going to need to have a good look at the
technical documentation for your board to figure this one out

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  1:58                     ` Graeme Russ
@ 2011-06-30  2:08                       ` Raleigh Boulware
  2011-06-30  2:17                         ` Graeme Russ
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-30  2:08 UTC (permalink / raw)
  To: u-boot



 

> Date: Thu, 30 Jun 2011 11:58:55 +1000
> Subject: Re: more U-boot for Pentium
> From: graeme.russ at gmail.com
> To: r_boulware at hotmail.com
> CC: u-boot at lists.denx.de
> 
> On Thu, Jun 30, 2011 at 11:54 AM, Raleigh Boulware
> <r_boulware@hotmail.com> wrote:
> >
> >
> >> Hi Raleigh,
> >>
> >> On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
> >> <r_boulware@hotmail.com> wrote:
> >> > I have been going through the code and I have stumbled accross a file
> >> > called
> >> > sc520_car.S that has something called Cache as ram. I am guessing that
> >> > this
> >> > is something special for the sc520 correct? Why was there a need to do
> >> > this?
> >> > Why was the Cache used like ram in the boot process?
> >>
> >> Cache-As-RAM allows the CPU cache to be used as regular RAM while U-Boot
> >> is running from Flash before the onboard SDRAM has been initialised. This
> >> allows a temporary stack, and therefore C runtime environment to be
> >> created. This this allows you to write the SDRAM initialisation code in C
> >> which is a lot easier than assembler.
> >>
> > So this is pnly used if we want to setup the SDRAM controller in C code
> 
> More that just that - It is used for the duration of board_init_f() which
> may include all manner of peripheral initialisation prior to relocating
> U-Boot into RAM.
Is it possible to just set up the DDR controller early in the process in assembler to avoid doing a Cache as ram? The reason I ask is because I might have trouble getting other mother boards to do this.
 
Als I was looking at 2 rutines. board_init_r()  and board_init_f(). It appears that the code goes from assmbler to this board_init_f() then back to assembler then to board_init_r(). I am not sure of the reason for this. 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  2:08                       ` Raleigh Boulware
@ 2011-06-30  2:17                         ` Graeme Russ
  2011-06-30  2:29                           ` Raleigh Boulware
  2011-07-11 20:35                           ` [U-Boot] Good dissassambler Raleigh Boulware
  0 siblings, 2 replies; 17+ messages in thread
From: Graeme Russ @ 2011-06-30  2:17 UTC (permalink / raw)
  To: u-boot

On Thu, Jun 30, 2011 at 12:08 PM, Raleigh Boulware
<r_boulware@hotmail.com> wrote:
>
>
>> Date: Thu, 30 Jun 2011 11:58:55 +1000
>> Subject: Re: more U-boot for Pentium
>> From: graeme.russ at gmail.com
>> To: r_boulware at hotmail.com
>> CC: u-boot at lists.denx.de
>>
>> On Thu, Jun 30, 2011 at 11:54 AM, Raleigh Boulware
>> <r_boulware@hotmail.com> wrote:
>> >
>> >
>> >> Hi Raleigh,
>> >>
>> >> On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
>> >> <r_boulware@hotmail.com> wrote:
>> >> > I have been going through the code and I have stumbled accross a file
>> >> > called
>> >> > sc520_car.S that has something called Cache as ram. I am guessing
>> >> > that
>> >> > this
>> >> > is something special for the sc520 correct? Why was there a need to
>> >> > do
>> >> > this?
>> >> > Why was the Cache used like ram in the boot process?
>> >>
>> >> Cache-As-RAM allows the CPU cache to be used as regular RAM while
>> >> U-Boot
>> >> is running from Flash before the onboard SDRAM has been initialised.
>> >> This
>> >> allows a temporary stack, and therefore C runtime environment to be
>> >> created. This this allows you to write the SDRAM initialisation code in
>> >> C
>> >> which is a lot easier than assembler.
>> >>
>> > So this is pnly used if we want to setup the SDRAM controller in C code
>>
>> More that just that - It is used for the duration of board_init_f() which
>> may include all manner of peripheral initialisation prior to relocating
>> U-Boot into RAM.
> Is it possible to just set up the DDR controller early in the process in
> assembler to avoid doing a Cache as ram? The reason I ask is because I might
> have trouble getting other mother boards to do this.

Yes, you can setup the SDRAM controller in assembler. This would occur in
place of the Cache-As-RAM init you see for the sc520. You also need to
determine the memory size while you are at it (at a pinch, you can hard-
code the memory size initially)

>
> Als I was looking at 2 rutines. board_init_r()? and board_init_f(). It
> appears that the code goes from assmbler to this board_init_f() then back to
> assembler then to board_init_r(). I am not sure of the reason for this.

board_init_f() runs from Flash - It is responsible for getting everything
setup ready to run U-Boot from RAM. The last thing board_init_f does is
copy U-Boot from Flash into RAM and perform the relocation fixups.
board_init_f() then calls back into assembler at which point a new stack
is created in RAM before jumping to the in-RAM copy of board_init_r().
Once inside board_init_r(), the Flash is never again accessed unless you
save the environment or erase it and write a new U-Boot binary (i.e. you
can physically remove the Flash chip and U-Boot will still run fine)

Regards,

Graeme

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] more U-boot for Pentium
  2011-06-30  2:17                         ` Graeme Russ
@ 2011-06-30  2:29                           ` Raleigh Boulware
  2011-07-11 20:35                           ` [U-Boot] Good dissassambler Raleigh Boulware
  1 sibling, 0 replies; 17+ messages in thread
From: Raleigh Boulware @ 2011-06-30  2:29 UTC (permalink / raw)
  To: u-boot


Thanks for your help I will study up on this more and get back with more questions next week! thanks for your help..
 
BTW I just bought an eprom programer off EBAY it will take quite some time to ship it from china, so i am making baby steps.. :)
 

> Date: Thu, 30 Jun 2011 12:17:46 +1000
> Subject: Re: more U-boot for Pentium
> From: graeme.russ at gmail.com
> To: r_boulware at hotmail.com
> CC: u-boot at lists.denx.de
> 
> On Thu, Jun 30, 2011 at 12:08 PM, Raleigh Boulware
> <r_boulware@hotmail.com> wrote:
> >
> >
> >> Date: Thu, 30 Jun 2011 11:58:55 +1000
> >> Subject: Re: more U-boot for Pentium
> >> From: graeme.russ at gmail.com
> >> To: r_boulware at hotmail.com
> >> CC: u-boot at lists.denx.de
> >>
> >> On Thu, Jun 30, 2011 at 11:54 AM, Raleigh Boulware
> >> <r_boulware@hotmail.com> wrote:
> >> >
> >> >
> >> >> Hi Raleigh,
> >> >>
> >> >> On Thu, Jun 30, 2011 at 11:16 AM, Raleigh Boulware
> >> >> <r_boulware@hotmail.com> wrote:
> >> >> > I have been going through the code and I have stumbled accross a file
> >> >> > called
> >> >> > sc520_car.S that has something called Cache as ram. I am guessing
> >> >> > that
> >> >> > this
> >> >> > is something special for the sc520 correct? Why was there a need to
> >> >> > do
> >> >> > this?
> >> >> > Why was the Cache used like ram in the boot process?
> >> >>
> >> >> Cache-As-RAM allows the CPU cache to be used as regular RAM while
> >> >> U-Boot
> >> >> is running from Flash before the onboard SDRAM has been initialised.
> >> >> This
> >> >> allows a temporary stack, and therefore C runtime environment to be
> >> >> created. This this allows you to write the SDRAM initialisation code in
> >> >> C
> >> >> which is a lot easier than assembler.
> >> >>
> >> > So this is pnly used if we want to setup the SDRAM controller in C code
> >>
> >> More that just that - It is used for the duration of board_init_f() which
> >> may include all manner of peripheral initialisation prior to relocating
> >> U-Boot into RAM.
> > Is it possible to just set up the DDR controller early in the process in
> > assembler to avoid doing a Cache as ram? The reason I ask is because I might
> > have trouble getting other mother boards to do this.
> 
> Yes, you can setup the SDRAM controller in assembler. This would occur in
> place of the Cache-As-RAM init you see for the sc520. You also need to
> determine the memory size while you are at it (at a pinch, you can hard-
> code the memory size initially)
> 
> >
> > Als I was looking at 2 rutines. board_init_r()  and board_init_f(). It
> > appears that the code goes from assmbler to this board_init_f() then back to
> > assembler then to board_init_r(). I am not sure of the reason for this.
> 
> board_init_f() runs from Flash - It is responsible for getting everything
> setup ready to run U-Boot from RAM. The last thing board_init_f does is
> copy U-Boot from Flash into RAM and perform the relocation fixups.
> board_init_f() then calls back into assembler at which point a new stack
> is created in RAM before jumping to the in-RAM copy of board_init_r().
> Once inside board_init_r(), the Flash is never again accessed unless you
> save the environment or erase it and write a new U-Boot binary (i.e. you
> can physically remove the Flash chip and U-Boot will still run fine)
> 
> Regards,
> 
> Graeme
 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Good dissassambler
  2011-06-30  2:17                         ` Graeme Russ
  2011-06-30  2:29                           ` Raleigh Boulware
@ 2011-07-11 20:35                           ` Raleigh Boulware
  2011-07-11 22:06                             ` Wolfgang Denk
  1 sibling, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-07-11 20:35 UTC (permalink / raw)
  To: u-boot



 Hey do you know of a good dissassmbler for looking at these ROM binary files? I have tried Ida on the web and others and they have not been able accurately dissassamble the BIN files. 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Good dissassambler
  2011-07-11 20:35                           ` [U-Boot] Good dissassambler Raleigh Boulware
@ 2011-07-11 22:06                             ` Wolfgang Denk
  2011-07-11 23:29                               ` Raleigh Boulware
  0 siblings, 1 reply; 17+ messages in thread
From: Wolfgang Denk @ 2011-07-11 22:06 UTC (permalink / raw)
  To: u-boot

Dear Raleigh Boulware,

In message <col109-w1889A5502835E3D9DB37ADF7450@phx.gbl> you wrote:
>
>  Hey do you know of a good dissassmbler for looking at these ROM binary fil
> es? I have tried Ida on the web and others and they have not been able accu
> rately dissassamble the BIN files.

objdump ?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The word "fit", as I understand it, means "appropriate to a purpose",
and I would say the body of the Dean is supremely appropriate to  the
purpose of sitting around all day and eating big heavy meals.
                                 - Terry Pratchett, _Moving Pictures_

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Good dissassambler
  2011-07-11 22:06                             ` Wolfgang Denk
@ 2011-07-11 23:29                               ` Raleigh Boulware
  2011-07-11 23:33                                 ` Mike Frysinger
  0 siblings, 1 reply; 17+ messages in thread
From: Raleigh Boulware @ 2011-07-11 23:29 UTC (permalink / raw)
  To: u-boot


> 
> Dear Raleigh Boulware,
> 
> In message <col109-w1889A5502835E3D9DB37ADF7450@phx.gbl> you wrote:
> >
> > Hey do you know of a good dissassmbler for looking at these ROM binary fil
> > es? I have tried Ida on the web and others and they have not been able accu
> > rately dissassamble the BIN files.
> 
> objdump ?
 
Does objdump work on the raw rom 'u-boot.bin' files? i thought it was for only object files

Regards.. 		 	   		  

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Good dissassambler
  2011-07-11 23:29                               ` Raleigh Boulware
@ 2011-07-11 23:33                                 ` Mike Frysinger
  0 siblings, 0 replies; 17+ messages in thread
From: Mike Frysinger @ 2011-07-11 23:33 UTC (permalink / raw)
  To: u-boot

On Monday, July 11, 2011 19:29:18 Raleigh Boulware wrote:
> > Raleigh Boulware wrote:
> > > Hey do you know of a good dissassmbler for looking at these ROM binary
> > > fil es? I have tried Ida on the web and others and they have not been
> > > able accu rately dissassamble the BIN files.
> > 
> > objdump ?
> 
> Does objdump work on the raw rom 'u-boot.bin' files? i thought it was for
> only object files

use -D and manually specify -m/-b and it'll disassemble the entire file as 
code.  you'll need to ignore the data-decoded-as-code regions yourself.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110711/0ddf91bc/attachment.pgp 

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-07-11 23:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <col109-w370A0C683BF04A0D919810F7500@phx.gbl>
2011-06-22  2:56 ` [U-Boot] u-boot for x86 Graeme Russ
     [not found]   ` <col109-w309B8D517A8E83EB101152F7500@phx.gbl>
2011-06-22 23:16     ` Graeme Russ
2011-06-22 23:37       ` [U-Boot] U-boot for Pentium Raleigh Boulware
2011-06-23  0:02         ` Graeme Russ
2011-06-23  0:47           ` Raleigh Boulware
2011-06-23  1:06             ` Graeme Russ
2011-06-30  1:16               ` [U-Boot] more " Raleigh Boulware
2011-06-30  1:29                 ` Graeme Russ
2011-06-30  1:54                   ` Raleigh Boulware
2011-06-30  1:58                     ` Graeme Russ
2011-06-30  2:08                       ` Raleigh Boulware
2011-06-30  2:17                         ` Graeme Russ
2011-06-30  2:29                           ` Raleigh Boulware
2011-07-11 20:35                           ` [U-Boot] Good dissassambler Raleigh Boulware
2011-07-11 22:06                             ` Wolfgang Denk
2011-07-11 23:29                               ` Raleigh Boulware
2011-07-11 23:33                                 ` Mike Frysinger

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.