<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/arm64, branch v3.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/arm64?h=v3.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/arm64?h=v3.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-12-02T18:46:38Z</updated>
<entry>
<title>open*(2) compat fixes (s390, arm64)</title>
<updated>2012-12-02T18:46:38Z</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2012-12-02T17:55:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9d73fc2d641f8831c9dc803177fe47c02120cc36'/>
<id>urn:sha1:9d73fc2d641f8831c9dc803177fe47c02120cc36</id>
<content type='text'>
The usual rules for open()/openat()/open_by_handle_at() are
 1) native 32bit - don't force O_LARGEFILE in flags
 2) native 64bit - force O_LARGEFILE in flags
 3) compat on 64bit host - as for native 32bit
 4) native 32bit ABI for 64bit system (mips/n32, x86/x32) - as for
    native 64bit

There are only two exceptions - s390 compat has open() forcing
O_LARGEFILE and arm64 compat has open_by_handle_at() doing the same
thing.  The same binaries on native host (s390/31 and arm resp.) will
*not* force O_LARGEFILE, so IMO both are emulation bugs.

Objections? The fix is obvious...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>arm64: Distinguish between user and kernel XN bits</title>
<updated>2012-11-16T15:50:25Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2012-11-15T17:21:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8e620b0476696e9428442d3551f3dad47df0e28f'/>
<id>urn:sha1:8e620b0476696e9428442d3551f3dad47df0e28f</id>
<content type='text'>
On AArch64, the meaning of the XN bit has changed to UXN (user). The PXN
(privileged) bit must be set to prevent kernel execution. Without the
PXN bit set, the CPU may speculatively access device memory. This patch
ensures that all the mappings that the kernel must not execute from
(including user mappings) have the PXN bit set.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: mm: fix booting on systems with no memory below 4GB</title>
<updated>2012-11-08T16:06:21Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-11-08T16:00:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f483a853b0b932a1d75eb27a1dcbd732862260db'/>
<id>urn:sha1:f483a853b0b932a1d75eb27a1dcbd732862260db</id>
<content type='text'>
Booting on a system with all of its memory above the 4GB boundary breaks
for two reasons:

	(1) We still try to create a non-empty DMA32 zone
	(2) no-bootmem limits allocations to 0xffffffff

This patch fixes these issues for ARM64.

Tested-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: smp: add missing completion for secondary boot</title>
<updated>2012-11-08T16:06:21Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-11-07T17:00:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b3770b3252589240e50f560197a19531979abba2'/>
<id>urn:sha1:b3770b3252589240e50f560197a19531979abba2</id>
<content type='text'>
Commit 149c24151e85 ("ARM: SMP: use a timing out completion for cpu
hotplug") modified arm's CPU up path to use completions. It seems that
we only got half of this patch for arm64, so add the missing call to
complete.

Reported-by: Jon Brawn &lt;jon.brawn@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: compat: select CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION</title>
<updated>2012-11-08T16:06:20Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-11-07T14:16:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6212a512240f48d84090bc42a24d6dfb033754bc'/>
<id>urn:sha1:6212a512240f48d84090bc42a24d6dfb033754bc</id>
<content type='text'>
Commit c1d7e01d7877 ("ipc: use Kconfig options for
__ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION") replaced the
__ARCH_WANT_COMPAT_IPC_PARSE_VERSION token with a corresponding Kconfig
option instead.

This patch updates arm64 to use the latter, rather than #define an
unused token.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: elf: fix core dumping definitions for GP and FP registers</title>
<updated>2012-11-08T16:06:20Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-11-06T19:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ba1bc826d160fe4f32bcb188687dcca4bdfaf3d'/>
<id>urn:sha1:6ba1bc826d160fe4f32bcb188687dcca4bdfaf3d</id>
<content type='text'>
struct user_fp does not exist for arm64, so use struct user_fpsimd_state
instead for the ELF core dumping definitions. Furthermore, since we use
regset-based core dumping, we do not need definitions for dump_task_regs
and dump_fpu.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: perf: use architected event for CPU cycle counter</title>
<updated>2012-11-08T16:06:19Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-11-05T12:34:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f46f979fdac402c1a3decf420b82397cd93236b5'/>
<id>urn:sha1:f46f979fdac402c1a3decf420b82397cd93236b5</id>
<content type='text'>
We currently use a fake event encoding (0xFF) to indicate CPU cycles so
that we don't waste an event counter and can target the hardware cycle
counter instead.

The problem with this approach is that the event space defined by the
architecture permits an implementation to allocate 0xFF for some other
event.

This patch uses the architected cycle counter encoding (0x11) so that
we avoid potentially clashing with event encodings on future CPU
implementations.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Move PCI_IOBASE closer to MODULES_VADDR</title>
<updated>2012-10-23T14:30:51Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2012-10-23T13:51:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e3978cded41dc7b364e74037f56d6bc558c11fd7'/>
<id>urn:sha1:e3978cded41dc7b364e74037f56d6bc558c11fd7</id>
<content type='text'>
This is to reuse the same pmd table that is sparsely populated with
the modules space.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Use pgprot_t as the last argument when invoking __ioremap()</title>
<updated>2012-10-23T14:30:47Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2012-10-23T13:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=489f781a5936f4b90cd5c9838e0102933f6eb2b5'/>
<id>urn:sha1:489f781a5936f4b90cd5c9838e0102933f6eb2b5</id>
<content type='text'>
Even if it works with since the types have the same size, the correct
type of the last __ioremap() argument is pgprot_t rather than pteval_t.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: fix alignment padding in assembly code</title>
<updated>2012-10-20T10:12:01Z</updated>
<author>
<name>Marc Zyngier</name>
<email>Marc.Zyngier@arm.com</email>
</author>
<published>2012-10-19T16:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aeed41a9371ee02257b608eb06a9058507a7d0f4'/>
<id>urn:sha1:aeed41a9371ee02257b608eb06a9058507a7d0f4</id>
<content type='text'>
An interesting effect of using the generic version of linkage.h
is that the padding is defined in terms of x86 NOPs, which can have
even more interesting effects when the assembly code looks like this:

ENTRY(func1)
	mov	x0, xzr
ENDPROC(func1)
	// fall through
ENTRY(func2)
	mov	x0, #1
	ret
ENDPROC(func2)

Admittedly, the code is not very nice. But having code from another
architecture doesn't look completely sane either.

The fix is to add arm64's version of linkage.h, which causes the insertion
of proper AArch64 NOPs.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
</feed>
