<?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://permalink.gmane.org/gmane.linux.kernel.cross-arch">
    <title>gmane.linux.kernel.cross-arch</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch</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://permalink.gmane.org/gmane.linux.kernel.cross-arch/14320"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14319"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14318"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14314"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14309"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14308"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14307"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14306"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14305"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14304"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14303"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14302"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14301"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14300"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14299"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14298"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14297"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14295"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14294"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14293"/>
      </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://permalink.gmane.org/gmane.linux.kernel.cross-arch/14320">
    <title>Re: [PATCH 6/6] serial: add amba-pl011-pci</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14320</link>
    <description>&lt;pre&gt;
Ok.


Sure. Thanks for noting. Maybe it wasn't there when I coded this
initially. Will do.


Yes. After sending I noted this and another point. I apologize.
Version 2 will be fixed in all respects.


Thanks a lot for this and also the comments on APB/AHB in the other message.

/alessandro
&lt;/pre&gt;</description>
    <dc:creator>Alessandro Rubini</dc:creator>
    <dc:date>2012-05-26T09:27:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14319">
    <title>Re: [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14319</link>
    <description>&lt;pre&gt;Am 26.05.2012 01:43, schrieb Russell King - ARM Linux:

Okay.
I've rebased my patches to Al's signal tree to avoid further conflicts.

Thanks,
//richard

&lt;/pre&gt;</description>
    <dc:creator>Richard Weinberger</dc:creator>
    <dc:date>2012-05-26T08:55:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14318">
    <title>Re: [PATCH 6/6] serial: add amba-pl011-pci</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14318</link>
    <description>&lt;pre&gt;One other point.

On Fri, May 25, 2012 at 05:48:57PM +0200, Alessandro Rubini wrote:

APB device.  It's a _peripheral_, it only has a _slave_ port which can't
initiate DMA, so:


This is pointless and unnecessary.  The PL011 driver itself doesn't use
_this_ struct device for anything to do with DMA at all.  That's all
handled by the DMA engine's struct device.

That's true of all APB devices.  Only AHB devices with a master port can
initiate bus transactions, and hence cause accesses to other parts of the
system.
&lt;/pre&gt;</description>
    <dc:creator>Russell King - ARM Linux</dc:creator>
    <dc:date>2012-05-26T08:48:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14314">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14314</link>
    <description>&lt;pre&gt;
On 26 May 2012 06:19, Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt; wrote:

I gave this a try on OpenRISC... works fine here, too.

/Jonas
&lt;/pre&gt;</description>
    <dc:creator>Jonas Bonn</dc:creator>
    <dc:date>2012-05-26T08:32:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14309">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14309</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 22:06:31 -0700


Aha, I see, yes it does work without adding the sparc header.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T05:59:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14308">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14308</link>
    <description>&lt;pre&gt;
Good. I'll combine things and then split them up a bit differently (ie
a "create generic version" patch and then separate "start using
generic version" patches for x86 and sparc).


This part *should* be unnecessary, I already did the

   generic-y += word-at-a-time.h

in arch/sparc/include/asm/Kbuild. Can you verify? Or did something go wrong?

                    Linus
&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T05:06:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14307">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14307</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 21:19:01 -0700


Ok, with the following patch, it seems to work on sparc too.

I'll beat it up with some glibc testsuite runs and stuff like that,
but so far it looks great.

 arch/sparc/Kconfig                      |    1 +
 arch/sparc/include/asm/uaccess_32.h     |   22 ++-----
 arch/sparc/include/asm/uaccess_64.h     |    8 +--
 arch/sparc/include/asm/word-at-a-time.h |    1 +
 arch/sparc/lib/Makefile                 |    1 -
 arch/sparc/lib/ksyms.c                  |    2 -
 arch/sparc/lib/strlen_user_32.S         |  109 -------------------------------
 arch/sparc/lib/strlen_user_64.S         |   97 ---------------------------
 8 files changed, 10 insertions(+), 231 deletions(-)
 create mode 100644 arch/sparc/include/asm/word-at-a-time.h
 delete mode 100644 arch/sparc/lib/strlen_user_32.S
 delete mode 100644 arch/sparc/lib/strlen_user_64.S

diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 15e9e05..83bd051 100644
--- a/a&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T04:44:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14306">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14306</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 21:19:01 -0700


Will do.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T04:34:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14305">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14305</link>
    <description>&lt;pre&gt;
Make sure to take the second patch, the first was scrogged for the
asm-generic case (and thus sparc). It would never have compiled.

The second one should actually hopefully come close to working. At
least I tested the compile by building the lib/ files with that,
instead of the x86 native version.

Obviously the asm-generic version cannot actually work with the dentry
hashing routines (it needs the whole bytemask generation at a minimum
for that), so it may be broken in the sense of "it doesn't actually
work", but it is *closer*. And the concept seems to be ok, since it
seems to work on x86 (I'm running it right now)

                Linus
&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T04:19:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14304">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14304</link>
    <description>&lt;pre&gt;On Fri, May 25, 2012 at 8:56 PM, Linus Torvalds
&amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt; wrote:

It actually works on x86 - I just booted it, and it all seems ok. The
extra abstraction generates *one* extra instruction in fs/namei.c, but
on the whole that all seems ok.

But the asm-generic.h thing was in a half-arsed half-way-state between
your version and my final interface, so it sure as hell wouldn't have
worked on sparc or openrisc.

This is the "fix up that header file to actually do what it is
supposed to do" version. Sorry about that,

                   Linus
&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T04:16:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14303">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14303</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 20:56:37 -0700


At first glance, it does.

I play with this and try to get it working on sparc tonight, thanks.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T04:15:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14302">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14302</link>
    <description>&lt;pre&gt;
Ok, I think I have a solution.

This is *totally* untested, but it compiles on x86. And I think it's
"close to the right thing".

It makes those constants explicit, so that sharing them is easy when
we have two different users, and actually does that in fs/namei.c.

The interface is a bit odd, but the rules are:

 - has_zero -&amp;gt; prep_zero_mask -&amp;gt; create_zero_mask -&amp;gt; { zero_bytemask ,
find_zero }

where two masks that have been created by prep_zero_mask can be or'ed
together to create one "one or the other" mask.

So the has_zero -&amp;gt; prep_zero_mask boundary is due to your BE
efficiency issue (ie "has_zero()" goes inside the loop, and
"prep_zero_mask()" goes outside).

The prep_zero_mask -&amp;gt; create_zero_mask boundary is due to that "we can
combine multiple masks at this level" issue.

And the create_zero_mask -&amp;gt; { zero_bytemask , find_zero } boundary is
because we actually want to create a bytemask for some things, and
just find the zero for others.

Does this *work*? I don't know. But it generates code that loo&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T03:56:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14301">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14301</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 19:13:31 -0700


It CSE's them into the loop, but like I said a few days
ago it doesn't CSE them into the find_zero() code block.


Yes, GCC refused to do it.

It CSEs it into the loop, but not the tail code.


It looks like GCC reconstituting the constants for the zero byte
determination, which on 64-bit is nearly half of the instructions
of the exit path.

But you shouldn't really need to care about this, we can surely
abstract it behind something.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T02:43:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14300">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14300</link>
    <description>&lt;pre&gt;On Fri, May 25, 2012 at 6:09 PM, Linus Torvalds
&amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt; wrote:

Ugh. So this was not at all as trivial as I thought it would be.

One issue is just syntactic: the fact that you want to initialize
those constants just results in nasty syntax. Is gcc really so bad on
sparc that it doesn't do the obvious CSE etc on the constants? That
surprises me, because it does it on x86-64..

But the more annoying issue is that the dentry code really does depend
on the fact that we can just combine the masks for two values (the
zero bytes and the '/' bytes) and test and munge them together. And
that's simply not true of your big-endian version.

I think that instead of the "find_zero()" function, we need a
"generate_mask()" function that actually generates the reliable mask
of "these bytes have a bit set if the byte was zero". That's the

  unsigned long mask = (c &amp;amp; p-&amp;gt;low_bits) + p-&amp;gt;low_bits;
  mask = (mask | p-&amp;gt;rhs);

phase of the big-endian logic (and would be a no-op on little endian).

So it loo&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T02:13:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14299">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14299</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 18:09:33 -0700


Agreed, it will look a lot nicer that way.


Ok.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T01:21:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14298">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14298</link>
    <description>&lt;pre&gt;
Looks good to me.


Actually, I think it's better if we just do two separate ones: a
"generic little-endian" and a "generic big-endian" one. Rather than
mixing both into one file that is then included from some arch-file
that statically knows its endianness instead.


I can do that. Give me a few minutes. Or more. Let's see how it ends up..

                 Linus
&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-26T01:09:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14297">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14297</link>
    <description>&lt;pre&gt;From: David Miller &amp;lt;davem&amp;lt; at &amp;gt;davemloft.net&amp;gt;
Date: Fri, 25 May 2012 19:41:25 -0400 (EDT)


Ok, something like the following, just to give you an idea.  Just the
sparc word-at-a-time.h header addition and the lib/strnlen_user.c
changes.

Probably I should add little-endian code to the header and put it
under asm-generic instead since there isn't really anything sparc
specific about it and this will make it easier for other ports to use
this stuff.

This is untested and of course we'd need to tweak the x86
word-at-a-time header and adjust the other call sites in
the DCACHE and elsewhere.

In fact, one thing I need to do next is see how suitable these
interface adjustments are for those uses.  I've only really made sure
that they work out for the new generic lib/str*.c routines.

Looking at the assembler, gcc does a reasonable job with the
aggregates, optimizing them just as if they were scalar local
variables.

diff --git a/arch/sparc/include/asm/word-at-a-time.h b/arch/sparc/include/asm/word-at-a-time.h
new file &lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-26T00:41:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14295">
    <title>Re: [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14295</link>
    <description>&lt;pre&gt;
NAK.  Please check linux-next (okay, viro's patches haven't appeared
there yet) but a lot of this stuff is covered by a truckload of work
that Al's done.

Please don't work across Al.

commit d9be5ea6f9b6a51535ccdd9881ffb3be2dbd48e9
Author: Al Viro &amp;lt;viro&amp;lt; at &amp;gt;zeniv.linux.org.uk&amp;gt;
Date:   Fri Apr 27 01:18:52 2012 -0400

    arm: don't call try_to_freeze() from do_signal()
    
    get_signal_to_deliver() will handle it itself
    
    Signed-off-by: Al Viro &amp;lt;viro&amp;lt; at &amp;gt;zeniv.linux.org.uk&amp;gt;

diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index a6c4e78..3b37c14 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -642,9 +642,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void do_signal(struct pt_regs *regs, int syscall)
                }
        }
 
-       if (try_to_freeze())
-               goto no_signal;
-
        /*
         * Get the signal to deliver.  When running under ptrace, at this
         * point the debugger may change all our registers ...
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -684,7 +681,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void do_signal(struct pt_regs *regs, i&lt;/pre&gt;</description>
    <dc:creator>Russell King - ARM Linux</dc:creator>
    <dc:date>2012-05-25T23:43:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14294">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14294</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 16:37:40 -0700


I'm playing around with this now, I should have something for you
to look at in the next few hours.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-25T23:41:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14293">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14293</link>
    <description>&lt;pre&gt;
Gcc is *usually* pretty good about optimizing small structures on the
stack, even if you pass a pointer (if the pointer then always gets
dereferenced within that function). So I think you could try the
"pointer to opaque thing" approach and see.

But yeah, the macro approach obviously puts much less reliance on the
optimizer getting things right, so it might be the way to go if it
turns out that gcc screws up code generation.

                  Linus
&lt;/pre&gt;</description>
    <dc:creator>Linus Torvalds</dc:creator>
    <dc:date>2012-05-25T23:37:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14292">
    <title>Re: Mostly portable strnlen_user()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.cross-arch/14292</link>
    <description>&lt;pre&gt;From: Linus Torvalds &amp;lt;torvalds&amp;lt; at &amp;gt;linux-foundation.org&amp;gt;
Date: Fri, 25 May 2012 16:11:36 -0700


That might be better.

I suppose then I'd need to make BE's has_zero() a macro instead of a
function.  Either that or we pass a pointer to this opaque typedef
thing.
&lt;/pre&gt;</description>
    <dc:creator>David Miller</dc:creator>
    <dc:date>2012-05-25T23:14:07</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.kernel.cross-arch">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.kernel.cross-arch</link>
  </textinput>
</rdf:RDF>

