All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Hangup booting Linux on PPC440GP
@ 2003-07-15 11:56 Steve Boorman
  2003-07-15 14:12 ` Matt Porter
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Steve Boorman @ 2003-07-15 11:56 UTC (permalink / raw)
  To: linuxppc-embedded


Many thanks to Chris Zimman for the following suggestion which fixed my problem.

>> Do you have math emulation compiled into the kernel?

Once this was configured  the system boots up fine. I overlooked this as being the
cause for several reasons:-

1) Using ebony_defconfig as the kernel config file should, I would have thought, set
CONFIG_MATH_EMULATION=y but it does not.

2) I would not have thought my simple printf of some text
would use floating point code.

3) I expected the kernel to panic with some form of illegal
instruction trap if floating point instructions were being
attempted with no emulator code present.

Steve Boorman


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

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

* Re: Hangup booting Linux on PPC440GP
  2003-07-15 11:56 Hangup booting Linux on PPC440GP Steve Boorman
@ 2003-07-15 14:12 ` Matt Porter
  2003-07-15 15:58 ` Chris Zimman
  2003-07-15 22:41 ` Paul Mackerras
  2 siblings, 0 replies; 7+ messages in thread
From: Matt Porter @ 2003-07-15 14:12 UTC (permalink / raw)
  To: Steve Boorman; +Cc: linuxppc-embedded


Please fix your mailer to set a lower linewrap value, it is
difficult to compose a reply.

On Tue, Jul 15, 2003 at 12:56:52PM +0100, Steve Boorman wrote:
> 1) Using ebony_defconfig as the kernel config file should, I would have thought, set
> CONFIG_MATH_EMULATION=y but it does not.

It assumes that one is using an optimized userland for 4xx.  This
means that the expectation is that you have soft-float binaries.
Most people are using ELDK or MVL.

> 3) I expected the kernel to panic with some form of illegal
> instruction trap if floating point instructions were being
> attempted with no emulator code present.

Good point.  Maybe we should add in an illegal instruction warning
on the no mathemu path in the 4xx program check exception.

Regards,
--
Matt Porter
mporter@kernel.crashing.org

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

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

* Re: Hangup booting Linux on PPC440GP
  2003-07-15 11:56 Hangup booting Linux on PPC440GP Steve Boorman
  2003-07-15 14:12 ` Matt Porter
@ 2003-07-15 15:58 ` Chris Zimman
  2003-07-15 22:41 ` Paul Mackerras
  2 siblings, 0 replies; 7+ messages in thread
From: Chris Zimman @ 2003-07-15 15:58 UTC (permalink / raw)
  To: Steve Boorman; +Cc: linuxppc-embedded


On Tue, Jul 15, 2003 at 12:56:52PM +0100, Steve Boorman wrote:
> 3) I expected the kernel to panic with some form of illegal
> instruction trap if floating point instructions were being
> attempted with no emulator code present.

That's exactly what it's doing if you look into it with a debugger.
It'll be hung up with in an exception handler IIRC.

--Chris

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

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

* Re: Hangup booting Linux on PPC440GP
  2003-07-15 11:56 Hangup booting Linux on PPC440GP Steve Boorman
  2003-07-15 14:12 ` Matt Porter
  2003-07-15 15:58 ` Chris Zimman
@ 2003-07-15 22:41 ` Paul Mackerras
  2 siblings, 0 replies; 7+ messages in thread
From: Paul Mackerras @ 2003-07-15 22:41 UTC (permalink / raw)
  To: Steve Boorman; +Cc: linuxppc-embedded


Steve Boorman writes:

> 2) I would not have thought my simple printf of some text
> would use floating point code.

Since printf can print floating point values, it (or one of its
subroutines) would be likely to have some floating point instructions
in it.  Now, even if those instructions don't get executed with the
particular arguments you use, just the fact that they are present will
very likely cause gcc to put instructions to save some FP regs onto
the stack at the beginning of the function.  It's those FP store
instructions which you would be hitting.

> 3) I expected the kernel to panic with some form of illegal
> instruction trap if floating point instructions were being
> attempted with no emulator code present.

There is a check in the kernel which only allows any given signal to
be delivered to the init process if it has established a handler for
that signal.  That even applies to SIGILL (illegal instruction) and
SIGSEGV (segmentation violation).  So, if init hits an illegal
instruction, it takes an exception, the kernel generates a SIGILL
which then gets dropped, and then we return to the init process at the
same instruction and the cycle repeats.

Yes we should do something more sensible.

Paul.

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

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

* Re: Hangup booting Linux on PPC440GP
  2003-07-14 16:31 Steve Boorman
  2003-07-14 17:38 ` Chris Zimman
@ 2003-07-15  7:15 ` Juergen Beisert
  1 sibling, 0 replies; 7+ messages in thread
From: Juergen Beisert @ 2003-07-15  7:15 UTC (permalink / raw)
  To: Steve Boorman; +Cc: linuxppc-embedded


Am Montag, 14. Juli 2003 18:31 schrieb Steve Boorman:
> Everything looks good until Linux attempts to run /sbin/init, then the
> machine hangs up, no panic or anything else displayed on the console.

Sounds like our problem with a 405GP cpu. Has the 440GP also an embedded SRAM?
Where do you have locate it? Below or above 0x8000'0000? Locate it above
0x8000'0000 (on 405GP the SRAM uses virtual addresses, below 0x8000'0000 it
disturbes any user tasks...)

Hope it helps
--JB

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

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

* Re: Hangup booting Linux on PPC440GP
  2003-07-14 16:31 Steve Boorman
@ 2003-07-14 17:38 ` Chris Zimman
  2003-07-15  7:15 ` Juergen Beisert
  1 sibling, 0 replies; 7+ messages in thread
From: Chris Zimman @ 2003-07-14 17:38 UTC (permalink / raw)
  To: Steve Boorman; +Cc: linuxppc-embedded


On Mon, Jul 14, 2003 at 05:31:44PM +0100, Steve Boorman wrote:
> machine hangs up, no panic or anything else displayed on the console. If I
> remove /sbin/init then I do get the obvious panic, "No init found.  Try
> passing init= option to kernel."
>
> I tried replacing /sbin/init with a static linked program which just does a
> printf of "hello world", this hangs in the same way with no message. This
> prog was compiled using the Starmax running Yellow Dog V3, kernel
> 2.4.20-8D / gcc 3.2.2.

Do you have math emulation compiled into the kernel?

--Chris

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

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

* Hangup booting Linux on PPC440GP
@ 2003-07-14 16:31 Steve Boorman
  2003-07-14 17:38 ` Chris Zimman
  2003-07-15  7:15 ` Juergen Beisert
  0 siblings, 2 replies; 7+ messages in thread
From: Steve Boorman @ 2003-07-14 16:31 UTC (permalink / raw)
  To: linuxppc-embedded


Hi,

I have an IBM PPC440GP evaluation board (Ebony) which I am
trying to get Linux up and running on.

I read the Cross development mini-howto and downloaded the relevant
files to an X86 based machine, these were binutils-2.14.90.0.4.1,
gcc-core-3.3 and linux-bk-2.4-devel-2.4.21-pre4. Following the mini-howto
I successfully built the kernel. This kernel is loaded using the IBM
Openbios over the ethernet from a Motorola Starmax (603e based I think)
and mounts the root filesystem over nfs which resides on the Starmax.
Everything looks good until Linux attempts to run /sbin/init, then the
machine hangs up, no panic or anything else displayed on the console. If I
remove /sbin/init then I do get the obvious panic, "No init found.  Try
passing init= option to kernel."

I tried replacing /sbin/init with a static linked program which just does a
printf of "hello world", this hangs in the same way with no message. This
prog was compiled using the Starmax running Yellow Dog V3, kernel
2.4.20-8D / gcc 3.2.2.

Any ideas as to what is wrong would be most appreciated.

Regards,
Steve Boorman


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

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

end of thread, other threads:[~2003-07-15 22:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-15 11:56 Hangup booting Linux on PPC440GP Steve Boorman
2003-07-15 14:12 ` Matt Porter
2003-07-15 15:58 ` Chris Zimman
2003-07-15 22:41 ` Paul Mackerras
  -- strict thread matches above, loose matches on Subject: below --
2003-07-14 16:31 Steve Boorman
2003-07-14 17:38 ` Chris Zimman
2003-07-15  7:15 ` Juergen Beisert

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.