summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2018-02-23 11:23:35 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-03 08:35:25 +0000
commit35549a7a45ef63f87f37b0a45a0a9fe1c2c59af0 (patch)
tree0f8de2303498f383f1f0f244ebea64d1a3f50ade /documentation
parent505a31c1a17bd6aad48864f947d0e79ce7940897 (diff)
downloadpoky-35549a7a45ef63f87f37b0a45a0a9fe1c2c59af0.tar.gz
dev-manual, concepts-manual: Moved x32 section
I had split up the section on x32 into a concept piece and a "how-to" piece earlier in order to satisfy outside pressure to isolate all "how-to" stuff in the dev-manual. Doing this put a "conceptual" blurb about x32 in the new concepts-manual. It has been decided that x32 is not a concept. It really does not fit into the ref-manual either. So, I have re-combined the intro blurb of the x32 stuff back as the beginning piece of the "Usingt x32 psABI" section in the dev-manual. (From yocto-docs rev: 6e8240cc1a90a8d78ff456d3138c525eceea3ee3) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/concepts-manual/concepts-manual-concepts.xml66
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml56
2 files changed, 51 insertions, 71 deletions
diff --git a/documentation/concepts-manual/concepts-manual-concepts.xml b/documentation/concepts-manual/concepts-manual-concepts.xml
index e59ec6c4b8..fb02e2b512 100644
--- a/documentation/concepts-manual/concepts-manual-concepts.xml
+++ b/documentation/concepts-manual/concepts-manual-concepts.xml
@@ -3643,72 +3643,6 @@
3643 </section> 3643 </section>
3644 </section> 3644 </section>
3645 </section> 3645 </section>
3646
3647 <section id='x32'>
3648 <title>x32 psABI</title>
3649
3650 <para>
3651 x32 processor-specific Application Binary Interface
3652 (<ulink url='https://software.intel.com/en-us/node/628948'>x32 psABI</ulink>)
3653 is a native 32-bit processor-specific ABI for
3654 <trademark class='registered'>Intel</trademark> 64 (x86-64)
3655 architectures.
3656 An ABI defines the calling conventions between functions in a
3657 processing environment.
3658 The interface determines what registers are used and what the sizes are
3659 for various C data types.
3660 </para>
3661
3662 <para>
3663 Some processing environments prefer using 32-bit applications even
3664 when running on Intel 64-bit platforms.
3665 Consider the i386 psABI, which is a very old 32-bit ABI for Intel
3666 64-bit platforms.
3667 The i386 psABI does not provide efficient use and access of the
3668 Intel 64-bit processor resources, leaving the system underutilized.
3669 Now consider the x86_64 psABI.
3670 This ABI is newer and uses 64-bits for data sizes and program
3671 pointers.
3672 The extra bits increase the footprint size of the programs,
3673 libraries, and also increases the memory and file system size
3674 requirements.
3675 Executing under the x32 psABI enables user programs to utilize CPU
3676 and system resources more efficiently while keeping the memory
3677 footprint of the applications low.
3678 Extra bits are used for registers but not for addressing mechanisms.
3679 </para>
3680
3681 <para>
3682 The Yocto Project supports the final specifications of x32 psABI
3683 as follows:
3684 <itemizedlist>
3685 <listitem><para>
3686 You can create packages and images in x32 psABI format on
3687 x86_64 architecture targets.
3688 </para></listitem>
3689 <listitem><para>
3690 You can successfully build recipes with the x32 toolchain.
3691 </para></listitem>
3692 <listitem><para>
3693 You can create and boot
3694 <filename>core-image-minimal</filename> and
3695 <filename>core-image-sato</filename> images.
3696 </para></listitem>
3697 <listitem><para>
3698 RPM Package Manager (RPM) support exists for x32 binaries.
3699 </para></listitem>
3700 <listitem><para>
3701 Support for large images exists.
3702 </para></listitem>
3703 </itemizedlist>
3704 </para>
3705
3706 <para>
3707 For steps on how to use x32 psABI, see the
3708 "<ulink url='&YOCTO_DOCS_DEV_URL;#using-x32-psabi'>Using x32 psABI</ulink>"
3709 section in the Yocto Project Development Tasks Manual.
3710 </para>
3711 </section>
3712</chapter> 3646</chapter>
3713<!-- 3647<!--
3714vim: expandtab tw=80 ts=4 3648vim: expandtab tw=80 ts=4
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 60af73d0ed..20a38322b1 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -4799,11 +4799,57 @@
4799 is a native 32-bit processor-specific ABI for 4799 is a native 32-bit processor-specific ABI for
4800 <trademark class='registered'>Intel</trademark> 64 (x86-64) 4800 <trademark class='registered'>Intel</trademark> 64 (x86-64)
4801 architectures. 4801 architectures.
4802 <note> 4802 An ABI defines the calling conventions between functions in a
4803 For more information on x32 psABI, see the 4803 processing environment.
4804 "<ulink url='&YOCTO_DOCS_CM_URL;#x32'>x32 psABI</ulink>" 4804 The interface determines what registers are used and what the
4805 section in the Yocto Project Concepts Manual. 4805 sizes are for various C data types.
4806 </note> 4806 </para>
4807
4808 <para>
4809 Some processing environments prefer using 32-bit applications even
4810 when running on Intel 64-bit platforms.
4811 Consider the i386 psABI, which is a very old 32-bit ABI for Intel
4812 64-bit platforms.
4813 The i386 psABI does not provide efficient use and access of the
4814 Intel 64-bit processor resources, leaving the system underutilized.
4815 Now consider the x86_64 psABI.
4816 This ABI is newer and uses 64-bits for data sizes and program
4817 pointers.
4818 The extra bits increase the footprint size of the programs,
4819 libraries, and also increases the memory and file system size
4820 requirements.
4821 Executing under the x32 psABI enables user programs to utilize CPU
4822 and system resources more efficiently while keeping the memory
4823 footprint of the applications low.
4824 Extra bits are used for registers but not for addressing mechanisms.
4825 </para>
4826
4827 <para>
4828 The Yocto Project supports the final specifications of x32 psABI
4829 as follows:
4830 <itemizedlist>
4831 <listitem><para>
4832 You can create packages and images in x32 psABI format on
4833 x86_64 architecture targets.
4834 </para></listitem>
4835 <listitem><para>
4836 You can successfully build recipes with the x32 toolchain.
4837 </para></listitem>
4838 <listitem><para>
4839 You can create and boot
4840 <filename>core-image-minimal</filename> and
4841 <filename>core-image-sato</filename> images.
4842 </para></listitem>
4843 <listitem><para>
4844 RPM Package Manager (RPM) support exists for x32 binaries.
4845 </para></listitem>
4846 <listitem><para>
4847 Support for large images exists.
4848 </para></listitem>
4849 </itemizedlist>
4850 </para>
4851
4852 <para>
4807 To use the x32 psABI, you need to edit your 4853 To use the x32 psABI, you need to edit your
4808 <filename>conf/local.conf</filename> configuration file as 4854 <filename>conf/local.conf</filename> configuration file as
4809 follows: 4855 follows: