* Re: [Kgdb-bugreport] KGDBOC testing on linux-2.6.30-rc4
From: srikanth krishnakar @ 2009-05-05 12:59 UTC (permalink / raw)
To: Jason Wessel; +Cc: kgdb-bugreport
In-Reply-To: <4A0029E0.3000008@windriver.com>
[-- Attachment #1: Type: text/plain, Size: 3297 bytes --]
On Tue, May 5, 2009 at 5:28 PM, Jason Wessel <jason.wessel@windriver.com>wrote:
> srikanth krishnakar wrote:
> > Hi all,
> >
> > Target : PowerPC, Virtex-440 Generic
> > Serial port : Xilinx 16550 Uart ( depends on OF_PLATFORM)
> >
> > Further investigation of KGDBOC on PowerPC shows that kgdboc hangs at :
> >
> > In file : arch/powerpc/include/asm/kgdb.h
> >
> > *static inline void* arch_kgdb_breakpoint(*void*)
> > {
> > *asm*(*".long 0x7d821008"*); /* *twge r2, r2 **/ * << ----
> > KGDBOC Hangs here* * << ---*
> >
> >
> > -----------------------------------------
> > Debug Log:
> >
> > root@10.1.2.55:~# echo g >
> > /proc/sysrq-trigger
> > SysRq :
> > GDB
> >
> > 1------------------------>sysrq_handle_gdb
> >
> > Entering KGDB
> > 1-1----------------------->kgdb_breakpoint
> > 1-2----------------------->kgdb_breakpoint
> > 1-3----------------------->kgdb_breakpoint
> > 1-1----------------------->arch_kgdb_breakpoint
> >
> > ---------------------------------------------
> >
> >
> > Any comments or suggestions ????
> >
>
> I had used the 2.6.30-rc3 kernel with the PowerPC 604 system I have and
> it was working fine, but the 4xx archs are a bit different.
>
> What happens next after you execute the inline assembly is that an
> exception occurs, and that is the point that the kgdb entry will
> actually execute. IE:
>
> arch/powerpc/kernel/traps.c
>
> program_check_exception()
>
> From there kgdb should be entered and the I/O driver gets activated.
> You could put another printk in kgdb_handle_exception() in kernel/kgdb.c
> to make sure it actually gets there.
>
> Generally when the system hangs hard on an initial entry to kgdb it
> means there is a problem with the I/O polling driver or there is
> something else eating the kgdb exception and the kgdb exception handler
> was never fired in the first place.
>
> Jason.
>
Hi Jason,
Re attempted with inserting a printk in kernel/kgdb.c
kgdb_handle_exception() function but seems the kgdb exception has never
occurred !!
------------------
Debug Log:
root@10.1.2.55:~# echo g > /proc/sysrq-trigger
SysRq : GDB
1------------------------>sysrq_handle_gdb
Entering KGDB
1-1----------------------->kgdb_breakpoint
1-2----------------------->kgdb_breakpoint
1-3----------------------->kgdb_breakpoint
1-1----------------------->arch_kgdb_breakpoint
(gdb) target remote /dev/ttyS0
Remote debugging using /dev/ttyS0
Ignoring packet error, continuing...
warning: unrecognized item "timeout" in "qSupported" response
Ignoring packet error, continuing...
Ignoring packet error, continuing...
-------------------
Inserted printk's in kernel kgdb.c :
int
kgdb_handle_exception(int evector, int signo, int ecode, struct pt_regs
*regs)
{
printk("1------------------------>%s\n",__FUNCTION__);
if (kgdb_reenter_check(ks)) {
-----------------------------
*Does the PowerPC uses PowerPC64 hooks ??*
as seen below from arch/powerpc/kernel/kgdb.c
/* KGDB functions to use existing PowerPC64 hooks. */
static int kgdb_debugger(struct pt_regs *regs)
{
printk("1------------------------>%s\n",__FUNCTION__);
return *kgdb_handle_exception*(0, computeSignal(TRAP(regs)), 0,
regs);
-------------------------------
Thanks For your co-operation, patience and help.
Regards
Srikanth
**********
[-- Attachment #2: Type: text/html, Size: 5129 bytes --]
^ permalink raw reply
* RE: MSR_SPE - being turned off...
From: Morrison, Tom @ 2009-05-05 12:56 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Michael Neuling
In-Reply-To: <D54110FD-25F0-4A58-9C73-F08D4AE43751@kernel.crashing.org>
Hi Kumar/Michael...
Sorry, I really didn't explain myself very well...
The Problem (answer to Michael):
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
We started using a new compiler that upon -O2 optimization - added
heavy SPE related instructions into our applications (where the older
compiler might not use as many). Once this was done, we started=20
experiencing problems with data being 'shifted' and/or corrupted=20
throughout the applications which didn't immediately cause problems,
but either scribbled on someone else's memory and/or bad results...
We knew where one of the offending scribbles started (by the shifting=20
by 1 byte of a structure) and found by comparing binaries with 'older'
compiler vs. this one that the only major difference was the 'density'=20
of the SPE instructions...
As to your question, Kumar:=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Naively, I explicitly enabled the SPE in a BSP 'early_init' program=20
(as well as enabling Machine Checks) - which is what I meant by
Enabling SPE...
Michael explained that it is 'normal' if we asynchronously polled=20
the MSR (in an application and/or in the kernel) that it might be=20
disabled at the moment, but that you do a 'lazy switch' that=20
enables it...and gets turned on when an SPE exception comes in...
...ok...I can live with that...
-------where I was really going---------
This is where I was trying to go. A developer at our company (who no
longer works for us) - did some research/development on the SPE=20
functionality, in the hopes that we could create an optimized library.
The results were successful, but because of some of the restrictions=20
(including 8 byte alignment for some instructions) - we decided not
to incorporate this library into our application(s)
But, this developer in his results, indicated that he believed our
kernels were NOT properly saving/restoring the upper 32bits of the=20
GPR (which can/will be used in the SPE instructions)... Thus, if the
upper 32bits were not saved (and restored when the application got
the SPE to operate on)...then, he thought there would be problems.
He unfortunately, was unable to finish his work and fix these 'bugs'
before he left our company...
Again, I am only going on his results, and not my own investigations
(I am not sure where to start to find this problem to begin with)...
So, I was REALLY asking - has anybody else run into this type of
problem,=20
and/or the Linux community has recognized this problem and has fixed
this?
------
I hope I am a little clearer in the history / and outline of the=20
problem I am trying to solve this time?
Thanks in advance!
Tom Morrison
>> -----Original Message-----
>> From: Kumar Gala [mailto:galak@kernel.crashing.org]
>> Sent: Tuesday, May 05, 2009 7:08 AM
>> To: Morrison, Tom
>> Cc: linuxppc-dev@ozlabs.org
>> Subject: Re: MSR_SPE - being turned off...
>>=20
>>=20
>> On May 4, 2009, at 5:25 PM, Morrison, Tom wrote:
>>=20
>> > I have both a MPC8548 SBC and MPC8572 system that are running
>> > different flavors of the
>> > same Linux - 2.6.23.
>> >
>> > I explicitly am turning it on very early on. Later, I have an
>> > application that is compiled
>> > with SPE instructions (e.g.: evstdd) , and there is where the
>> > problems happen. If I explicitly
>> > make sure there are NO SPE instructions in the application, nothing
>> > bad happens!
>> >
>> > I am polling the MSR - and it seems the SPE is turned OFF?
>> >
>> > What have I done wrong and/or has there been fixes in later kernels
>> > that I should be aware of that might help this issue?
>>=20
>> Can you explain what you mean by explicitly am turning it on very
>> early on.
>>=20
>> I can't think of anything that has changed w/regards to SPE handling.
>>=20
>> - k
^ permalink raw reply
* Please pull from 'pci' branch into 'test'
From: Kumar Gala @ 2009-05-05 12:26 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, Paul Mackerras
Ben,
Here are various pci related changes for 2.6.31 that can look at going
into your test tree to see if they break anyone. It would be nice if this
could get some testing on pseries by one of you guys as I have no access
to such HW.
- k
Please pull from 'pci' branch of
master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc.git pci
to receive the following updates:
arch/powerpc/include/asm/pci-bridge.h | 7 ------
arch/powerpc/kernel/pci_32.c | 19 ----------------
arch/powerpc/kernel/pci_64.c | 10 --------
arch/powerpc/kernel/pci_dn.c | 28 -------------------------
arch/powerpc/kernel/rtas_pci.c | 10 +-------
arch/powerpc/platforms/52xx/efika.c | 4 +--
arch/powerpc/platforms/52xx/mpc52xx_pci.c | 4 +--
arch/powerpc/platforms/cell/celleb_pci.c | 10 +-------
arch/powerpc/platforms/cell/celleb_scc_epci.c | 13 +----------
arch/powerpc/platforms/cell/celleb_scc_pciex.c | 12 +---------
arch/powerpc/platforms/chrp/pci.c | 8 +++----
arch/powerpc/platforms/iseries/pci.c | 8 +++----
arch/powerpc/platforms/powermac/setup.c | 2 -
arch/powerpc/platforms/pseries/setup.c | 25 ++++++++++++++++++++++
arch/powerpc/sysdev/fsl_pci.c | 6 ++---
arch/powerpc/sysdev/indirect_pci.c | 4 +--
arch/powerpc/sysdev/ppc4xx_pci.c | 4 +--
arch/powerpc/sysdev/tsi108_pci.c | 4 +--
drivers/pci/Makefile | 1
19 files changed, 57 insertions(+), 122 deletions(-)
Kumar Gala (13):
powerpc/pci: clean up direct access to sysdata by indirect ops
powerpc/pci: clean up direct access to sysdata by FSL platforms
powerpc/pci: clean up direct access to sysdata by 52xx platforms
powerpc/pci: clean up direct access to sysdata by 4xx platforms
powerpc/pci: clean up direct access to sysdata by CHRP platforms
powerpc/pci: clean up direct access to sysdata on tsi108 platforms
powerpc/pci: clean up direct access to sysdata by powermac platforms
powerpc/pci: clean up direct access to sysdata by RTAS
powerpc/pci: clean up direct access to sysdata by celleb platforms
powerpc/pci: clean up direct access to sysdata by iseries platform
powerpc/pci: Move pseries code into pseries platform specific area
powerpc/pci: cleanup some minor cruft
powerpc/pci: Remove redundant pcnet32 fixup
^ permalink raw reply
* Re: [PATCH 2.6.30-rc5] ehea: fix invalid pointer access
From: David Howells @ 2009-05-05 12:19 UTC (permalink / raw)
To: Hannes Hering
Cc: themann, netdev, linux-kernel, ossrosch, linuxppc-dev, raisch,
ossthema, osstklei, David Miller
In-Reply-To: <200905051319.05806.hannes.hering@linux.vnet.ibm.com>
Hannes Hering <hannes.hering@linux.vnet.ibm.com> wrote:
> this is an ehea driver problem, which is occuring when the receive queue runs
> empty. The faulting code is more specifically the following line:
>
> pref = (skb_array[x]->data);
In that case, you might want to move the prefetchw() calls in the following:
pref = skb_array[x];
- prefetchw(pref);
- prefetchw(pref + EHEA_CACHE_LINE);
+ if (pref) {
+ prefetchw(pref);
+ prefetchw(pref + EHEA_CACHE_LINE);
to before the if-statement. That way the CPU can be attempting the prefetch
whilst it's chewing over the test and branch. prefetching shouldn't fault on
a bad address.
David
^ permalink raw reply
* [PATCH] powerpc/pci: Remove redundant pcnet32 fixup
From: Kumar Gala @ 2009-05-05 12:20 UTC (permalink / raw)
To: linuxppc-dev
In-Reply-To: <1241526009-18695-1-git-send-email-galak@kernel.crashing.org>
The pcnet32 driver has had in its device id table for some time a match
against the "broken" vendor ID. No need to fake out the vendor ID
with an explicit fixup.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
arch/powerpc/kernel/pci_32.c | 11 -----------
arch/powerpc/kernel/pci_64.c | 10 ----------
2 files changed, 0 insertions(+), 21 deletions(-)
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 529e677..3ae1c66 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -33,7 +33,6 @@ int pcibios_assign_bus_offset = 1;
void pcibios_make_OF_bus_map(void);
-static void fixup_broken_pcnet32(struct pci_dev* dev);
static void fixup_cpc710_pci64(struct pci_dev* dev);
#ifdef CONFIG_PPC_OF
static u8* pci_to_OF_bus_map;
@@ -72,16 +71,6 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MOTOROLA, PCI_ANY_ID, fixup_hide_host_res
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, fixup_hide_host_resource_fsl);
static void
-fixup_broken_pcnet32(struct pci_dev* dev)
-{
- if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) {
- dev->vendor = PCI_VENDOR_ID_AMD;
- pci_write_config_word(dev, PCI_VENDOR_ID, PCI_VENDOR_ID_AMD);
- }
-}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TRIDENT, PCI_ANY_ID, fixup_broken_pcnet32);
-
-static void
fixup_cpc710_pci64(struct pci_dev* dev)
{
/* Hide the PCI64 BARs from the kernel as their content doesn't
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index be574fc..fb9a0f8 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -43,16 +43,6 @@ unsigned long pci_probe_only = 1;
unsigned long pci_io_base = ISA_IO_BASE;
EXPORT_SYMBOL(pci_io_base);
-static void fixup_broken_pcnet32(struct pci_dev* dev)
-{
- if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) {
- dev->vendor = PCI_VENDOR_ID_AMD;
- pci_write_config_word(dev, PCI_VENDOR_ID, PCI_VENDOR_ID_AMD);
- }
-}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TRIDENT, PCI_ANY_ID, fixup_broken_pcnet32);
-
-
static u32 get_int_prop(struct device_node *np, const char *name, u32 def)
{
const u32 *prop;
--
1.6.0.6
^ permalink raw reply related
* [PATCH] powerpc/pci: cleanup some minor cruft
From: Kumar Gala @ 2009-05-05 12:20 UTC (permalink / raw)
To: linuxppc-dev
* Removed building setup-irq on ppc32, we don't use it anymore
* Remove duplicate prototype for setup_grackle() code that needs it
gets it from <asm/grackle.h>
* Removed gratuitous pci_io_size type differences between ppc32/ppc64
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
arch/powerpc/include/asm/pci-bridge.h | 6 ------
arch/powerpc/kernel/pci_32.c | 8 --------
drivers/pci/Makefile | 1 -
3 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index 90fcfc4..586138e 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -86,17 +86,12 @@ struct pci_controller {
void *io_base_alloc;
#endif
resource_size_t io_base_phys;
-#ifndef CONFIG_PPC64
resource_size_t pci_io_size;
-#endif
/* Some machines (PReP) have a non 1:1 mapping of
* the PCI memory space in the CPU bus space
*/
resource_size_t pci_mem_offset;
-#ifdef CONFIG_PPC64
- unsigned long pci_io_size;
-#endif
/* Some machines have a special region to forward the ISA
* "memory" cycles such as VGA memory regions. Left to 0
@@ -185,7 +180,6 @@ extern int early_find_capability(struct pci_controller *hose, int bus,
extern void setup_indirect_pci(struct pci_controller* hose,
resource_size_t cfg_addr,
resource_size_t cfg_data, u32 flags);
-extern void setup_grackle(struct pci_controller *hose);
#else /* CONFIG_PPC64 */
/*
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index d473634..529e677 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -447,14 +447,6 @@ static int __init pcibios_init(void)
subsys_initcall(pcibios_init);
-/* the next one is stolen from the alpha port... */
-void __init
-pcibios_update_irq(struct pci_dev *dev, int irq)
-{
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
- /* XXX FIXME - update OF device tree node interrupt property */
-}
-
static struct pci_controller*
pci_bus_to_hose(int bus)
{
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index ba6af16..b77ae67 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_ALPHA) += setup-bus.o setup-irq.o
obj-$(CONFIG_ARM) += setup-bus.o setup-irq.o
obj-$(CONFIG_PARISC) += setup-bus.o
obj-$(CONFIG_SUPERH) += setup-bus.o setup-irq.o
-obj-$(CONFIG_PPC32) += setup-irq.o
obj-$(CONFIG_PPC) += setup-bus.o
obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
obj-$(CONFIG_X86_VISWS) += setup-irq.o
--
1.6.0.6
^ permalink raw reply related
* [PATCH] powerpc/pci: clean up direct access to sysdata by iseries platform
From: Kumar Gala @ 2009-05-05 12:04 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Stephen Rothwell
We shouldn't directly access sysdata to get the device node. We should
be calling pci_device_to_OF_node().
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
arch/powerpc/platforms/iseries/pci.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c
index 02a634f..18343c3 100644
--- a/arch/powerpc/platforms/iseries/pci.c
+++ b/arch/powerpc/platforms/iseries/pci.c
@@ -318,6 +318,7 @@ static void __init iomm_table_allocate_entry(struct pci_dev *dev, int bar_num)
{
struct resource *bar_res = &dev->resource[bar_num];
long bar_size = pci_resource_len(dev, bar_num);
+ struct device_node *dn = pci_device_to_OF_node(dev);
/*
* No space to allocate, quick exit, skip Allocation.
@@ -335,9 +336,9 @@ static void __init iomm_table_allocate_entry(struct pci_dev *dev, int bar_num)
* Allocate the number of table entries needed for BAR.
*/
while (bar_size > 0 ) {
- iomm_table[current_iomm_table_entry] = dev->sysdata;
+ iomm_table[current_iomm_table_entry] = dn;
ds_addr_table[current_iomm_table_entry] =
- iseries_ds_addr(dev->sysdata) | (bar_num << 24);
+ iseries_ds_addr(dn) | (bar_num << 24);
bar_size -= IOMM_TABLE_ENTRY_SIZE;
++current_iomm_table_entry;
}
@@ -410,7 +411,7 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev)
struct device_node *node;
int i;
- node = find_device_node(bus, pdev->devfn);
+ node = pci_device_to_OF_node(pdev);
pr_debug("PCI: iSeries %s, pdev %p, node %p\n",
pci_name(pdev), pdev, node);
if (!node) {
@@ -441,7 +442,6 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev)
}
}
- pdev->sysdata = node;
allocate_device_bars(pdev);
iseries_device_information(pdev, bus, *sub_bus);
iommu_devnode_init_iSeries(pdev, node);
--
1.6.0.6
^ permalink raw reply related
* Re: [PATCH 0/9] powerpc/pci: clean up direct access to sysdata
From: Kumar Gala @ 2009-05-05 11:40 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Linuxppc-dev Development
In-Reply-To: <1241103047.7356.8.camel@concordia>
On Apr 30, 2009, at 9:50 AM, Michael Ellerman wrote:
> On Thu, 2009-04-30 at 09:18 -0500, Kumar Gala wrote:
>> On Apr 30, 2009, at 8:49 AM, Michael Ellerman wrote:
>>
>>> On Thu, 2009-04-30 at 08:09 -0500, Kumar Gala wrote:
>>>> We shouldn't be accessing sysdata directly. In the future we might
>>>> have
>>>> sysdata be a device_node on ppc32 to match ppc64. Direct access
>>>> would make that
>>>> a bit difficult.
>>>>
>>>> If someone can look at the iseries code I would appreciate that:
>>>>
>>>> arch/powerpc/platforms/iseries/pci.c:
>>>> iomm_table[current_iomm_table_entry] = dev->sysdata;
>>>> arch/powerpc/platforms/iseries/pci.c:
>>>> iseries_ds_addr(dev->sysdata) | (bar_num << 24);
>>>> arch/powerpc/platforms/iseries/pci.c: pdev->sysdata = node;
>>>
>>> It looks like it's basically doing the same logic as
>>> pci_device_to_OF_node(), and fetch_dev_dn(), but there's probably
>>> some
>>> reason why it's not using those.
>>>
>>> Given how much new iseries hardware there is, I think we'd probably
>>> rather leave the code as is. It's a device node anyway, so it
>>> doesn't
>>> block your plans RE ppc32.
>>>
>>> cheers
>>
>> I was already thinking along those lines, but figured I see if anyone
>> is really "maintaining" iseries code :)
>
> Not that much, it would be sfr if anyone, but I think he's a bit
> busy :)
>
> cheers
I was thinking about this a bit more and would like to clean up
iseries as well. Either iseries is maintained by someone or its not.
- k
^ permalink raw reply
* Re: [PATCH 2.6.30-rc5] ehea: fix invalid pointer access
From: Hannes Hering @ 2009-05-05 11:19 UTC (permalink / raw)
To: David Howells
Cc: themann, netdev, linux-kernel, ossrosch, linuxppc-dev, raisch,
ossthema, osstklei, David Miller
In-Reply-To: <25628.1241514687@redhat.com>
On Tuesday 05 May 2009 11:11:27 David Howells wrote:
> Hannes Hering <hannes.hering@linux.vnet.ibm.com> wrote:
>
> > pref = skb_array[x];
> > - prefetchw(pref);
> > - prefetchw(pref + EHEA_CACHE_LINE);
> > + if (pref) {
> > + prefetchw(pref);
> > + prefetchw(pref + EHEA_CACHE_LINE);
>
> Ummm... Is prefetch() or prefetchw() faulting?
>
> David
Hi David,
this is an ehea driver problem, which is occuring when the receive queue runs
empty. The faulting code is more specifically the following line:
pref = (skb_array[x]->data);
Here the access to the struct element data would cause an exception.We could
have made the if block a little smaller.
Regards
Hannes
^ permalink raw reply
* Re: MSR_SPE - being turned off...
From: Kumar Gala @ 2009-05-05 11:07 UTC (permalink / raw)
To: Morrison, Tom; +Cc: linuxppc-dev
In-Reply-To: <BD261180E6D35F4D9D32F3E44FD3D90110C30B99@EMPBEDEX.empirix.com>
On May 4, 2009, at 5:25 PM, Morrison, Tom wrote:
> I have both a MPC8548 SBC and MPC8572 system that are running =20
> different flavors of the
> same Linux =96 2.6.23.
>
> I explicitly am turning it on very early on. Later, I have an =20
> application that is compiled
> with SPE instructions (e.g.: evstdd) , and there is where the =20
> problems happen. If I explicitly
> make sure there are NO SPE instructions in the application, nothing =20=
> bad happens!
>
> I am polling the MSR =96 and it seems the SPE is turned OFF?
>
> What have I done wrong and/or has there been fixes in later kernels =20=
> that I should be aware of that might help this issue?
Can you explain what you mean by explicitly am turning it on very =20
early on.
I can't think of anything that has changed w/regards to SPE handling.
- k=
^ permalink raw reply
* Re: [Patch] powerpc/cell: make ptcal more reliable
From: Gerhard Stenzel @ 2009-05-05 10:47 UTC (permalink / raw)
To: Jeremy Kerr; +Cc: linuxppc-dev
In-Reply-To: <200905051057.19562.jk@ozlabs.org>
Jeremy Kerr <jk@ozlabs.org> wrote on 05/05/2009 02:57:18 AM:
> Hi Gerhard,
Jeremy, thanks for your comments
>
> > This is for QS21. The following patch allocates pages only from
> > the specified node, moves the ptcal area into the middle of the
> > allocated page to avoid potential prefetch problems and prints
> > the address of the ptcal area to facilitate diagnostics.
>
> You're seeing prefetches that cross a page boundary?
>
> > - area->pages =3D alloc_pages_node(area->nid, GFP_KERNEL, area->o=
rder);
> > + area->pages =3D alloc_pages_node(area->nid, GFP_KERNEL |
> > GFP_THISNODE, area->order);
>
> Best to keep this under 80 cols.
ok
>
> >
> > - if (!area->pages)
> > + if (!area->pages) {
> > + printk(KERN_INFO "%s: no page on node %d\n",
> > + __FUNCTION__, area->nid);
> > goto out_free_area;
> > + }
>
> That could probably be a KERN_ERR, as we don't have ptcal enabled on
> that node. Also, I believe __func__ is preferred over __FUNCTION__.
Since this is the default for the kdump kernel in most cases, how about=
KERN_WARNING instead.:
>
> > - addr =3D __pa(page_address(area->pages));
> > + /*
> > + * We move the ptcal area to the middle of the allocated
> > + * page, in order to avoid prefetches in memcpy and similar
> > + * functions stepping on it.
> > + */
> > + addr =3D __pa(page_address(area->pages)) + (PAGE_SIZE >> 1);
>
> Minor nitpick, but I think (PAGE_SIZE / 2) better illustrates that
> you're putting the addr in the middle of the page. But either should =
be
> fine.
ok. I prefer to keep it like this. It should be clear from the comment.=
>
> > + printk(KERN_INFO "%s: enabling PTCAL on node %d address=3D0x%01=
6lx
> > PAGE_SIZE>>1=3D0x%016lx \n",
> > + __FUNCTION__, area->nid, addr, PAGE_SIZE>>1);
>
> 80 cols again. Can we do this as a pr_debug?
"PAGE_SIZE>>1" can be omitted anyway. Removing it brings it below 80 co=
ls.
Regarding pr_debug, the message should appear only on QS21 where it can=
be
of interest. So, I would prefer to keep a printk.
>
> Cheers,
>
> Jeremy
Thanks again,
Best regards,
Gerhard Stenzel, Linux on Cell/Hybrid Technologies, LTC
-----------------------------------------------------------------------=
------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Gesch=E4ftsf=FChrung: E=
rich
Baier
Sitz der Gesellschaft: B=F6blingen | Registergericht: Amtsgericht Stutt=
gart,
HRB 243294=
^ permalink raw reply
* Re: [PATCH 2.6.30-rc5] ehea: fix invalid pointer access
From: David Howells @ 2009-05-05 9:11 UTC (permalink / raw)
To: Hannes Hering
Cc: themann, netdev, linux-kernel, ossrosch, linuxppc-dev, raisch,
ossthema, osstklei, David Miller
In-Reply-To: <200905041802.30527.hannes.hering@linux.vnet.ibm.com>
Hannes Hering <hannes.hering@linux.vnet.ibm.com> wrote:
> pref = skb_array[x];
> - prefetchw(pref);
> - prefetchw(pref + EHEA_CACHE_LINE);
> + if (pref) {
> + prefetchw(pref);
> + prefetchw(pref + EHEA_CACHE_LINE);
Ummm... Is prefetch() or prefetchw() faulting?
David
^ permalink raw reply
* Re: KGDBOC testing on linux-2.6.30-rc4
From: srikanth krishnakar @ 2009-05-05 9:35 UTC (permalink / raw)
To: kgdb-bugreport
In-Reply-To: <3bd6b93c0905040742m64e1ef73i102106ca002236b2@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6558 bytes --]
Hi all,
Target : PowerPC, Virtex-440 Generic
Serial port : Xilinx 16550 Uart ( depends on OF_PLATFORM)
Further investigation of KGDBOC on PowerPC shows that kgdboc hangs at :
In file : arch/powerpc/include/asm/kgdb.h
*static inline void* arch_kgdb_breakpoint(*void*)
{
*asm*(*".long 0x7d821008"*); /* *twge r2, r2 **/ * << ----
KGDBOC Hangs here* * << ---*
-----------------------------------------
Debug Log:
root@10.1.2.55:~# echo g >
/proc/sysrq-trigger
SysRq :
GDB
1------------------------>sysrq_handle_gdb
Entering KGDB
1-1----------------------->kgdb_breakpoint
1-2----------------------->kgdb_breakpoint
1-3----------------------->kgdb_breakpoint
1-1----------------------->arch_kgdb_breakpoint
---------------------------------------------
Any comments or suggestions ????
-Srikanth
----------
On Mon, May 4, 2009 at 8:12 PM, Bruce Ashfield <bruce.ashfield@gmail.com>wrote:
> On Mon, May 4, 2009 at 9:13 AM, srikanth krishnakar
> <skrishnakar@gmail.com> wrote:
> >
> >
> > Hi all,
> >
> > I need help in kgdboc testing on PowerPC target.
>
> Have you tried contacting the maintainer ? (I noticed that Jason
> wasn't cc'd), just in case it isn't simply a use case problem and
> might be related to KGDB internals.
>
> KGDB
> P: Jason Wessel
> M: jason.wessel@windriver.com
>
> I've tested KGDBOC up to the 2.6.29 kernel and it worked fine
> on a series of 85xx boards. I haven't had a chance on 2.6.30-rcX
> yet, so something may have changed.
>
> >
> > Linux Kernel: 2.6.30-rc4
> > KGDB method : KGDBOC
> > Arch: PowerPC
> >
> > Note: Attached is the kernel config used.
> >
> > Has anyone tested KGDBOC for Serial 8250, and the serial port has
> dependency
> > on OF_PLATFORM driver ?
> >
> > Here are the kernel config options:
> >
> > Device Drivers --->
> > Character devices --->
> > Serial drivers --->
> > <*> 8250/16550 and
> > compatible serial support
> > [*] Console on
> > 8250/16550 and compatible serial port
> > (4) Number of
> > 8250/16550 serial ports to register at runtime
> > [ ] Extended
> 8250/16550
> > serial driver options
> > *** Non-8250 serial
> > port support ***
> > <*> Xilinx uartlite
> > serial port support
> > [*] Support for
> > console on Xilinx uartlite serial port
> > < > Digi
> International
> > NEO PCI Support
> > <*> Serial port on
> Open
> > Firmware platform bus
> > < > NWP serial port
> > driver
> >
> > Kernel hacking --->
> > -*- Magic SysRq key
> > [*] Kernel debugging
> > [*] KGDB: kernel debugging with remote gdb
> --->
> > --- KGDB: kernel debugging with remote
> > gdb
> > <*> KGDB: use kgdb over the serial console
> >
> >
> > ----------------------------------------------
> > In the process :
> >
> > On the target side :
> >
> > ...............
> > Serial: 8250/16550 driver, 4 ports, IRQ
> sharing
> > disabled
> > 83e00000.serial: ttyS0 at MMIO 0x83e01003
> (irq
> > = 16) is a
> > 16550A
> > console [ttyS0]
> > enabled
> > kgdb: Registered I/O driver kgdboc.
> > .................
> >
> > root@10.161.2.35:~# echo g >
> /proc/sysrq-trigger
> > SysRq : GDB
> > Entering KGDB
> >
> >
> > On host side :
> >
> > [root@srikant linux-2.6]#
> powerpc-linux-gnu-gdb
> > vmlinux-puru
> > GNU gdb G++ 4.3-150) 6.8.50.20081022-cvs
> > Copyright (C) 2008 Free Software Foundation,
> Inc.
> > License GPLv3+: GNU GPL version 3 or later
> > <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change
> and
> > redistribute it.
> > There is NO WARRANTY, to the extent permitted
> by
> > law. Type "show copying"
> > and "show warranty" for details.
> > This GDB was configured as
> > "--host=i686-pc-linux-gnu --target=powerpc-linux-gnu".
> > For bug reporting instructions, please see:
> > (gdb) set remotebaud 9600
> > (gdb) target remote /dev/ttyS0
> > Remote debugging using /dev/ttyS0
> > Ignoring packet error, continuing...
> > warning: unrecognized item "timeout" in
> > "qSupported" response
> > Ignoring packet error, continuing...
> > Ignoring packet error, continuing...
> > Ignoring packet error, continuing...
> > Ignoring packet error, continuing...
> > Ignoring packet error, continuing...
> > Malformed response to offset query, timeout
>
> I'm wondering if there is a GDB protocol mismatch and your
> version of GDB is sending packets that KGDB can't handle.
> I'm no where near an expert on GDB's protocol and won't know
> if I'm seeing the same thing until I try 2.6.30-rc
>
> Bruce
>
> >
> > Can anybody comment on the steps followed in the process of testing or
> > something is missing with respect to of_serial.c for powerpc
> architecture.
> > Seems the target has never responded for gdb requests !!!
> >
> >
> > Regards
> > Srikanth
> >
> >
> >
> >
> > _______________________________________________
> > Linuxppc-dev mailing list
> > Linuxppc-dev@ozlabs.org
> > https://ozlabs.org/mailman/listinfo/linuxppc-dev
> >
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"
>
--
"The Good You Do, The Best You GET"
Regards
Srikanth Krishnakar
**********************
[-- Attachment #2: Type: text/html, Size: 9715 bytes --]
^ permalink raw reply
* Re: [PATCH 1/3] powerpc, Makefile: Make it possible to safely select CONFIG_FRAME_POINTER
From: Segher Boessenkool @ 2009-05-05 7:56 UTC (permalink / raw)
To: Steven Rostedt
Cc: linux-kernel, linuxppc-dev, Paul Mackerras, Ingo Molnar,
Sam Ravnborg
In-Reply-To: <1241316249.4243.22.camel@localhost.localdomain>
> Yeah, I agree. This needs a better description. I only know what's
> going
> on because I was there for the start of the discussion.
>
> But just to be sure, this is what I think is happening.
>
> When we add "-pg" to gcc, it automatically causes frame pointers to be
> used.
Nope, it does no such thing.
> But with PPC, it always has frame pointers and there's no problem.
Well, what do you call a "frame pointer"? In the general meaning
of "some register that points to the incoming function arguments
and the function local variables", PowerPC can _usually_ use GPR1,
the stack pointer (and indeed it is called "stack frame pointer"
in the ABI). In the more narrow meaning of "what GCC calls the
frame pointer", "the thing that -fomit-frame-pointer optimises
away" -- on PowerPC (and many other targets), -fomit-frame-pointer
is the *default* when optimisation is enabled!
There is a GCC bug here though: it won't allow both -pg and
-fomit-frame-pointer be set at the command line at the same time,
even on targets where that is not problematic.
> But with Linux, when you add CONFIG_FRAME_POINTER, it automatically
> adds: -fno-omit-frame-pointer. Thus the config will add
> "-fomit-frame-pointer" when CONFIG_FRAME_POINTER is not set, or it
> will
> add "-fno-omit-frame-pointer" when it is set.
>
> The problem with PPC is that "-fno-omit-frame-pointer" is buggy and
> causes gcc to produce bad code.
It's a deeper problem that is only _exposed_ by -fno-o-f-p (and can be
hidden by -mno-sched-epilog in the one spot where it hit us).
> Perhaps a better name would be:
>
> HAVE_FRAME_POINTER_AS_DEFAULT
NO_NO_OMIT_FRAME_POINTER ? Or better, just never use -fno-o-f-p,
I don't see why you would ever need it.
Segher
^ permalink raw reply
* Re: Need a patch tested on a windtunnel powermac
From: Jean Delvare @ 2009-05-05 6:35 UTC (permalink / raw)
To: Giuliano Pochini; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20090504230216.3c8117cb@Jay>
On Mon, 4 May 2009 23:02:16 +0200, Giuliano Pochini wrote:
> On Thu, 30 Apr 2009 09:30:59 +1000
> Paul Mackerras <paulus@samba.org> wrote:
>
> > Does anyone here still have a "windtunnel" powermac (PowerMac3,6)
> > machine running Linux? We need someone to test Jean Delvare's patch
> > to the therm_windtunnel driver. The patch is at:
> >
> > http://patchwork.ozlabs.org/patch/26095/
> >
> > I don't have a windtunnel machine myself - I have a PowerMac3,5 but
> > not a PowerMac3,6.
>
> I have a dual-G4 MDD (/proc/cpuinfo says PowerMac3,6).
>
> On:
>
> Linux Jay 2.6.30-rc4 #1 SMP Sun May 3 16:20:08 CEST 2009 ppc 7455, altivec supported PowerMac3,6 GNU/Linux
>
> plus the patch above seems working fine as usual: temperature reports
> are written in the logs and fan speed changes correctly. therm_windtunnel
> is not compiled as module. I tested it for a few hours only.
Thanks for the report, Giuliano! I've added the information to the wiki.
--
Jean Delvare
^ permalink raw reply
* RE: help with MPC8272ADS board
From: Landau, Bracha @ 2009-05-05 6:16 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <20090504163055.GA16637@ld0162-tx32.am.freescale.net>
I've upgraded to the latest kernel (2.6.29), and after updating the configu=
ration the cuImage did boot.
What's the difference between the address for the early debug console for c=
uImage and uImage + blob?
-----Original Message-----
From: Scott Wood [mailto:scottwood@freescale.com]
Sent: Monday, May 04, 2009 7:31 PM
To: Landau, Bracha
Cc: linuxppc-dev@ozlabs.org
Subject: Re: help with MPC8272ADS board
On Sun, May 03, 2009 at 10:16:29AM +0300, Landau, Bracha wrote:
> I'm trying to get the MPC8272ADS evaluation board up and running with
> the latest versions of u-boot and Denx linux (2.6.24).
2.6.24 is nowhere near the latest version of Linux. If you specifically wa=
nt to use a Denx kernel, you're better off at eldk@denx.de -- though I'd be=
surprised if that's the latest they offer, either.
> I use the device tree file (mpc8272ads.dts) provided. Based on another
> post, I updated the MPC8260ADS.h file, changing OF_CPU from
> "cpu@0<mailto:cpu@0>" to "PowerPC,8272@0", because I was getting an
> error.
I'd rather change the device tree, instead.
> I tried booting both using a cuImage (cuImage.mpc8272ads) and a uImage
> with a device tree blob. Neither boot was successful, with no helpful
> information printed to the serial port.
>
> Is there any change that has to be made in order to get the board to boot=
?
Upgrade to the latest kernel, and if it still doesn't work try enabling the=
early debug console (note that the default address is currently for cuImag=
e).
-Scott
This e-mail is confidential, the property of NDS Ltd and intended for the a=
ddressee only. Any dissemination, copying or distribution of this message o=
r any attachments by anyone other than the intended recipient is strictly p=
rohibited. If you have received this message in error, please immediately n=
otify the postmaster@nds.com and destroy the original message. Messages sen=
t to and from NDS may be monitored. NDS cannot guarantee any message delive=
ry method is secure or error-free. Information could be intercepted, corrup=
ted, lost, destroyed, arrive late or incomplete, or contain viruses. We do =
not accept responsibility for any errors or omissions in this message and/o=
r attachment that arise as a result of transmission. You should carry out y=
our own virus checks before opening any attachment. Any views or opinions p=
resented are solely those of the author and do not necessarily represent th=
ose of NDS.
To protect the environment please do not print this e-mail unless necessary=
.
NDS Limited Registered Office: One London Road, Staines,Middlesex TW18 4EX,=
United Kingdom. A company registered in England and Wales Registered no. 3=
080780 VAT no. GB 603 8808 40-00
^ permalink raw reply
* PPC8247 booting error
From: Sauce.Cheng @ 2009-05-05 5:23 UTC (permalink / raw)
To: linuxppc-dev
i want to mapping FIFO memory to bank 3 by configure br3 and or3
the boot info as following.
in my code, i have mapped FIFO to 0xD0000000, then i red the value from this
address.
the prompts as following
there is some wrong with BRx and ORx set? or something others?
please give me some suggestion, thanks everyone.
## Booting image at 00400000 ...
Image Name: Linux-2.6.11
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 818473 Bytes = 799.3 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
OK
Linux version 2.6.11 (root@localhost.localdomain) (gcc version 4.0.0 (DENX
ELDK 4.0 4.0.0))
#108 Mon May 4 22:54:23 EDT 2009
Motorola PQ2 ADS PowerPC port
Built 1 zonelists
Kernel command line: mem=32M console=ttyCPM0,9600 root=/dev/nfs/ rw
nfsroot=192.168.0.131:/root/chengmo/fs_folder/rootfs
ip=192.168.0.100:192.168.0.131:#:255.0.0.0:::off
PID hash table entries: 256 (order: 8, 4096 bytes)
Warning: real time clock seems stuck!
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 30632k available (1420k kernel code, 272k data, 88k init, 0k
highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
scheduling while atomic: swapper/0x00000002/0
Call trace: [c015fe20] [c0003fe0] [c01a09b4] [c0194614] [000035fc]
NET: Registered protocol family 16
Sauce : fifo mapping to bank3 ! // here, indicate has enter fifo_init
function, but after
this...
Oops: kernel access of bad area, sig: 11 [#1]
PREEMPT
NIP: C01A2108 LR: C01A2104 SP: C0227FC0 REGS: c0227f10 TRAP: 0300 Not
tainted
MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
DAR: D0000000, DSISR: 20000000
TASK = c0220ab0[1] 'swapper' THREAD: c0226000
Last syscall: 120
GPR00: C01A2104 C0227FC0 C0220AB0 00000025 00000467 FFFFFFFF F00000A0
00000022
GPR08: 001FF1A0 D0000000 F00000A8 C0227ED0 00000001 7FBDFFFF 02000000
00000000
GPR16: 00800000 01FFF9E8 FFFFFFFF 00000000 007FFF00 01FFA4DC 01BD92B8
00000001
GPR24: 00000000 00400000 C01B0000 C0160000 C01A0000 00000001 C0226000
C01A86A8
Call trace: [c0003a40] [c0006504]
Kernel panic - not syncing: Attempted to kill init!
here, i have other questions about these information.
what dose mean by "NIP : C01A2108" ? i supposed "C01A2108" may be a address
of user space,
what about NIP ?
and what the expression "DAR, DSISR, TASK, and GPR00-24" represent.
i hope some will let me know those or recommand some book for me. thanks
--
View this message in context: http://www.nabble.com/PPC8247-booting-error-tp23381214p23381214.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
^ permalink raw reply
* Re: [git pull] Please pull powerpc.git merge branch
From: Grant Likely @ 2009-05-05 5:16 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: linuxppc-dev list, akpm, Linus Torvalds, Linux Kernel list
In-Reply-To: <1241499317.10504.59.camel@pasglop>
Hey Ben,
Can you please also pull in my merge branch?
http://ozlabs.org/pipermail/linuxppc-dev/2009-May/071626.html
Thanks,
g.
On Mon, May 4, 2009 at 10:55 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> Hi Linus !
>
> Here are a few things still for .30 for you to merge !
>
> Cheers,
> Ben.
>
> The following changes since commit 091438dd5668396328a3419abcbc6591159eb8=
d1:
> =A0Linus Torvalds (1):
> =A0 =A0 =A0 =A0Linux 2.6.30-rc4
>
> are available in the git repository at:
>
> =A0git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git merge
>
> Benjamin Herrenschmidt (1):
> =A0 =A0 =A0powerpc: Fix setting of oprofile cpu type
>
> Grant Likely (1):
> =A0 =A0 =A0powerpc: Update MPC5xxx and Xilinx Virtex maintainer entries
>
> Michael Wolf (1):
> =A0 =A0 =A0powerpc adjust oprofile_cpu_type version 3
>
> =A0MAINTAINERS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A04 ++--
> =A0arch/powerpc/kernel/cputable.c | =A0 15 ++++++++++-----
> =A02 files changed, 12 insertions(+), 7 deletions(-)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" i=
n
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at =A0http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at =A0http://www.tux.org/lkml/
>
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply
* [git pull] Please pull powerpc.git merge branch
From: Benjamin Herrenschmidt @ 2009-05-05 4:55 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linuxppc-dev list, akpm, Linux Kernel list
Hi Linus !
Here are a few things still for .30 for you to merge !
Cheers,
Ben.
The following changes since commit 091438dd5668396328a3419abcbc6591159eb8d1:
Linus Torvalds (1):
Linux 2.6.30-rc4
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git merge
Benjamin Herrenschmidt (1):
powerpc: Fix setting of oprofile cpu type
Grant Likely (1):
powerpc: Update MPC5xxx and Xilinx Virtex maintainer entries
Michael Wolf (1):
powerpc adjust oprofile_cpu_type version 3
MAINTAINERS | 4 ++--
arch/powerpc/kernel/cputable.c | 15 ++++++++++-----
2 files changed, 12 insertions(+), 7 deletions(-)
^ permalink raw reply
* Re: MSR_SPE - being turned off...
From: Michael Neuling @ 2009-05-05 4:17 UTC (permalink / raw)
To: Morrison, Tom; +Cc: linuxppc-dev
In-Reply-To: <BD261180E6D35F4D9D32F3E44FD3D90110C30B99@EMPBEDEX.empirix.com>
> I have both a MPC8548 SBC and MPC8572 system that are running different
> flavors of the same Linux - 2.6.23.
>
> I explicitly am turning it on very early on.
Where are you turning this on? In the appication?
> Later, I have an application that is compiled with SPE instructions
> (e.g.: evstdd) , and there is where the problems happen.
What is the problem?
> If I explicitly make sure there are NO SPE instructions in the
> application, nothing bad happens!
>
> I am polling the MSR - and it seems the SPE is turned OFF?
You are polling MSR in your application?
Anyway, this is expected. We do lazy restore of these registers after a
context switch. So the SPE bit in the MSR may not be set if no SPE
instructions have run since the last context switch.
> What have I done wrong and/or has there been fixes in later kernels that
> I should be aware of that might help this issue?
I'm not clear what the problem is. You've just said "problems happen"
when you include SPE instructions.
Are you getting a SIGILL or some other signal? Is your program
terminating. Can you get a GDB back-trace or dump of which instruction
is causing the "problem".
Mikey
^ permalink raw reply
* Re: [PATCH 00/13] OF device tree handling of PHY drivers
From: Grant Likely @ 2009-05-05 1:55 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev, netdev, afleming, David Miller
In-Reply-To: <20090504231421.GA27541@ld0162-tx32.am.freescale.net>
On Mon, May 4, 2009 at 5:14 PM, Scott Wood <scottwood@freescale.com> wrote:
> On Mon, Apr 27, 2009 at 11:17:08AM -0600, Grant Likely wrote:
>> Kumar,
>>
>> David has pulled my phylib changes into his -next tree. =A0However, some
>> of the driver changes have been compile tested only due to lack of
>> hardware. =A0Who can I ask to test the changes to the following files?
>>
>> =A0arch/powerpc/platforms/82xx/ep8248e.c =A0 =A0 | =A0 =A09 +-
>
> Tested OK.
>
>> =A0drivers/net/fs_enet/fs_enet-main.c =A0 =A0 =A0 =A0| =A0 69 +--
>> =A0drivers/net/fs_enet/mii-bitbang.c =A0 =A0 =A0 =A0 | =A0 29 +-
>
> Tested OK on pq2fads.
>
>> =A0drivers/net/fs_enet/mii-fec.c =A0 =A0 =A0 =A0 =A0 =A0 | =A0 26 +-
>
> Tested on ep88xc. =A0No *new* problems. :-P
Awesome! Thanks Scott.
g.
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply
* Re: [Patch] powerpc/cell: make ptcal more reliable
From: Jeremy Kerr @ 2009-05-05 0:57 UTC (permalink / raw)
To: linuxppc-dev
In-Reply-To: <87iqkgd5qm.fsf@de.ibm.com>
Hi Gerhard,
> This is for QS21. The following patch allocates pages only from
> the specified node, moves the ptcal area into the middle of the
> allocated page to avoid potential prefetch problems and prints
> the address of the ptcal area to facilitate diagnostics.
You're seeing prefetches that cross a page boundary?
> - area->pages = alloc_pages_node(area->nid, GFP_KERNEL, area->order);
> + area->pages = alloc_pages_node(area->nid, GFP_KERNEL |
> GFP_THISNODE, area->order);
Best to keep this under 80 cols.
>
> - if (!area->pages)
> + if (!area->pages) {
> + printk(KERN_INFO "%s: no page on node %d\n",
> + __FUNCTION__, area->nid);
> goto out_free_area;
> + }
That could probably be a KERN_ERR, as we don't have ptcal enabled on
that node. Also, I believe __func__ is preferred over __FUNCTION__.
> - addr = __pa(page_address(area->pages));
> + /*
> + * We move the ptcal area to the middle of the allocated
> + * page, in order to avoid prefetches in memcpy and similar
> + * functions stepping on it.
> + */
> + addr = __pa(page_address(area->pages)) + (PAGE_SIZE >> 1);
Minor nitpick, but I think (PAGE_SIZE / 2) better illustrates that
you're putting the addr in the middle of the page. But either should be
fine.
> + printk(KERN_INFO "%s: enabling PTCAL on node %d address=0x%016lx
> PAGE_SIZE>>1=0x%016lx \n",
> + __FUNCTION__, area->nid, addr, PAGE_SIZE>>1);
80 cols again. Can we do this as a pr_debug?
Cheers,
Jeremy
^ permalink raw reply
* Re: [PATCH 0/9] Some work for spi_mpc83xx driver, spi-mmc support for MPC8610HPCD
From: Anton Vorontsov @ 2009-05-04 23:36 UTC (permalink / raw)
To: Andrew Morton; +Cc: linuxppc-dev, dbrownell, linux-kernel, spi-devel-general
In-Reply-To: <20090504135504.a6a6afcf.akpm@linux-foundation.org>
On Mon, May 04, 2009 at 01:55:04PM -0700, Andrew Morton wrote:
> On Fri, 1 May 2009 03:47:39 +0400
> Anton Vorontsov <avorontsov@ru.mvista.com> wrote:
>
> > Here are few patches that are needed to support spi-mmc slot on
> > MPC8610HPCD PowerPC boards:
> >
> > [1/9] spi_mpc83xx: Handles other Freescale processors
> > [2/9] spi_mpc83xx: Quieten down the "Requested speed is too low" message
> > [3/9] spi_mpc83xx: Add small delay after asserting chip-select line
> > [4/9] powerpc/86xx: Add MMC SPI support for MPC8610HPCD boards
> >
>
> Some or all of these seem appropriate to 2.6.30 and perhaps even -stable?
I'd say no, we don't need the fixes for MPC8323E-RDB boards
(currently the only mainline user of that driver), and support
for MPC8610HPCD boards is a new feature, so I think all these
patches can wait for 2.6.31.
Thanks,
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
^ permalink raw reply
* Re: [PATCH 9/9] spi_mpc8xxx: s/83xx/8xxx/g
From: Anton Vorontsov @ 2009-05-04 23:36 UTC (permalink / raw)
To: Andrew Morton; +Cc: linuxppc-dev, dbrownell, linux-kernel, spi-devel-general
In-Reply-To: <20090504135327.13cd42af.akpm@linux-foundation.org>
On Mon, May 04, 2009 at 01:53:27PM -0700, Andrew Morton wrote:
> On Fri, 1 May 2009 03:48:33 +0400
> Anton Vorontsov <avorontsov@ru.mvista.com> wrote:
>
> > Since we renamed the file, we might want to rename the file
> > internals too.
> >
> > Though we don't bother with changing platform driver name and
> > platform module alias. The stuff is legacy and hopefully we'll
> > remove it soon.
> >
>
> but but but
>
> >
> > -static struct of_platform_driver of_mpc83xx_spi_driver = {
> > - .name = "mpc83xx_spi",
> > - .match_table = of_mpc83xx_spi_match,
> > - .probe = of_mpc83xx_spi_probe,
> > - .remove = __devexit_p(of_mpc83xx_spi_remove),
> > +static struct of_platform_driver of_mpc8xxx_spi_driver = {
> > + .name = "mpc8xxx_spi",
> > + .match_table = of_mpc8xxx_spi_match,
> > + .probe = of_mpc8xxx_spi_probe,
> > + .remove = __devexit_p(of_mpc8xxx_spi_remove),
> > };
>
> It _did_ change the platform driver name, didn't it?
This is an OF platform driver, here it is safe to change
the name. But I didn't change the pure platform driver,
here:
| -static struct platform_driver mpc83xx_spi_driver = {
| - .probe = plat_mpc83xx_spi_probe,
| - .remove = __exit_p(plat_mpc83xx_spi_remove),
| +static struct platform_driver mpc8xxx_spi_driver = {
| + .probe = plat_mpc8xxx_spi_probe,
| + .remove = __exit_p(plat_mpc8xxx_spi_remove),
| .driver = {
| .name = "mpc83xx_spi",
------------------^
> This patch series had quite a lot of conflicts with the already-pending
>
> spi-move-common-spi_setup-functionality-into-core.patch
> spi-move-more-spi_setup-functionality-into-core.patch
>
> which I beleive I successfully fixed up.
Thanks a lot, I'll test it soon.
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
^ permalink raw reply
* Re: [PATCH 00/13] OF device tree handling of PHY drivers
From: Scott Wood @ 2009-05-04 23:14 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, netdev, afleming, David Miller
In-Reply-To: <fa686aa40904271017x726f92ffsbbc730770298766b@mail.gmail.com>
On Mon, Apr 27, 2009 at 11:17:08AM -0600, Grant Likely wrote:
> Kumar,
>
> David has pulled my phylib changes into his -next tree. However, some
> of the driver changes have been compile tested only due to lack of
> hardware. Who can I ask to test the changes to the following files?
>
> arch/powerpc/platforms/82xx/ep8248e.c | 9 +-
Tested OK.
> drivers/net/fs_enet/fs_enet-main.c | 69 +--
> drivers/net/fs_enet/mii-bitbang.c | 29 +-
Tested OK on pq2fads.
> drivers/net/fs_enet/mii-fec.c | 26 +-
Tested on ep88xc. No *new* problems. :-P
-Scott
^ 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