linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* New port
@ 1999-11-27  0:59 Jonathan Brauer
  1999-11-29  9:35 ` Adrian Cox
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Brauer @ 1999-11-27  0:59 UTC (permalink / raw)
  To: linuxppc-dev


I am looking on information on porting linux to a new ppc platform.  The short 
version of my efforts are to port linux to a custom 603 sbc.  I have experiance 
with device driver writing, but at this time limited knowledge of the boot 
architecture of ppc.  Currently we are using ix86 to ppc cross compiler to 
generate the kernels.  The SBC consits of a 603 4MB flash, 128 MBs memory, and 
an FPGA which acts as the serial port/DMA engine, network controller, and 
controls memory accesses.  I guess what I am looking for is where to start.  We 
are currently using an EST Vision Probe to download code into RAM on the SBC and 
starting execution.  There is currently no initialization done before we enter 
arch/ppc/head.S but the EST box complained about the locations of memory being 
beyond the physical limits of the RAM at 0xc0000000, so in the Makefile we 
mapped this to 0, but I am not sure if there is a better way around this.  The 
code and documentation on this are light, so any information on this process, 
and the correct way to go about initializing the board before execution of 
head.S would be greatly appreciated.

Essentialy from this my questions would be
1.  Is there a correct mode to start running head.S in (ie. translation on/off?)
2.  Where should the stack be started at?
3.  Where should the code be downloaded to?
4.  Is an uncompressed kernel better than a compressed one?
5.  If we load the kernel at address 0, should we change KERNELBASE?
6.  It appears that after kludging up to identify machine we tend to die.
7.  Enabling the caching seems to throw us for a loop as well.
8.  What values does the kernel assume are passed in by a boot loader and how?

Thanks in advance to anyone who might be able to help in me understanding this 
code better and how to go about getting a good start on this port.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

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

* Re: New port
  1999-11-27  0:59 New port Jonathan Brauer
@ 1999-11-29  9:35 ` Adrian Cox
  0 siblings, 0 replies; 2+ messages in thread
From: Adrian Cox @ 1999-11-29  9:35 UTC (permalink / raw)
  To: Jonathan Brauer; +Cc: linuxppc-dev


Jonathan Brauer wrote:
> 
> I am looking on information on porting linux to a new ppc platform.  The short
> version of my efforts are to port linux to a custom 603 sbc. 
> Essentialy from this my questions would be
> 1.  Is there a correct mode to start running head.S in (ie. translation on/off?)

Off is better.

> 2.  Where should the stack be started at?

Anywhere there's room (eg. top of memory). The stack will be moved by
the kernel once it know what memory it has.

> 3.  Where should the code be downloaded to?

Ideally physical address 0 (virtual address c0000000), but it should
relocate itself.

> 4.  Is an uncompressed kernel better than a compressed one?

Yes. An uncompressed kernel is a normal ELF file.

> 5.  If we load the kernel at address 0, should we change KERNELBASE?

Physical 0, virtual c0000000. Don't touch KERNELBASE.

> 6.  It appears that after kludging up to identify machine we tend to die.

You need to add your own machine type, by using an existing one as
example. As your board is probably weird, I'd suggest basing your port
on something else weird, like the APUS.

> 7.  Enabling the caching seems to throw us for a loop as well.

Remember that you can't do memory mapped IO between the point where
caches are enabled and when Linux enables memory translation. This is
actually a very long time, and a complicated code path.

> 8.  What values does the kernel assume are passed in by a boot loader and how?

Different for each machine type. Define your own, and pass them in.

- Adrian Cox, AG Electronics

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

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

end of thread, other threads:[~1999-11-29  9:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-11-27  0:59 New port Jonathan Brauer
1999-11-29  9:35 ` Adrian Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).