<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/kernel/head.S, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-17T23:14:44Z</updated>
<entry>
<title>ARM: smp_on_up: allow non-ARM SMP processors</title>
<updated>2011-02-17T23:14:44Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2011-01-30T16:40:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b770e599b231a81cf53e00beee29261cfc8be46c'/>
<id>urn:sha1:b770e599b231a81cf53e00beee29261cfc8be46c</id>
<content type='text'>
commit e98ff0f55a0232b578c9aa7f1c245868277ac7bc upstream.

Allow non-ARM SMP processors to use the SMP_ON_UP feature.  CPUs
supporting SMP must have the new CPU ID format, so check for this first.
Then check for ARM11MPCore, which fails the MPIDR check.  Lastly check
the MPIDR reports multiprocessing extensions and that the CPU is part of
a multiprocessing system.

Reported-and-Tested-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ARM: SMP: use more sane register allocation for __fixup_smp_on_up</title>
<updated>2011-02-17T23:14:43Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-11-22T12:06:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3eb02dfd31bf0d6ada5c78a4136b215144871011'/>
<id>urn:sha1:3eb02dfd31bf0d6ada5c78a4136b215144871011</id>
<content type='text'>
commit 0eb0511d176534674600a1986c3c766756288908 upstream.

Use r0,r3-r6 rather than r0,r3,r4,r6,r7, which makes it easier to
understand which registers can be modified.  Also document which
registers hold values which must be preserved.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ARM: 6504/1: Thumb-2: Fix long-distance conditional branches in head.S for Thumb-2.</title>
<updated>2010-11-30T13:44:26Z</updated>
<author>
<name>Dave Martin</name>
</author>
<published>2010-11-29T18:43:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a75e5248c51af1eaeed936be6bd3497b93f09685'/>
<id>urn:sha1:a75e5248c51af1eaeed936be6bd3497b93f09685</id>
<content type='text'>
The 32-bit conditional branches in Thumb-2 have a shorter range
(+/-512K) than their ARM counterparts (+/-32MB).  The linker does
not currently generate trampolines to extend the range of these
Thumb-2 conditional branches, resulting in link errors when vmlinux
is sufficiently large, e.g.:

head.o:(.text+0x464): relocation truncated to fit: R_ARM_THM_JUMP19

This patch forces the longer-range, unconditional branch encoding
by use of an explicit IT instruction.  The resulting branches are
triggered on the same conditions as before.

Signed-off-by: Dave Martin &lt;dave.martin@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6500/1: Thumb-2: Correct data alignment for CONFIG_THUMB2_KERNEL in kernel/head.S</title>
<updated>2010-11-30T13:44:24Z</updated>
<author>
<name>Dave Martin</name>
</author>
<published>2010-11-29T18:43:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f79a5dd7c3e316e2230dc0ee665c40a39023a81'/>
<id>urn:sha1:4f79a5dd7c3e316e2230dc0ee665c40a39023a81</id>
<content type='text'>
Directives such as .long and .word do not magically cause the
assembler location counter to become aligned in gas.  As a result,
using these directives in code sections can result in misaligned
data words when building a Thumb-2 kernel (CONFIG_THUMB2_KERNEL).

This is a Bad Thing, since the ABI permits the compiler to assume
that fundamental types of word size or above are word- aligned when
accessing them from C.  If the data is not really word-aligned,
this can cause impaired performance and stray alignment faults in
some circumstances.

In general, the following rules should be applied when using data
word declaration directives inside code sections:

    * .quad and .double:
         .align 3

    * .long, .word, .single, .float:
         .align (or .align 2)

    * .short:
        No explicit alignment required, since Thumb-2
        instructions are always 2 or 4 bytes in size.
        immediately after an instruction.

Reviewed-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Dave Martin &lt;dave.martin@linaro.org&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>arm: use addruart macro to establish debug mappings</title>
<updated>2010-10-20T04:27:34Z</updated>
<author>
<name>Jeremy Kerr</name>
</author>
<published>2010-07-07T03:19:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c293393faa8e11a5a80a9e358718432b8697f451'/>
<id>urn:sha1:c293393faa8e11a5a80a9e358718432b8697f451</id>
<content type='text'>
Since we can get both physical and virtual addresses from the addruart
macro, we can use this to establish the debug mappings.

In the case of CONFIG_DEBUG_ICEDCC, we don't need any mappings, but
may still need to setup r7 correctly.

Incorporating ASM changes from Nicolas Pitre &lt;npitre@fluxnic.net&gt;.

Signed-off-by: Jeremy Kerr &lt;jeremy.kerr@canonical.com&gt;
Tested-by: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'hotplug' into devel</title>
<updated>2010-10-18T21:34:47Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-10-18T21:34:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0a55682b83fd5f012afadcf415b030d7424ae68'/>
<id>urn:sha1:a0a55682b83fd5f012afadcf415b030d7424ae68</id>
<content type='text'>
Conflicts:
	arch/arm/kernel/head-common.S
</content>
</entry>
<entry>
<title>ARM: add register documentation for __enable_mmu</title>
<updated>2010-10-08T09:07:35Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-10-04T17:02:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=865a4fae7793b80e2b8bca76e279d6dfecbeac17'/>
<id>urn:sha1:865a4fae7793b80e2b8bca76e279d6dfecbeac17</id>
<content type='text'>
Add some additional documentation on register usage in __enable_mmu
to help complete the overall picture.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: hotplug cpu: move secondary_startup, __enable_mmu to cpuinit</title>
<updated>2010-10-08T09:07:35Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-10-04T16:56:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00945010c063b95e813b966f44bf58ffa1955a38'/>
<id>urn:sha1:00945010c063b95e813b966f44bf58ffa1955a38</id>
<content type='text'>
Move these two functions, both of which are required for secondary
CPU booting, into the cpuinit section.  Ensure bad processors call
__error_p for better diagnostics, rather than just __error.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: hotplug cpu: ensure that __enable_mmu is identity mapped</title>
<updated>2010-10-08T09:07:34Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-10-04T16:51:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=786f1b73f7d5cad5c88dc75a96d53a74160aa7d7'/>
<id>urn:sha1:786f1b73f7d5cad5c88dc75a96d53a74160aa7d7</id>
<content type='text'>
__enable_mmu is required to be executed in an identity mapped region
to ensure that variances in CPUs do not cause a crash.  We currently
achieve this by assuming that it will be co-located with
__create_page_tables.  With hotplug CPU support, this assumption
becomes invalid.  Implement a better solution which ensures that
it will be appropriately mapped no matter where it is placed.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: cleanup boot cpu calling __mmap_switched</title>
<updated>2010-10-08T09:07:32Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-10-04T15:22:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4ae41341fd39af6e25ec9861a6a4dc0c5c58b16'/>
<id>urn:sha1:a4ae41341fd39af6e25ec9861a6a4dc0c5c58b16</id>
<content type='text'>
This allows us to relocate __mmap_switched and associated data away
from the head section.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
