linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Ebony bootloader
@ 2002-06-11 23:43 Khai Trinh
  2002-06-12  2:51 ` Matt Porter
  0 siblings, 1 reply; 6+ messages in thread
From: Khai Trinh @ 2002-06-11 23:43 UTC (permalink / raw)
  To: linuxppc-embedded


Does the Ebony board port implement a bootloader? What
does the head_440.S file do in a nutshell?

If our custom board has peripheral devices hanging off
the EBC0, how should I initilize them and where in the
ebony port code? I browsed the source a little bit and
see the ebony.c source. I believe this is where you
add peripheral devices to the kernel. Am I right?

What is that ioremap64() anyway? Is this a kernel call
or a called supported by the firmware?

Thanks,
--Khai


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

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

* Re: Ebony bootloader
  2002-06-11 23:43 Ebony bootloader Khai Trinh
@ 2002-06-12  2:51 ` Matt Porter
  2002-06-12  5:10   ` Paul Mackerras
  2002-06-12 11:33   ` Khai Trinh
  0 siblings, 2 replies; 6+ messages in thread
From: Matt Porter @ 2002-06-12  2:51 UTC (permalink / raw)
  To: Khai Trinh; +Cc: linuxppc-embedded


On Tue, Jun 11, 2002 at 04:43:37PM -0700, Khai Trinh wrote:
>
> Does the Ebony board port implement a bootloader? What

It uses the "simple" bootloader.

> does the head_440.S file do in a nutshell?

init MMU and jump to start_kernel.

> If our custom board has peripheral devices hanging off
> the EBC0, how should I initilize them and where in the
> ebony port code? I browsed the source a little bit and
> see the ebony.c source. I believe this is where you
> add peripheral devices to the kernel. Am I right?

You can add then wherever you want, but ideally you would
create a <custom_board>.c with board specific I/O code.

> What is that ioremap64() anyway? Is this a kernel call
> or a called supported by the firmware?

Read Understanding Linux, Linux Device Drivers, and the
documentation in Documentation/ directory.  ioremap64()
is a version of ioremap() for >32-bit physical address
systems (440, 745x).

Regards,
--
Matt Porter
porter@cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

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

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

* Re: Ebony bootloader
  2002-06-12  2:51 ` Matt Porter
@ 2002-06-12  5:10   ` Paul Mackerras
  2002-06-12 10:51     ` Matt Porter
  2002-06-12 11:33   ` Khai Trinh
  1 sibling, 1 reply; 6+ messages in thread
From: Paul Mackerras @ 2002-06-12  5:10 UTC (permalink / raw)
  To: Matt Porter; +Cc: linuxppc-embedded


Matt Porter writes:

> Read Understanding Linux, Linux Device Drivers, and the
> documentation in Documentation/ directory.  ioremap64()
> is a version of ioremap() for >32-bit physical address
> systems (440, 745x).

Incidentally, I don't think we should have ioremap64 or
ioremap_native, instead ioremap should just take a phys_addr_t.  It
will have to do some handling of truncated addresses from pci drivers
but that should be manageable and the interface will be much more
uniform if we use ioremap everywhere instead of using ioremap,
ioremap64 and ioremap_native in different places.

Paul.


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

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

* Re: Ebony bootloader
  2002-06-12  5:10   ` Paul Mackerras
@ 2002-06-12 10:51     ` Matt Porter
  0 siblings, 0 replies; 6+ messages in thread
From: Matt Porter @ 2002-06-12 10:51 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Matt Porter, linuxppc-embedded


On Wed, Jun 12, 2002 at 03:10:14PM +1000, Paul Mackerras wrote:
> Matt Porter writes:
>
> > Read Understanding Linux, Linux Device Drivers, and the
> > documentation in Documentation/ directory.  ioremap64()
> > is a version of ioremap() for >32-bit physical address
> > systems (440, 745x).
>
> Incidentally, I don't think we should have ioremap64 or
> ioremap_native, instead ioremap should just take a phys_addr_t.  It
> will have to do some handling of truncated addresses from pci drivers

It already does that work.

> but that should be manageable and the interface will be much more
> uniform if we use ioremap everywhere instead of using ioremap,
> ioremap64 and ioremap_native in different places.

Yes, I agree.  At the beginning of this, I was thinking that a
different ioremap prototype was going to get us into to compiler
trouble.

Regards,
--
Matt Porter
porter@cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

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

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

* Re: Ebony bootloader
  2002-06-12  2:51 ` Matt Porter
  2002-06-12  5:10   ` Paul Mackerras
@ 2002-06-12 11:33   ` Khai Trinh
  2002-06-15 15:10     ` Matt Porter
  1 sibling, 1 reply; 6+ messages in thread
From: Khai Trinh @ 2002-06-12 11:33 UTC (permalink / raw)
  To: Matt Porter; +Cc: linuxppc-embedded


Matt,

Thanks for the info. I have a follow up question. I am
trying to understand this whole embedded development
in general and not really a Linux specific question.
Are the board specific IO code setup to tell the
kernel the presence of the individual peripheral
devices on its bus (ie: the EBC0)? After that, a
driver is required for each device attach to the EBC0?
Is this driver a driver communicates to the EBC0 or a
driver communicates to the device thru the EBC0 device
memory map? Or my whole understanding is out of whack?

Thanks,
--Khai
--- Matt Porter <porter@cox.net> wrote:
> On Tue, Jun 11, 2002 at 04:43:37PM -0700, Khai Trinh
> wrote:
> >
> > Does the Ebony board port implement a bootloader?
> What
>
> It uses the "simple" bootloader.
>
> > does the head_440.S file do in a nutshell?
>
> init MMU and jump to start_kernel.
>
> > If our custom board has peripheral devices hanging
> off
> > the EBC0, how should I initilize them and where in
> the
> > ebony port code? I browsed the source a little bit
> and
> > see the ebony.c source. I believe this is where
> you
> > add peripheral devices to the kernel. Am I right?
>
> You can add then wherever you want, but ideally you
> would
> create a <custom_board>.c with board specific I/O
> code.
>
> > What is that ioremap64() anyway? Is this a kernel
> call
> > or a called supported by the firmware?
>
> Read Understanding Linux, Linux Device Drivers, and
> the
> documentation in Documentation/ directory.
> ioremap64()
> is a version of ioremap() for >32-bit physical
> address
> systems (440, 745x).
>
> Regards,
> --
> Matt Porter
> porter@cox.net
> This is Linux Country. On a quiet night, you can
> hear Windows reboot.


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

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

* Re: Ebony bootloader
  2002-06-12 11:33   ` Khai Trinh
@ 2002-06-15 15:10     ` Matt Porter
  0 siblings, 0 replies; 6+ messages in thread
From: Matt Porter @ 2002-06-15 15:10 UTC (permalink / raw)
  To: Khai Trinh; +Cc: linuxppc-embedded


On Wed, Jun 12, 2002 at 04:33:17AM -0700, Khai Trinh wrote:
> Matt,
>
> Thanks for the info. I have a follow up question. I am
> trying to understand this whole embedded development
> in general and not really a Linux specific question.
> Are the board specific IO code setup to tell the
> kernel the presence of the individual peripheral
> devices on its bus (ie: the EBC0)? After that, a

Correct.  This is for cases where we want to write
a driver that is shared across multiple core and
board implementations.

> driver is required for each device attach to the EBC0?

Correct.

> Is this driver a driver communicates to the EBC0 or a
> driver communicates to the device thru the EBC0 device
> memory map? Or my whole understanding is out of whack?

It is a standalone kernel driver for the device connected
via the EBC.  There is no "driver" for the EBC itself.

Regards,
--
Matt Porter
porter@cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

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

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

end of thread, other threads:[~2002-06-15 15:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-11 23:43 Ebony bootloader Khai Trinh
2002-06-12  2:51 ` Matt Porter
2002-06-12  5:10   ` Paul Mackerras
2002-06-12 10:51     ` Matt Porter
2002-06-12 11:33   ` Khai Trinh
2002-06-15 15:10     ` Matt Porter

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).