Hi Ben,
Here are a few minor PS3 patches, and one cleanup for the powerpc
boot_paca variable.
Please consider for 3.9
-Geoff
The following changes since commit 836dc9e3fbbab0c30aa6e664417225f5c1fb1c39:
Linux 3.8-rc7 (2013-02-09 08:20:39 +1100)
are available in the git repository at:
git:
The powerpc boot_paca symbol is now only used within the
early_setup() routine, so move it from its global definition
into early_setup().
Signed-off-by: Geoff Levand
---
arch/powerpc/include/asm/paca.h |1 -
arch/powerpc/kernel/paca.c |2 --
arch/powerpc/kernel/setup_64.c |2 ++
Signed-off-by: Geoff Levand
---
arch/powerpc/configs/ps3_defconfig | 15 +--
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/configs/ps3_defconfig
b/arch/powerpc/configs/ps3_defconfig
index c2f4b4a..7a5c15f 100644
--- a/arch/powerpc/configs/ps3_defconfig
Signed-off-by: Geoff Levand
---
arch/powerpc/platforms/ps3/htab.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/platforms/ps3/htab.c
b/arch/powerpc/platforms/ps3/htab.c
index d00d7b0..6cc5820 100644
--- a/arch/powerpc/platforms/ps3/htab.c
+++ b
To allow more control of the verbosity of ps3_result() add a check
for the preprocessor macro PS3_VERBOSE_RESULT that builds a verbose
verion of the ps3_result() routine.
Signed-off-by: Geoff Levand
---
arch/powerpc/include/asm/ps3.h |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
Documentation/powerpc/transactional_memory.txt | 175
1 file changed, 175 insertions(+)
create mode 100644 Documentation/powerpc/transactional_memory.txt
diff --git a/Documentation/powerpc/transactional_memo
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/configs/ppc64_defconfig |2 ++
arch/powerpc/configs/pseries_defconfig |2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/powerpc/configs/ppc64_defconfig
b/arch/powerpc/configs/ppc64_defconfig
index 6cbde
Kconfig option for transactional memory on powerpc.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/Kconfig |8
1 file changed, 8 insertions(+)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 4b27edb..85ff3a0 100644
--- a/arch/powerpc/Kconf
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/cputable.h |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/cputable.h
b/arch/powerpc/include/asm/cputable.h
index 3636081..fb3245e 100644
--- a/arch/powerpc/in
This adds the new transactional memory archtected state to the signal context
in both 32 and 64 bit.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/reg.h |1 +
arch/powerpc/kernel/signal.h|8 +
arch/powerpc/kernel/signal_32.c | 500 ++
This hooks the new transactional memory code into context switching, FP/VMX/VMX
unavailable and exception return.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/kernel/exceptions-64s.S | 56 --
arch/powerpc/kernel/process.c|
We do lazy FP but not lazy TM (ie. userspace starts with MSR TM=1 FP=0). Hence
if userspace does an FP instruction during a transaction, we'll take an
fp unavailable exception.
This adds functions needed to handle this case. We have to inject the current
FP state into the checkpoint so that the
These should never happen since we always turn on MSR TM when in userspace. We
don't do lazy TM.
Hence if we hit this, we barf and kill the task as something's gone horribly
wrong.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/kernel/exceptions-64s.S | 19
When we switch out a task, we need to save both the checkpointed and the
speculated state into the thread struct.
Similarly when we are switching in a task we need to load both the checkpointed
and speculated state. If the task was using FP, we non-lazily reload both the
original and the speculat
This adds functions to restore the state of the FP/VSX registers from
what's stored in the thread_struct. Two version for FP/VSX are required
since one restores them from transactional/checkpoint side of the
thread_struct and the other from the speculated side.
Similar functions are added for VMX
Here we add the helper functions to be used when context switching. These
allow us to fully reclaim and recheckpoint a transaction.
We introduce a new paca field called tm_scratch to help us store away register
values when doing the low level tm reclaim register save.
Signed-off-by: Matt Evans
Add transactional memory paca scratch register to show_regs. This is useful
for debugging.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/paca.h |3 +++
arch/powerpc/kernel/asm-offsets.c |1 +
arch/powerpc/kernel/entry_64.S|4
arch/
Defines for MSR bits and transactional memory related SPRs TFIAR, TEXASR and
TEXASRU.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/reg.h | 27 +++
1 file changed, 27 insertions(+)
diff --git a/arch/powerpc/include/asm/reg.h b/a
This adds new macros for saving and restoring checkpointed architected state
from and to the thread_struct.
It also adds some debugging macros for when your brain explodes trying to debug
your transactional memory enabled kernel.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arc
Set of new archtected state for saving away on context switch.
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/processor.h | 28
1 file changed, 28 insertions(+)
diff --git a/arch/powerpc/include/asm/processor.h
b/arch/power
Here we define the new instructions we need for transactional memory in the
kernel. This is so we can support compiling with binutils that don't support
the new transactional memory instructions.
Transactional memory results in two sets of architected state (GPRs/VSRs
etc).
treclaim allows us to
Signed-off-by: Matt Evans
Signed-off-by: Michael Neuling
---
arch/powerpc/include/asm/cputable.h |7 +++
1 file changed, 7 insertions(+)
diff --git a/arch/powerpc/include/asm/cputable.h
b/arch/powerpc/include/asm/cputable.h
index 5f1938f..3636081 100644
--- a/arch/powerpc/include/asm/c
POWER8 implements hardware transactional memory support. This patch series
adds kernel support so that user programs can use this hardware transactional
memory and the new state is properly context switched. It is not currently
used by the kernel itself.
This patch series was originally develope
Kumar Gala wrote:
>
> On Feb 12, 2013, at 10:31 PM, Michael Neuling wrote:
>
> > Add transactional memory paca scratch register to show_regs. This is useful
> > for debugging.
> >
> > Signed-off-by: Matt Evans
> > Signed-off-by: Michael Neuling
> > ---
> > arch/powerpc/include/asm/paca.h
> > +/* void do_load_up_fpu(struct thread_struct *thread)
>
> Comment is wrong, should be void do_load_up_transact_fpu(...)
Ooops, thanks for the catch.
> > +/* void do_load_up_altivec(struct thread_struct *thread)
>
> comment wrong.
Ooops again.
FYI I'm in Austin next week if you wanna grab
Kumar Gala wrote:
>
> On Feb 12, 2013, at 10:31 PM, Michael Neuling wrote:
>
> > Kconfig option for transactional memory on powerpc.
> >
> > Signed-off-by: Matt Evans
> > Signed-off-by: Michael Neuling
> > ---
> > arch/powerpc/Kconfig |8
> > 1 file changed, 8 insertions(+)
> >
On Wed, 2013-02-13 at 11:44 +1100, Michael Ellerman wrote:
> In commit 466921c we added a hack to set the paca data_offset to zero so
> that per-cpu accesses would work on the boot cpu prior to per-cpu areas
> being setup. This fixed a problem with lockdep touching per-cpu areas
> very early in boo
These low level handlers cannot be threaded. Mark them NO_THREAD
Reported-by: leroy christophe
Tested-by: leroy christophe
Signed-off-by: Thomas Gleixner
---
arch/powerpc/platforms/8xx/m8xx_setup.c |1 +
arch/powerpc/sysdev/cpm1.c |1 +
2 files changed, 2 insertions(+)
I
On Tue, Feb 12, 2013 at 11:32:59PM -0800, Geoff Levand wrote:
> Hi,
>
> On Fri, 2012-12-14 at 16:35 +0400, Phileas Fogg wrote:
> > I wanted to bring to your attention the fact that the PS3 platform is
> > broken on Linux 3.7.0.
>
> > So i cloned the Linux powerpc GIT repository and tried to find
>
>Ok. How about the below patch. This is based on the suggestion from
>Paulus. I still have to take care of few comments in the code.
>
>We now split the proto-vsid range differently.
> User: 0 to [2^(CONTEXT_BITS) - 4 + 2^(USER_ESID_BITS)]
> kernel: [2^(CONTEXT_BITS) - 4 + 2^(USER_ESID_BITS)]
Hi Aneesh,
On Wed, 2013-02-13 at 17:10 +0530, Aneesh Kumar K.V wrote:
> Ok. How about the below patch. This is based on the suggestion from
> Paulus. I still have to take care of few comments in the code.
>
> Phileas and Geoff,
>
> Can we check whether this fix the PS3 boot hang ?
I did a quick
"Aneesh Kumar K.V" writes:
> David Laight writes:
>
>>> +#define CONTEXT_BITS 19
>>> +#define USER_ESID_BITS 18
>>> +#define USER_ESID_BITS_1T 6
>>> +
>>> +/*
>>> + * 256MB segment
>>> + * The proto-VSID space has 2^(CONTEX_BITS + USER_ESID_BITS) - 1 segments
>>> + * a
On 02/12/2013 10:17:00 PM, Bhushan Bharat-R65777 wrote:
> -Original Message-
> From: Wood Scott-B07421
> Sent: Wednesday, February 13, 2013 6:53 AM
> To: Bhushan Bharat-R65777
> Cc: Wood Scott-B07421; Michael Neuling;
linuxppc-dev@lists.ozlabs.org
> Subject: Re: BOOKE KVM calling loa
On 02/13/2013 08:09 AM, Stef van Os wrote:
> Initial board support for the Prodrive PPA8548 AMC module. Board
> is an MPC8548 AMC platform used in RapidIO systems. This module is
> also used to test/work on mainline linux RapidIO software.
>
> PPA8548 overview:
> - 1.3 GHz Freescale PowerQUICC III
This patch modifies the behaviour of the MPC8xx/8xxx watchdog. On the MPC8xx,
at 133Mhz, the maximum timeout of the watchdog timer is 1s, which means it must
be pinged twice a second. This is not in line with the Linux watchdog concept
which is based on a default watchdog timeout around 60s.
This p
David Laight writes:
>> +#define CONTEXT_BITS19
>> +#define USER_ESID_BITS 18
>> +#define USER_ESID_BITS_1T 6
>> +
>> +/*
>> + * 256MB segment
>> + * The proto-VSID space has 2^(CONTEX_BITS + USER_ESID_BITS) - 1 segments
>> + * available for user + kernel mapping. T
Initial board support for the Prodrive PPA8548 AMC module. Board
is an MPC8548 AMC platform used in RapidIO systems. This module is
also used to test/work on mainline linux RapidIO software.
PPA8548 overview:
- 1.3 GHz Freescale PowerQUICC III MPC8548 processor
- 1 GB DDR2 @ 266 MHz
- 8 MB NOR fla
On 02/12/2013 09:09 PM, Kumar Gala wrote:
On Feb 4, 2013, at 9:30 AM, Timur Tabi wrote:
On 02/03/2013 01:39 PM, Stef van Os wrote:
+ pci0: pci@fe0008000 {
+ status = "disabled";
+ };
+
+ pci1: pci@fe0009000 {
+ status = "disabled";
+ };
+
+
On Feb 12, 2013, at 10:31 PM, Michael Neuling wrote:
> Kconfig option for transactional memory on powerpc.
>
> Signed-off-by: Matt Evans
> Signed-off-by: Michael Neuling
> ---
> arch/powerpc/Kconfig |8
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/powerpc/Kconfig b/arch
On Feb 12, 2013, at 10:31 PM, Michael Neuling wrote:
> This adds functions to restore the state of the FP/VSX registers from
> what's stored in the thread_struct. Two version for FP/VSX are required
> since one restores them from transactional/checkpoint side of the
> thread_struct and the other
On Feb 12, 2013, at 10:31 PM, Michael Neuling wrote:
> Add transactional memory paca scratch register to show_regs. This is useful
> for debugging.
>
> Signed-off-by: Matt Evans
> Signed-off-by: Michael Neuling
> ---
> arch/powerpc/include/asm/paca.h |1 +
> arch/powerpc/kernel/asm-offse
> +#define CONTEXT_BITS 19
> +#define USER_ESID_BITS 18
> +#define USER_ESID_BITS_1T6
> +
> +/*
> + * 256MB segment
> + * The proto-VSID space has 2^(CONTEX_BITS + USER_ESID_BITS) - 1 segments
> + * available for user + kernel mapping. The top 4 contexts are used for
> + *
Benjamin Herrenschmidt writes:
> On Wed, 2013-02-13 at 08:54 +0530, Aneesh Kumar K.V wrote:
>> > A compile option ? Really ? Ugh...
>>
>> I actually wanted that to be done in Kconfig.cputype, but haven't found
>> a nice way to do it. Considering we are switching between only two
>> values, I was
43 matches
Mail list logo