<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/arch/powerpc/include/asm/ppc_asm.h, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-03-16T07:32:11Z</updated>
<entry>
<title>powerpc: Change vsrX register defines to vsX to match gcc and glibc</title>
<updated>2015-03-16T07:32:11Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2015-02-09T22:51:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=df99e6eb3f5279a211ee50b2321357c0d9ed8224'/>
<id>urn:sha1:df99e6eb3f5279a211ee50b2321357c0d9ed8224</id>
<content type='text'>
As our various loops (copy, string, crypto etc) get more complicated,
we want to share implementations between userspace (eg glibc) and
the kernel. We also want to write userspace test harnesses to put
in tools/testing/selftest.

One gratuitous difference between userspace and the kernel is the
VSX register definitions - the kernel uses vsrX whereas gcc uses
vsX.

Change the kernel to match userspace.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc: Change vrX register defines to vX to match gcc and glibc</title>
<updated>2015-03-16T07:32:11Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2015-02-09T22:51:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c2ce6f9f3dc00daca5714ef070a9a2d4e78eb336'/>
<id>urn:sha1:c2ce6f9f3dc00daca5714ef070a9a2d4e78eb336</id>
<content type='text'>
As our various loops (copy, string, crypto etc) get more complicated,
we want to share implementations between userspace (eg glibc) and
the kernel. We also want to write userspace test harnesses to put
in tools/testing/selftest.

One gratuitous difference between userspace and the kernel is the
VMX register definitions - the kernel uses vrX whereas both gcc and
glibc use vX.

Change the kernel to match userspace.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>PPC: Add _GLOBAL_TOC for 32bit</title>
<updated>2014-06-26T11:19:42Z</updated>
<author>
<name>Alexander Graf</name>
<email>agraf@suse.de</email>
</author>
<published>2014-06-26T11:19:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9715a2e8515217206ebf53040c979fdbeb805a21'/>
<id>urn:sha1:9715a2e8515217206ebf53040c979fdbeb805a21</id>
<content type='text'>
Commit ac5a8ee8 started using _GLOBAL_TOC on ppc32 code. Unfortunately it's only
defined for 64bit targets though. Define it for ppc32 as well, fixing the build
breakage that commit introduced.

Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'merge' into next</title>
<updated>2014-05-28T03:30:12Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2014-05-28T03:30:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=86969cf7330a53c93edfd1bf2c28ad053e289162'/>
<id>urn:sha1:86969cf7330a53c93edfd1bf2c28ad053e289162</id>
<content type='text'>
Merge the binutils and kexec fixes.
</content>
</entry>
<entry>
<title>powerpc: Fix 64 bit builds with binutils 2.24</title>
<updated>2014-05-28T03:24:05Z</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2014-05-15T16:33:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7998eb3dc700aaf499f93f50b3d77da834ef9e1d'/>
<id>urn:sha1:7998eb3dc700aaf499f93f50b3d77da834ef9e1d</id>
<content type='text'>
With binutils 2.24, various 64 bit builds fail with relocation errors
such as

arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e':
	(.text+0x165ee): relocation truncated to fit: R_PPC64_ADDR16_HI
	against symbol `interrupt_base_book3e' defined in .text section
	in arch/powerpc/kernel/built-in.o
arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e':
	(.text+0x16602): relocation truncated to fit: R_PPC64_ADDR16_HI
	against symbol `interrupt_end_book3e' defined in .text section
	in arch/powerpc/kernel/built-in.o

The assembler maintainer says:

 I changed the ABI, something that had to be done but unfortunately
 happens to break the booke kernel code.  When building up a 64-bit
 value with lis, ori, shl, oris, ori or similar sequences, you now
 should use @high and @higha in place of @h and @ha.  @h and @ha
 (and their associated relocs R_PPC64_ADDR16_HI and R_PPC64_ADDR16_HA)
 now report overflow if the value is out of 32-bit signed range.
 ie. @h and @ha assume you're building a 32-bit value. This is needed
 to report out-of-range -mcmodel=medium toc pointer offsets in @toc@h
 and @toc@ha expressions, and for consistency I did the same for all
 other @h and @ha relocs.

Replacing @h with @high in one strategic location fixes the relocation
errors. This has to be done conditionally since the assembler either
supports @h or @high but not both.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Add _GLOBAL_TOC for ABIv2 assembly functions exported to modules</title>
<updated>2014-04-23T00:05:32Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2014-04-03T05:01:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=169c7cee3131cdf5e2f2d2a6c722c7db0283bcd5'/>
<id>urn:sha1:169c7cee3131cdf5e2f2d2a6c722c7db0283bcd5</id>
<content type='text'>
If an assembly function that calls back into c code is exported to
modules, we need to ensure r2 is setup correctly. There are only
two places crazy enough to do it (two of which are my fault).

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/tm: Fix GOT save offset for ABIv2</title>
<updated>2014-04-23T00:05:25Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2014-03-09T23:52:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6403105bfda4d6934b39aeb85ff818b185b42de8'/>
<id>urn:sha1:6403105bfda4d6934b39aeb85ff818b185b42de8</id>
<content type='text'>
The r2 TOC/GOT save offset is 40 on ABIv1 and 24 on ABIv2.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Fix ABIv2 issues with stack offsets in assembly code</title>
<updated>2014-04-23T00:05:23Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2014-02-04T05:09:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b37c10d128a2fa3256d4e67c184177270eac4b86'/>
<id>urn:sha1:b37c10d128a2fa3256d4e67c184177270eac4b86</id>
<content type='text'>
Fix STK_PARAM and use it instead of hardcoding ABIv1 offsets.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Remove function descriptors and dot symbols on new ABI</title>
<updated>2014-04-23T00:05:20Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2014-02-04T05:07:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7167af7cebedc7c2051184fef0e165aeb67d0b9d'/>
<id>urn:sha1:7167af7cebedc7c2051184fef0e165aeb67d0b9d</id>
<content type='text'>
ABIv2 doesn't have function descriptors or dot symbols. One
new thing it does add is a function global and a local entry
point, so add that to our _GLOBAL macro.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Create DOTSYM to wrap dot symbol usage</title>
<updated>2014-04-23T00:05:19Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2014-02-04T05:07:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c1fb019477c27bfe309be282d178a08e56f05249'/>
<id>urn:sha1:c1fb019477c27bfe309be282d178a08e56f05249</id>
<content type='text'>
There are a few places we have to use dot symbols with the
current ABI - the syscall table and the kvm hcall table.

Wrap both of these with a new macro called DOTSYM so it will
be easy to transition away from dot symbols in a future ABI.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
</content>
</entry>
</feed>
