* RE: PPCBoot 2.0.0 Errors
From: Sette Agostino @ 2005-11-08 8:37 UTC (permalink / raw)
To: wd; +Cc: linuxppc-embedded
Hello Wolfgang,
Thanks for your answers.
I agree with you concerning the PPCBoot. In fact in other boards we are
using U-Boot.
We tried to use U-Boot for MPC859 but we had some problems we are =
trying to
solve.
As far as you know to change the boot or the kernel on cards in field =
is not
so easy :-(
Anyway, I would like to highlight I think the problem is more related =
to
the
kernel because when it starts I see the following error
init started: BusyBox v0.60.5 (2003.11.19-14:32+0000) multi-callmount:
Mounting devpts on /dev/pts failed: No su
ch file or directory
/opt/rc.project: /opt/bin/sinfo: No such file or directory
We check that slowing-down the UPM clock to 63 MHz (period=3D15.873ns) =
the
board showed a more stable behavior (no fault verified).
We start our investigation on the PPCBoot, but now we are moving on the
kernel.
No critical HW points have been found on the FLASH accesses, SDRAM =
accesses
and clocking circuitrty.
We found an unexpected beahviour regarding the Linux time tick.=20
Tracking with a HP16602 Bus Analyzer the bus activities of the faulty =
module
has been verified that the=20
interrupt service routine of the Decrementer timer, that I supposed to =
be
used to generate the OS time tick, it is not executed each 10ms.
Sometimes the period between 2 Decrementer interrupt service routines =
reach
hundreds of ms (but even as 10mS multiple)=20
such as some requests are missing.=20
Making the same tracking on a TQM866 module has been verified that the
interrupt service routines of the Decrementer timer are=20
all executed at the exact 10ms boundary.
Another interesting point is that the same kernel works well on other =
TQM8xx
modules, but not fot TQM859.
I will try to introduce the U-Boot, but I am not confident it will =
solve the
problem, what do you think about it?
Last question, which is the appropriate mailing list?
Thanks in advance for your support.
Best regards,
Agostino Sette
TechnoLabs
Department of Innovation Software3
S.S. 17 Localit=E0 Boschetto
67100 L' Aquila (Italy)
Tel: (+39) 0862 344.557
Fax: (+39) 0862 344.623
e-mail: Agostino.Sette@siemens.com =20
=20
-----Original Message-----
From: wd@denx.de [mailto:wd@denx.de]=20
Sent: luned=EC 7 novembre 2005 23.10
To: Sette Agostino
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: PPCBoot 2.0.0 Errors=20
In message =
<69DF49BE936F4441980EC1D59F0ADC2F0108C12C@aqlby02a.siemens.it>
you wrote:
>=20
> I have the following problem at the PPCBoot startup:
>=20
> PPCBoot 2.0.0 (Oct 20 2005 - 12:28:22)
PPCBoot is a dead project. It was discontinued more than 3 years ago.
It is definitely a bad idea to use it for current projects. Use
U-Boot instead.
Also, this is completely off topic on this mailing list.
> CPU: unknown MPC859 (0x08010004) at 133 MHz: 16 kB I-Cache 8 kB =
D-Cache
Use U-Boot instead.
> Board: Siemens CCM
And don't use a board configuration that does not match your hardware.
> ## Booting image at 40180000 ...
> Image Name: Linux-2.4.20-rthal5
Argh... Ancient stuff again. Forget it.
> Anybody experienced the same problem? Any suggestions about how to =
solve
it?
Use current software. Read the documentation. Post on the appropriate
mailing lists.
Best regards,
Wolfgang Denk
--=20
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
My challenge to the goto-less programmer is to recode tcp_input()
without any gotos ... without any loss of efficiency (there has to be
a catch). - W. R. Stevens
^ permalink raw reply
* Re: PPCBoot 2.0.0 Errors
From: Wolfgang Denk @ 2005-11-08 9:08 UTC (permalink / raw)
To: Sette Agostino; +Cc: linuxppc-embedded
In-Reply-To: <69DF49BE936F4441980EC1D59F0ADC2F0108C267@aqlby02a.siemens.it>
In message <69DF49BE936F4441980EC1D59F0ADC2F0108C267@aqlby02a.siemens.it> you wrote:
>
> I agree with you concerning the PPCBoot. In fact in other boards we are using U-Boot.
> We tried to use U-Boot for MPC859 but we had some problems we are trying to
> solve.
You cannot solve these problems by downgrading to PPCBoot. The
852/859/866 processors are definitelu *not* supported by PPCBoot -
the required changes of the clock handling were added much later. You
*must* use U-Boot.
> As far as you know to change the boot or the kernel on cards in field is not
> so easy :-(
You mean you shipped boards to customers in the field in a state
where you did not even decide for a final version of the boot loader?
Gosh...
> We found an unexpected beahviour regarding the Linux time tick.
...whichis probablky cause by using PPCBoot which does not understand
to deal with a 859.
> Another interesting point is that the same kernel works well on other TQM8xx
> modules, but not fot TQM859.
U-Boot is running perfectly fine on the TQM859 - we have these boards
here in our virtual lab; they are tested on a regular base.
> I will try to introduce the U-Boot, but I am not confident it will solve the
> problem, what do you think about it?
I can *guarantee* you that PPCBoot is definitely worse on your hardware.
> Last question, which is the appropriate mailing list?
u-boot-users
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Always leave room to add an explanation if it doesn't work out.
^ permalink raw reply
* RE: PPCBoot 2.0.0 Errors
From: Sette Agostino @ 2005-11-08 9:18 UTC (permalink / raw)
To: wd, Sette Agostino; +Cc: linuxppc-embedded
Wolfgang,
As I told you, I tried to produce the U-boot, but I am nont confident =
on the
version (1.0.0).
Could you suggest me the latest stale version I must get?
Thanks
Best Regards,
Agostino Sette
TechnoLabs
Department of Innovation Software3
S.S. 17 Localit=E0 Boschetto
67100 L' Aquila (Italy)
Tel: (+39) 0862 344.557
Fax: (+39) 0862 344.623
e-mail: Agostino.Sette@siemens.com =20
=20
-----Original Message-----
From: wd@denx.de [mailto:wd@denx.de]=20
Sent: marted=EC 8 novembre 2005 10.09
To: Sette Agostino
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: PPCBoot 2.0.0 Errors=20
In message =
<69DF49BE936F4441980EC1D59F0ADC2F0108C267@aqlby02a.siemens.it>
you wrote:
>=20
> I agree with you concerning the PPCBoot. In fact in other boards we =
are
using U-Boot.
> We tried to use U-Boot for MPC859 but we had some problems we are =
trying
to
> solve.
You cannot solve these problems by downgrading to PPCBoot. The
852/859/866 processors are definitelu *not* supported by PPCBoot -
the required changes of the clock handling were added much later. You
*must* use U-Boot.
> As far as you know to change the boot or the kernel on cards in field =
is
not
> so easy :-(
You mean you shipped boards to customers in the field in a state
where you did not even decide for a final version of the boot loader?
Gosh...
> We found an unexpected beahviour regarding the Linux time tick.=20
...whichis probablky cause by using PPCBoot which does not understand
to deal with a 859.
> Another interesting point is that the same kernel works well on other
TQM8xx
> modules, but not fot TQM859.
U-Boot is running perfectly fine on the TQM859 - we have these boards
here in our virtual lab; they are tested on a regular base.
> I will try to introduce the U-Boot, but I am not confident it will =
solve
the
> problem, what do you think about it?
I can *guarantee* you that PPCBoot is definitely worse on your =
hardware.
> Last question, which is the appropriate mailing list?
u-boot-users
Best regards,
Wolfgang Denk
--=20
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Always leave room to add an explanation if it doesn't work out.
^ permalink raw reply
* Re: fix swapping on 8xx?
From: David Jander @ 2005-11-08 11:59 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <b4fb08107c7bd17161f36e023035080a@embeddedalley.com>
On Tuesday 08 November 2005 01:55, Dan Malek wrote:
> On Nov 7, 2005, at 10:10 AM, Marcelo Tosatti wrote:
> > The following is an attempt to fix swapping on 8xx by not touching
> > _PAGE_ACCESSED bit if the page is not present.
>
> Ugh .... I suppose. I hate assembler code macros .......
> Somehow, "swapping" and "8xx" just don't belong together.
Well, at least it sounds ugly together, but it is also at least conceiveable.
There seem to be people who use PCMCIA for an IDE interface, so swapping may
become desireable in some cases.
> I'm tempted to add a configuration option that is the complete
> opposite of this and assumes are really embedded system.
> Mark pages as always accessed, data pages as always dirty,
> and you can eliminate lots of TLB faults in systems that are
> fairly static.
It sounds tempting indeed, but should you really notice a performance increase
out of this?
Greetings,
--
David Jander
^ permalink raw reply
* Re: PPCBoot 2.0.0 Errors
From: Wolfgang Denk @ 2005-11-08 13:38 UTC (permalink / raw)
To: Sette Agostino; +Cc: linuxppc-embedded
In-Reply-To: <69DF49BE936F4441980EC1D59F0ADC2F0108C29F@aqlby02a.siemens.it>
In message <69DF49BE936F4441980EC1D59F0ADC2F0108C29F@aqlby02a.siemens.it> you wrote:
>
> As I told you, I tried to produce the U-boot, but I am nont confident on the
> version (1.0.0).
No, indeed. This is ancient stuff. Use top of tree from the GIT repo
(or CVS), or download the latest snapshot from our FTP server.
> Could you suggest me the latest stale version I must get?
May I suggest that you start reading the manual? See
http://www.denx.de/wiki/DULG/Manual
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
I will not say that women have no character; rather, they have a new
one every day. -- Heine
^ permalink raw reply
* RE: PPCBoot 2.0.0 Errors
From: Sette Agostino @ 2005-11-08 13:52 UTC (permalink / raw)
To: wd; +Cc: linuxppc-embedded
>>
>> As I told you, I tried to produce the U-boot, but I am nont confident on
the
>> version (1.0.0).
>No, indeed. This is ancient stuff. Use top of tree from the GIT repo
>(or CVS), or download the latest snapshot from our FTP server.
Ok, I did it and I produced a new u-boot
>> Could you suggest me the latest stale version I must get?
>May I suggest that you start reading the manual? See
>http://www.denx.de/wiki/DULG/Manual
Ok, I alreay read it, but it is not so easy to convince my bosses to change
the boot :-(.
Anyway I am going to take a closer look to the doc.
Thanks once again
Best Regards
Agostino Sette
^ permalink raw reply
* Re: [PATCH] ppc32: fix perf_irq extern on e500
From: Matt Porter @ 2005-11-08 16:37 UTC (permalink / raw)
To: Andrew Morton; +Cc: linuxppc64-dev, paulus, linuxppc-embedded
In-Reply-To: <20051107190128.68d41294.akpm@osdl.org>
On Mon, Nov 07, 2005 at 07:01:28PM -0800, Andrew Morton wrote:
> Matt Porter <mporter@kernel.crashing.org> wrote:
> >
> > Add an extern reference to perf_irq on e500.
<snip>
> > #ifdef CONFIG_E500
> > +extern perf_irq_t perf_irq;
> > +
> > void performance_monitor_exception(struct pt_regs *regs)
> > {
> > perf_irq(regs);
>
> extern decls are placed in header files, please.
Here's the updated patch, addressing this for ppc64 as well. Paul,
would you prefer that this go through the powerpc-merge tree since
the updated version modifies arch/powerpc/?
-Matt
Fixes e500 build and cleans up traps.c by moving perf_irq extern to
pmc.h.
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 07e5ee4..32cd797 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -898,10 +898,6 @@ void altivec_unavailable_exception(struc
die("Unrecoverable VMX/Altivec Unavailable Exception", regs, SIGABRT);
}
-#ifdef CONFIG_PPC64
-extern perf_irq_t perf_irq;
-#endif
-
#if defined(CONFIG_PPC64) || defined(CONFIG_E500)
void performance_monitor_exception(struct pt_regs *regs)
{
diff --git a/include/asm-powerpc/pmc.h b/include/asm-powerpc/pmc.h
index 2f3c3fc..5f41f3a 100644
--- a/include/asm-powerpc/pmc.h
+++ b/include/asm-powerpc/pmc.h
@@ -22,6 +22,7 @@
#include <asm/ptrace.h>
typedef void (*perf_irq_t)(struct pt_regs *);
+extern perf_irq_t perf_irq;
int reserve_pmc_hardware(perf_irq_t new_perf_irq);
void release_pmc_hardware(void);
^ permalink raw reply related
* 440EP FPU support missing
From: Stefan Roese @ 2005-11-08 17:38 UTC (permalink / raw)
To: linuxppc-dev; +Cc: linuxppc64-dev
In-Reply-To: <20051108093759.A26086@cox.net>
In the current linux version, Bamboo (440EP) won't compile anymore, because of
missing fpu support:
make uImage
...
LD init/built-in.o
LD .tmp_vmlinux1
arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
: undefined reference to `KernelFP'
make: *** [.tmp_vmlinux1] Error 1
Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
how to solve this problem (just restore the original file)?
Best regards,
Stefan
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Tom Rini @ 2005-11-08 17:56 UTC (permalink / raw)
To: David Jander; +Cc: linuxppc-embedded
In-Reply-To: <200511081259.26525.david.jander@protonic.nl>
On Tue, Nov 08, 2005 at 01:59:26PM +0200, David Jander wrote:
> On Tuesday 08 November 2005 01:55, Dan Malek wrote:
> > On Nov 7, 2005, at 10:10 AM, Marcelo Tosatti wrote:
> > > The following is an attempt to fix swapping on 8xx by not touching
> > > _PAGE_ACCESSED bit if the page is not present.
> >
> > Ugh .... I suppose. I hate assembler code macros .......
> > Somehow, "swapping" and "8xx" just don't belong together.
>
> Well, at least it sounds ugly together, but it is also at least conceiveable.
> There seem to be people who use PCMCIA for an IDE interface, so swapping may
> become desireable in some cases.
I think Dan might be in the camp that says a properly designed embedded
system won't need to swap. And when I hear about how people do try and
swap on systems like this, I really start agreeing. Maybe we could make
8xx just select SWAP=n? :)
> > I'm tempted to add a configuration option that is the complete
> > opposite of this and assumes are really embedded system.
> > Mark pages as always accessed, data pages as always dirty,
> > and you can eliminate lots of TLB faults in systems that are
> > fairly static.
>
> It sounds tempting indeed, but should you really notice a performance increase
> out of this?
Compared to 8xx in 2.6 today? Absolutely.
--
Tom Rini
http://gate.crashing.org/~trini/
^ permalink raw reply
* [PATCH] Remove arch/ppc/syslib/ppc4xx_pm.c
From: Alexey Dobriyan @ 2005-11-08 18:08 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Andrew Morton, linuxppc-dev, Domen Puncer
From: Domen Puncer <domen@coderock.org>
Remove nowhere referenced file ("grep ppc4xx_pm -r ." didn't find anything)
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Index: linux-kj/arch/ppc/syslib/ppc4xx_pm.c
===================================================================
--- linux-kj.orig/arch/ppc/syslib/ppc4xx_pm.c 2005-11-08 20:46:23.000000000 +0300
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-/*
- * Author: Armin Kuster <akuster@mvista.com>
- *
- * 2002 (c) MontaVista, Software, Inc. This file is licensed under
- * the terms of the GNU General Public License version 2. This program
- * is licensed "as is" without any warranty of any kind, whether express
- * or implied.
- *
- * This an attempt to get Power Management going for the IBM 4xx processor.
- * This was derived from the ppc4xx._setup.c file
- */
-
-#include <linux/config.h>
-#include <linux/init.h>
-
-#include <asm/ibm4xx.h>
-
-void __init
-ppc4xx_pm_init(void)
-{
-
- unsigned int value = 0;
-
- /* turn off unused hardware to save power */
-#ifdef CONFIG_405GP
- value |= CPM_DCP; /* CodePack */
-#endif
-
-#if !defined(CONFIG_IBM_OCP_GPIO)
- value |= CPM_GPIO0;
-#endif
-
-#if !defined(CONFIG_PPC405_I2C_ADAP)
- value |= CPM_IIC0;
-#ifdef CONFIG_STB03xxx
- value |= CPM_IIC1;
-#endif
-#endif
-
-
-#if !defined(CONFIG_405_DMA)
- value |= CPM_DMA;
-#endif
-
- mtdcr(DCRN_CPMFR, value);
-
-}
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Dan Malek @ 2005-11-08 18:57 UTC (permalink / raw)
To: Tom Rini; +Cc: David Jander, linuxppc-embedded
In-Reply-To: <20051108175658.GO3839@smtp.west.cox.net>
On Nov 8, 2005, at 12:56 PM, Tom Rini wrote:
> I think Dan might be in the camp that says a properly designed embedded
> system won't need to swap.
I'm actually in the camp that knows the majority of systems
running Linux aren't workstations and don't have disk drives.
It would be nice to have selectable features for such applications.
>> It sounds tempting indeed, but should you really notice a performance
>> increase
>> out of this?
Yes. Most importantly it adds some predictability which is quite
measurable on this class of processor. It was a coding mistake way
back in 2.2 that actually exposed this. I was taking some liberties by
updating more status in the PTE than I should have, and Paulus
made me fix it in 2.4 :-) It basically eliminates TLB faults associated
with system status tracking, since we aren't paging there isn't any
need to track page aging and such. If you are paging, it still
functions properly, you may just not pick the most suitable pages
to steal.
Thanks.
-- Dan
^ permalink raw reply
* Re: fix swapping on 8xx?
From: David Jander @ 2005-11-08 19:44 UTC (permalink / raw)
To: Dan Malek; +Cc: Tom Rini, linuxppc-embedded
In-Reply-To: <ae77b5dcfdaa24efebf92042907e2ce8@embeddededge.com>
>> I think Dan might be in the camp that says a properly designed embedded
>> system won't need to swap.
>
> I'm actually in the camp that knows the majority of systems
> running Linux aren't workstations and don't have disk drives.
> It would be nice to have selectable features for such applications.
Well, me too, but there are people out there trying to do strange stuff. I
remember myself even once trying to get swapping to work over nfs, because
I wanted to compile perl5 natively (overnight of course), since
cross-compiling perl is quite a bit of pain. Perl intends to
"include-together" enormous source files, that exhausted the whole 64Mbyte
RAM on my embedded board ;-)
Needless to say, swap over nfs did never work reliably enough to even
start compiling.
>>> It sounds tempting indeed, but should you really notice a performance
>>> increase out of this?
>
> Yes. Most importantly it adds some predictability which is quite
> measurable on this class of processor. It was a coding mistake way back
> in 2.2 that actually exposed this. I was taking some liberties by
> updating more status in the PTE than I should have, and Paulus
> made me fix it in 2.4 :-) It basically eliminates TLB faults associated
> with system status tracking, since we aren't paging there isn't any need
> to track page aging and such. If you are paging, it still
> functions properly, you may just not pick the most suitable pages to
> steal.
FYI, I have some benchmark results of yesterday's git of kernel-2.6 (with
_tlbie(address); just moved out of the two innermost if()'s in the
function update_mmu_cache()) compared to kernel 2.4.25 from denx, made
with "nbench". The results are quite interesting, and contradicting
(older) benchmark results, Wolfgang made a few months back:
kernel-2.6.14-git-20051107:
---------------------------
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 32.654 : 0.84 : 0.28
STRING SORT : 1.7408 : 0.78 : 0.12
BITFIELD : 8.3466e+06 : 1.43 : 0.30
FP EMULATION : 3.506 : 1.68 : 0.39
IDEA : 115.3 : 1.76 : 0.52
HUFFMAN : 27.855 : 0.77 : 0.25
LU DECOMPOSITION : 0.35932 : 0.02 : 0.01
kernel-2.4.25-devel-denx:
-------------------------
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 30.438 : 0.78 : 0.26
STRING SORT : 1.5842 : 0.71 : 0.11
BITFIELD : 7.9506e+06 : 1.36 : 0.28
FP EMULATION : 3.258 : 1.56 : 0.36
IDEA : 108.89 : 1.67 : 0.49
HUFFMAN : 26.281 : 0.73 : 0.23
LU DECOMPOSITION : 0.32765 : 0.02 : 0.01
This is all on the same hardware: MPC852T + 32Mbyte SDRAM running from
NFS. kernel 2.6 is faster all the way through!!
The results so far are pretty encouraging I'd say. Maybe something like
lmbench would help to shed more light on details important for kernel
testing, like context-switch overhead, mm, etc...
Nbench is quite useless here (a single task doing all sorts of nonsense,
almost no critical syscalls), but that's what makes the enormous
differences even more remarkable IMO. Maybe something is broken in 2.4?
Greetings,
--
David Jander
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Wolfgang Denk @ 2005-11-08 20:52 UTC (permalink / raw)
To: Tom Rini; +Cc: David Jander, linuxppc-embedded
In-Reply-To: <20051108175658.GO3839@smtp.west.cox.net>
In message <20051108175658.GO3839@smtp.west.cox.net> you wrote:
>
> > Well, at least it sounds ugly together, but it is also at least conceiveable.
> > There seem to be people who use PCMCIA for an IDE interface, so swapping may
> > become desireable in some cases.
>
> I think Dan might be in the camp that says a properly designed embedded
> system won't need to swap. And when I hear about how people do try and
> swap on systems like this, I really start agreeing. Maybe we could make
> 8xx just select SWAP=n? :)
No! David is right. There are systems out in the field running with
IDE harddisks attached (either through custom hardware interfaces or
through standard PCMCIA adapters), and some of these actually need
and use swap space.
Please do not remove stuff that is needed and used to work (in 2.4).
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"Virtual" means never knowing where your next byte is coming from.
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Wolfgang Denk @ 2005-11-08 20:56 UTC (permalink / raw)
To: David Jander; +Cc: Tom Rini, linuxppc-embedded
In-Reply-To: <27139.213.84.146.227.1131479070.squirrel@protonic.xs4all.nl>
In message <27139.213.84.146.227.1131479070.squirrel@protonic.xs4all.nl> you wrote:
>
> Needless to say, swap over nfs did never work reliably enough to even
> start compiling.
You can work around this. It's painfully slow, but it works. See
http://www.denx.de/wiki/view/DULG/SwappingOverNFS
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Only a fool fights in a burning house.
-- Kank the Klingon, "Day of the Dove", stardate unknown
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Tom Rini @ 2005-11-08 21:02 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: David Jander, linuxppc-embedded
In-Reply-To: <20051108205259.A2870352B33@atlas.denx.de>
On Tue, Nov 08, 2005 at 09:52:59PM +0100, Wolfgang Denk wrote:
> In message <20051108175658.GO3839@smtp.west.cox.net> you wrote:
> >
> > > Well, at least it sounds ugly together, but it is also at least conceiveable.
> > > There seem to be people who use PCMCIA for an IDE interface, so swapping may
> > > become desireable in some cases.
> >
> > I think Dan might be in the camp that says a properly designed embedded
> > system won't need to swap. And when I hear about how people do try and
> > swap on systems like this, I really start agreeing. Maybe we could make
> > 8xx just select SWAP=n? :)
>
> No! David is right. There are systems out in the field running with
> IDE harddisks attached (either through custom hardware interfaces or
> through standard PCMCIA adapters), and some of these actually need
> and use swap space.
>
> Please do not remove stuff that is needed and used to work (in 2.4).
Note the bug in question exists in 2.4, and I think really even 2.2.
--
Tom Rini
http://gate.crashing.org/~trini/
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Dan Malek @ 2005-11-08 22:30 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: Tom Rini, David Jander, linuxppc-embedded
In-Reply-To: <20051108205259.A2870352B33@atlas.denx.de>
On Nov 8, 2005, at 3:52 PM, Wolfgang Denk wrote:
> Please do not remove stuff that is needed and used to work (in 2.4).
I'm not proposing we remove anything :-) It would just be nice
to eliminate the overhead of managing the PTEs if we don't
need such a feature. The complexity of the TLB miss handler
just keeps growing to add/fix this stuff, and it really shouldn't
be in that code path. All of this support should be pushed
into the error path, and if it was somewhat configurable we
wouldn't be in that path if not necessary.
Thanks.
-- Dan
^ permalink raw reply
* Re: 440EP FPU support missing
From: Matt Porter @ 2005-11-08 22:30 UTC (permalink / raw)
To: Stefan Roese; +Cc: linuxppc-dev, linuxppc64-dev
In-Reply-To: <200511081838.11236.sr@denx.de>
On Tue, Nov 08, 2005 at 06:38:11PM +0100, Stefan Roese wrote:
> In the current linux version, Bamboo (440EP) won't compile anymore, because of
> missing fpu support:
>
> make uImage
> ...
> LD init/built-in.o
> LD .tmp_vmlinux1
> arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
> : undefined reference to `KernelFP'
> make: *** [.tmp_vmlinux1] Error 1
>
> Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
> the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
> how to solve this problem (just restore the original file)?
arch/powerpc/kernel/fpu.S is being used now which doesn't have KernelFP.
I don't know why the 44x fpu support wasn't using
kernel_fp_unavailable_exception() before but I must have missed that
reviewing it.
Try this patch.
-Matt
diff --git a/arch/ppc/kernel/head_booke.h b/arch/ppc/kernel/head_booke.h
index aeb349b..f3d274c 100644
--- a/arch/ppc/kernel/head_booke.h
+++ b/arch/ppc/kernel/head_booke.h
@@ -358,6 +358,6 @@ label:
NORMAL_EXCEPTION_PROLOG; \
bne load_up_fpu; /* if from user, just load it up */ \
addi r3,r1,STACK_FRAME_OVERHEAD; \
- EXC_XFER_EE_LITE(0x800, KernelFP)
+ EXC_XFER_EE_LITE(0x800, kernel_fp_unavailable_exception)
#endif /* __HEAD_BOOKE_H__ */
^ permalink raw reply related
* Re: 440EP FPU support missing
From: David Gibson @ 2005-11-08 22:32 UTC (permalink / raw)
To: Stefan Roese; +Cc: linuxppc-dev, linuxppc64-dev
In-Reply-To: <200511081838.11236.sr@denx.de>
On Tue, Nov 08, 2005 at 06:38:11PM +0100, Stefan Roese wrote:
> In the current linux version, Bamboo (440EP) won't compile anymore, because of
> missing fpu support:
>
> make uImage
> ...
> LD init/built-in.o
> LD .tmp_vmlinux1
> arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
> : undefined reference to `KernelFP'
> make: *** [.tmp_vmlinux1] Error 1
>
> Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
> the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
> how to solve this problem (just restore the original file)?
It's just moved to arch/powerpc/kernel/fpu.S. All you should need is
to tweak the Makefiles so that it's included in your build.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: 440EP FPU support missing
From: Josh Boyer @ 2005-11-08 22:32 UTC (permalink / raw)
To: Matt Porter; +Cc: linuxppc-dev, Stefan Roese, linuxppc64-dev
In-Reply-To: <20051108153036.F27232@cox.net>
On Tue, 2005-11-08 at 15:30 -0700, Matt Porter wrote:
> On Tue, Nov 08, 2005 at 06:38:11PM +0100, Stefan Roese wrote:
> > In the current linux version, Bamboo (440EP) won't compile anymore, because of
> > missing fpu support:
> >
> > make uImage
> > ...
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
> > : undefined reference to `KernelFP'
> > make: *** [.tmp_vmlinux1] Error 1
> >
> > Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
> > the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
> > how to solve this problem (just restore the original file)?
>
> arch/powerpc/kernel/fpu.S is being used now which doesn't have KernelFP.
> I don't know why the 44x fpu support wasn't using
> kernel_fp_unavailable_exception() before but I must have missed that
> reviewing it.
>
> Try this patch.
Doesn't this render the 440EP's FPU useless?
josh
^ permalink raw reply
* [PATCH 2.6.14] ppc32: Fix CONFIG_PRINTK=n building
From: Tom Rini @ 2005-11-08 22:36 UTC (permalink / raw)
To: Andrew Morton, Paul Mackerras, Kumar Gala; +Cc: linuxppc-dev, Matt Mackall
The following patch is needed to allow PRINTK=n to work on ppc32.
Direct calls to printk from asm files can't be magically removed so we
have to do it manually.
Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Index: linux-2.6.14/arch/ppc/kernel/fpu.S
===================================================================
--- linux-2.6.14.orig/arch/ppc/kernel/fpu.S
+++ linux-2.6.14/arch/ppc/kernel/fpu.S
@@ -91,7 +91,9 @@ KernelFP:
ori r3,r3,86f@l
mr r4,r2 /* current */
lwz r5,_NIP(r1)
+#ifdef CONFIG_PRINTK
bl printk
+#endif
b ret_from_except
86: .string "floating point used in kernel (task=%p, pc=%x)\n"
.align 4,0
Index: linux-2.6.14/arch/ppc/kernel/head.S
===================================================================
--- linux-2.6.14.orig/arch/ppc/kernel/head.S
+++ linux-2.6.14/arch/ppc/kernel/head.S
@@ -846,7 +846,9 @@ KernelAltiVec:
ori r3,r3,87f@l
mr r4,r2 /* current */
lwz r5,_NIP(r1)
+#ifdef CONFIG_PRINTK
bl printk
+#endif
b ret_from_except
87: .string "AltiVec used in kernel (task=%p, pc=%x) \n"
.align 4,0
Index: linux-2.6.14/arch/ppc/kernel/head_fsl_booke.S
===================================================================
--- linux-2.6.14.orig/arch/ppc/kernel/head_fsl_booke.S
+++ linux-2.6.14/arch/ppc/kernel/head_fsl_booke.S
@@ -906,7 +906,9 @@ KernelSPE:
ori r3,r3,87f@l
mr r4,r2 /* current */
lwz r5,_NIP(r1)
+#ifdef CONFIG_PRINTK
bl printk
+#endif
b ret_from_except
87: .string "SPE used in kernel (task=%p, pc=%x) \n"
.align 4,0
--
Tom Rini
http://gate.crashing.org/~trini/
^ permalink raw reply
* Re: 440EP FPU support missing
From: Matt Porter @ 2005-11-08 22:46 UTC (permalink / raw)
To: Stefan Roese, linuxppc-dev, linuxppc64-dev
In-Reply-To: <20051108223202.GA25185@localhost.localdomain>
On Wed, Nov 09, 2005 at 09:32:02AM +1100, David Gibson wrote:
> On Tue, Nov 08, 2005 at 06:38:11PM +0100, Stefan Roese wrote:
> > In the current linux version, Bamboo (440EP) won't compile anymore, because of
> > missing fpu support:
> >
> > make uImage
> > ...
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
> > : undefined reference to `KernelFP'
> > make: *** [.tmp_vmlinux1] Error 1
> >
> > Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
> > the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
> > how to solve this problem (just restore the original file)?
>
> It's just moved to arch/powerpc/kernel/fpu.S. All you should need is
> to tweak the Makefiles so that it's included in your build.
Actually, the version in arch/powerpc/kernel/ is older than the version
removed from arch/ppc/kernel/. It is already being built...see my other
post.
-Matt
^ permalink raw reply
* Re: fix swapping on 8xx?
From: Wolfgang Denk @ 2005-11-08 22:46 UTC (permalink / raw)
To: Tom Rini; +Cc: David Jander, linuxppc-embedded
In-Reply-To: <20051108210204.GP3839@smtp.west.cox.net>
In message <20051108210204.GP3839@smtp.west.cox.net> you wrote:
>
> > Please do not remove stuff that is needed and used to work (in 2.4).
>
> Note the bug in question exists in 2.4, and I think really even 2.2.
Hm... as far as I can remember (and see in the change logs) the only
fix we implemented for our 2.4.25 tree to get swapping on a MPC8xx
working was a set of bad offsets in include/asm-ppc/pgtable.h - see
http://www.denx.de/cgi-bin/gitweb.cgi?p=linuxppc_2_4_devel.git;a=commit;h=e6d7a1c83f9fd5820cdb85389d6a8f2207f3641d
With this change swapping works fine for us - some of our customers
have been using this code in production for over two years now.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Good morning. This is the telephone company. Due to repairs, we're
giving you advance notice that your service will be cut off indefi-
nitely at ten o'clock. That's two minutes from now.
^ permalink raw reply
* Re: [PATCH 2.6.14] ppc32: Fix CONFIG_PRINTK=n building
From: Matt Porter @ 2005-11-08 22:48 UTC (permalink / raw)
To: Tom Rini; +Cc: Andrew Morton, Kumar Gala, Matt Mackall, linuxppc-dev
In-Reply-To: <20051108223631.GR3839@smtp.west.cox.net>
On Tue, Nov 08, 2005 at 03:36:31PM -0700, Tom Rini wrote:
> The following patch is needed to allow PRINTK=n to work on ppc32.
>
> Direct calls to printk from asm files can't be magically removed so we
> have to do it manually.
>
> Signed-off-by: Tom Rini <trini@kernel.crashing.org>
>
> Index: linux-2.6.14/arch/ppc/kernel/fpu.S
> ===================================================================
> --- linux-2.6.14.orig/arch/ppc/kernel/fpu.S
This file doesn't exist in mainline. 2.6.14 is too old as a reference
for ppc patches due to the arch/powerpc/ merge.
-Matt
^ permalink raw reply
* Re: [PATCH 2.6.14] ppc32: Fix CONFIG_PRINTK=n building
From: Matt Mackall @ 2005-11-08 22:39 UTC (permalink / raw)
To: Tom Rini; +Cc: Andrew Morton, Kumar Gala, linuxppc-dev
In-Reply-To: <20051108223631.GR3839@smtp.west.cox.net>
On Tue, Nov 08, 2005 at 03:36:31PM -0700, Tom Rini wrote:
> The following patch is needed to allow PRINTK=n to work on ppc32.
>
> Direct calls to printk from asm files can't be magically removed so we
> have to do it manually.
>
> Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Looks good.
Acked-by: Matt Mackall <mpm@selenic.com>
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply
* Re: 440EP FPU support missing
From: Matt Porter @ 2005-11-08 23:02 UTC (permalink / raw)
To: Josh Boyer; +Cc: linuxppc-dev, Stefan Roese, linuxppc64-dev
In-Reply-To: <1131489174.26096.0.camel@yoda.jdub.homelinux.org>
On Tue, Nov 08, 2005 at 04:32:54PM -0600, Josh Boyer wrote:
> On Tue, 2005-11-08 at 15:30 -0700, Matt Porter wrote:
> > On Tue, Nov 08, 2005 at 06:38:11PM +0100, Stefan Roese wrote:
> > > In the current linux version, Bamboo (440EP) won't compile anymore, because of
> > > missing fpu support:
> > >
> > > make uImage
> > > ...
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > arch/ppc/kernel/head_44x.o(.text+0x868): In function `_start':
> > > : undefined reference to `KernelFP'
> > > make: *** [.tmp_vmlinux1] Error 1
> > >
> > > Somehow arch/ppc/kernel/fpu.S has disappeared. :-( I assume, this happened in
> > > the ppc/ppc64 -> powerpc merge. Any thoughts, why this file disappeared and
> > > how to solve this problem (just restore the original file)?
> >
> > arch/powerpc/kernel/fpu.S is being used now which doesn't have KernelFP.
> > I don't know why the 44x fpu support wasn't using
> > kernel_fp_unavailable_exception() before but I must have missed that
> > reviewing it.
> >
> > Try this patch.
>
> Doesn't this render the 440EP's FPU useless?
Does what render the 440EP's FPU useless? The supplied patch? I
don't think so, the path should be the same as classic PPC.
The patch simply replaces the KernelFP routine that used to be in
arch/ppc/kernel/fpu.S (and was removed inadvertently in the arch/powerpc/
merge) with a kernel_fp_unavailable_exception() call which does the
equivalent and is shared by others.
The exception still loads up the fpu is coming from userspace and
only goes down this path when getting an FP unavailable exception from
kernel space.
-Matt
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox