aboutsummaryrefslogtreecommitdiff
path: root/archs
diff options
context:
space:
mode:
authorMark Loeser <halcy0n@gentoo.org>2006-05-05 04:13:52 +0000
committerMark Loeser <halcy0n@gentoo.org>2006-05-05 04:13:52 +0000
commit474992f01af793fcba1b6432b1ff6bc9f29ffd32 (patch)
tree2e1187dda82743463edcfe5c9ece0038ca994b27 /archs
parentAll of the URLs should work now except for ebuild-writing/file-format/'s refe... (diff)
downloaddevmanual-474992f01af793fcba1b6432b1ff6bc9f29ffd32.tar.gz
devmanual-474992f01af793fcba1b6432b1ff6bc9f29ffd32.tar.bz2
devmanual-474992f01af793fcba1b6432b1ff6bc9f29ffd32.zip
Add the PPC notes (thanks to josejx)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/devmanual/trunk@40 176d3534-300d-0410-8db8-84e73ed771c3
Diffstat (limited to 'archs')
-rw-r--r--archs/ppc/text.xml107
-rw-r--r--archs/text.xml1
2 files changed, 108 insertions, 0 deletions
diff --git a/archs/ppc/text.xml b/archs/ppc/text.xml
new file mode 100644
index 0000000..6313f81
--- /dev/null
+++ b/archs/ppc/text.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<guide self="archs/ppc/">
+<chapter>
+<title>Arch Specific Notes -- PPC</title>
+<body>
+
+<p>
+The Gentoo PowerPC port uses the <c>ppc</c> keyword and maintains compatibility with
+all 32 bit PowerPC processors. It is also used for 32 bit userland installs
+on 64 bit PowerPC systems.
+</p>
+
+<section>
+<title>Common issues</title>
+<body>
+
+<p>
+Although PowerPC processors can be run in little endian mode, the Linux kernel
+runs on PowerPC processors in big endian mode. Due to this fact, a common
+PowerPC issue is dealing with code that is written with only little endian
+processors in mind (<c>x86</c>/<c>amd64</c>). These bugs can be difficult to find, but are
+usually found when loading data from disk (such as a structure written directly
+to disk) or during bit operations.
+</p>
+
+<p>
+The PowerPC port of gcc uses unsigned characters by default, which is
+different than on <c>x86</c>. If the code you are working with assumes that the <c>char</c>
+type is signed, you can pass <c>-fsigned-char</c> to <c>GCC</c> to work around the issue.
+</p>
+
+</body>
+</section>
+
+<section>
+<title>Altivec</title>
+<body>
+
+<p>
+Altivec (Apple's name for VMX SIMD instructions) is supported on the <c>G4</c> and <c>G5</c>
+processors. You can enable support for the instruction set by passing
+<c>-mabi=altivec -maltivec</c> to <c>GCC</c>. Note that passing <c>-mcpu=</c> options may enable
+altivec without passing the flags above.
+</p>
+
+<p>
+Occasionally, an altivec issue that crops up is that Apple uses a different
+notation for indicating vectors, (x) instead of {x}. Using something like the
+code below to define vectors is the preferred way of fixing this:
+</p>
+
+<codesample lang="c">
+#ifdef CONFIG_APPLE
+#define AVV(x...) (x)
+#else
+#define AVV(x...) {x}
+#endif
+</codesample>
+
+</body>
+</section>
+
+<section>
+<title>Contacting the PowerPC Team</title>
+<body>
+
+<p>
+The PowerPC team can be reached by:
+</p>
+
+<ul>
+ <li>
+ Via the <c>#gentoo-ppc</c> IRC channel on freenode
+ </li>
+ <li>
+ Via email to <c>ppc@gentoo.org</c>
+ </li>
+ <li>
+ Via email to <c>gentoo-ppc-dev@gentoo.org</c> the mailing list
+ </li>
+ <li>
+ Via Bugzilla bugs assigned to <c>ppc@gentoo.org</c>
+ </li>
+</ul>
+
+</body>
+</section>
+
+<section>
+<title>Other Resources</title>
+<body>
+
+<ul>
+ <li>
+ <uri link="http://www.gentoo.org/doc/en/gentoo-ppc-faq.xml">Gentoo PPC FAQ</uri>
+ </li>
+ <li>
+ <uri link="http://forums.gentoo.org/viewforum-f-24.html">Gentoo PPC Forums</uri>
+ </li>
+</ul>
+
+</body>
+</section>
+
+</body>
+</chapter>
+</guide>
diff --git a/archs/text.xml b/archs/text.xml
index a3a5d9e..4eb9750 100644
--- a/archs/text.xml
+++ b/archs/text.xml
@@ -30,6 +30,7 @@ happens to work best in any situation.
<include href="alpha/"/>
<include href="amd64/"/>
<include href="mips/"/>
+<include href="ppc/"/>
<include href="sparc/"/>
<include href="x86/"/>