diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2018-02-23 11:23:35 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-03 08:35:25 +0000 |
commit | 35549a7a45ef63f87f37b0a45a0a9fe1c2c59af0 (patch) | |
tree | 0f8de2303498f383f1f0f244ebea64d1a3f50ade /documentation/dev-manual | |
parent | 505a31c1a17bd6aad48864f947d0e79ce7940897 (diff) | |
download | poky-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/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 56 |
1 files changed, 51 insertions, 5 deletions
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: |