<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.ports.parisc">
    <title>gmane.linux.ports.parisc</title>
    <link>http://blog.gmane.org/gmane.linux.ports.parisc</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5075"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5070"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5046"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5045"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5044"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5042"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5036"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5035"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5034"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5032"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5031"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5030"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5018"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5012"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5011"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5004"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5002"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/5000"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/4999"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.ports.parisc/4997"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5075">
    <title>[PATCH] parisc: fix irq stack on UP and SMP</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5075</link>
    <description>&lt;pre&gt;The logic to detect if the irq stack was already in use with
raw_spin_trylock() is wrong, because it will generate a "trylock failure
on UP" error message with CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y.
 
arch_spin_trylock() can't be used either since in the CONFIG_SMP=n case
no atomic protection is given and we are reentrant here. A mutex didn't
worked either and brings more overhead by turning off interrupts.

So, let's use the fastest path for parisc which is the ldcw instruction. 
 
Counting how often the irq stack was used is pretty useless, so just
drop this piece of code.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h
index 4c6dd8d..241c345 100644
--- a/arch/parisc/include/asm/hardirq.h
+++ b/arch/parisc/include/asm/hardirq.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,13 +17,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 typedef struct {
 unsigned int __softirq_pending;
-#ifdef CONFIG_DEBUG_STACKOVERFLOW
 unsigned int kernel_stack_usage;
-#ifdef CONFIG_IRQSTACKS
 unsigned int irq_stack_usage;&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-24T21:27:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5070">
    <title>[PATCH] parisc: fix irq stack on UP and SMP</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5070</link>
    <description>&lt;pre&gt;The logic to detect if the irq stack was already in use with
raw_spin_trylock() is wrong, because it will generate a "trylock failure
on UP" error message with CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y.

arch_spin_trylock() can't be used either since in the CONFIG_SMP=n case
no atomic protection is given and we are reentrant here.

Now we will use a mutex instead, which is safe on UP and SMP.

Counting how often the irq stack was used is pretty useless, so just
drop this piece of code.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h
index 4c6dd8d..241c345 100644
--- a/arch/parisc/include/asm/hardirq.h
+++ b/arch/parisc/include/asm/hardirq.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,13 +17,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 typedef struct {
 unsigned int __softirq_pending;
-#ifdef CONFIG_DEBUG_STACKOVERFLOW
 unsigned int kernel_stack_usage;
-#ifdef CONFIG_IRQSTACKS
 unsigned int irq_stack_usage;
-unsigned int irq_stack_counter;
-#endif
-#endif
 #ifdef CONFIG_SMP
 unsigned int irq_resche&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-23T21:52:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5046">
    <title>[PATCH] parisc/superio: Use module_pci_driver to register driver</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5046</link>
    <description>&lt;pre&gt;Removing some boilerplate by using module_pci_driver instead of calling
register and unregister in the otherwise empty init/exit functions.

Signed-off-by: Peter Huewe &amp;lt;peterhuewe&amp;lt; at &amp;gt;gmx.de&amp;gt;
---
 drivers/parisc/superio.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c
index ac6e8e7..a042d06 100644
--- a/drivers/parisc/superio.c
+++ b/drivers/parisc/superio.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -494,15 +494,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct pci_driver superio_driver = {
 .probe =        superio_probe,
 };
 
-static int __init superio_modinit(void)
-{
-return pci_register_driver(&amp;amp;superio_driver);
-}
-
-static void __exit superio_exit(void)
-{
-pci_unregister_driver(&amp;amp;superio_driver);
-}
&lt;/pre&gt;</description>
    <dc:creator>Peter Huewe</dc:creator>
    <dc:date>2013-05-20T20:56:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5045">
    <title>[PATCH] parisc: make interrupt and interruption stack allocation reentrant</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5045</link>
    <description>&lt;pre&gt;The get_stack_use_cr30 and get_stack_use_r30 macros allocate a stack  
frame for external
interrupts and interruptions requiring a stack frame.  They are  
currently not reentrant in that
they save register context before the stack is set or adjusted.

I have observed a number of system crashes where there was clear  
evidence of stack corruption
during interrupt processing, and as a result register corruption.   
Some interruptions can still occur
during interruption processing, however external interrupts are  
disabled and data TLB misses
don't occur for absolute accesses.  So, it's not entirely clear what  
triggers this issue.  Also, if an
interruption occurs when Q=0, it is generally not possible to recover  
as the shadowed registers
are not copied.

The attached patch reworks the get_stack_use_cr30 and  
get_stack_use_r30 macros to allocate
stack before doing register saves.  The new code is a couple of  
instructions shorter than the old
implementation.  Thus, it's an improvement even if it doesn't &lt;/pre&gt;</description>
    <dc:creator>John David Anglin</dc:creator>
    <dc:date>2013-05-20T16:42:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5044">
    <title>[PATCH] parisc: use arch_spinlock_t instead of raw_spinlock_t in irqstacks</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5044</link>
    <description>&lt;pre&gt;We need to use arch_spinlock_t spinlocks instead of raw_spinlock_t
spinlocks for irqstack protection else we will hit the "trylock failure
on UP" error message with CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y.

Since we can be called recursive here even on UP (we are in the irq
handler which handles even irq bh) this spinlock error message is just
wrong.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h
index cfbc439..b2dca96 100644
--- a/arch/parisc/include/asm/processor.h
+++ b/arch/parisc/include/asm/processor.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,7 +69,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 union irq_stack_union {
 unsigned long stack[IRQ_STACK_SIZE/sizeof(unsigned long)];
-raw_spinlock_t lock;
+arch_spinlock_t lock;
 };
 
 DECLARE_PER_CPU(union irq_stack_union, irq_stack_union);
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 55237a7..9ba8e5a 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -443,14 +451,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; panic_check:
 
 #ifdef CON&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-18T22:21:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5042">
    <title>[PATCH] parisc: show number of FPE and unaligned access handler calls in /proc/interrupts</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5042</link>
    <description>&lt;pre&gt;Show number of floating point assistant and unaligned access fixup
handler in /proc/interrupts file. 

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h
index c19f713..4c6dd8d 100644
--- a/arch/parisc/include/asm/hardirq.h
+++ b/arch/parisc/include/asm/hardirq.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -28,6 +28,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 unsigned int irq_resched_count;
 unsigned int irq_call_count;
 #endif
+unsigned int irq_unaligned_count;
+unsigned int irq_fpassist_count;
 unsigned int irq_tlb_count;
 } ____cacheline_aligned irq_cpustat_t;
 
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 55237a7..9c2d953 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -188,6 +188,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int arch_show_interrupts(struct seq_file *p, int prec)
 seq_printf(p, "%10u ", irq_stats(j)-&amp;gt;irq_call_count);
 seq_puts(p, "  Function call interrupts\n");
 #endif
+seq_printf(p, "%*s: ", prec, "UAH");
+for_each_online_cpu(j)
+seq_printf(p, "%10u&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-18T19:35:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5036">
    <title>[PATCH] parisc: add additional parisc git tree to MAINTAINERS file</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5036</link>
    <description>&lt;pre&gt;Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/MAINTAINERS b/MAINTAINERS
index 3d7782b..c0aab68 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6069,6 +6069,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; L:linux-parisc&amp;lt; at &amp;gt;vger.kernel.org
 W:http://www.parisc-linux.org/
 Q:http://patchwork.kernel.org/project/linux-parisc/list/
 T:git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git
+T:git git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
 S:Maintained
 F:arch/parisc/
 F:drivers/parisc/
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T21:00:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5035">
    <title>[PATCH] parisc: use PAGE_SHIFT instead of hardcoded value 12 in pacache.S</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5035</link>
    <description>&lt;pre&gt;additionally clean up some whitespaces &amp;amp; tabs.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S
index 5e1de60..36d7f40 100644
--- a/arch/parisc/kernel/pacache.S
+++ b/arch/parisc/kernel/pacache.S
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -605,14 +605,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; ENTRY(copy_user_page_asm)
 convert_phys_for_tlb_insert20 %r26/* convert phys addr to tlb insert format */
 convert_phys_for_tlb_insert20 %r23/* convert phys addr to tlb insert format */
 depd%r24,63,22, %r28/* Form aliased virtual address 'to' */
-depdi0, 63,PAGE_SHIFT, %r28  /* Clear any offset bits */
+depdi0, 63,PAGE_SHIFT, %r28/* Clear any offset bits */
 copy%r28, %r29
 depdi1, 41,1, %r29/* Form aliased virtual address 'from' */
 #else
 extrw,u%r26, 24,25, %r26/* convert phys addr to tlb insert format */
 extrw,u%r23, 24,25, %r23/* convert phys addr to tlb insert format */
 depw%r24, 31,22, %r28/* Form aliased virtual address 'to' */
-depwi0, 31,12, %r28/* Clear any offset bits */
&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T20:51:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5034">
    <title>[PATCH] parisc: add rp5470 entry to machine database</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5034</link>
    <description>&lt;pre&gt;Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c
index f7752f6..9e2d2e4 100644
--- a/arch/parisc/kernel/hardware.c
+++ b/arch/parisc/kernel/hardware.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -222,6 +222,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct hp_hardware hp_hardware_list[] = {
 {HPHW_NPROC,0x5DD,0x4,0x81,"Duet W2"},
 {HPHW_NPROC,0x5DE,0x4,0x81,"Piccolo W+"},
 {HPHW_NPROC,0x5DF,0x4,0x81,"Cantata W2"},
+{HPHW_NPROC,0x5DF,0x0,0x00,"Marcato W+? (rp5470)"},
 {HPHW_NPROC,0x5E0,0x4,0x91,"Cantata DC- W2"},
 {HPHW_NPROC,0x5E1,0x4,0x91,"Crescendo DC- W2"},
 {HPHW_NPROC,0x5E2,0x4,0x91,"Crescendo 650 W2"},
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T20:42:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5032">
    <title>[PATCH] parisc: use long branch in fork_like macro</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5032</link>
    <description>&lt;pre&gt;please add to stable kernel v3.9
upstream commit bbbfde782084b4f0d85ddffb88f1cf4650ff40e4

From: John David Anglin &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;

The "b" branch instruction used in the fork_like macro only can handle
17-bit pc-relative offsets.
This fails with an out of range offset with some .config files.
Rewrite to use the "be" instruction which
can branch to any address in a space.

Signed-off-by: John David Anglin  &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;
Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index aa486e4..36f4f1d 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1702,7 +1702,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; ENTRY(sys_\name\()_wrapper)
 ldoTASK_REGS(%r1),%r1
 reg_save %r1
 mfctl%cr27, %r28
-bsys_\name
+ldilL%sys_\name, %r31
+beR%sys_\name(%sr4,%r31)
 STREG%r28, PT_CR27(%r1)
 ENDPROC(sys_\name\()_wrapper)
 .endm

--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T19:28:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5031">
    <title>[PATCH] parisc: fix SMP races when updating PTE and TLB entries in entry.S</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5031</link>
    <description>&lt;pre&gt;please add to stable kernel v3.9
upstream commit f0a18819e261afc5fdbd8c5c6f9943123c5461ba

From: John David Anglin &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;

Currently, race conditions exist in the handling of TLB interruptions in
entry.S.  In particular, dirty bit updates can be lost if an accessed
interruption occurs just after the dirty bit interruption on a different
cpu.  Lost dirty bit updates result in user pages not being flushed and
general system instability.  This change adds lock and unlock macros to
synchronize all PTE and TLB updates done in entry.S.  As a result,
userspace stability is significantly improved.

Signed-off-by: John David Anglin  &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;
Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 4bb96ad..ae27cb6 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -452,9 +452,41 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 L2_ptep\pgd,\pte,\index,\va,\fault
 .endm
 
+/* Acquire pa_dbit_lock lock. */
+.macrodbit_lockspc,tmp,tmp1
+#if&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T19:25:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5030">
    <title>[PATCH] parisc: only re-enable interrupts if we need to schedule or deliver signals when returning to userspace</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5030</link>
    <description>&lt;pre&gt;please include to stable kernel v3.9 series.
upstream commit c207a76bf155cb5cf24cf849c08f6555e9180594

From: John David Anglin &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;

Helge and I have found that we have a kernel stack overflow problem
which causes a variety of random failures.  Currently, we re-enable
interrupts when returning from an external interrupt incase we need to
schedule or delivery signals.  As a result, a potentially unlimited
number of interrupts can occur while we are running on the kernel stack.
It is very limited in space (currently, 16k).  This change defers
enabling interrupts until we have actually decided to schedule or
delivery signals.  This only occurs when we about to return to
userspace.  This limits the number of interrupts on the kernel stack to
one.  In other cases, interrupts remain disabled until the final return
from interrupt (rfi).

Signed-off-by: John David Anglin  &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;
Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-16T19:22:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5018">
    <title>[GIT PULL] parisc updates for v3.10</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5018</link>
    <description>&lt;pre&gt;Hi Linus,

please pull the parisc-for-3.10 branch of 

  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git parisc-for-3.10

to get the latest bug and build fixes for the parisc architecture.

Thanks,
Helge

---------------------------------------

The second round of parisc updates for 3.10 includes build fixes and
enhancements to utilize irq stacks, fixes SMP races when updating PTE
and TLB entries by proper locking and makes the search for the correct
cross compiler more robust on Debian and Gentoo.

----------------------------------------------------------------
Helge Deller (2):
      parisc: implement irq stacks - part 2 (v2)
      parisc: make default cross compiler search more robust (v3)

John David Anglin (1):
      parisc: fix SMP races when updating PTE and TLB entries in entry.S

 arch/parisc/Kconfig                 |   2 +-
 arch/parisc/Makefile                |  21 +++--
 arch/parisc/include/asm/hardirq.h   |   9 +++
 arch/parisc/include/asm/processor.h |   3 +
 arch/parisc&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-13T20:48:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5012">
    <title>[PATCH] parisc: make default cross compiler search more robust (v3)</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5012</link>
    <description>&lt;pre&gt;People/distros vary how they prefix the toolchain name for 64bit builds.
Rather than enforce one convention over another, add a for loop which
does a search for all the general prefixes.

For 64bit builds, we now search for (in order):
hppa64-unknown-linux-gnu
hppa64-linux-gnu
hppa64-linux

For 32bit builds, we look for:
hppa-unknown-linux-gnu
hppa-linux-gnu
hppa-linux
hppa1.1-unknown-linux-gnu
hppa1.1-linux-gnu
hppa1.1-linux
hppa2.0-unknown-linux-gnu
hppa2.0-linux-gnu
hppa2.0-linux

This patch was initiated by Mike Frysinger, with feedback from Jeroen
Roovers, John David Anglin and Helge Deller.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;
CC: Mike Frysinger &amp;lt;vapier&amp;lt; at &amp;gt;gentoo.org&amp;gt;
CC: Jeroen Roovers &amp;lt;jer&amp;lt; at &amp;gt;gentoo.org&amp;gt;
CC: John David Anglin &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;


diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 2f967cc..4e5b7b5 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,24 +23,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; NM= sh $(srctree)/arch/parisc/nm
 CHECKFLAGS+= -D__hppa__=1
 LIBGCC= $(she&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-11T19:04:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5011">
    <title>[PATCH] parisc: fix SMP races when updating PTE and TLB entries in entry.S</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5011</link>
    <description>&lt;pre&gt;Currently, race conditions exist in the handling of TLB interruptions  
in entry.S.  In particular, dirty
bit updates can be lost if an accessed interruption occurs just after  
the dirty bit interruption on a
different cpu.  Lost dirty bit updates result in user pages not being  
flushed and general system
instability.  This change adds lock and unlock macros to synchronize  
all PTE and TLB updates
done in entry.S.  As a result, userspace stability is significantly  
improved.

Signed-off-by: John David Anglin  &amp;lt;dave.anglin&amp;lt; at &amp;gt;bell.net&amp;gt;
---


diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index f33201b..471f4e5 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -444,9 +445,41 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 L2_ptep\pgd,\pte,\index,\va,\fault
 .endm
 
+/* Acquire pa_dbit_lock lock. */
+.macrodbit_lockspc,tmp,tmp1
+#ifdef CONFIG_SMP
+cmpib,COND(=),n0,\spc,2f
+load32PA(pa_dbit_lock),\tmp
+1:LDCW0(\tmp),\tmp1
+cmpib,COND(=)0,\tmp1,1b
+nop
+2:
+#endif
+.endm
+
+/* Release p&lt;/pre&gt;</description>
    <dc:creator>John David Anglin</dc:creator>
    <dc:date>2013-05-10T23:21:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5004">
    <title>[PATCH] parisc: make default cross compiler search more robust</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5004</link>
    <description>&lt;pre&gt;People/distros vary how they prefix the toolchain name for 64bit builds.
Rather than enforce one convention over another, add a for loop which
does a search for all the general prefixes.  This code will run for both
native and cross builds when CROSS_COMPILE isn't explicitly set.

For 64bit builds, we now search for (in order):
hppa64-unknown-linux-gnu
hppa64-linux-gnu
hppa64-linux

For 32bit builds, we look for:
hppa-unknown-linux-gnu
hppa-linux-gnu
hppa-linux
hppa1.1-unknown-linux-gnu
hppa1.1-linux-gnu
hppa1.1-linux
hppa2.0-unknown-linux-gnu
hppa2.0-linux-gnu
hppa2.0-linux

Signed-off-by: Mike Frysinger &amp;lt;vapier&amp;lt; at &amp;gt;gentoo.org&amp;gt;
---
 arch/parisc/Makefile | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 2f967cc..523ae34 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,9 +23,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; NM= sh $(srctree)/arch/parisc/nm
 CHECKFLAGS+= -D__hppa__=1
 LIBGCC= $(shell $(CC) $(KBUILD_CFLAGS) -print-libg&lt;/pre&gt;</description>
    <dc:creator>Mike Frysinger</dc:creator>
    <dc:date>2013-05-09T05:08:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5002">
    <title>[PATCH] parisc: implement irq stacks - part 2</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5002</link>
    <description>&lt;pre&gt;This patch fixes few build issues which were introduced with the last
irq stack patch, e.g. the combination of stack overflow check and irq
stack.

Furthermore it now does proper locking and changes the irq bh handler to
use the irq stack as well.

One issue still needs fixing: The irq stack usage counter will not be
incremented and will show zero.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h
index 12373c4..c4be3c7 100644
--- a/arch/parisc/include/asm/hardirq.h
+++ b/arch/parisc/include/asm/hardirq.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,10 +11,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/threads.h&amp;gt;
 #include &amp;lt;linux/irq.h&amp;gt;
 
+#ifdef CONFIG_IRQSTACKS
+#define __ARCH_HAS_DO_SOFTIRQ
+#endif
+
 typedef struct {
 unsigned int __softirq_pending;
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
 unsigned int kernel_stack_usage;
+#ifdef CONFIG_IRQSTACKS
+unsigned int irq_stack_usage;
+#endif
 #endif
 #ifdef CONFIG_SMP
 unsigned int irq_resched_count;
diff --git a/arch/parisc/include/asm/processo&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-09T00:14:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/5000">
    <title>[PATCH] parisc: avoid WARNING: at kernel/cpu/idle.c:96</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/5000</link>
    <description>&lt;pre&gt;We need to enable local irqs to avoid this runtime warning.

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index 55f92b6..2840d43 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -286,3 +286,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void *dereference_function_descriptor(void *ptr)
 return ptr;
 }
 #endif
+
+void arch_cpu_idle(void)
+{
+local_irq_enable();
+}
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-08T20:42:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/4999">
    <title>[RFC] [PATCH] parisc: use Page Deallocation Table from firmware to exclude broken memory (v1)</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/4999</link>
    <description>&lt;pre&gt;This is an initial patch which uses the Page Deallocation Table (PDT) from
firmware to exclude known-to-be-broken memory regions.

Currently only reporting is implemented.

TODOs:
- really exclude broken memory regions from being used by Linux
- check if PDT works as expected on a 32bit kernel as well.
- check if currently implemented reporting is correct.

Feedback/Testers (with broken hardware :-)) wanted!

Signed-off-by: Helge Deller &amp;lt;deller&amp;lt; at &amp;gt;gmx.de&amp;gt;

diff --git a/arch/parisc/include/asm/pdc.h b/arch/parisc/include/asm/pdc.h
index 7eb616e..8b8ad6f 100644
--- a/arch/parisc/include/asm/pdc.h
+++ b/arch/parisc/include/asm/pdc.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -143,6 +143,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct pdc_btlb_info {/* PDC_BLOCK_TLB, return of PDC_BTLB_INFO */
 
 #endif /* !CONFIG_PA20 */
 
+struct pdc_memory_retinfo { /* PDC_MEM/PDC_MEM_MEMINFO (return info) */
+unsigned long pdt_size;
+unsigned long page_entries;
+unsigned long pdt_status;
+unsigned long dbe_loc;
+unsigned long good_mem;
+};
+
+struct pdc_memory_read_pdt { /* PDC_MEM/PDC_MEM_READ_&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-08T20:22:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/4997">
    <title>dringender Vorschlag</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/4997</link>
    <description>&lt;pre&gt;

Entschuldigungen für kommen in Ihre Privatsphäre! Ich bin Rechtsanwalt
Werner Erich Zeller; Ich habe einen meiner einflussreichen und
wohlhabenden Kunden zum Tode; und er hatte eine sehr geheime und private
Investitionen von €15,000,000.00 bei einer privaten Bank in Großbritannien
hier zu Lebzeiten. Diese Investition wurde ohne einen deklarierten
nächsten Angehörigen und begünstigte. Jetzt brauche ich Sie arbeiten mit
mir als mein Partner zu erholen und zu je 50 % Aktienfonds. Alle Dokumente
werden rechtlich beantragt und beschafft, und in 5 Werktage, wird diese
Transaktion auftreten. Aber ich brauche einen ernsten, treuen und
glaubwürdigen Partner.

Bitte senden Sie mir eine vertrauliche Antwort, wenn Sie denken, Sie
vertraut werden können und sind von den Qualitäten! Ich warte auf Ihre
schnelle Antwort.

Werner Erich Zeller (Rechtsanwalt)
Rufen Sie + 44-702-409-0820 (Office)
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo&amp;lt; at &amp;gt;vger.ke&lt;/pre&gt;</description>
    <dc:creator>John P. Goldman</dc:creator>
    <dc:date>2013-05-08T08:46:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.ports.parisc/4994">
    <title>[GIT PULL] parisc updates for v3.10</title>
    <link>http://comments.gmane.org/gmane.linux.ports.parisc/4994</link>
    <description>&lt;pre&gt;Linus,

please pull the parisc architecture updates for v3.10 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git parisc-for-3.10


Main fixes and updates in this patch series are:
 - we faced kernel stack corruptions because of multiple delivery of interrupts
 - added kernel stack overflow checks
 - added possibility to use dedicated stacks for irq processing
 - initial support for page sizes &amp;gt; 4k
 - more information in /proc/interrupts (e.g. TLB flushes and number of IPI calls)
 - documented how the parisc gateway page works
 - and of course quite some other smaller cleanups and fixes.

Thanks,
Helge

----------------------------------------------------------------
Damian Hobson-Garcia (1):
      parisc: Provide default implementation for dma_{alloc, free}_attrs

Helge Deller (7):
      parisc: fix partly 16/64k PAGE_SIZE boot
      parisc: document the parisc gateway page
      parisc: implement atomic64_dec_if_positive()
      parisc: add kernel stack overflow check
      paris&lt;/pre&gt;</description>
    <dc:creator>Helge Deller</dc:creator>
    <dc:date>2013-05-07T22:11:02</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.ports.parisc">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.ports.parisc</link>
  </textinput>
</rdf:RDF>
