Nowadays, irq_exit() calls __do_softirq() pretty much directly
instead of calling do_softirq() which switches to the decicated
softirq stack.
This has lead to observed stack overflows on powerpc since we call
irq_enter() and irq_exit() outside of the scope that switches to
the irq stack.
This fix
T1040 supports both 32 & 64 bit kernel.
so enable T1040QDS by default in the config files.
Signed-off-by: Prabhakar Kushwaha
---
Based upon git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
Branch next
Changes for v2: Sending as it is
Changes for v3: Sending as it is
Changes fo
Add support for T104x board in board file t104x_qds.c, It is common for
both T1040 and T1042 as they share same QDS board.
T1040QDS board Overview
---
- SERDES Connections, 8 lanes supporting:
— PCI Express: supporting Gen 1 and Gen 2;
— SGMII
— QSGMII
The QorIQ T1040/T1042 processor support four integrated 64-bit e5500 PA
processor cores with high-performance data path acceleration architecture
and network peripheral interfaces required for networking & telecommunications.
T1042 personality is a reduced personality of T1040 without Integrated 8
On booke, "struct tlbe_ref" contains host tlb mapping information
(pfn: for guest-pfn to pfn, flags: attribute associated with this mapping)
for a guest tlb entry. So when a guest creates a TLB entry then
"struct tlbe_ref" is set to point to valid "pfn" and set attributes in
"flags" field of the ab
NO_IRQ may be defined as '(unsigned int) -1' in some architectures
(arm, sh ...), and either may not be defined in some architectures
which can enable SND_SOC_FSL_SSI (e.g. allmodconfig for arc).
When irq_of_parse_and_map() fails, it will always return 0, so need let
checking none-zero instead of
NO_IRQ may be defined as '(unsigned int) -1' in some architectures
(arm, sh ...), and either may not be defined in some architectures
which can enable SND_SOC_FSL_SSI (e.g. allmodconfig for arc).
When irq_of_parse_and_map() fails, it will always return 0, so need
check zero instead of NO_IRQ, or w
On 09/23/2013 11:24 AM, Chen Gang wrote:
> NO_IRQ may be defined as '(unsigned int) -1' in some architectures
> (arm, sh ...), and either may not be defined in some architectures
> which can enable SND_SOC_FSL_SSI (e.g. allmodconfig for arc).
>
> When irq_of_parse_and_map() fails, it will always r
Temporarily work around an ICE we are seeing while building
in little endian mode:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57134
Signed-off-by: Anton Blanchard
---
arch/powerpc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/
POWER7 takes alignment exceptions on some unaligned addresses, so
disable HAVE_EFFICIENT_UNALIGNED_ACCESS. This fixes an early boot
issue in the printk code.
Signed-off-by: Anton Blanchard
---
arch/powerpc/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/K
From: Ian Munsie
This patch allows the kbuild system to successfully compile a kernel
for the little endian PowerPC64 architecture. A subsequent patch
will add the CONFIG_CPU_LITTLE_ENDIAN kernel config option which
must be set to build such a kernel.
If cross compiling, CROSS_COMPILE must point
Add support for the H_SET_MODE hcall so we can select the
endianness of our exceptions.
We create a guest MSR from scratch when delivering exceptions in
a few places and instead of extracing the LPCR[ILE] and inserting
it into MSR_LE each time simply create a new variable intr_msr which
contains t
There are a number of KVM issues with little endian builds.
We are working on fixing them, but in the meantime disable
it.
Signed-off-by: Anton Blanchard
Cc: Alexander Graf
---
arch/powerpc/kvm/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/k
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
drivers/tty/hvc/hvc_opal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
index cd69b48..6496872 100644
--- a/drivers/tty/hvc/hvc_opal.c
+++ b/
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/include/asm/hvsi.h | 16
drivers/tty/hvc/hvsi_lib.c | 25 -
2 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/arch/powerpc/include/asm/hvsi.h b/arch/p
pnv_pci_setup_bml_iommu was missing a byteswap of a device
tree property.
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/opal.h | 22 +++---
arch/powerpc/platforms/powernv/opal.c | 2 +-
arch/powerpc/platforms/powernv/pci-ioda.c | 6 +++---
arch/power
Sparse caught an issue where opal_set_rtc_time was incorrectly
byteswapping. Also fix a number of sparse warnings.
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/opal.h | 4 ++--
arch/powerpc/platforms/powernv/opal-rtc.c | 19 ++-
2 files changed, 12 inser
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/platforms/powernv/opal-wrappers.S | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S
b/arch/powerpc/platforms/powernv/opal-wrappers.S
inde
From: Benjamin Herrenschmidt
The powernv exception handlers are not ready to take exceptions
in little endian mode, so disable them.
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/platforms/powernv/opal.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/platforms/powe
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/include/asm/opal.h | 8
arch/powerpc/platforms/powernv/opal.c | 28
2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/arch/powerpc/include/asm/opal.h b
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/platforms/powernv/pci-ioda.c | 31 +--
arch/powerpc/platforms/powernv/pci.c | 27 +--
2 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/arc
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/platforms/powernv/opal-nvram.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal-nvram.c
b/arch/powerpc/platforms/powernv/opal-nvram.c
index 3f83e1a..ac
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/sysdev/xics/ics-opal.c | 17 +
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/sysdev/xics/ics-opal.c
b/arch/powerpc/sysdev/xics/ics-opal.c
index 39d7221..3c6ee1b 1006
From: Benjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt
---
arch/powerpc/platforms/powernv/opal-rtc.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/opal-rtc.c
b/arch/powerpc/platforms/powernv/opal-rtc.c
index 2aa7641..dbfdba3 100644
--- a/
From: Alistair Popple
Signed-off-by: Alistair Popple
---
arch/powerpc/platforms/powernv/pci-ioda.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 74a5a57..9a903ed 100644
--- a/a
From: Alistair Popple
Signed-off-by: Alistair Popple
---
arch/powerpc/platforms/powernv/pci-p5ioc2.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-p5ioc2.c
b/arch/powerpc/platforms/powernv/pci-p5ioc2.c
index b68db63..f8b4bd8 100644
-
From: Alistair Popple
Signed-off-by: Alistair Popple
---
arch/powerpc/platforms/powernv/pci.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci.c
b/arch/powerpc/platforms/powernv/pci.c
index a28d3b5..9122215 100644
--- a/arch/powerp
From: Alistair Popple
Signed-off-by: Alistair Popple
---
arch/powerpc/platforms/powernv/opal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c
b/arch/powerpc/platforms/powernv/opal.c
index 2911abe..4ffa75e 100644
--- a/arch/powerpc/plat
We need to distinguish between big endian and little endian
environments, so fix uname to return the right thing.
Signed-off-by: Anton Blanchard
---
arch/powerpc/Makefile | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makef
We need to fix some endian issues in our memcpy code. For now
just enable the generic memcpy routine for little endian builds.
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/string.h | 4
arch/powerpc/kernel/ppc_ksyms.c | 2 ++
arch/powerpc/lib/Makefile | 9 ++---
We need to fix some endian issues in our checksum code. For now
just enable the generic checksum routines for little endian builds.
Signed-off-by: Anton Blanchard
---
arch/powerpc/Kconfig| 3 +++
arch/powerpc/include/asm/checksum.h | 5 +
arch/powerpc/kernel/ppc_ksyms.c |
Handle most unaligned load and store faults in little
endian mode. Strings, multiples and VSX are not supported.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/align.c | 93 ++---
1 file changed, 63 insertions(+), 30 deletions(-)
diff --git a/arch
Things are complicated by the fact that VSX elements are big
endian ordered even in little endian mode. 8 byte loads and
stores also write to the top 8 bytes of the register.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/align.c | 41 +
1 file cha
The TS_FPR macro selects the FPR component of a VSX register (the
high doubleword). emulate_vsx is using this macro to get the
address of the associated VSX register. This happens to work on big
endian, but fails on little endian.
Replace it with an explicit array access.
Signed-off-by: Anton Bla
The alignment handler assumes big endian ordering when selecting
the low word of a 64bit floating point value. Use the existing
union which works in both little and big endian.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/align.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-
Use swab64/32/16 instead of open coding it.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/align.c | 36
1 file changed, 12 insertions(+), 24 deletions(-)
diff --git a/arch/powerpc/kernel/align.c b/arch/powerpc/kernel/align.c
index a27ccd5..af830df 1
From: Benjamin Herrenschmidt
Create a trampoline that works in either endian and flips to
the expected endian. Use it for primary and secondary thread
entry as well as RTAS and OF call return.
Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/pp
From: Ian Munsie
This patch will have powerpc include the appropriate generic endianness
header depending on what the compiler reports.
Signed-off-by: Ian Munsie
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/uapi/asm/byteorder.h | 4
1 file changed, 4 insertions(+)
diff --git
We always take signals in big endian which is wrong. Signals
should be taken in native endian.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/signal_32.c | 3 ++-
arch/powerpc/kernel/signal_64.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/s
We need to set MSR_LE in kernel and userspace for little endian builds
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/reg.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index 10d1ef0..126f6e
The powerpc word-at-a-time functions are big endian specific.
Bring in the x86 version in order to support little endian builds.
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/word-at-a-time.h | 71 +++
1 file changed, 71 insertions(+)
diff --git a/arch/
From: Ian Munsie
This patch maps the MMIO functions for 32bit PowerPC to their
appropriate instructions depending on CPU endianness.
The macros used to create the corresponding inline functions are also
renamed by this patch. Previously they had BE or LE in their names which
was misleading - the
The elements within VSX loads and stores are big endian ordered
regardless of endianness. Our VSX context save/restore code uses
lxvd2x and stxvd2x which is a 2x doubleword operation. This means
the two doublewords will be swapped and we have to perform another
swap to undo it.
We need to do this
FPRs overlap the high 64bits of the first 32 VSX registers. The
ptrace FP read/write code assumes big endian ordering and grabs
the lowest 64 bits.
Fix this by using the TS_FPR macro which does the right thing.
Signed-off-by: Anton Blanchard
---
arch/powerpc/kernel/ptrace.c | 8
1 file
The FPRs overlap the high doublewords of the first 32 VSX registers.
Fix TS_FPROFFSET and TS_VSRLOWOFFSET so we access the correct fields
in little endian mode.
If VSX is disabled the FPRs are only one doubleword in length so
TS_FPROFFSET needs adjusting in little endian.
Signed-off-by: Anton Bla
v2: HPTE_LOCK_BIT was wrong in LE, spotted by Paul Mackerras.
Signed-off-by: Anton Blanchard
---
arch/powerpc/include/asm/mmu-hash64.h | 4 +--
arch/powerpc/mm/hash_native_64.c | 46 ---
arch/powerpc/mm/hash_utils_64.c | 38 ++--
Fix the permute loops for little endian.
Signed-off-by: Anton Blanchard
---
arch/powerpc/lib/copyuser_power7.S | 54 +
arch/powerpc/lib/memcpy_power7.S | 55 ++
2 files changed, 63 insertions(+), 46 deletions(-)
diff --gi
This patchset fixes little endian issues found in various places
including the alignment handler, PCI, and ptrace code.
It also adds little endian support for KVM guests and PowerNV.
Alistair Popple (4):
powerpc: Little endian fixes for platforms/powernv/opal.c
powerpc: Little endian fix for
On Wed, Sep 18, 2013 at 8:24 AM, Thierry Reding
wrote:
> The of_irq_to_resource() helper that is used to implement of_irq_count()
> tries to resolve interrupts and in fact creates a mapping for resolved
> interrupts. That's pretty heavy lifting for something that claims to
> just return the number
On Wed, Sep 18, 2013 at 8:24 AM, Thierry Reding
wrote:
> Replace some instances of of_irq_map_one()/irq_create_of_mapping() and
> of_irq_to_resource() by the simpler equivalent irq_of_parse_and_map().
>
> Signed-off-by: Thierry Reding
Acked-by: Rob Herring
> ---
> arch/arm/mach-u300/timer.c
On Wed, Sep 18, 2013 at 8:24 AM, Thierry Reding
wrote:
> Instead of returning 0 for all errors, allow the precise error code to
> be propagated. This will be used in subsequent patches to allow further
> propagation of error codes.
>
> The interrupt number corresponding to the new mapping is retur
On Wed, Sep 18, 2013 at 8:24 AM, Thierry Reding
wrote:
> Now that all helpers return precise error codes, this function can
> propagate these errors to the caller properly.
>
> Signed-off-by: Thierry Reding
> ---
> Changes in v2:
> - return 0 on success or a negative error code on failure
> - con
On Mon, Sep 23, 2013 at 01:13:45AM +1000, Matt Evans wrote:
> Hi Vladimir,
>
> On 21 Sep 2013, at 17:25, Vladimir Murzin wrote:
>
> > commit b6069a9570 (filter: add MOD operation) added generic
> > support for modulus operation in BPF.
> >
> > This patch brings JIT support for PPC64
> >
> > Si
Hi Vladimir,
On 21 Sep 2013, at 17:25, Vladimir Murzin wrote:
> commit b6069a9570 (filter: add MOD operation) added generic
> support for modulus operation in BPF.
>
> This patch brings JIT support for PPC64
>
> Signed-off-by: Vladimir Murzin
> Acked-by: Matt Evans
Not this version, though;
On Thu, 19 Sep 2013 22:47:01 +0100, Russell King
wrote:
> AMBA Primecell devices always treat streaming and coherent DMA exactly
> the same, so there's no point in having the masks separated.
>
> Signed-off-by: Russell King
for the drivers/of/platform.c portion:
Acked-by: Grant Likely
g.
___
This file is also used by some RDB and QDS boards. So the name seems
not so accurate. Rename it to corenet_generic.c. Also update the
function names in this file according to the change.
Signed-off-by: Kevin Hao
---
A new patch in v2.
arch/powerpc/platforms/85xx/Makefile
In the current kernel, the board files for p2041rdb, p3041ds, p4080ds,
p5020ds, p5040ds, t4240qds and b4qds are almost the same except the
machine name. So this introduces a cornet_generic machine to support
all these boards to avoid the code duplication.
With these changes the file corenet_ds.h b
v2:
- Fold the original patch 2 into patch 1.
- Update the patch 1 according to Scott and Kumar's comments.
- Introduce a new patch to rename the corenet_ds.c to corenet_generic.c.
v1:
This patch series introduces a common machine to support p2041rdb, p3041ds,
p4080ds, p5020ds, p5040ds, t424
58 matches
Mail list logo