<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v2.6.22.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v2.6.22.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v2.6.22.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-08-15T16:25:09Z</updated>
<entry>
<title>powerpc: Fix size check for hugetlbfs</title>
<updated>2007-08-15T16:25:09Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2007-08-08T05:44:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51a718fdf27c4bf61936f146516b9f623b4e9875'/>
<id>urn:sha1:51a718fdf27c4bf61936f146516b9f623b4e9875</id>
<content type='text'>
My "slices" address space management code that was added in 2.6.22
implementation of get_unmapped_area() doesn't properly check that the
size is a multiple of the requested page size. This allows userland to
create VMAs that aren't a multiple of the huge page size with hugetlbfs
(since hugetlbfs entirely relies on get_unmapped_area() to do that
checking) which leads to a kernel BUG() when such areas are torn down.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PPC: Revert "[POWERPC] Add 'mdio' to bus scan id list for platforms with QE UEC"</title>
<updated>2007-08-15T16:25:09Z</updated>
<author>
<name>Kim Phillips</name>
<email>kim.phillips@freescale.com</email>
</author>
<published>2007-07-26T22:25:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=58a2ed923de07dcec6bd8159a060ddce3ee7e08b'/>
<id>urn:sha1:58a2ed923de07dcec6bd8159a060ddce3ee7e08b</id>
<content type='text'>
This reverts commit 3baee955953957be5496cd28e9c544d9db214262.

this was a mistake from the start; I added mdio type to the bus
scan list early on in my ucc_geth migrate to phylib development,
which is just pure wrong (the ucc_geth_mii driver creates the mii
bus and the PHY layer handles PHY enumeration without translation).

this accompanies commit 77926826f301fbd8ed96d3cd9ff17a5b59560dfb:

 Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()"

which was basically trying to hide a symptom of the original mistake
this revert fixes.

Signed-off-by: Kim Phillips &lt;kim.phillips@freescale.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PPC: Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()"</title>
<updated>2007-08-15T16:25:09Z</updated>
<author>
<name>Paul Mackerras</name>
<email>paulus@samba.org</email>
</author>
<published>2007-07-26T22:25:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a45ad2ff504d8cb58ec455f64c135291fa6d02b8'/>
<id>urn:sha1:a45ad2ff504d8cb58ec455f64c135291fa6d02b8</id>
<content type='text'>
This reverts commit fd6e9d3945ee122eb513ada8b17296d243c1ce5e.

Having #size-cells == 0 in a node indicates that things under the
node aren't directly accessible, and therefore we shouldn't try to
translate addresses for devices under the node into CPU physical
addresses.

Some drivers, such as the nvram driver for powermacs, rely on
of_address_to_resource failing if they are called for a node
representing a device whose resources aren't directly accessible
by the CPU.  These drivers were broken by commit fd6e9d39,
resulting in the "Lombard" powerbook hanging early in the boot
process.

stable team, this patch is equivalent to commit

77926826f301fbd8ed96d3cd9ff17a5b59560dfb

Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Kim Phillips &lt;kim.phillips@freescale.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>UML: exports for hostfs</title>
<updated>2007-08-09T21:27:47Z</updated>
<author>
<name>Jeff Dike</name>
<email>jdike@addtoit.com</email>
</author>
<published>2007-07-10T16:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1684d41f2ef06cd9dc5adcd960df3a5136553af'/>
<id>urn:sha1:c1684d41f2ef06cd9dc5adcd960df3a5136553af</id>
<content type='text'>
Add some exports for hostfs that are required after Alberto Bertogli's
fixes for accessing unlinked host files.

Also did some style cleanups while I was here.

Signed-off-by: Jeff Dike &lt;jdike@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>uml: limit request size on COWed devices</title>
<updated>2007-08-09T21:27:41Z</updated>
<author>
<name>Jeff Dike</name>
<email>jdike@addtoit.com</email>
</author>
<published>2007-07-16T06:38:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=37ed1c7082cb0af655d9f7ab5aca8c97c5150609'/>
<id>urn:sha1:37ed1c7082cb0af655d9f7ab5aca8c97c5150609</id>
<content type='text'>
COWed devices can't handle more than 32 (64 on x86_64) sectors in one request
due to the size of the bitmap being carried around in the io_thread_req.

Enforce that by telling the block layer not to put too many sectors in
requests to COWed devices.

Signed-off-by: Jeff Dike &lt;jdike@linux.intel.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR</title>
<updated>2007-08-09T21:27:40Z</updated>
<author>
<name>Venki Pallipadi</name>
<email>venkatesh.pallipadi@intel.com</email>
</author>
<published>2007-07-16T20:57:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5f170d5e5e4c497d89ae758408db0f202d446968'/>
<id>urn:sha1:5f170d5e5e4c497d89ae758408db0f202d446968</id>
<content type='text'>
[CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR

During recent acpi-cpufreq changes, writing to PERF_CTL msr
changed from RMW of entire 64 bit to RMW of low 32 bit and clearing of
upper 32 bit. Fix it back to do a proper RMW of the MSR.

Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>i386: HPET, check if the counter works</title>
<updated>2007-08-09T21:27:37Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-07-21T15:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3ee3cf9d25b563e1adb4e6515cb5c337b54e88fb'/>
<id>urn:sha1:3ee3cf9d25b563e1adb4e6515cb5c337b54e88fb</id>
<content type='text'>
Some systems have a HPET which is not incrementing, which leads to a
complete hang.  Detect it during HPET setup.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Cc: john stultz &lt;johnstul@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Fix sparc32 udelay() rounding errors.</title>
<updated>2007-08-09T21:27:30Z</updated>
<author>
<name>Mark Fortescue</name>
<email>mark@mtfhpc.demon.co.uk</email>
</author>
<published>2007-07-25T04:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dffc659ff8b135a29b36c8cc45e9f67f8c5dbfa7'/>
<id>urn:sha1:dffc659ff8b135a29b36c8cc45e9f67f8c5dbfa7</id>
<content type='text'>
[SPARC32]: Fix rounding errors in ndelay/udelay implementation.

__ndelay and __udelay have not been delayung &gt;= specified time.
The problem with __ndelay has been tacked down to the rounding of the
multiplier constant. By changing this, delays &gt; app 18us are correctly
calculated.
The problem with __udelay has also been tracked down to rounding issues.
Changing the multiplier constant (to match that used in sparc64) corrects
for large delays and adding in a rounding constant corrects for trunctaion
errors in the claculations.
Many short delays will return without looping. This is not an error as there
is the fixed delay of doing all the maths to calculate the loop count.

Signed-off-by: Mark Fortescue &lt;mark@mtfhpc.demon.co.uk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Fix sparc32 memset()</title>
<updated>2007-08-09T21:27:30Z</updated>
<author>
<name>Alexander Shmelev</name>
<email>ashmelev@task.sun.mcst.ru</email>
</author>
<published>2007-07-25T04:44:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=499d853ced11bb3c93d542871ab4c84ae5713c60'/>
<id>urn:sha1:499d853ced11bb3c93d542871ab4c84ae5713c60</id>
<content type='text'>
[SPARC32]: Fix bug in sparc optimized memset.

Sparc optimized memset (arch/sparc/lib/memset.S) does not fill last
byte of the memory area, if area size is less than 8 bytes and start
address is not word (4-bytes) aligned.

Here is code chunk where bug located:
/* %o0 - memory address, %o1 - size, %g3 - value */
8:
     add    %o0, 1, %o0
    subcc    %o1, 1, %o1
    bne,a    8b
     stb %g3, [%o0 - 1]

This code should write byte every loop iteration, but last time delay
instruction stb is not executed because branch instruction sets
"annul" bit.

Patch replaces bne,a by bne instruction.

Error can be reproduced by simple kernel module:

--------------------
#include &lt;linux/module.h&gt;
#include &lt;linux/config.h&gt;
#include &lt;linux/kernel.h&gt;
#include &lt;linux/errno.h&gt;
#include &lt;string.h&gt;

static void do_memset(void **p, int size)
{
        memset(p, 0x00, size);
}

static int __init memset_test_init(void)
{
    char fooc[8];
    int *fooi;
    memset(fooc, 0xba, sizeof(fooc));

    do_memset((void**)(fooc + 3), 1);

    fooi = (int*) fooc;
    printk("%08X %08X\n", fooi[0], fooi[1]);

    return -1;
}

static void __exit memset_test_cleanup(void)
{
    return;
}

module_init(memset_test_init);
module_exit(memset_test_cleanup);

MODULE_LICENSE("GPL");
EXPORT_NO_SYMBOLS;
------------------------

Signed-off-by: Alexander Shmelev &lt;ashmelev@task.sun.mcst.ru&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Sparc64 bootup assembler bug</title>
<updated>2007-08-09T21:27:29Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2007-07-20T05:06:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d39262fedaa763555b524edea2eedc548520048'/>
<id>urn:sha1:0d39262fedaa763555b524edea2eedc548520048</id>
<content type='text'>
[SPARC64]: Fix two year old bug in early bootup asm.

We try to fetch the CIF entry pointer from %o4, but that
can get clobbered by the early OBP calls.  It is saved
in %l7 already, so actually this "mov %o4, %l7" can just
be completely removed with no other changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
