* Re: arm and ppc plattforms
2007-04-20 11:08 ` Robert Schwebel
@ 2007-04-20 11:17 ` Peter Feuerer
2007-04-20 11:23 ` Pradyumna Sampath
2007-04-20 16:01 ` Theodore Tso
2 siblings, 0 replies; 9+ messages in thread
From: Peter Feuerer @ 2007-04-20 11:17 UTC (permalink / raw)
To: Robert Schwebel, linux-rt-users
Does anybody have experience with Atmel's "AT91RM9200" CPU? E.g.
assembled on conitec's "ARM&EVA" board?
( http://www.conitec.net/english/linuxboard.htm )
On Fri, 2007-04-20 at 13:08 +0200, Robert Schwebel wrote:
> Hi Peter,
>
> On Fri, Apr 20, 2007 at 12:56:35PM +0200, Peter Feuerer wrote:
> > what ARM and PowerPC processors have been tested with the rt-preempt
> > patch? Which evalkits or developement boards for those processors are
> > you using?
>
> We have it running on
>
> - MPC5200B (PowerPC 603e), phyCORE-MPC5200B-tiny module (Phytec AG)
> Works like a charm...
>
> - PXA270 (XScale ARMv5), phyCORE-PXA270 (Phytec AG)
> Still under development, we've seen sporadic hangs with the last
> kernels we checked, have to re-test on -rt-current.
>
> - netX (ARM926EZ-J), all Hilscher Boards (Hilscher)
> Works, although more testing needs to be done.
>
> - IXP425 (XScale Big Endian), customer specific board
> Works perfectly.
>
> Robert
Hi Robert,
thank you very much for the quick answer.
--peter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: arm and ppc plattforms
2007-04-20 11:08 ` Robert Schwebel
2007-04-20 11:17 ` Peter Feuerer
@ 2007-04-20 11:23 ` Pradyumna Sampath
2007-04-20 11:34 ` Robert Schwebel
2007-04-20 16:01 ` Theodore Tso
2 siblings, 1 reply; 9+ messages in thread
From: Pradyumna Sampath @ 2007-04-20 11:23 UTC (permalink / raw)
To: Robert Schwebel; +Cc: Peter Feuerer, linux-rt-users
[-- Attachment #1: Type: text/plain, Size: 801 bytes --]
Hi Robert
> We have it running on
>
> - MPC5200B (PowerPC 603e), phyCORE-MPC5200B-tiny module (Phytec AG)
> Works like a charm...
>
> - PXA270 (XScale ARMv5), phyCORE-PXA270 (Phytec AG)
> Still under development, we've seen sporadic hangs with the last
> kernels we checked, have to re-test on -rt-current.
<snip..>
I tried the 2.6.21-rc6-rt0 for MPC5200B (ARCH=ppc
CROSS_COMPILE=ppc_6xx-) and it died with a bunch of compile errors. So
I was under the impression that the port for PowerPC was'nt complete.
So I hacked up a small patch (attached) through I could atleast get it
to compile. But of course it was far from having the implementation
for the complete -rt patch set.
But this is good news. So I assume this will enter the upstream kernel 2.6.22 ?
thanks in advance
regards
prady
[-- Attachment #2: patch-2.6.21-rc6-rt0-pr0 --]
[-- Type: application/octet-stream, Size: 5281 bytes --]
diff -u -r rc6-rt0/linux-2.6.20/arch/ppc/Kconfig linux-2.6.20/arch/ppc/Kconfig
--- rc6-rt0/linux-2.6.20/arch/ppc/Kconfig 2007-04-18 16:41:56.000000000 +0530
+++ linux-2.6.20/arch/ppc/Kconfig 2007-04-18 12:05:31.000000000 +0530
@@ -58,6 +58,14 @@
default y
depends on BUG
+config TRACE_IRQFLAGS_SUPPORT
+ bool
+ default y
+
+config GENERIC_TIME
+ bool
+ default y
+
source "init/Kconfig"
menu "Processor"
diff -u -r rc6-rt0/linux-2.6.20/arch/ppc/kernel/time.c linux-2.6.20/arch/ppc/kernel/time.c
--- rc6-rt0/linux-2.6.20/arch/ppc/kernel/time.c 2007-04-18 16:41:56.000000000 +0530
+++ linux-2.6.20/arch/ppc/kernel/time.c 2007-04-18 13:14:44.000000000 +0530
@@ -200,6 +200,7 @@
/*
* This version of gettimeofday has microsecond resolution.
*/
+#ifndef CONFIG_GENERIC_TIME
void do_gettimeofday(struct timeval *tv)
{
unsigned long flags;
@@ -282,6 +283,7 @@
}
EXPORT_SYMBOL(do_settimeofday);
+#endif /* !CONFIG_GENERIC_TIME */
/* This function is only called on the boot processor */
void __init time_init(void)
Only in linux-2.6.20/: .config
Only in linux-2.6.20/: .config.old
diff -u -r rc6-rt0/linux-2.6.20/drivers/mtd/maps/Kconfig linux-2.6.20/drivers/mtd/maps/Kconfig
--- rc6-rt0/linux-2.6.20/drivers/mtd/maps/Kconfig 2007-04-18 16:41:41.000000000 +0530
+++ linux-2.6.20/drivers/mtd/maps/Kconfig 2007-04-18 15:21:31.000000000 +0530
@@ -374,6 +374,18 @@
Redwood board. If you have one of these boards and would like to
use the flash chips on it, say 'Y'.
+config MTD_LITE5200
+ tristate "CFI Flash devices mapped on Metrowerks Lite5200"
+ depends on MTD_CFI && PPC_MPC52xx && LITE5200
+
+config MTD_LITE5200B
+ tristate "CFI Flash devices mapped on Freescale Lite5200B"
+ depends on MTD_CFI && PPC_MPC52xx && LITE5200B
+
+config MTD_MEDIA5200
+ tristate "CFI Flash devices mapped on Freescale Media5200"
+ depends on MTD_CFI && PPC_MPC52xx && MEDIA5200
+
config MTD_TQM834x
tristate "Flash device mapped on TQ Components TQM834x Boards"
depends on MTD_CFI && TQM834x
Only in linux-2.6.20/drivers/mtd/maps: Kconfig.orig
Only in linux-2.6.20/drivers/mtd/maps: lite5200.c
diff -u -r rc6-rt0/linux-2.6.20/drivers/mtd/maps/Makefile linux-2.6.20/drivers/mtd/maps/Makefile
--- rc6-rt0/linux-2.6.20/drivers/mtd/maps/Makefile 2007-02-05 00:14:54.000000000 +0530
+++ linux-2.6.20/drivers/mtd/maps/Makefile 2007-04-18 15:21:31.000000000 +0530
@@ -51,6 +51,10 @@
obj-$(CONFIG_MTD_IMPA7) += impa7.o
obj-$(CONFIG_MTD_FORTUNET) += fortunet.o
obj-$(CONFIG_MTD_REDWOOD) += redwood.o
+obj-$(CONFIG_MTD_LITE5200) += lite5200.o
+obj-$(CONFIG_MTD_LITE5200B) += lite5200.o
+obj-$(CONFIG_MTD_MEDIA5200) += media5200.o
+obj-$(CONFIG_MTD_CHESTNUT) += chestnut.o
obj-$(CONFIG_MTD_UCLINUX) += uclinux.o
obj-$(CONFIG_MTD_NETtel) += nettel.o
obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o
Only in linux-2.6.20/drivers/mtd/maps: Makefile.orig
Only in linux-2.6.20/drivers/mtd/maps: media5200.c
Only in linux-2.6.20/include: asm
diff -u -r rc6-rt0/linux-2.6.20/include/asm-powerpc/irqflags.h linux-2.6.20/include/asm-powerpc/irqflags.h
--- rc6-rt0/linux-2.6.20/include/asm-powerpc/irqflags.h 2007-02-05 00:14:54.000000000 +0530
+++ linux-2.6.20/include/asm-powerpc/irqflags.h 2007-04-18 12:05:08.000000000 +0530
@@ -14,14 +14,18 @@
* Get definitions for raw_local_save_flags(x), etc.
*/
#include <asm-powerpc/hw_irq.h>
-
/*
* Do the CPU's IRQ-state tracing from assembly code. We call a
* C function, so save all the C-clobbered registers:
*/
#ifdef CONFIG_TRACE_IRQFLAGS
-#error No support on PowerPC yet for CONFIG_TRACE_IRQFLAGS
+//#error No support on PowerPC yet for CONFIG_TRACE_IRQFLAGS
+#define TRACE_IRQS_ON \
+ bl trace_hardirqs_on; \
+
+#define TRACE_IRQS_OFF \
+ bl trace_hardirqs_off; \
#else
# define TRACE_IRQS_ON
Only in linux-2.6.20/include: config
Only in linux-2.6.20/include/linux: autoconf.h
Only in linux-2.6.20/include/linux: utsrelease.h
Only in linux-2.6.20/include/linux: version.h
diff -u -r rc6-rt0/linux-2.6.20/Makefile linux-2.6.20/Makefile
--- rc6-rt0/linux-2.6.20/Makefile 2007-04-18 16:41:56.000000000 +0530
+++ linux-2.6.20/Makefile 2007-04-18 16:39:07.000000000 +0530
@@ -1,8 +1,8 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 21
-EXTRAVERSION = -rc6-rt0
-NAME = Nocturnal Monster Puppy
+EXTRAVERSION = -rc6-rt0-pr0
+NAME = incrc black dustbins
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
Only in linux-2.6.20/: Module.symvers
Only in linux-2.6.20/scripts/basic: docproc
Only in linux-2.6.20/scripts/basic: fixdep
Only in linux-2.6.20/scripts: conmakehash
Only in linux-2.6.20/scripts/genksyms: genksyms
Only in linux-2.6.20/scripts/genksyms: keywords.c
Only in linux-2.6.20/scripts/genksyms: lex.c
Only in linux-2.6.20/scripts/genksyms: parse.c
Only in linux-2.6.20/scripts/genksyms: parse.h
Only in linux-2.6.20/scripts: kallsyms
Only in linux-2.6.20/scripts/kconfig: conf
Only in linux-2.6.20/scripts/kconfig: lex.zconf.c
Only in linux-2.6.20/scripts/kconfig: mconf
Only in linux-2.6.20/scripts/kconfig: zconf.hash.c
Only in linux-2.6.20/scripts/kconfig: zconf.tab.c
Only in linux-2.6.20/scripts/mod: elfconfig.h
Only in linux-2.6.20/scripts/mod: mk_elfconfig
Only in linux-2.6.20/scripts/mod: modpost
Only in linux-2.6.20/scripts: trace-it
Only in linux-2.6.20/: .version
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: arm and ppc plattforms
2007-04-20 11:23 ` Pradyumna Sampath
@ 2007-04-20 11:34 ` Robert Schwebel
2007-04-20 13:59 ` Johan Borkhuis
0 siblings, 1 reply; 9+ messages in thread
From: Robert Schwebel @ 2007-04-20 11:34 UTC (permalink / raw)
To: Pradyumna Sampath; +Cc: Robert Schwebel, Peter Feuerer, linux-rt-users
On Fri, Apr 20, 2007 at 04:53:47PM +0530, Pradyumna Sampath wrote:
> I tried the 2.6.21-rc6-rt0 for MPC5200B (ARCH=ppc
> CROSS_COMPILE=ppc_6xx-) and it died with a bunch of compile errors. So
> I was under the impression that the port for PowerPC was'nt complete.
> So I hacked up a small patch (attached) through I could atleast get it
> to compile. But of course it was far from having the implementation
> for the complete -rt patch set.
You'll probably have no luck with ARCH=ppc, our port runs with
ARCH=powerpc (and still has some crude hacks inside). You can find the
code in the OSELAS.BSP() for the phyCORE-MPC5200B-tiny module, which can
be found here:
http://www.pengutronix.de/oselas/bsp/phytec/index_en.html#phyCORE-MPC5200B-tiny
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Hannoversche Str. 2, 31134 Hildesheim, Germany
Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: arm and ppc plattforms
2007-04-20 11:34 ` Robert Schwebel
@ 2007-04-20 13:59 ` Johan Borkhuis
2007-04-20 16:02 ` Wolfgang Grandegger
0 siblings, 1 reply; 9+ messages in thread
From: Johan Borkhuis @ 2007-04-20 13:59 UTC (permalink / raw)
To: linux-rt-users
Robert Schwebel wrote:
> You'll probably have no luck with ARCH=ppc, our port runs with
> ARCH=powerpc (and still has some crude hacks inside).
>
I am in the same situation: I have a board (MVME3100, PPC8540) that uses
the ARCH=ppc, but I have some strict realtime requirements. As far as I
understand from the discussions on this list (and on other places) the
ARCH=ppc will be dropped in favor of ARCH=powerpc, and the -rt patch
will not support the ppc-architecture.
But before I start working on the powerpc-version of the BSP I would
like to know how stable the patch runs on powerpc (and specifically on
ppc85xx), and how good the realtime performance of the patch is on
powerpc. Are there any (recent) performance measurements available for
the patch on a powerpc platform?
Also a question that is not directly related to this list, but maybe
someone can help me with it. Is there some information available on
porting a BSP from ppc to powerpc? I was not able to find information on
this except for the fact that the ppc architecture will be dropped, but
no information on what impact this has on a BSP.
Kind regards,
Johan Borkhuis
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: arm and ppc plattforms
2007-04-20 13:59 ` Johan Borkhuis
@ 2007-04-20 16:02 ` Wolfgang Grandegger
0 siblings, 0 replies; 9+ messages in thread
From: Wolfgang Grandegger @ 2007-04-20 16:02 UTC (permalink / raw)
To: Johan Borkhuis; +Cc: linux-rt-users
Johan Borkhuis wrote:
> Robert Schwebel wrote:
>> You'll probably have no luck with ARCH=ppc, our port runs with
>> ARCH=powerpc (and still has some crude hacks inside).
> I am in the same situation: I have a board (MVME3100, PPC8540) that uses
> the ARCH=ppc, but I have some strict realtime requirements. As far as I
> understand from the discussions on this list (and on other places) the
> ARCH=ppc will be dropped in favor of ARCH=powerpc, and the -rt patch
> will not support the ppc-architecture.
Not dropped but almost frozen. Already today there is little interest in
maintaining the ppc tree. And for real-time preemption and the
high-resolution timers the generic IRQ and timer layer seems now
mandatory, which is not available for ppc. What is mainly missing for
PowerPC is the support of clock events to get the high-resolution timers
working.
Pengutronix has a temporary solution for that. See Robert's mail:
http://www.mail-archive.com/linux-rt-users@vger.kernel.org/msg00343.html
> But before I start working on the powerpc-version of the BSP I would
> like to know how stable the patch runs on powerpc (and specifically on
> ppc85xx), and how good the realtime performance of the patch is on
> powerpc. Are there any (recent) performance measurements available for
> the patch on a powerpc platform?
I think MPC 85xx is well supported and in arch/powerpc/configs there are
already a few MPC85xx boards available.
> Also a question that is not directly related to this list, but maybe
> someone can help me with it. Is there some information available on
> porting a BSP from ppc to powerpc? I was not able to find information on
> this except for the fact that the ppc architecture will be dropped, but
> no information on what impact this has on a BSP.
Unfortunately, porting takes some effort, especially because of the
mandatory Open Firmware flattened device tree (DTF). Please read
Documentation/powerpc/booting-without-of.txt for further information.
But there are already examples for the MPC85xx. There are more new
things like the generic IRQ and timer layer, but that should be already
available for your boards. For more details, please ask on the
linuxppc-embedded ML.
Wolfgang.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: arm and ppc plattforms
2007-04-20 11:08 ` Robert Schwebel
2007-04-20 11:17 ` Peter Feuerer
2007-04-20 11:23 ` Pradyumna Sampath
@ 2007-04-20 16:01 ` Theodore Tso
2007-04-20 16:40 ` Robert Schwebel
2 siblings, 1 reply; 9+ messages in thread
From: Theodore Tso @ 2007-04-20 16:01 UTC (permalink / raw)
To: Robert Schwebel; +Cc: Peter Feuerer, linux-rt-users
On Fri, Apr 20, 2007 at 01:08:19PM +0200, Robert Schwebel wrote:
> On Fri, Apr 20, 2007 at 12:56:35PM +0200, Peter Feuerer wrote:
> > what ARM and PowerPC processors have been tested with the rt-preempt
> > patch? Which evalkits or developement boards for those processors are
> > you using?
>
> We have it running on
>
> - MPC5200B (PowerPC 603e), phyCORE-MPC5200B-tiny module (Phytec AG)
> Works like a charm...
>
> - PXA270 (XScale ARMv5), phyCORE-PXA270 (Phytec AG)
> Still under development, we've seen sporadic hangs with the last
> kernels we checked, have to re-test on -rt-current.
>
> - netX (ARM926EZ-J), all Hilscher Boards (Hilscher)
> Works, although more testing needs to be done.
>
> - IXP425 (XScale Big Endian), customer specific board
> Works perfectly.
Hi Robert,
You mind if I add these to along with your name/conctact to:
http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch#Platforms_Tested_and_in_Use_with_CONFIG_PREEMPT_RT
... or maybe you could add these platforms yourself?
I think it would be useful if we had a collated set of tested
platforms on the real-time wiki. I'm sure Peter isn't the only one
who might be interested in this kind of information!
- Ted
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: arm and ppc plattforms
2007-04-20 16:01 ` Theodore Tso
@ 2007-04-20 16:40 ` Robert Schwebel
0 siblings, 0 replies; 9+ messages in thread
From: Robert Schwebel @ 2007-04-20 16:40 UTC (permalink / raw)
To: Theodore Tso; +Cc: Peter Feuerer, linux-rt-users, Darren Hart
Hi Ted,
[added Darren to Cc, as he is working on rt tests]
On Fri, Apr 20, 2007 at 12:01:06PM -0400, Theodore Tso wrote:
> You mind if I add these to along with your name/conctact to:
>
> http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch#Platforms_Tested_and_in_Use_with_CONFIG_PREEMPT_RT
>
> ... or maybe you could add these platforms yourself?
>
> I think it would be useful if we had a collated set of tested
> platforms on the real-time wiki. I'm sure Peter isn't the only one who
> might be interested in this kind of information!
Yep, good idea. Nevertheless, I'd like to see a "standardized"
measurement process plus nice latency plots, like this one:
http://www.pengutronix.de/oselas/realtime/results/20070211-1/phyCORE-MPC5200B-tiny-20070211-1.png
to have a good comparism base. These plots are basically be done without
a sane realtime workload (well, some while true; do find /; done loops,
plus ping -f, but that can probably be done better).
Any idea for a good realtime workload scenario which is valid to all
supported platforms?
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Hannoversche Str. 2, 31134 Hildesheim, Germany
Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
^ permalink raw reply [flat|nested] 9+ messages in thread