linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* MMU Problem bringing up kernel with PPC 603 chip
  2004-02-27 10:36 ` Wolfgang Denk
@ 2004-02-26 21:23   ` Bob Beck
  0 siblings, 0 replies; 6+ messages in thread
From: Bob Beck @ 2004-02-26 21:23 UTC (permalink / raw)
  To: linuxppc-embedded


All,

I'm bringing up my 1st kernel on a proprietary board
using a PPC 603E chip.


The kernel is configured using the 6xx/7xx ppc selection.

The kernel starts executing at __start in head.S and
branches to early_init(). I have stubbed out the call
to prom_init() since this is an embedded system and
not a power mac (as the comments at the top of the
prom.c file indicate).

The code returns to head.S and branches to mmu_off.
Here is the code for mmu_off.

mmu_off:
	addi	r4, r3, __after_mmu_off - _start
	mfmsr	r3
	andi.	r0,r3,MSR_DR|MSR_IR		/* MMU enabled? */
	beqlr
	andc	r3,r3,r0
	mtspr	SRR0,r4
	mtspr	SRR1,r3
	sync
	RFI

This executes all the way to the "RFI" instruction,
but never comes back to the place in the code that
called mmu_off.

Why is the "return from interrupt" going out into
space ? Any suggestions ?


Best Regards,

Bob Beck
beck@assurtech.com


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

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

* problem with standard libc on 8xx
@ 2004-02-27  8:55 Demke, Torsten
  2004-02-27  9:43 ` Wolfgang Denk
  0 siblings, 1 reply; 6+ messages in thread
From: Demke, Torsten @ 2004-02-27  8:55 UTC (permalink / raw)
  To: Linuxppc-Embedded (E-mail)


Hello all,

I created my own root-fs for a MPC8xx platform
using standard Debian packages (including libc).
When I start the system, the init scripts hangs
whenever it executes a function (exceptt some simple
thinks like 'echo').
- the same root-fs starts without problem on a MPC8245 platform.
- the root-fs starts when I exchange the libc with the libraries
from the ELDK.

I guess that the Debian libc uses floating point - which
is not available on MPC8xx - but I thougt the kernel would
emulate this calls (CONFIG_MATH_EMULATION=y).

Any hints?

Regards,
Torsten

  Torsten Demke
  Software Engineer
  Force Computers GmbH
  - A Solectron Company -
  Lilienthalstr. 15
  D-85579 Neubiberg/München
  Tel. ++49/89/60814-404
  Fax ++49/89/60814-112
  mailto:torsten.demke@fci.com
  www.forcecomputers.com


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

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

* Re: problem with standard libc on 8xx
  2004-02-27  8:55 problem with standard libc on 8xx Demke, Torsten
@ 2004-02-27  9:43 ` Wolfgang Denk
  2004-02-27 10:18   ` Joakim Tjernlund
  0 siblings, 1 reply; 6+ messages in thread
From: Wolfgang Denk @ 2004-02-27  9:43 UTC (permalink / raw)
  To: Demke, Torsten; +Cc: Linuxppc-Embedded (E-mail)


In message <9CFB9DA5261CD611A29B00508B78904807F880ED@ex-deu-munich02.force.de> you wrote:
>
> I created my own root-fs for a MPC8xx platform
> using standard Debian packages (including libc).
> When I start the system, the init scripts hangs
...
> I guess that the Debian libc uses floating point - which

Thi sis definitely one cause of the problem.  Another  one  might  be
optimization  for  a  incorrect  cache  line  size  (32 instead of 16
bytes).

> is not available on MPC8xx - but I thougt the kernel would
> emulate this calls (CONFIG_MATH_EMULATION=y).

This has never been working reliably for any real-life code. And it's
awfully slow.

Also note that you CANNOT mix standard binaries (from Debian) and 8xx
specific libraries (from ELDK) -  this  will  crash  as  soon  as  an
application attempts to use floating point.


Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
Above all else -- sky.

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

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

* RE: problem with standard libc on 8xx
@ 2004-02-27 10:11 Demke, Torsten
  2004-02-27 10:36 ` Wolfgang Denk
  0 siblings, 1 reply; 6+ messages in thread
From: Demke, Torsten @ 2004-02-27 10:11 UTC (permalink / raw)
  To: Wolfgang Denk, Demke, Torsten; +Cc: Linuxppc-Embedded (E-mail)


Hello Wolfgang,

so what is your proposal, to solve the problem?
I would like to use Debian binaries, but I cannot
use the floating point emulation of the kernel!?

Regards,
Torsten


> -----Original Message-----
> From: Wolfgang Denk [mailto:wd@denx.de]
> Sent: Freitag, 27. Februar 2004 10:43
> To: Demke, Torsten
> Cc: Linuxppc-Embedded (E-mail)
> Subject: Re: problem with standard libc on 8xx
>
>
> In message
> <9CFB9DA5261CD611A29B00508B78904807F880ED@ex-deu-munich02.forc
> e.de> you wrote:
> >
> > I created my own root-fs for a MPC8xx platform
> > using standard Debian packages (including libc).
> > When I start the system, the init scripts hangs
> ...
> > I guess that the Debian libc uses floating point - which
>
> Thi sis definitely one cause of the problem.  Another  one  might  be
> optimization  for  a  incorrect  cache  line  size  (32 instead of 16
> bytes).
>
> > is not available on MPC8xx - but I thougt the kernel would
> > emulate this calls (CONFIG_MATH_EMULATION=y).
>
> This has never been working reliably for any real-life code. And it's
> awfully slow.
>
> Also note that you CANNOT mix standard binaries (from Debian) and 8xx
> specific libraries (from ELDK) -  this  will  crash  as  soon  as  an
> application attempts to use floating point.
>
>
> Best regards,
>
> Wolfgang Denk
>
> --
> Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
> Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
> Above all else -- sky.
>

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

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

* RE: problem with standard libc on 8xx
  2004-02-27  9:43 ` Wolfgang Denk
@ 2004-02-27 10:18   ` Joakim Tjernlund
  0 siblings, 0 replies; 6+ messages in thread
From: Joakim Tjernlund @ 2004-02-27 10:18 UTC (permalink / raw)
  To: 'Wolfgang Denk', 'Demke, Torsten'
  Cc: 'Linuxppc-Embedded (E-mail)'


> In message
> <9CFB9DA5261CD611A29B00508B78904807F880ED@ex-deu-munich02.forc
> e.de> you wrote:
> >
> > I created my own root-fs for a MPC8xx platform
> > using standard Debian packages (including libc).
> > When I start the system, the init scripts hangs
> ...
> > I guess that the Debian libc uses floating point - which
>
> Thi sis definitely one cause of the problem.  Another  one  might  be
> optimization  for  a  incorrect  cache  line  size  (32 instead of 16
> bytes).

Also, you must make sure you don't use any cache instructions such
as dcbz. I believe the optimized memset function i glibc uses dcbz.

The mpc8xx CPU has a HW bug which makes the TLB exceptions fail
for most cache instructions. There is a workaround for this, but it
is somewhat ugly. Search the embedded archives if you want to known more.

   Jocke

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

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

* Re: problem with standard libc on 8xx
  2004-02-27 10:11 problem with standard libc on 8xx Demke, Torsten
@ 2004-02-27 10:36 ` Wolfgang Denk
  2004-02-26 21:23   ` MMU Problem bringing up kernel with PPC 603 chip Bob Beck
  0 siblings, 1 reply; 6+ messages in thread
From: Wolfgang Denk @ 2004-02-27 10:36 UTC (permalink / raw)
  To: Demke, Torsten; +Cc: Linuxppc-Embedded (E-mail)


In message <9CFB9DA5261CD611A29B00508B78904807F88115@ex-deu-munich02.force.de> you wrote:
>
> so what is your proposal, to solve the problem?

Use libraries and binaries that were built for a 8xx system.

> I would like to use Debian binaries, but I cannot
> use the floating point emulation of the kernel!?

I'm afraid you cannot.

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
Old programmers never die, they just branch to a new address.

** 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:[~2004-02-27 10:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-27 10:11 problem with standard libc on 8xx Demke, Torsten
2004-02-27 10:36 ` Wolfgang Denk
2004-02-26 21:23   ` MMU Problem bringing up kernel with PPC 603 chip Bob Beck
  -- strict thread matches above, loose matches on Subject: below --
2004-02-27  8:55 problem with standard libc on 8xx Demke, Torsten
2004-02-27  9:43 ` Wolfgang Denk
2004-02-27 10:18   ` Joakim Tjernlund

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