|
@@ -1462,91 +1462,6 @@
|
|
|
</para>
|
|
|
</section>
|
|
|
|
|
|
-<section id='x32'>
|
|
|
- <title>x32</title>
|
|
|
-
|
|
|
- <para>
|
|
|
- x32 is a processor-specific Application Binary Interface (psABI) for x86_64.
|
|
|
- An ABI defines the calling conventions between functions in a processing environment.
|
|
|
- The interface determines what registers are used and what the sizes are for various C data types.
|
|
|
- </para>
|
|
|
-
|
|
|
- <para>
|
|
|
- Some processing environments prefer using 32-bit applications even when running
|
|
|
- on Intel 64-bit platforms.
|
|
|
- Consider the i386 psABI, which is a very old 32-bit ABI for Intel 64-bit platforms.
|
|
|
- The i386 psABI does not provide efficient use and access of the Intel 64-bit processor resources,
|
|
|
- leaving the system underutilized.
|
|
|
- Now consider the x86_64 psABI.
|
|
|
- This ABI is newer and uses 64-bits for data sizes and program pointers.
|
|
|
- The extra bits increase the footprint size of the programs, libraries,
|
|
|
- and also increases the memory and file system size requirements.
|
|
|
- Executing under the x32 psABI enables user programs to utilize CPU and system resources
|
|
|
- more efficiently while keeping the memory footprint of the applications low.
|
|
|
- Extra bits are used for registers but not for addressing mechanisms.
|
|
|
- </para>
|
|
|
-
|
|
|
- <section id='support'>
|
|
|
- <title>Support</title>
|
|
|
-
|
|
|
- <para>
|
|
|
- This Yocto Project release supports the final specifications of x32
|
|
|
- psABI.
|
|
|
- Support for x32 psABI exists as follows:
|
|
|
- <itemizedlist>
|
|
|
- <listitem><para>You can create packages and images in x32 psABI format on x86_64 architecture targets.
|
|
|
- </para></listitem>
|
|
|
- <listitem><para>You can successfully build many recipes with the x32 toolchain.</para></listitem>
|
|
|
- <listitem><para>You can create and boot <filename>core-image-minimal</filename> and
|
|
|
- <filename>core-image-sato</filename> images.</para></listitem>
|
|
|
- </itemizedlist>
|
|
|
- </para>
|
|
|
- </section>
|
|
|
-
|
|
|
- <section id='completing-x32'>
|
|
|
- <title>Completing x32</title>
|
|
|
-
|
|
|
- <para>
|
|
|
- Future Plans for the x32 psABI in the Yocto Project include the following:
|
|
|
- <itemizedlist>
|
|
|
- <listitem><para>Enhance and fix the few remaining recipes so they
|
|
|
- work with and support x32 toolchains.</para></listitem>
|
|
|
- <listitem><para>Enhance RPM Package Manager (RPM) support for x32 binaries.</para></listitem>
|
|
|
- <listitem><para>Support larger images.</para></listitem>
|
|
|
- </itemizedlist>
|
|
|
- </para>
|
|
|
- </section>
|
|
|
-
|
|
|
- <section id='using-x32-right-now'>
|
|
|
- <title>Using x32 Right Now</title>
|
|
|
-
|
|
|
- <para>
|
|
|
- Follow these steps to use the x32 spABI:
|
|
|
- <itemizedlist>
|
|
|
- <listitem><para>Enable the x32 psABI tuning file for <filename>x86_64</filename>
|
|
|
- machines by editing the <filename>conf/local.conf</filename> like this:
|
|
|
- <literallayout class='monospaced'>
|
|
|
- MACHINE = "qemux86-64"
|
|
|
- DEFAULTTUNE = "x86-64-x32"
|
|
|
- baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
|
|
|
- or 'INVALID'), True) or 'lib'}"
|
|
|
- #MACHINE = "genericx86"
|
|
|
- #DEFAULTTUNE = "core2-64-x32"
|
|
|
- </literallayout></para></listitem>
|
|
|
- <listitem><para>As usual, use BitBake to build an image that supports the x32 psABI.
|
|
|
- Here is an example:
|
|
|
- <literallayout class='monospaced'>
|
|
|
- $ bitbake core-image-sato
|
|
|
- </literallayout></para></listitem>
|
|
|
- <listitem><para>As usual, run your image using QEMU:
|
|
|
- <literallayout class='monospaced'>
|
|
|
- $ runqemu qemux86-64 core-image-sato
|
|
|
- </literallayout></para></listitem>
|
|
|
- </itemizedlist>
|
|
|
- </para>
|
|
|
- </section>
|
|
|
-</section>
|
|
|
-
|
|
|
<section id="wayland">
|
|
|
<title>Wayland</title>
|
|
|
|