RE: [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx

2013-03-06 Thread Jia Hongtao-B38951


> -Original Message-
> From: Wood Scott-B07421
> Sent: Wednesday, March 06, 2013 2:48 AM
> To: Jia Hongtao-B38951
> Cc: Wood Scott-B07421; Stuart Yoder; linuxppc-dev@lists.ozlabs.org; Kumar
> Gala
> Subject: Re: [PATCH V4] powerpc/85xx: Add machine check handler to fix
> PCIe erratum on mpc85xx
> 
> On 03/05/2013 04:12:30 AM, Jia Hongtao-B38951 wrote:
> >
> >
> > > -Original Message-
> > > From: Wood Scott-B07421
> > > Sent: Tuesday, March 05, 2013 7:46 AM
> > > To: Stuart Yoder
> > > Cc: Jia Hongtao-B38951; linuxppc-dev@lists.ozlabs.org; Kumar Gala
> > > Subject: Re: [PATCH V4] powerpc/85xx: Add machine check handler to
> > fix
> > > PCIe erratum on mpc85xx
> > >
> > > On 03/04/2013 10:16:10 AM, Stuart Yoder wrote:
> > > > On Mon, Mar 4, 2013 at 2:40 AM, Jia Hongtao 
> > > > wrote:
> > > > > A PCIe erratum of mpc85xx may causes a core hang when a link of
> > PCIe
> > > > > goes down. when the link goes down, Non-posted transactions
> > issued
> > > > > via the ATMU requiring completion result in an instruction
> > stall.
> > > > > At the same time a machine-check exception is generated to the
> > core
> > > > > to allow further processing by the handler. We implements the
> > > > handler
> > > > > which skips the instruction caused the stall.
> > > >
> > > > Can you explain at a high level how just skipping an instruction
> > > > solves
> > > > anything?   If you just skip a load/store and continue like
> > nothing is
> > > > wrong, isn't your system possibly in a really bad state.
> > >
> > > If the instruction was a load, we probably at least want to fill the
> > > destination register with 0x or similar.
> >
> > You discuss this with Liu Shuo about a year ago.
> > here is the log:
> >
> > "
> > On 02/01/2012 02:18 AM, shuo@freescale.com wrote:
> > > v3 : Skip the instruction only. Don't access the user space memory
> > in
> > >  mechine check.
> >
> > It may be the least bad option for now, but be aware that there's a
> > small chance that this will cause a leak of sensitive information
> > (such as a piece of a crypto key that happened to be sitting in the
> > register to be loaded into).
> 
> Yes, that's (one reason) why you'd want to fill in a known value.  Note
> the "for now". :-)
> 
> -Scott

I think there is no overwhelming reason to fill the destination register
with 0x. 

There's a small chance that 0x is treated as regular data rather
than an error sign.

Also setting this register may influence the user space under certain
circumstance.

So I think just ignore the skipped instruction is an acceptable option for
this fix.

-Hongtao.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [PATCH][UPSTEAM] powerpc/mpic: add irq_set_wake support

2013-03-06 Thread Wang Dongsheng-B40534
Hi Benjamin,

Could you please apply this patch?

Regards,
dongsheng

> -Original Message-
> From: Wang Dongsheng-B40534
> Sent: Wednesday, February 20, 2013 1:58 PM
> To: 'Kumar Gala'
> Cc: linuxppc-dev@lists.ozlabs.org
> Subject: RE: [PATCH][UPSTEAM] powerpc/mpic: add irq_set_wake support
> 
> 
> 
> > -Original Message-
> > From: Kumar Gala [mailto:ga...@kernel.crashing.org]
> > Sent: Tuesday, February 19, 2013 3:43 AM
> > To: Wang Dongsheng-B40534
> > Cc: linuxppc-dev@lists.ozlabs.org
> > Subject: Re: [PATCH][UPSTEAM] powerpc/mpic: add irq_set_wake support
> >
> >
> > On Jan 30, 2013, at 9:10 PM, Wang Dongsheng wrote:
> >
> > > Add irq_set_wake support. Just add IRQF_NO_SUSPEND to desc->action-
> > >flag.
> > > So the wake up interrupt will not be disable in suspend_device_irqs.
> > >
> > > Signed-off-by: Wang Dongsheng 
> > > ---
> > > arch/powerpc/sysdev/mpic.c |   15 +++
> > > 1 files changed, 15 insertions(+), 0 deletions(-)
> >
> > Why are we doing this globally for all interrupts? Don't we only have
> > some specific interrupts that wake us up?
> > Also, I'm guessing the wake behavior for interrupts is FSL specific so
> > should not apply to ALL users of MPIC.
> 
> That is IRQ wakeup (PM) control. Actually not all interrupts will be set.
> We just let mpic have this ability. It's control by driver.
> If a device has the ability to wake up system, this device driver can set
> irq wake up(through enable/disable_irq_wake()), and the driver do not
> need add a flag(IRQF_NO_SUSPEND) to request_irq().
> 
> for example,
> 
> suspend()
> {
>   ...;
>   enable_irq_wake(irq);
>   ...;
> }
> 
> resume()
> {
>   ...;
>   disable_irq_wake(irq);
>   ...;
> }
> 
> >
> > - k
> >
> 
> > >
> > > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> > > index 9c6e535..2ed0220 100644
> > > --- a/arch/powerpc/sysdev/mpic.c
> > > +++ b/arch/powerpc/sysdev/mpic.c
> > > @@ -920,6 +920,18 @@ int mpic_set_irq_type(struct irq_data *d,
> > > unsigned
> > int flow_type)
> > >   return IRQ_SET_MASK_OK_NOCOPY;
> > > }
> > >
> > > +static int mpic_irq_set_wake(struct irq_data *d, unsigned int on) {
> > > + struct irq_desc *desc = container_of(d, struct irq_desc,
> > > +irq_data);
> > > +
> > > + if (on)
> > > + desc->action->flags |= IRQF_NO_SUSPEND;
> > > + else
> > > + desc->action->flags &= ~IRQF_NO_SUSPEND;
> > > +
> > > + return 0;
> > > +}
> > > +
> > > void mpic_set_vector(unsigned int virq, unsigned int vector) {
> > >   struct mpic *mpic = mpic_from_irq(virq); @@ -957,6 +969,7 @@ static
> > > struct irq_chip mpic_irq_chip = {
> > >   .irq_unmask = mpic_unmask_irq,
> > >   .irq_eoi= mpic_end_irq,
> > >   .irq_set_type   = mpic_set_irq_type,
> > > + .irq_set_wake   = mpic_irq_set_wake,
> > > };
> > >
> > > #ifdef CONFIG_SMP
> > > @@ -971,6 +984,7 @@ static struct irq_chip mpic_tm_chip = {
> > >   .irq_mask   = mpic_mask_tm,
> > >   .irq_unmask = mpic_unmask_tm,
> > >   .irq_eoi= mpic_end_irq,
> > > + .irq_set_wake   = mpic_irq_set_wake,
> > > };
> > >
> > > #ifdef CONFIG_MPIC_U3_HT_IRQS
> > > @@ -981,6 +995,7 @@ static struct irq_chip mpic_irq_ht_chip = {
> > >   .irq_unmask = mpic_unmask_ht_irq,
> > >   .irq_eoi= mpic_end_ht_irq,
> > >   .irq_set_type   = mpic_set_irq_type,
> > > + .irq_set_wake   = mpic_irq_set_wake,
> > > };
> > > #endif /* CONFIG_MPIC_U3_HT_IRQS */
> > >
> > > --
> > > 1.7.5.1
> > >
> > >
> > > ___
> > > Linuxppc-dev mailing list
> > > Linuxppc-dev@lists.ozlabs.org
> > > https://lists.ozlabs.org/listinfo/linuxppc-dev
> >


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH][RFC, upstream] powerpc: remove the PPC_CLOCK dependency

2013-03-06 Thread Yuantian.Tang
From: Tang Yuantian 

config FSL_SOC and CPM do not really depend on PPC_CLOCK. So remove it.
PPC_CLOCK also keeps powerpc archtecture from supporting COMMON_CLK.

Signed-off-by: Tang Yuantian 
---
 arch/powerpc/Kconfig   |1 -
 arch/powerpc/platforms/Kconfig |1 -
 2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 352f416..383485b 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -655,7 +655,6 @@ config SBUS
 config FSL_SOC
bool
select HAVE_CAN_FLEXCAN if NET && CAN
-   select PPC_CLOCK
 
 config FSL_PCI
bool
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index e7a896a..aba81cd 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -343,7 +343,6 @@ config FSL_ULI1575
 
 config CPM
bool
-   select PPC_CLOCK
 
 config OF_RTC
bool
-- 
1.7.0.4


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH][V2] powerpc: remove the PPC_CLOCK dependency

2013-03-06 Thread Yuantian.Tang
From: Tang Yuantian 

config FSL_SOC and CPM do not really depend on PPC_CLOCK. So remove it.
PPC_CLOCK also keeps powerpc archtecture from supporting COMMON_CLK.

Signed-off-by: Tang Yuantian 
---
v2: correct the title

 arch/powerpc/Kconfig   |1 -
 arch/powerpc/platforms/Kconfig |1 -
 2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 352f416..383485b 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -655,7 +655,6 @@ config SBUS
 config FSL_SOC
bool
select HAVE_CAN_FLEXCAN if NET && CAN
-   select PPC_CLOCK
 
 config FSL_PCI
bool
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index e7a896a..aba81cd 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -343,7 +343,6 @@ config FSL_ULI1575
 
 config CPM
bool
-   select PPC_CLOCK
 
 config OF_RTC
bool
-- 
1.7.0.4


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx

2013-03-06 Thread David Laight
> > Yes, that's (one reason) why you'd want to fill in a known value.  Note
> > the "for now". :-)
> >
> > -Scott
> 
> I think there is no overwhelming reason to fill the destination register
> with 0x.
> 
> There's a small chance that 0x is treated as regular data rather
> than an error sign.
> 
> Also setting this register may influence the user space under certain
> circumstance.
> 
> So I think just ignore the skipped instruction is an acceptable option for
> this fix.

The 'random' value is just as likely to affect the reader, but only
for some values - so you'll get almost impossible to repeat bugs.
If a fixed value (0 or ~0) has an adverse effect, at least it will
have the same every time.

Read errors are also likely to affect device drivers reading
status bits, since these are very likely 'write to clear' any
driver would have to be willing to process the 'dummy' value
in a manner that won't loop forever (especially in an ISR).

You don't need every access to be via a function that explicitly
(somehow) detects that the fault happened, but knowing that a
specific value might be caused by a dead PCIe bus, and being
able to find out whether that is true (to avoid looping forever)
is probably useful.

This is probably similar to what a driver needs to recover from
an external PCIe list being unplugged.

David




___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Bisected 3.9-rc1 boot failure on G5

2013-03-06 Thread Aaro Koskinen
Hi,

Booting 3.9-rc1 fails with the following dump:

   Invalid memory access at %SSR0: .0380 %SSR1: 9000.00081000

According to bisect, it's caused by 1fbe9cf2598dae3bd464d860bd89c67b1ff8682b
(powerpc: Build kernel with -mcmodel=medium).

I'm loading & booting the kernel with GRUB 2.00 on iMac G5 (PowerMac8,1),
toolchain is GCC 4.7.2 / binutils 2.23.1.

A.
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: 3.9-rc1 powerpc ptrace.c: 'brk.len' is used uninitialized

2013-03-06 Thread Michael Neuling
> bisect tells me that since your commit 
> 9422de3e953d0e60eb95f5430a9dd803eec1c6d7 
> "powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint 
> registers",
> compiling linux fails with :
> 
>   cc1: warnings being treated as errors
>   arch/powerpc/kernel/ptrace.c: In function 'arch_ptrace':
>   arch/powerpc/kernel/ptrace.c:1450: warning: 'brk.len' is used uninitialized 
> in this function
>   arch/powerpc/kernel/ptrace.c:1352: note: 'brk.len' was declared here
> 
> could you look at that ?

Sure. 

How are you compiling this?  Is there a ppc defconfig that hits it?

Mikey
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: 3.9-rc1 powerpc ptrace.c: 'brk.len' is used uninitialized

2013-03-06 Thread Philippe De Muyter
On Thu, Mar 07, 2013 at 09:09:48AM +1100, Michael Neuling wrote:
> > bisect tells me that since your commit 
> > 9422de3e953d0e60eb95f5430a9dd803eec1c6d7 
> > "powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint 
> > registers",
> > compiling linux fails with :
> > 
> >   cc1: warnings being treated as errors
> >   arch/powerpc/kernel/ptrace.c: In function 'arch_ptrace':
> >   arch/powerpc/kernel/ptrace.c:1450: warning: 'brk.len' is used 
> > uninitialized in this function
> >   arch/powerpc/kernel/ptrace.c:1352: note: 'brk.len' was declared here
> > 
> > could you look at that ?
> 
> Sure. 

I use gcc-4.2.2, and my .config follows.

Philippe
 
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 3.9.0-rc1 Kernel Configuration
#
# CONFIG_PPC64 is not set

#
# Processor support
#
CONFIG_PPC_BOOK3S_32=y
# CONFIG_PPC_85xx is not set
# CONFIG_PPC_8xx is not set
# CONFIG_40x is not set
# CONFIG_44x is not set
# CONFIG_E200 is not set
CONFIG_PPC_BOOK3S=y
CONFIG_6xx=y
CONFIG_PPC_FPU=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_32=y
# CONFIG_PPC_MM_SLICES is not set
CONFIG_PPC_HAVE_PMU_SUPPORT=y
# CONFIG_SMP is not set
# CONFIG_PPC_DOORBELL is not set
CONFIG_PPC32=y
CONFIG_32BIT=y
CONFIG_WORD_SIZE=32
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
CONFIG_MMU=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
CONFIG_NR_IRQS=512
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_PPC_UDBG_16550=y
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_EPAPR_BOOT is not set
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_FHANDLE is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set
CONFIG_GENERIC_TIME_VSYSCALL_OLD=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
CONFIG_UIDGID_CONVERTED=y
# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
# CONFIG_KALLSYMS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
# CONFIG_FUTEX is not set
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
# CONFIG_PERF_EVENTS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_JUMP_LABEL is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_VIRT_TO_BUS=y
CONFIG_HAVE

Re: 3.9-rc1 powerpc ptrace.c: 'brk.len' is used uninitialized

2013-03-06 Thread Michael Neuling
Philippe De Muyter  wrote:

> On Thu, Mar 07, 2013 at 09:09:48AM +1100, Michael Neuling wrote:
> > > bisect tells me that since your commit 
> > > 9422de3e953d0e60eb95f5430a9dd803eec1c6d7 
> > > "powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint 
> > > registers",
> > > compiling linux fails with :
> > > 
> > >   cc1: warnings being treated as errors
> > >   arch/powerpc/kernel/ptrace.c: In function 'arch_ptrace':
> > >   arch/powerpc/kernel/ptrace.c:1450: warning: 'brk.len' is used 
> > > uninitialized in this function
> > >   arch/powerpc/kernel/ptrace.c:1352: note: 'brk.len' was declared here
> > > 
> > > could you look at that ?
> > 
> > Sure. 
> 
> I use gcc-4.2.2, and my .config follows.

I'm a bit lost.  

I don't have 4.2.2 (which is ancient BTW) and I can't hit this on
4.3,4.5 or 4.6 with your config.  It compiles fine.

Also:

>   arch/powerpc/kernel/ptrace.c:1450: warning: 'brk.len' is used uninitialized 
> in this function
>   arch/powerpc/kernel/ptrace.c:1352: note: 'brk.len' was declared here

These line numbers make no sense at all WRT v3.9-rc1.  brk.len is neither
declared or used in those lines:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kernel/ptrace.c?id=v3.9-rc1#n1450
 
or
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kernel/ptrace.c?id=v3.9-rc1#n1352

I happy to fix but I just can't follow this bug report.

Mikey


> 
> Philippe
>  
> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/powerpc 3.9.0-rc1 Kernel Configuration
> #
> # CONFIG_PPC64 is not set
> 
> #
> # Processor support
> #
> CONFIG_PPC_BOOK3S_32=y
> # CONFIG_PPC_85xx is not set
> # CONFIG_PPC_8xx is not set
> # CONFIG_40x is not set
> # CONFIG_44x is not set
> # CONFIG_E200 is not set
> CONFIG_PPC_BOOK3S=y
> CONFIG_6xx=y
> CONFIG_PPC_FPU=y
> # CONFIG_ALTIVEC is not set
> CONFIG_PPC_STD_MMU=y
> CONFIG_PPC_STD_MMU_32=y
> # CONFIG_PPC_MM_SLICES is not set
> CONFIG_PPC_HAVE_PMU_SUPPORT=y
> # CONFIG_SMP is not set
> # CONFIG_PPC_DOORBELL is not set
> CONFIG_PPC32=y
> CONFIG_32BIT=y
> CONFIG_WORD_SIZE=32
> # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
> # CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
> CONFIG_MMU=y
> # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
> # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
> CONFIG_NR_IRQS=512
> CONFIG_STACKTRACE_SUPPORT=y
> CONFIG_HAVE_LATENCYTOP_SUPPORT=y
> CONFIG_TRACE_IRQFLAGS_SUPPORT=y
> CONFIG_LOCKDEP_SUPPORT=y
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> CONFIG_ARCH_HAS_ILOG2_U32=y
> CONFIG_GENERIC_HWEIGHT=y
> CONFIG_GENERIC_GPIO=y
> CONFIG_PPC=y
> CONFIG_EARLY_PRINTK=y
> CONFIG_GENERIC_NVRAM=y
> CONFIG_SCHED_OMIT_FRAME_POINTER=y
> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_PPC_OF=y
> CONFIG_PPC_UDBG_16550=y
> # CONFIG_GENERIC_TBSYNC is not set
> CONFIG_AUDIT_ARCH=y
> CONFIG_GENERIC_BUG=y
> # CONFIG_EPAPR_BOOT is not set
> # CONFIG_DEFAULT_UIMAGE is not set
> CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> # CONFIG_PPC_DCR_NATIVE is not set
> # CONFIG_PPC_DCR_MMIO is not set
> CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
> CONFIG_ARCH_SUPPORTS_UPROBES=y
> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
> CONFIG_IRQ_WORK=y
> 
> #
> # General setup
> #
> CONFIG_EXPERIMENTAL=y
> CONFIG_BROKEN_ON_SMP=y
> CONFIG_INIT_ENV_ARG_LIMIT=32
> CONFIG_CROSS_COMPILE=""
> CONFIG_LOCALVERSION=""
> CONFIG_LOCALVERSION_AUTO=y
> CONFIG_DEFAULT_HOSTNAME="(none)"
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> CONFIG_SYSVIPC_SYSCTL=y
> # CONFIG_POSIX_MQUEUE is not set
> # CONFIG_FHANDLE is not set
> # CONFIG_AUDIT is not set
> CONFIG_HAVE_GENERIC_HARDIRQS=y
> 
> #
> # IRQ subsystem
> #
> CONFIG_GENERIC_HARDIRQS=y
> CONFIG_GENERIC_IRQ_SHOW=y
> CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
> CONFIG_IRQ_DOMAIN=y
> CONFIG_IRQ_FORCED_THREADING=y
> CONFIG_SPARSE_IRQ=y
> # CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set
> CONFIG_GENERIC_TIME_VSYSCALL_OLD=y
> CONFIG_GENERIC_CLOCKEVENTS=y
> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
> CONFIG_GENERIC_CMOS_UPDATE=y
> 
> #
> # Timers subsystem
> #
> # CONFIG_NO_HZ is not set
> # CONFIG_HIGH_RES_TIMERS is not set
> 
> #
> # CPU/Task time and stats accounting
> #
> CONFIG_TICK_CPU_ACCOUNTING=y
> # CONFIG_BSD_PROCESS_ACCT is not set
> # CONFIG_TASKSTATS is not set
> 
> #
> # RCU Subsystem
> #
> CONFIG_TINY_RCU=y
> # CONFIG_PREEMPT_RCU is not set
> # CONFIG_RCU_STALL_COMMON is not set
> # CONFIG_TREE_RCU_TRACE is not set
> # CONFIG_IKCONFIG is not set
> CONFIG_LOG_BUF_SHIFT=17
> # CONFIG_CGROUPS is not set
> # CONFIG_CHECKPOINT_RESTORE is not set
> # CONFIG_NAMESPACES is not set
> CONFIG_UIDGID_CONVERTED=y
> # CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
> # CONFIG_SCHED_AUTOGROUP is not set
> # CONFIG_SYSFS_DEPRECATED is not set
> # CONFIG_RELAY is not set
> # CONFIG_BLK_DEV_INITRD is not set
> # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> CONFIG_SYSCTL=y
> CONFIG_ANON_INODES=y
> CONFIG_EXPERT=y
> CONFIG_SYSCTL_SYSCALL=y
> CONFIG_SYSCTL_EXCEPTION_TRACE=y
> # CONFIG_KALLSYMS is not set
> CONFIG_HOTPLUG=y
> CONFIG_PRINTK=y
> CONFIG_BUG

Re: [PATCH] drivers/tty/hvc: using strlcpy instead of strncpy

2013-03-06 Thread Chen Gang
于 2013年03月05日 17:36, Jiri Slaby 写道:
> On 03/05/2013 02:58 AM, Chen Gang wrote:
>> > 于 2013年02月28日 21:47, Jiri Slaby 写道:
>    when strlen(&pi->location_code[0]) == HVCS_CLC_LENGTH + 2
>>> >> It cannot, pi->location_code is defined as char[HVCS_CLC_LENGTH + 1].
>>> >>
>> > 
>> >   really, it is, I did not notice it.
>> > 
>> >   but I still prefer to modify it, but the patch should be changed
>> >   such as:
>> > subject: beautify code: deleting useless judging code.
>> > comments: src buf len and dest buf len are the same, strcpy is better.
>> > contents: using strcpy instead of strncpy, and delete judging code.
>> > 
>> >   is it ok ?
> Yeah.
> 

  I will send patch v2.


>> > BTW:
>> >   sorry for my reply is too late, and did not notify it, originally before.
>> > I have to do some urgent things, during these days.
>> >   my father had a serious heart disease, and is in hospital.
> No problem, these drivers are not so critical. Neither these code paths
> in them. Take care of your relatives first.

  thanks.

-- 
Chen Gang

Asianux Corporation
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] powerpc: make sure that we alays include CONFIG_BINFMT_ELF

2013-03-06 Thread Stephen Rothwell
Our kernel is not much good without BINFMT_ELF and this fixes a build
warning on 64 bit allnoconfig builds:

warning: (COMPAT) selects COMPAT_BINFMT_ELF which has unmet direct dependencies 
(COMPAT && BINFMT_ELF)

Signed-off-by: Stephen Rothwell 
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b89d7eb..a091c01 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -90,6 +90,7 @@ config GENERIC_GPIO
 config PPC
bool
default y
+   select BINFMT_ELF
select OF
select OF_EARLY_FLATTREE
select HAVE_FTRACE_MCOUNT_RECORD
-- 
1.8.1

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


pgpvgCHNoScW7.pgp
Description: PGP signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] drivers/tty/hvc: using strlcpy instead of strncpy

2013-03-06 Thread Chen Gang

  oh, this patch has integrated into next-20130307 tree.
(commit 9276dfd27897a0b29d8b5814f39a1f82f56b6b6b)
  it seems we need a regression for this commit, then I send patch v2

  is it correct ?

  :-)


于 2013年03月07日 12:10, Chen Gang 写道:
> 于 2013年03月05日 17:36, Jiri Slaby 写道:
>> On 03/05/2013 02:58 AM, Chen Gang wrote:
 于 2013年02月28日 21:47, Jiri Slaby 写道:
>>   when strlen(&pi->location_code[0]) == HVCS_CLC_LENGTH + 2
>> It cannot, pi->location_code is defined as char[HVCS_CLC_LENGTH + 1].
>>

   really, it is, I did not notice it.

   but I still prefer to modify it, but the patch should be changed
   such as:
 subject: beautify code: deleting useless judging code.
 comments: src buf len and dest buf len are the same, strcpy is better.
 contents: using strcpy instead of strncpy, and delete judging code.

   is it ok ?
>> Yeah.
>>
> 
>   I will send patch v2.
> 
> 
 BTW:
   sorry for my reply is too late, and did not notify it, originally before.
 I have to do some urgent things, during these days.
   my father had a serious heart disease, and is in hospital.
>> No problem, these drivers are not so critical. Neither these code paths
>> in them. Take care of your relatives first.
> 
>   thanks.
> 


-- 
Chen Gang

Asianux Corporation
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 0/3] Enable multiple MSI feature in pSeries

2013-03-06 Thread Mike
Hi all

Any comments? or any questions about my patchset?

Thanks
Mike
在 2013-01-15二的 15:38 +0800,Mike Qiu写道:
> Currently, multiple MSI feature hasn't been enabled in pSeries,
> These patches try to enbale this feature.
> 
> These patches have been tested by using ipr driver, and the driver patch
> has been made by Wen Xiong :
> 
> [PATCH 0/7] Add support for new IBM SAS controllers
> 
> Test platform: One partition of pSeries with one cpu core(4 SMTs) and 
>RAID bus controller: IBM PCI-E IPR SAS Adapter (ASIC) in POWER7
> OS version: SUSE Linux Enterprise Server 11 SP2  (ppc64) with 3.8-rc3 kernel 
> 
> IRQ 21 and 22 are assigned to the ipr device which support 2 mutiple MSI.
> 
> The test results is shown by 'cat /proc/interrups':
>   CPU0   CPU1   CPU2   CPU3   
> 16: 240458 261601 226310 200425  XICS Level IPI
> 17:  0  0  0  0  XICS Level RAS_EPOW
> 18: 10  0  3  2  XICS Level 
> hvc_console
> 19: 122182  28481  28527  28864  XICS Level ibmvscsi
> 20:5067388226108118  XICS Level eth0
> 21:  6  5  5  5  XICS Level host1-0
> 22:817814816813  XICS Level host1-1
> LOC: 398077 316725 231882 203049   Local timer interrupts
> SPU:   1659919961903   Spurious interrupts
> CNT:  0  0  0  0   Performance
> monitoring interrupts
> MCE:  0  0  0  0   Machine check exceptions
> 
> Mike Qiu (3):
>   irq: Set multiple MSI descriptor data for multiple IRQs
>   irq: Add hw continuous IRQs map to virtual continuous IRQs support
>   powerpc/pci: Enable pSeries multiple MSI feature
> 
>  arch/powerpc/kernel/msi.c|4 --
>  arch/powerpc/platforms/pseries/msi.c |   62 -
>  include/linux/irq.h  |4 ++
>  include/linux/irqdomain.h|3 ++
>  kernel/irq/chip.c|   40 -
>  kernel/irq/irqdomain.c   |   61 +
>  6 files changed, 158 insertions(+), 16 deletions(-)
> 


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] drivers/tty/hvc: using strlcpy instead of strncpy

2013-03-06 Thread Benjamin Herrenschmidt
On Thu, 2013-03-07 at 12:34 +0800, Chen Gang wrote:
>   oh, this patch has integrated into next-20130307 tree.
> (commit 9276dfd27897a0b29d8b5814f39a1f82f56b6b6b)
>   it seems we need a regression for this commit, then I send patch v2
> 
>   is it correct ?

Just send a fixup patch on top of the existing upstream.

Ben.

>   :-)
> 
> 
> 于 2013年03月07日 12:10, Chen Gang 写道:
> > 于 2013年03月05日 17:36, Jiri Slaby 写道:
> >> On 03/05/2013 02:58 AM, Chen Gang wrote:
>  于 2013年02月28日 21:47, Jiri Slaby 写道:
> >>   when strlen(&pi->location_code[0]) == HVCS_CLC_LENGTH + 2
> >> It cannot, pi->location_code is defined as char[HVCS_CLC_LENGTH + 1].
> >>
> 
>    really, it is, I did not notice it.
> 
>    but I still prefer to modify it, but the patch should be changed
>    such as:
>  subject: beautify code: deleting useless judging code.
>  comments: src buf len and dest buf len are the same, strcpy is 
>  better.
>  contents: using strcpy instead of strncpy, and delete judging code.
> 
>    is it ok ?
> >> Yeah.
> >>
> > 
> >   I will send patch v2.
> > 
> > 
>  BTW:
>    sorry for my reply is too late, and did not notify it, originally 
>  before.
>  I have to do some urgent things, during these days.
>    my father had a serious heart disease, and is in hospital.
> >> No problem, these drivers are not so critical. Neither these code paths
> >> in them. Take care of your relatives first.
> > 
> >   thanks.
> > 
> 
> 


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] drivers/tty/hvc: using strlcpy instead of strncpy

2013-03-06 Thread Chen Gang
于 2013年03月07日 14:05, Benjamin Herrenschmidt 写道:
> On Thu, 2013-03-07 at 12:34 +0800, Chen Gang wrote:
>> >   oh, this patch has integrated into next-20130307 tree.
>> > (commit 9276dfd27897a0b29d8b5814f39a1f82f56b6b6b)
>> >   it seems we need a regression for this commit, then I send patch v2
>> > 
>> >   is it correct ?
> Just send a fixup patch on top of the existing upstream.

  ok, thanks.

  :-)

-- 
Chen Gang

Asianux Corporation
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev